summaryrefslogtreecommitdiff
path: root/asm/rom5.s
diff options
context:
space:
mode:
authorCameron Hall <camthesaxman@users.noreply.github.com>2016-10-16 19:02:35 -0500
committerYamaArashi <YamaArashi@users.noreply.github.com>2016-10-16 17:02:35 -0700
commitf2fb6f9b830888c649fca285bdfab5657c64ef35 (patch)
tree42e1ebe4dc161e0948652a2adfe707e76209f931 /asm/rom5.s
parent1125d78ad398411e690b1817624cbeeb5ae48144 (diff)
decompile option menu and begin decompiling pokedex (#58)
* start decompiling pokedex * fix up this darn struct * decompile most of the option menu code * decompile more code * finish up with option menu * minor cleanup * fix some pokedex functions * remove disassembly files * actually remove disassembly files * more decompilation * decompile 2 more functions * minor cleanup * Update start_menu.c with CB2_InitPokedex
Diffstat (limited to 'asm/rom5.s')
-rw-r--r--asm/rom5.s260394
1 files changed, 0 insertions, 260394 deletions
diff --git a/asm/rom5.s b/asm/rom5.s
index 8d14ffa76..a8dce88ea 100644
--- a/asm/rom5.s
+++ b/asm/rom5.s
@@ -34214,260398 +34214,4 @@ _0808B608: .4byte gTasks
_0808B60C: .4byte gUnknown_03005CF0
thumb_func_end sub_808B5E4
- thumb_func_start sub_808B610
-sub_808B610: @ 808B610
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_808B610
-
- thumb_func_start sub_808B628
-sub_808B628: @ 808B628
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_808B628
-
- thumb_func_start CB2_InitOptionMenu
-CB2_InitOptionMenu: @ 808B63C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r0, _0808B65C
- ldr r1, _0808B660
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _0808B690
- lsls r0, 2
- ldr r1, _0808B664
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808B65C: .4byte gMain
-_0808B660: .4byte 0x0000043c
-_0808B664: .4byte _0808B668
- .align 2, 0
-_0808B668:
- .4byte _0808B690
- .4byte _0808B758
- .4byte _0808B76A
- .4byte _0808B784
- .4byte _0808B790
- .4byte _0808B7AC
- .4byte _0808B7D0
- .4byte _0808B7F0
- .4byte _0808B874
- .4byte _0808B9AC
-_0808B690:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- adds r0, 0xC
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x10
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r2, sp, 0x8
- mov r8, r2
- add r2, sp, 0x4
- movs r6, 0
- ldr r1, _0808B748
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _0808B74C
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0808B6E0:
- strh r6, [r2]
- add r0, sp, 0x4
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0808B6E0
- strh r6, [r2]
- add r2, sp, 0x4
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x8]
- ldr r2, _0808B748
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- add r0, sp, 0x4
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r1, _0808B750
- ldr r2, _0808B754
- adds r1, r2
- b _0808B962
- .align 2, 0
-_0808B748: .4byte 0x040000d4
-_0808B74C: .4byte 0x81000800
-_0808B750: .4byte gMain
-_0808B754: .4byte 0x0000043c
-_0808B758:
- bl ResetPaletteFade
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- b _0808B95C
-_0808B76A:
- ldr r0, _0808B778
- bl SetUpWindowConfig
- ldr r1, _0808B77C
- ldr r2, _0808B780
- adds r1, r2
- b _0808B962
- .align 2, 0
-_0808B778: .4byte gWindowConfig_81E71B4
-_0808B77C: .4byte gMain
-_0808B780: .4byte 0x0000043c
-_0808B784:
- ldr r0, _0808B78C
- bl MultistepInitMenuWindowBegin
- b _0808B95C
- .align 2, 0
-_0808B78C: .4byte gWindowConfig_81E71B4
-_0808B790:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- bne _0808B79A
- b _0808B9B2
-_0808B79A:
- ldr r1, _0808B7A4
- ldr r2, _0808B7A8
- adds r1, r2
- b _0808B962
- .align 2, 0
-_0808B7A4: .4byte gMain
-_0808B7A8: .4byte 0x0000043c
-_0808B7AC:
- ldr r0, _0808B7C4
- movs r1, 0x80
- movs r2, 0x40
- bl LoadPalette
- ldr r0, _0808B7C8
- ldr r1, _0808B7CC
- movs r2, 0x20
- bl CpuSet
- b _0808B95C
- .align 2, 0
-_0808B7C4: .4byte gUnknown_0839F5FC
-_0808B7C8: .4byte gUnknown_0839F63C
-_0808B7CC: .4byte 0x0600bee0
-_0808B7D0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _0808B7E8
- ldr r2, _0808B7EC
- adds r1, r2
- b _0808B962
- .align 2, 0
-_0808B7E8: .4byte gMain
-_0808B7EC: .4byte 0x0000043c
-_0808B7F0:
- ldr r0, _0808B850
- movs r4, 0
- strh r4, [r0]
- adds r0, 0x4
- strh r4, [r0]
- subs r0, 0x2
- strh r4, [r0]
- adds r0, 0x4
- strh r4, [r0]
- ldr r1, _0808B854
- ldr r2, _0808B858
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x31
- strh r0, [r1]
- adds r1, 0x6
- movs r0, 0xE1
- strh r0, [r1]
- ldr r0, _0808B85C
- strh r4, [r0]
- adds r1, 0x4
- movs r0, 0x7
- strh r0, [r1]
- ldr r3, _0808B860
- ldrh r2, [r3]
- strh r4, [r3]
- ldr r4, _0808B864
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _0808B868
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _0808B86C
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- ldr r2, _0808B870
- adds r0, r2, 0
- strh r0, [r1]
- b _0808B95C
- .align 2, 0
-_0808B850: .4byte REG_WIN0H
-_0808B854: .4byte REG_WININ
-_0808B858: .4byte 0x00001111
-_0808B85C: .4byte REG_BLDALPHA
-_0808B860: .4byte 0x04000208
-_0808B864: .4byte 0x04000200
-_0808B868: .4byte REG_DISPSTAT
-_0808B86C: .4byte sub_808B628
-_0808B870: .4byte 0x00007140
-_0808B874:
- ldr r0, _0808B96C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0808B970
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r1, _0808B974
- ldrb r0, [r1, 0x14]
- lsls r0, 29
- lsrs r0, 29
- strh r0, [r4, 0xA]
- ldrb r0, [r1, 0x15]
- lsls r0, 29
- lsrs r0, 31
- strh r0, [r4, 0xC]
- ldrb r0, [r1, 0x15]
- lsls r0, 30
- lsrs r0, 31
- strh r0, [r4, 0xE]
- ldrb r0, [r1, 0x15]
- lsls r0, 31
- lsrs r0, 31
- strh r0, [r4, 0x10]
- ldrb r0, [r1, 0x13]
- strh r0, [r4, 0x12]
- ldrb r0, [r1, 0x14]
- lsrs r0, 3
- strh r0, [r4, 0x14]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0x1B
- movs r3, 0x3
- bl MenuDrawTextWindow
- movs r0, 0x2
- movs r1, 0x4
- movs r2, 0x1B
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r0, _0808B978
- movs r1, 0x4
- movs r2, 0x1
- bl MenuPrint
- ldr r0, _0808B97C
- movs r1, 0x4
- movs r2, 0x5
- bl MenuPrint
- ldr r0, _0808B980
- movs r1, 0x4
- movs r2, 0x7
- bl MenuPrint
- ldr r0, _0808B984
- movs r1, 0x4
- movs r2, 0x9
- bl MenuPrint
- ldr r0, _0808B988
- movs r1, 0x4
- movs r2, 0xB
- bl MenuPrint
- ldr r0, _0808B98C
- movs r1, 0x4
- movs r2, 0xD
- bl MenuPrint
- ldr r0, _0808B990
- movs r1, 0x4
- movs r2, 0xF
- bl MenuPrint
- ldr r0, _0808B994
- movs r1, 0x4
- movs r2, 0x11
- bl MenuPrint
- ldrb r0, [r4, 0xA]
- bl sub_808BCF8
- ldrb r0, [r4, 0xC]
- bl sub_808BD6C
- ldrb r0, [r4, 0xE]
- bl sub_808BDCC
- ldrb r0, [r4, 0x10]
- bl sub_808BE34
- ldrb r0, [r4, 0x12]
- bl sub_808BFD8
- ldrb r0, [r4, 0x14]
- bl sub_808BECC
- ldr r1, _0808B998
- ldr r2, _0808B99C
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _0808B9A0
- adds r0, r2, 0
- strh r0, [r1]
- ldrb r0, [r4, 0x8]
- bl sub_808BC3C
-_0808B95C:
- ldr r1, _0808B9A4
- ldr r0, _0808B9A8
- adds r1, r0
-_0808B962:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808B9B2
- .align 2, 0
-_0808B96C: .4byte sub_808B9C4
-_0808B970: .4byte gTasks
-_0808B974: .4byte gSaveBlock2
-_0808B978: .4byte gSystemText_OptionMenu
-_0808B97C: .4byte gSystemText_TextSpeed
-_0808B980: .4byte gSystemText_BattleScene
-_0808B984: .4byte gSystemText_BattleStyle
-_0808B988: .4byte gSystemText_Sound
-_0808B98C: .4byte gSystemText_ButtonMode
-_0808B990: .4byte gSystemText_Frame
-_0808B994: .4byte gSystemText_Cancel
-_0808B998: .4byte REG_WIN0H
-_0808B99C: .4byte 0x000011df
-_0808B9A0: .4byte 0x0000011f
-_0808B9A4: .4byte gMain
-_0808B9A8: .4byte 0x0000043c
-_0808B9AC:
- ldr r0, _0808B9C0
- bl SetMainCallback2
-_0808B9B2:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808B9C0: .4byte sub_808B610
- thumb_func_end CB2_InitOptionMenu
-
- thumb_func_start sub_808B9C4
-sub_808B9C4: @ 808B9C4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0808B9E8
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808B9E4
- ldr r0, _0808B9EC
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808B9F0
- str r0, [r1]
-_0808B9E4:
- pop {r0}
- bx r0
- .align 2, 0
-_0808B9E8: .4byte gPaletteFade
-_0808B9EC: .4byte gTasks
-_0808B9F0: .4byte sub_808B9F4
- thumb_func_end sub_808B9C4
-
- thumb_func_start sub_808B9F4
-sub_808B9F4: @ 808B9F4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808BA1C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808BA24
- ldr r0, _0808BA20
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0x6
- beq _0808BA1A
- b _0808BB7A
-_0808BA1A:
- b _0808BA36
- .align 2, 0
-_0808BA1C: .4byte gMain
-_0808BA20: .4byte gTasks
-_0808BA24:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0808BA44
- ldr r0, _0808BA3C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
-_0808BA36:
- ldr r0, _0808BA40
- str r0, [r1]
- b _0808BB7A
- .align 2, 0
-_0808BA3C: .4byte gTasks
-_0808BA40: .4byte sub_808BB80
-_0808BA44:
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- beq _0808BA74
- ldr r1, _0808BA6C
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r5, [r3, 0x8]
- movs r6, 0x8
- ldrsh r0, [r3, r6]
- adds r7, r1, 0
- cmp r0, 0
- ble _0808BA70
- subs r0, r5, 0x1
- b _0808BA94
- .align 2, 0
-_0808BA6C: .4byte gTasks
-_0808BA70:
- movs r0, 0x6
- b _0808BA94
-_0808BA74:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0808BAAC
- ldr r1, _0808BA98
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r5, [r3, 0x8]
- movs r7, 0x8
- ldrsh r0, [r3, r7]
- adds r7, r1, 0
- cmp r0, 0x5
- bgt _0808BA9C
- adds r0, r5, 0x1
-_0808BA94:
- strh r0, [r3, 0x8]
- b _0808BA9E
- .align 2, 0
-_0808BA98: .4byte gTasks
-_0808BA9C:
- strh r6, [r3, 0x8]
-_0808BA9E:
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r7
- ldrb r0, [r0, 0x8]
- bl sub_808BC3C
- b _0808BB7A
-_0808BAAC:
- ldr r0, _0808BACC
- lsls r2, r4, 2
- adds r1, r2, r4
- lsls r1, 3
- adds r1, r0
- movs r3, 0x8
- ldrsh r1, [r1, r3]
- adds r7, r0, 0
- cmp r1, 0x5
- bhi _0808BB7A
- lsls r0, r1, 2
- ldr r1, _0808BAD0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808BACC: .4byte gTasks
-_0808BAD0: .4byte _0808BAD4
- .align 2, 0
-_0808BAD4:
- .4byte _0808BAEC
- .4byte _0808BB04
- .4byte _0808BB1C
- .4byte _0808BB34
- .4byte _0808BB4C
- .4byte _0808BB64
-_0808BAEC:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r0, [r4, 0xA]
- bl sub_808BCB4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- bl sub_808BCF8
- b _0808BB7A
-_0808BB04:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r0, [r4, 0xC]
- bl sub_808BD4C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xC]
- bl sub_808BD6C
- b _0808BB7A
-_0808BB1C:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r0, [r4, 0xE]
- bl sub_808BDAC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xE]
- bl sub_808BDCC
- b _0808BB7A
-_0808BB34:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r0, [r4, 0x10]
- bl sub_808BE0C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x10]
- bl sub_808BE34
- b _0808BB7A
-_0808BB4C:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r0, [r4, 0x12]
- bl sub_808BF94
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x12]
- bl sub_808BFD8
- b _0808BB7A
-_0808BB64:
- adds r4, r2, r4
- lsls r4, 3
- adds r4, r7
- ldrb r0, [r4, 0x14]
- bl sub_808BE74
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- bl sub_808BECC
-_0808BB7A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808B9F4
-
- thumb_func_start sub_808BB80
-sub_808BB80: @ 808BB80
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _0808BC04
- ldr r1, _0808BC08
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r1, 0x7
- ldrb r0, [r4, 0xA]
- ands r0, r1
- ldrb r1, [r5, 0x14]
- movs r3, 0x8
- negs r3, r3
- ands r3, r1
- orrs r3, r0
- strb r3, [r5, 0x14]
- movs r6, 0x1
- ldrb r0, [r4, 0xC]
- ands r0, r6
- lsls r0, 2
- ldrb r1, [r5, 0x15]
- movs r2, 0x5
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r5, 0x15]
- ldrb r1, [r4, 0xE]
- ands r1, r6
- lsls r1, 1
- movs r0, 0x3
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x15]
- ldrb r1, [r4, 0x10]
- ands r1, r6
- movs r2, 0x2
- negs r2, r2
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x15]
- ldrh r0, [r4, 0x12]
- movs r2, 0
- strb r0, [r5, 0x13]
- ldrb r0, [r4, 0x14]
- lsls r0, 3
- movs r1, 0x7
- ands r3, r1
- orrs r3, r0
- strb r3, [r5, 0x14]
- movs r0, 0x1
- negs r0, r0
- str r2, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0808BC0C
- str r0, [r4]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808BC04: .4byte gSaveBlock2
-_0808BC08: .4byte gTasks
-_0808BC0C: .4byte sub_808BC10
- thumb_func_end sub_808BB80
-
- thumb_func_start sub_808BC10
-sub_808BC10: @ 808BC10
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0808BC34
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808BC30
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _0808BC38
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
-_0808BC30:
- pop {r0}
- bx r0
- .align 2, 0
-_0808BC34: .4byte gPaletteFade
-_0808BC38: .4byte gMain
- thumb_func_end sub_808BC10
-
- thumb_func_start sub_808BC3C
-sub_808BC3C: @ 808BC3C
- lsls r0, 24
- ldr r2, _0808BC58
- ldr r3, _0808BC5C
- adds r1, r3, 0
- strh r1, [r2]
- adds r2, 0x4
- lsrs r0, 20
- adds r1, r0, 0
- adds r1, 0x28
- lsls r1, 8
- adds r0, 0x38
- adds r1, r0
- strh r1, [r2]
- bx lr
- .align 2, 0
-_0808BC58: .4byte REG_WIN1H
-_0808BC5C: .4byte 0x000018d7
- thumb_func_end sub_808BC3C
-
- thumb_func_start sub_808BC60
-sub_808BC60: @ 808BC60
- push {r4-r7,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r2, 0
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _0808BC96
-_0808BC7C:
- mov r7, sp
- adds r0, r7, r2
- strb r1, [r0]
- adds r4, 0x1
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- beq _0808BC96
- cmp r2, 0xE
- bls _0808BC7C
-_0808BC96:
- mov r0, sp
- strb r3, [r0, 0x2]
- adds r1, r0, r2
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_80729D8
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808BC60
-
- thumb_func_start sub_808BCB4
-sub_808BCB4: @ 808BCB4
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _0808BCD4
- ldrh r1, [r2, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0808BCDA
- cmp r3, 0x1
- bhi _0808BCD8
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _0808BCDA
- .align 2, 0
-_0808BCD4: .4byte gMain
-_0808BCD8:
- movs r3, 0
-_0808BCDA:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0808BCF2
- cmp r3, 0
- beq _0808BCF0
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _0808BCF2
-_0808BCF0:
- movs r3, 0x2
-_0808BCF2:
- adds r0, r3, 0
- pop {r1}
- bx r1
- thumb_func_end sub_808BCB4
-
- thumb_func_start sub_808BCF8
-sub_808BCF8: @ 808BCF8
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0xF
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- adds r1, r0
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, _0808BD40
- mov r1, sp
- ldrb r3, [r1]
- movs r1, 0x78
- movs r2, 0x28
- bl sub_808BC60
- ldr r0, _0808BD44
- mov r1, sp
- ldrb r3, [r1, 0x1]
- movs r1, 0x9B
- movs r2, 0x28
- bl sub_808BC60
- ldr r0, _0808BD48
- mov r1, sp
- ldrb r3, [r1, 0x2]
- movs r1, 0xB8
- movs r2, 0x28
- bl sub_808BC60
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0808BD40: .4byte gSystemText_Slow
-_0808BD44: .4byte gSystemText_Mid
-_0808BD48: .4byte gSystemText_Fast
- thumb_func_end sub_808BCF8
-
- thumb_func_start sub_808BD4C
-sub_808BD4C: @ 808BD4C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0808BD68
- ldrh r1, [r0, 0x2E]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _0808BD62
- movs r0, 0x1
- eors r2, r0
-_0808BD62:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0808BD68: .4byte gMain
- thumb_func_end sub_808BD4C
-
- thumb_func_start sub_808BD6C
-sub_808BD6C: @ 808BD6C
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0xF
- strb r2, [r1]
- strb r2, [r1, 0x1]
- adds r1, r0
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, _0808BDA4
- mov r1, sp
- ldrb r3, [r1]
- movs r1, 0x78
- movs r2, 0x38
- bl sub_808BC60
- ldr r0, _0808BDA8
- mov r1, sp
- ldrb r3, [r1, 0x1]
- movs r1, 0xBE
- movs r2, 0x38
- bl sub_808BC60
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0808BDA4: .4byte gSystemText_On
-_0808BDA8: .4byte gSystemText_Off
- thumb_func_end sub_808BD6C
-
- thumb_func_start sub_808BDAC
-sub_808BDAC: @ 808BDAC
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0808BDC8
- ldrh r1, [r0, 0x2E]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _0808BDC2
- movs r0, 0x1
- eors r2, r0
-_0808BDC2:
- adds r0, r2, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0808BDC8: .4byte gMain
- thumb_func_end sub_808BDAC
-
- thumb_func_start sub_808BDCC
-sub_808BDCC: @ 808BDCC
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0xF
- strb r2, [r1]
- strb r2, [r1, 0x1]
- adds r1, r0
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, _0808BE04
- mov r1, sp
- ldrb r3, [r1]
- movs r1, 0x78
- movs r2, 0x48
- bl sub_808BC60
- ldr r0, _0808BE08
- mov r1, sp
- ldrb r3, [r1, 0x1]
- movs r1, 0xBE
- movs r2, 0x48
- bl sub_808BC60
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0808BE04: .4byte gSystemText_Shift
-_0808BE08: .4byte gSystemText_Set
- thumb_func_end sub_808BDCC
-
- thumb_func_start sub_808BE0C
-sub_808BE0C: @ 808BE0C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808BE30
- ldrh r1, [r0, 0x2E]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _0808BE28
- movs r0, 0x1
- eors r4, r0
- adds r0, r4, 0
- bl SetPokemonCryStereo
-_0808BE28:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0808BE30: .4byte gMain
- thumb_func_end sub_808BE0C
-
- thumb_func_start sub_808BE34
-sub_808BE34: @ 808BE34
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0xF
- strb r2, [r1]
- strb r2, [r1, 0x1]
- adds r1, r0
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, _0808BE6C
- mov r1, sp
- ldrb r3, [r1]
- movs r1, 0x78
- movs r2, 0x58
- bl sub_808BC60
- ldr r0, _0808BE70
- mov r1, sp
- ldrb r3, [r1, 0x1]
- movs r1, 0xAC
- movs r2, 0x58
- bl sub_808BC60
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0808BE6C: .4byte gSystemText_Mono
-_0808BE70: .4byte gSystemText_Stereo
- thumb_func_end sub_808BE34
-
- thumb_func_start sub_808BE74
-sub_808BE74: @ 808BE74
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808BE94
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0808BEA0
- cmp r4, 0x12
- bhi _0808BE98
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- b _0808BE9A
- .align 2, 0
-_0808BE94: .4byte gMain
-_0808BE98:
- movs r4, 0
-_0808BE9A:
- adds r0, r4, 0
- bl MenuLoadTextWindowGraphics_OverrideFrameType
-_0808BEA0:
- ldr r0, _0808BEB8
- ldrh r1, [r0, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0808BEC4
- cmp r4, 0
- beq _0808BEBC
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- b _0808BEBE
- .align 2, 0
-_0808BEB8: .4byte gMain
-_0808BEBC:
- movs r4, 0x13
-_0808BEBE:
- adds r0, r4, 0
- bl MenuLoadTextWindowGraphics_OverrideFrameType
-_0808BEC4:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_808BE74
-
- thumb_func_start sub_808BECC
-sub_808BECC: @ 808BECC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r7, r0, 24
- movs r5, 0
- ldr r1, _0808BF40
- ldrb r0, [r1]
- ldr r2, _0808BF44
- mov r8, r2
- cmp r0, 0xFF
- beq _0808BF0A
- adds r2, r1, 0
-_0808BEEE:
- mov r0, sp
- adds r1, r0, r5
- adds r0, r5, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0808BF0A
- cmp r5, 0x5
- bls _0808BEEE
-_0808BF0A:
- adds r0, r7, 0
- movs r1, 0xA
- bl __udivsi3
- adds r2, r0, 0
- lsls r0, r2, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _0808BF48
- mov r0, sp
- adds r1, r0, r5
- adds r0, r2, 0
- adds r0, 0xA1
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r1, sp
- adds r4, r1, r5
- adds r0, r7, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
- b _0808BF64
- .align 2, 0
-_0808BF40: .4byte gSystemText_Terminator
-_0808BF44: .4byte gSystemText_Type
-_0808BF48:
- mov r2, sp
- adds r4, r2, r5
- adds r0, r7, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r1, sp
- adds r0, r1, r5
- strb r6, [r0]
-_0808BF64:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r2, sp
- adds r1, r2, r5
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, r8
- movs r1, 0xF
- movs r2, 0xF
- bl MenuPrint
- mov r0, sp
- movs r1, 0x12
- movs r2, 0xF
- bl MenuPrint
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808BECC
-
- thumb_func_start sub_808BF94
-sub_808BF94: @ 808BF94
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _0808BFB4
- ldrh r1, [r2, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0808BFBA
- cmp r3, 0x1
- bhi _0808BFB8
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _0808BFBA
- .align 2, 0
-_0808BFB4: .4byte gMain
-_0808BFB8:
- movs r3, 0
-_0808BFBA:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0808BFD2
- cmp r3, 0
- beq _0808BFD0
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _0808BFD2
-_0808BFD0:
- movs r3, 0x2
-_0808BFD2:
- adds r0, r3, 0
- pop {r1}
- bx r1
- thumb_func_end sub_808BF94
-
- thumb_func_start sub_808BFD8
-sub_808BFD8: @ 808BFD8
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- movs r2, 0xF
- strb r2, [r1]
- strb r2, [r1, 0x1]
- strb r2, [r1, 0x2]
- adds r1, r0
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, _0808C020
- mov r1, sp
- ldrb r3, [r1]
- movs r1, 0x78
- movs r2, 0x68
- bl sub_808BC60
- ldr r0, _0808C024
- mov r1, sp
- ldrb r3, [r1, 0x1]
- movs r1, 0xA6
- movs r2, 0x68
- bl sub_808BC60
- ldr r0, _0808C028
- mov r1, sp
- ldrb r3, [r1, 0x2]
- movs r1, 0xBC
- movs r2, 0x68
- bl sub_808BC60
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0808C020: .4byte gSystemText_Normal
-_0808C024: .4byte gSystemText_LR
-_0808C028: .4byte gSystemText_LA
- thumb_func_end sub_808BFD8
-
- thumb_func_start sub_808C02C
-sub_808C02C: @ 808C02C
- push {r4-r6,lr}
- ldr r0, _0808C088
- movs r1, 0
- strh r1, [r0]
- ldr r2, _0808C08C
- movs r0, 0x40
- strb r0, [r2]
- ldr r0, _0808C090
- strb r1, [r0]
- ldr r4, _0808C094
- movs r0, 0
- strb r1, [r4, 0x19]
- strb r1, [r4, 0x18]
- strb r1, [r4, 0x1A]
- strb r1, [r4, 0x1B]
- str r0, [r4, 0x1C]
- str r0, [r4, 0x20]
- str r0, [r4, 0x24]
- bl sub_80690C8
- movs r1, 0
- adds r6, r4, 0
- adds r6, 0x28
- movs r2, 0
- adds r5, r4, 0
- adds r5, 0x5C
- ldr r3, _0808C098
- ldr r0, _0808C09C
- adds r4, r3, r0
-_0808C066:
- adds r0, r1, r6
- strb r2, [r0]
- adds r0, r1, r5
- strb r2, [r0]
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r1, r4
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x33
- bls _0808C066
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C088: .4byte gUnknown_0202FFB8
-_0808C08C: .4byte gUnknown_0202FFBA
-_0808C090: .4byte gUnknown_03005CE8
-_0808C094: .4byte gSaveBlock2
-_0808C098: .4byte gSaveBlock1 + 0x938
-_0808C09C: .4byte 0x00003154
- thumb_func_end sub_808C02C
-
- thumb_func_start sub_808C0A0
-sub_808C0A0: @ 808C0A0
- ldr r1, _0808C0B0
- movs r0, 0
- strh r0, [r1]
- ldr r1, _0808C0B4
- movs r0, 0x40
- strb r0, [r1]
- bx lr
- .align 2, 0
-_0808C0B0: .4byte gUnknown_0202FFB8
-_0808C0B4: .4byte gUnknown_0202FFBA
- thumb_func_end sub_808C0A0
-
- thumb_func_start sub_808C0B8
-sub_808C0B8: @ 808C0B8
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_808C0B8
-
- thumb_func_start sub_808C0CC
-sub_808C0CC: @ 808C0CC
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r3, 0
- ldr r0, _0808C240
- adds r7, r0, 0
- movs r1, 0x2
- negs r1, r1
- mov r12, r1
- movs r6, 0x3
- negs r6, r6
- ldr r5, _0808C244
-_0808C0E2:
- lsls r1, r3, 2
- adds r1, r4, r1
- ldrh r0, [r1]
- orrs r0, r7
- strh r0, [r1]
- ldrb r2, [r1, 0x2]
- mov r0, r12
- ands r0, r2
- ands r0, r6
- strb r0, [r1, 0x2]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r5
- bls _0808C0E2
- movs r2, 0xC1
- lsls r2, 3
- adds r0, r4, r2
- movs r2, 0
- strh r2, [r0]
- ldr r0, _0808C248
- adds r3, r4, r0
- ldrb r1, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- movs r1, 0x3
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- ldr r1, _0808C24C
- adds r0, r4, r1
- strh r2, [r0]
- ldr r3, _0808C250
- adds r0, r4, r3
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strh r2, [r0]
- adds r3, 0x4
- adds r0, r4, r3
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strh r2, [r0]
- adds r3, 0x4
- adds r0, r4, r3
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strh r2, [r0]
- adds r3, 0x4
- adds r0, r4, r3
- strh r2, [r0]
- adds r1, 0x4
- adds r0, r4, r1
- strh r2, [r0]
- movs r3, 0
- ldr r0, _0808C254
- adds r2, r4, r0
- ldr r1, _0808C240
- adds r5, r1, 0
-_0808C15E:
- lsls r0, r3, 1
- adds r0, r2, r0
- ldrh r1, [r0]
- orrs r1, r5
- strh r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0808C15E
- movs r2, 0xC5
- lsls r2, 3
- adds r0, r4, r2
- movs r2, 0
- movs r1, 0
- strh r1, [r0]
- ldr r3, _0808C258
- adds r0, r4, r3
- strh r1, [r0]
- adds r3, 0x2
- adds r0, r4, r3
- strb r2, [r0]
- adds r3, 0x1
- adds r0, r4, r3
- strb r2, [r0]
- adds r3, 0x1
- adds r0, r4, r3
- strb r2, [r0]
- adds r3, 0x1
- adds r0, r4, r3
- strb r2, [r0]
- movs r2, 0xC6
- lsls r2, 3
- adds r0, r4, r2
- strh r1, [r0]
- adds r3, 0x3
- adds r0, r4, r3
- strh r1, [r0]
- adds r2, 0x4
- adds r0, r4, r2
- strh r1, [r0]
- adds r3, 0x4
- adds r0, r4, r3
- strh r1, [r0]
- adds r2, 0x4
- adds r0, r4, r2
- strh r1, [r0]
- movs r3, 0
- ldr r0, _0808C25C
- adds r1, r4, r0
- movs r2, 0
-_0808C1C4:
- lsls r0, r3, 1
- adds r0, r1, r0
- strh r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0808C1C4
- ldr r1, _0808C260
- adds r0, r4, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, _0808C264
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, _0808C268
- adds r3, r4, r0
- ldrb r2, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- ldr r2, _0808C26C
- adds r0, r4, r2
- strb r1, [r0]
- ldr r3, _0808C270
- adds r0, r4, r3
- strb r1, [r0]
- adds r2, 0x3
- adds r0, r4, r2
- strb r1, [r0]
- adds r3, 0x3
- adds r0, r4, r3
- strh r1, [r0]
- adds r2, 0x4
- adds r0, r4, r2
- strh r1, [r0]
- movs r3, 0
- ldr r0, _0808C274
- adds r1, r4, r0
- movs r2, 0
-_0808C216:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x7
- bls _0808C216
- movs r3, 0
- ldr r2, _0808C278
- adds r1, r4, r2
- movs r2, 0
-_0808C22C:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x7
- bls _0808C22C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C240: .4byte 0x0000ffff
-_0808C244: .4byte 0x00000181
-_0808C248: .4byte 0x0000060a
-_0808C24C: .4byte 0x0000060c
-_0808C250: .4byte 0x0000060e
-_0808C254: .4byte 0x0000061e
-_0808C258: .4byte 0x0000062a
-_0808C25C: .4byte 0x0000063a
-_0808C260: .4byte 0x0000064a
-_0808C264: .4byte 0x0000064b
-_0808C268: .4byte 0x0000064c
-_0808C26C: .4byte 0x0000064d
-_0808C270: .4byte 0x0000064f
-_0808C274: .4byte 0x00000656
-_0808C278: .4byte 0x0000065e
- thumb_func_end sub_808C0CC
-
- thumb_func_start sub_808C27C
-sub_808C27C: @ 808C27C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r0, _0808C334
- ldr r1, _0808C338
- adds r5, r0, r1
- ldrb r0, [r5]
- cmp r0, 0x1
- beq _0808C344
- cmp r0, 0x1
- ble _0808C29E
- cmp r0, 0x2
- beq _0808C37C
- cmp r0, 0x3
- bne _0808C29E
- b _0808C4C4
-_0808C29E:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl sub_8091060
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r2, sp, 0x4
- mov r8, r2
- mov r2, sp
- movs r6, 0
- ldr r1, _0808C33C
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _0808C340
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_0808C2C8:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _0808C2C8
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r3, r12
- orrs r0, r3
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, _0808C33C
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, _0808C334
- ldr r2, _0808C338
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- b _0808C50C
- .align 2, 0
-_0808C334: .4byte gMain
-_0808C338: .4byte 0x0000043c
-_0808C33C: .4byte 0x040000d4
-_0808C340: .4byte 0x81000800
-_0808C344:
- bl remove_some_task
- bl ResetTasks
- bl ResetSpriteData
- bl ResetPaletteFade
- bl FreeAllSpritePalettes
- ldr r1, _0808C374
- movs r0, 0x8
- strb r0, [r1]
- ldr r4, _0808C378
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0808C50C
- .align 2, 0
-_0808C374: .4byte gReservedSpritePaletteCount
-_0808C378: .4byte gWindowConfig_81E7048
-_0808C37C:
- bl Random
- movs r1, 0x3
- ands r1, r0
- cmp r1, 0x1
- beq _0808C3A4
- cmp r1, 0x1
- ble _0808C394
- cmp r1, 0x2
- beq _0808C3B4
- cmp r1, 0x3
- beq _0808C3C4
-_0808C394:
- ldr r1, _0808C39C
- ldr r0, _0808C3A0
- b _0808C3C8
- .align 2, 0
-_0808C39C: .4byte gUnknown_0202FFB4
-_0808C3A0: .4byte 0x02018000
-_0808C3A4:
- ldr r1, _0808C3AC
- ldr r0, _0808C3B0
- b _0808C3C8
- .align 2, 0
-_0808C3AC: .4byte gUnknown_0202FFB4
-_0808C3B0: .4byte 0x02018800
-_0808C3B4:
- ldr r1, _0808C3BC
- ldr r0, _0808C3C0
- b _0808C3C8
- .align 2, 0
-_0808C3BC: .4byte gUnknown_0202FFB4
-_0808C3C0: .4byte 0x02019000
-_0808C3C4:
- ldr r1, _0808C448
- ldr r0, _0808C44C
-_0808C3C8:
- str r0, [r1]
- ldr r4, _0808C448
- ldr r0, [r4]
- bl sub_808C0CC
- ldr r0, _0808C450
- movs r1, 0
- bl CreateTask
- ldr r0, [r4]
- ldr r5, _0808C454
- ldrb r1, [r5, 0x19]
- ldr r3, _0808C458
- adds r0, r3
- movs r6, 0
- strh r1, [r0]
- bl sub_806912C
- adds r1, r0, 0
- cmp r1, 0
- bne _0808C3FA
- ldr r0, [r4]
- ldr r2, _0808C458
- adds r0, r2
- strh r1, [r0]
-_0808C3FA:
- ldr r1, [r4]
- ldrb r2, [r5, 0x18]
- ldr r3, _0808C45C
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, _0808C460
- ldrh r2, [r0]
- subs r3, 0x8
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, _0808C464
- ldrb r0, [r0]
- ldr r2, _0808C468
- adds r1, r2
- strb r0, [r1]
- ldr r0, [r4]
- adds r3, 0x3F
- adds r0, r3
- strb r6, [r0]
- ldr r0, [r4]
- ldr r1, _0808C46C
- adds r0, r1
- strb r6, [r0]
- bl sub_806912C
- cmp r0, 0
- bne _0808C474
- movs r0, 0
- bl sub_8090F68
- ldr r1, [r4]
- ldr r2, _0808C470
- adds r1, r2
- strh r0, [r1]
- movs r0, 0x1
- bl sub_8090F68
- b _0808C488
- .align 2, 0
-_0808C448: .4byte gUnknown_0202FFB4
-_0808C44C: .4byte 0x02019800
-_0808C450: .4byte sub_808C608
-_0808C454: .4byte gSaveBlock2
-_0808C458: .4byte 0x00000612
-_0808C45C: .4byte 0x00000616
-_0808C460: .4byte gUnknown_0202FFB8
-_0808C464: .4byte gUnknown_0202FFBA
-_0808C468: .4byte 0x0000062c
-_0808C46C: .4byte 0x0000064e
-_0808C470: .4byte 0x0000061a
-_0808C474:
- movs r0, 0
- bl pokedex_count
- ldr r1, [r4]
- ldr r2, _0808C4AC
- adds r1, r2
- strh r0, [r1]
- movs r0, 0x1
- bl pokedex_count
-_0808C488:
- ldr r1, [r4]
- ldr r3, _0808C4B0
- adds r1, r3
- strh r0, [r1]
- ldr r0, _0808C4B4
- ldr r0, [r0]
- ldr r1, _0808C4B8
- adds r0, r1
- movs r1, 0x8
- strb r1, [r0]
- ldr r1, _0808C4BC
- ldr r2, _0808C4C0
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808C50C
- .align 2, 0
-_0808C4AC: .4byte 0x0000061a
-_0808C4B0: .4byte 0x0000061c
-_0808C4B4: .4byte gUnknown_0202FFB4
-_0808C4B8: .4byte 0x0000062d
-_0808C4BC: .4byte gMain
-_0808C4C0: .4byte 0x0000043c
-_0808C4C4:
- ldr r3, _0808C518
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _0808C51C
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _0808C520
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _0808C524
- bl SetVBlankCallback
- ldr r0, _0808C528
- bl SetMainCallback2
- ldr r0, _0808C52C
- ldr r1, [r0]
- ldr r3, _0808C530
- adds r0, r1, r3
- ldrb r0, [r0]
- ldr r2, _0808C534
- adds r1, r2
- ldrb r1, [r1]
- bl sub_808D690
- ldr r0, _0808C538
- ldr r1, _0808C53C
- movs r2, 0x80
- bl m4aMPlayVolumeControl
-_0808C50C:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C518: .4byte 0x04000208
-_0808C51C: .4byte 0x04000200
-_0808C520: .4byte REG_DISPSTAT
-_0808C524: .4byte sub_808C0B8
-_0808C528: .4byte sub_808C5F0
-_0808C52C: .4byte gUnknown_0202FFB4
-_0808C530: .4byte 0x00000612
-_0808C534: .4byte 0x00000616
-_0808C538: .4byte gMPlay_BGM
-_0808C53C: .4byte 0x0000ffff
- thumb_func_end sub_808C27C
-
- thumb_func_start unref_sub_808C540
-unref_sub_808C540: @ 808C540
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 2
- bl sub_8091060
- bl remove_some_task
- bl ResetTasks
- bl ResetPaletteFade
- ldr r3, _0808C59C
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _0808C5A0
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _0808C5A4
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _0808C5A8
- bl SetVBlankCallback
- ldr r0, _0808C5AC
- bl SetMainCallback2
- ldr r0, _0808C5B0
- ldr r0, [r0]
- ldr r1, _0808C5B4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808C5BC
- ldr r0, _0808C5B8
- b _0808C5BE
- .align 2, 0
-_0808C59C: .4byte 0x04000208
-_0808C5A0: .4byte 0x04000200
-_0808C5A4: .4byte REG_DISPSTAT
-_0808C5A8: .4byte sub_808C0B8
-_0808C5AC: .4byte sub_808C5F0
-_0808C5B0: .4byte gUnknown_0202FFB4
-_0808C5B4: .4byte 0x0000064b
-_0808C5B8: .4byte sub_808CAE4
-_0808C5BC:
- ldr r0, _0808C5E8
-_0808C5BE:
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r5, 0
- movs r1, 0
- bl CreateTask
- ldr r2, _0808C5EC
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0808C5E8: .4byte sub_808D198
-_0808C5EC: .4byte gTasks
- thumb_func_end unref_sub_808C540
-
- thumb_func_start sub_808C5F0
-sub_808C5F0: @ 808C5F0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_808C5F0
-
- thumb_func_start sub_808C608
-sub_808C608: @ 808C608
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808C640
- ldr r1, [r0]
- ldr r0, _0808C644
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- movs r0, 0
- bl sub_808D344
- lsls r0, 24
- cmp r0, 0
- beq _0808C63A
- ldr r0, _0808C648
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808C64C
- str r0, [r1]
-_0808C63A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C640: .4byte gUnknown_0202FFB4
-_0808C644: .4byte 0x0000064c
-_0808C648: .4byte gTasks
-_0808C64C: .4byte sub_808C650
- thumb_func_end sub_808C608
-
- thumb_func_start sub_808C650
-sub_808C650: @ 808C650
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, _0808C680
- ldr r1, _0808C684
- ldr r4, [r1]
- ldr r0, _0808C688
- adds r3, r4, r0
- ldrh r0, [r3]
- strh r0, [r2]
- ldrh r0, [r3]
- movs r2, 0
- ldrsh r5, [r3, r2]
- adds r7, r1, 0
- cmp r5, 0
- beq _0808C68C
- subs r0, 0x8
- strh r0, [r3]
- b _0808C878
- .align 2, 0
-_0808C680: .4byte REG_BG0VOFS
-_0808C684: .4byte gUnknown_0202FFB4
-_0808C688: .4byte 0x00000654
-_0808C68C:
- ldr r2, _0808C708
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- mov r9, r0
- ands r0, r1
- cmp r0, 0
- beq _0808C724
- ldr r1, _0808C70C
- adds r0, r4, r1
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r4, r0
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _0808C724
- bl sub_808E6BC
- ldr r4, _0808C710
- ldr r0, [r7]
- ldr r2, _0808C714
- mov r8, r2
- add r0, r8
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- mov r0, r9
- lsls r0, r1
- mvns r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, [r7]
- add r0, r8
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _0808C718
- str r1, [r0]
- ldr r1, _0808C71C
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808C720
- str r1, [r0]
- movs r0, 0x15
- bl PlaySE
- b _0808C878
- .align 2, 0
-_0808C708: .4byte gMain
-_0808C70C: .4byte 0x0000060e
-_0808C710: .4byte gSprites
-_0808C714: .4byte 0x00000626
-_0808C718: .4byte sub_808EDB8
-_0808C71C: .4byte gTasks
-_0808C720: .4byte sub_808CA64
-_0808C724:
- ldrh r2, [r2, 0x2E]
- movs r0, 0x8
- ands r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _0808C774
- ldr r1, [r7]
- ldr r4, _0808C764
- adds r0, r1, r4
- movs r2, 0
- strh r2, [r0]
- movs r0, 0xCA
- lsls r0, 3
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r7]
- ldr r1, _0808C768
- adds r0, r1
- strh r2, [r0]
- ldr r1, _0808C76C
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808C770
- str r1, [r0]
- movs r0, 0x5
- bl PlaySE
- b _0808C878
- .align 2, 0
-_0808C764: .4byte 0x00000654
-_0808C768: .4byte 0x00000652
-_0808C76C: .4byte gTasks
-_0808C770: .4byte sub_808C8E8
-_0808C774:
- movs r0, 0x4
- ands r0, r2
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0808C814
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl sub_8091E3C
- ldr r1, _0808C7F4
- lsls r3, r6, 2
- adds r3, r6
- lsls r3, 3
- adds r3, r1
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- strh r0, [r3, 0x8]
- ldr r1, _0808C7F8
- ldr r0, [r1]
- ldr r4, _0808C7FC
- adds r0, r4
- strb r2, [r0]
- ldr r0, [r1]
- ldr r2, _0808C800
- adds r1, r0, r2
- ldrb r2, [r1]
- subs r4, 0x25
- adds r1, r0, r4
- strh r2, [r1]
- ldr r2, _0808C804
- adds r1, r0, r2
- ldrh r2, [r1]
- subs r4, 0x1A
- adds r1, r0, r4
- strh r2, [r1]
- ldr r2, _0808C808
- adds r1, r0, r2
- ldrh r2, [r1]
- adds r4, 0x4
- adds r1, r0, r4
- strh r2, [r1]
- ldr r2, _0808C80C
- adds r1, r0, r2
- ldrh r1, [r1]
- adds r4, 0x4
- adds r0, r4
- strh r1, [r0]
- ldr r0, _0808C810
- str r0, [r3]
- movs r0, 0x2
- bl PlaySE
- b _0808C878
- .align 2, 0
-_0808C7F4: .4byte gTasks
-_0808C7F8: .4byte gUnknown_0202FFB4
-_0808C7FC: .4byte 0x0000064f
-_0808C800: .4byte 0x0000062c
-_0808C804: .4byte 0x0000060e
-_0808C808: .4byte 0x00000612
-_0808C80C: .4byte 0x00000616
-_0808C810: .4byte sub_808CB8C
-_0808C814:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0808C84C
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0808C844
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808C848
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _0808C878
- .align 2, 0
-_0808C844: .4byte gTasks
-_0808C848: .4byte sub_808CC50
-_0808C84C:
- ldr r0, [r7]
- ldr r4, _0808C888
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_808E48C
- ldr r1, [r7]
- adds r4, r1, r4
- strh r0, [r4]
- ldr r0, _0808C88C
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808C878
- ldr r0, _0808C890
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808C894
- str r0, [r1]
-_0808C878:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C888: .4byte 0x0000060e
-_0808C88C: .4byte 0x0000062e
-_0808C890: .4byte gTasks
-_0808C894: .4byte sub_808C898
- thumb_func_end sub_808C650
-
- thumb_func_start sub_808C898
-sub_808C898: @ 808C898
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808C8D4
- ldr r2, [r0]
- ldr r1, _0808C8D8
- adds r0, r2, r1
- ldrb r0, [r0]
- ldr r3, _0808C8DC
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, 0x2
- adds r2, r3
- ldrb r2, [r2]
- bl sub_808E208
- lsls r0, 24
- cmp r0, 0
- beq _0808C8CC
- ldr r0, _0808C8E0
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808C8E4
- str r0, [r1]
-_0808C8CC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808C8D4: .4byte gUnknown_0202FFB4
-_0808C8D8: .4byte 0x0000062f
-_0808C8DC: .4byte 0x00000634
-_0808C8E0: .4byte gTasks
-_0808C8E4: .4byte sub_808C650
- thumb_func_end sub_808C898
-
- thumb_func_start sub_808C8E8
-sub_808C8E8: @ 808C8E8
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _0808C910
- ldr r7, _0808C914
- ldr r3, [r7]
- ldr r0, _0808C918
- adds r2, r3, r0
- ldrh r0, [r2]
- strh r0, [r1]
- ldrh r1, [r2]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r0, 0x50
- beq _0808C91C
- adds r0, r1, 0
- adds r0, 0x8
- strh r0, [r2]
- b _0808CA52
- .align 2, 0
-_0808C910: .4byte REG_BG0VOFS
-_0808C914: .4byte gUnknown_0202FFB4
-_0808C918: .4byte 0x00000654
-_0808C91C:
- ldr r5, _0808C940
- ldrh r1, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808C9C4
- ldr r2, _0808C944
- adds r0, r3, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _0808C948
- cmp r0, 0x1
- ble _0808C98C
- cmp r0, 0x2
- beq _0808C960
- cmp r0, 0x3
- beq _0808C9A0
- b _0808C98C
- .align 2, 0
-_0808C940: .4byte gMain
-_0808C944: .4byte 0x00000652
-_0808C948:
- ldr r4, _0808C958
- adds r1, r3, r4
- movs r0, 0
- strh r0, [r1]
- ldr r0, _0808C95C
- adds r1, r3, r0
- movs r0, 0x40
- b _0808C978
- .align 2, 0
-_0808C958: .4byte 0x0000060e
-_0808C95C: .4byte 0x0000062c
-_0808C960:
- ldr r1, _0808C994
- adds r2, r3, r1
- ldrh r0, [r2]
- subs r0, 0x1
- ldr r4, _0808C998
- adds r1, r3, r4
- strh r0, [r1]
- ldrh r0, [r2]
- lsls r0, 4
- adds r0, 0x30
- ldr r2, _0808C99C
- adds r1, r3, r2
-_0808C978:
- strb r0, [r1]
- bl sub_808E82C
- ldr r0, [r7]
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_808E0CC
- ldrh r1, [r5, 0x2E]
-_0808C98C:
- movs r0, 0x8
- orrs r0, r1
- strh r0, [r5, 0x2E]
- b _0808C9C4
- .align 2, 0
-_0808C994: .4byte 0x0000060c
-_0808C998: .4byte 0x0000060e
-_0808C99C: .4byte 0x0000062c
-_0808C9A0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0808C9F0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808C9F4
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
-_0808C9C4:
- ldr r2, _0808C9F8
- ldrh r1, [r2, 0x2E]
- movs r0, 0xA
- ands r0, r1
- cmp r0, 0
- beq _0808CA04
- ldr r0, _0808C9FC
- ldr r0, [r0]
- movs r3, 0xCA
- lsls r3, 3
- adds r0, r3
- movs r1, 0
- strb r1, [r0]
- ldr r1, _0808C9F0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808CA00
- str r1, [r0]
- b _0808CA20
- .align 2, 0
-_0808C9F0: .4byte gTasks
-_0808C9F4: .4byte sub_808CC50
-_0808C9F8: .4byte gMain
-_0808C9FC: .4byte gUnknown_0202FFB4
-_0808CA00: .4byte sub_808C650
-_0808CA04:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0808CA30
- ldr r0, _0808CA28
- ldr r0, [r0]
- ldr r4, _0808CA2C
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, 0
- beq _0808CA30
- subs r0, 0x1
- strh r0, [r1]
-_0808CA20:
- movs r0, 0x5
- bl PlaySE
- b _0808CA52
- .align 2, 0
-_0808CA28: .4byte gUnknown_0202FFB4
-_0808CA2C: .4byte 0x00000652
-_0808CA30:
- ldrh r1, [r2, 0x30]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0808CA52
- ldr r0, _0808CA5C
- ldr r0, [r0]
- ldr r2, _0808CA60
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0x2
- bhi _0808CA52
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x5
- bl PlaySE
-_0808CA52:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CA5C: .4byte gUnknown_0202FFB4
-_0808CA60: .4byte 0x00000652
- thumb_func_end sub_808C8E8
-
- thumb_func_start sub_808CA64
-sub_808CA64: @ 808CA64
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _0808CAC8
- ldr r5, _0808CACC
- ldr r3, [r5]
- ldr r6, _0808CAD0
- adds r0, r3, r6
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r2, 0x20
- ldrsh r0, [r1, r2]
- cmp r0, 0x30
- bne _0808CAC2
- movs r2, 0x22
- ldrsh r0, [r1, r2]
- cmp r0, 0x38
- bne _0808CAC2
- ldr r1, _0808CAD4
- adds r0, r3, r1
- ldrb r1, [r0]
- ldr r2, _0808CAD8
- adds r0, r3, r2
- strb r1, [r0]
- ldr r1, [r5]
- subs r2, 0x3D
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1, r0
- adds r1, r6
- ldrb r1, [r1]
- bl sub_808F210
- ldr r2, _0808CADC
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
- ldr r0, _0808CAE0
- str r0, [r1]
-_0808CAC2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CAC8: .4byte gSprites
-_0808CACC: .4byte gUnknown_0202FFB4
-_0808CAD0: .4byte 0x00000626
-_0808CAD4: .4byte 0x0000064a
-_0808CAD8: .4byte 0x0000064b
-_0808CADC: .4byte gTasks
-_0808CAE0: .4byte sub_808CAE4
- thumb_func_end sub_808CA64
-
- thumb_func_start sub_808CAE4
-sub_808CAE4: @ 808CAE4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0808CB40
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _0808CB50
- ldr r5, _0808CB44
- ldr r0, [r5]
- ldr r1, _0808CB48
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0808CB6C
- ldrb r0, [r4, 0x8]
- bl sub_808F250
- lsls r0, 24
- cmp r0, 0
- bne _0808CB6C
- bl sub_808E71C
- lsls r0, 24
- cmp r0, 0
- beq _0808CB6C
- ldr r0, [r5]
- ldr r2, _0808CB4C
- adds r1, r0, r2
- ldrh r1, [r1]
- lsls r1, 2
- adds r0, r1
- ldrb r1, [r4, 0x8]
- bl sub_808F284
- b _0808CB6C
- .align 2, 0
-_0808CB40: .4byte gTasks
-_0808CB44: .4byte gUnknown_0202FFB4
-_0808CB48: .4byte 0x0000064a
-_0808CB4C: .4byte 0x0000060e
-_0808CB50:
- ldr r2, _0808CB74
- ldr r0, _0808CB78
- ldr r1, [r0]
- ldr r3, _0808CB7C
- adds r0, r1, r3
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r2, _0808CB80
- ldr r0, _0808CB84
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r2]
- ldr r0, _0808CB88
- str r0, [r4]
-_0808CB6C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CB74: .4byte gUnknown_0202FFB8
-_0808CB78: .4byte gUnknown_0202FFB4
-_0808CB7C: .4byte 0x0000060e
-_0808CB80: .4byte gUnknown_0202FFBA
-_0808CB84: .4byte 0x0000062c
-_0808CB88: .4byte sub_808C608
- thumb_func_end sub_808CAE4
-
- thumb_func_start sub_808CB8C
-sub_808CB8C: @ 808CB8C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0808CBD0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r1, [r0, 0x4]
- cmp r1, 0
- bne _0808CC32
- ldr r4, _0808CBD4
- ldr r2, [r4]
- ldr r3, _0808CBD8
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808CBE4
- subs r3, 0x41
- adds r0, r2, r3
- strh r1, [r0]
- ldr r0, _0808CBDC
- adds r1, r2, r0
- movs r0, 0x40
- strb r0, [r1]
- ldr r0, _0808CBE0
- b _0808CC30
- .align 2, 0
-_0808CBD0: .4byte gTasks
-_0808CBD4: .4byte gUnknown_0202FFB4
-_0808CBD8: .4byte 0x0000064f
-_0808CBDC: .4byte 0x0000062c
-_0808CBE0: .4byte sub_808CCC4
-_0808CBE4:
- ldr r1, _0808CC38
- adds r0, r2, r1
- ldrh r1, [r0]
- ldr r3, _0808CC3C
- adds r0, r2, r3
- strb r1, [r0]
- ldr r1, [r4]
- movs r2, 0xC2
- lsls r2, 3
- adds r0, r1, r2
- ldrh r2, [r0]
- subs r3, 0x1E
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, _0808CC40
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r3, 0x4
- adds r1, r3
- strh r0, [r1]
- bl sub_806912C
- adds r1, r0, 0
- cmp r1, 0
- bne _0808CC1E
- ldr r0, [r4]
- ldr r2, _0808CC44
- adds r0, r2
- strh r1, [r0]
-_0808CC1E:
- ldr r0, [r4]
- movs r3, 0xC3
- lsls r3, 3
- adds r1, r0, r3
- ldrh r1, [r1]
- ldr r2, _0808CC48
- adds r0, r2
- strh r1, [r0]
- ldr r0, _0808CC4C
-_0808CC30:
- str r0, [r5]
-_0808CC32:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CC38: .4byte 0x0000062a
-_0808CC3C: .4byte 0x0000062c
-_0808CC40: .4byte 0x00000614
-_0808CC44: .4byte 0x00000612
-_0808CC48: .4byte 0x00000616
-_0808CC4C: .4byte sub_808C608
- thumb_func_end sub_808CB8C
-
- thumb_func_start sub_808CC50
-sub_808CC50: @ 808CC50
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _0808CCA4
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808CC9C
- ldr r4, _0808CCA8
- ldr r5, _0808CCAC
- ldr r0, [r5]
- ldr r1, _0808CCB0
- adds r0, r1
- ldrh r0, [r0]
- strb r0, [r4, 0x19]
- bl sub_806912C
- cmp r0, 0
- bne _0808CC7A
- strb r0, [r4, 0x19]
-_0808CC7A:
- ldr r0, [r5]
- ldr r1, _0808CCB4
- adds r0, r1
- ldrh r0, [r0]
- strb r0, [r4, 0x18]
- adds r0, r6, 0
- bl DestroyTask
- ldr r0, _0808CCB8
- bl SetMainCallback2
- ldr r0, _0808CCBC
- ldr r1, _0808CCC0
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
-_0808CC9C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CCA4: .4byte gPaletteFade
-_0808CCA8: .4byte gSaveBlock2
-_0808CCAC: .4byte gUnknown_0202FFB4
-_0808CCB0: .4byte 0x00000612
-_0808CCB4: .4byte 0x00000616
-_0808CCB8: .4byte sub_805469C
-_0808CCBC: .4byte gMPlay_BGM
-_0808CCC0: .4byte 0x0000ffff
- thumb_func_end sub_808CC50
-
- thumb_func_start sub_808CCC4
-sub_808CCC4: @ 808CCC4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808CCFC
- ldr r1, [r0]
- ldr r0, _0808CD00
- adds r1, r0
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
- movs r0, 0x3
- bl sub_808D344
- lsls r0, 24
- cmp r0, 0
- beq _0808CCF4
- ldr r0, _0808CD04
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808CD08
- str r0, [r1]
-_0808CCF4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CCFC: .4byte gUnknown_0202FFB4
-_0808CD00: .4byte 0x0000064c
-_0808CD04: .4byte gTasks
-_0808CD08: .4byte sub_808CD0C
- thumb_func_end sub_808CCC4
-
- thumb_func_start sub_808CD0C
-sub_808CD0C: @ 808CD0C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _0808CD38
- ldr r1, _0808CD3C
- ldr r4, [r1]
- ldr r0, _0808CD40
- adds r3, r4, r0
- ldrh r0, [r3]
- strh r0, [r2]
- ldrh r0, [r3]
- movs r2, 0
- ldrsh r7, [r3, r2]
- adds r6, r1, 0
- cmp r7, 0
- beq _0808CD44
- subs r0, 0x8
- strh r0, [r3]
- b _0808CEDC
- .align 2, 0
-_0808CD38: .4byte REG_BG0VOFS
-_0808CD3C: .4byte gUnknown_0202FFB4
-_0808CD40: .4byte 0x00000654
-_0808CD44:
- ldr r2, _0808CDB4
- ldrh r1, [r2, 0x2E]
- movs r3, 0x1
- mov r8, r3
- mov r0, r8
- ands r0, r1
- cmp r0, 0
- beq _0808CDD0
- ldr r1, _0808CDB8
- adds r0, r4, r1
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r4, r0
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _0808CDD0
- bl sub_808E6BC
- ldr r3, _0808CDBC
- ldr r0, [r6]
- ldr r2, _0808CDC0
- adds r0, r2
- ldrh r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r0, r2, r3
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- mov r0, r8
- lsls r0, r1
- adds r3, 0x1C
- adds r2, r3
- ldr r1, _0808CDC4
- str r1, [r2]
- mvns r0, r0
- str r7, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0808CDC8
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808CDCC
- str r1, [r0]
- movs r0, 0x15
- bl PlaySE
- b _0808CEDC
- .align 2, 0
-_0808CDB4: .4byte gMain
-_0808CDB8: .4byte 0x0000060e
-_0808CDBC: .4byte gSprites
-_0808CDC0: .4byte 0x00000626
-_0808CDC4: .4byte sub_808EDB8
-_0808CDC8: .4byte gTasks
-_0808CDCC: .4byte sub_808D118
-_0808CDD0:
- ldrh r2, [r2, 0x2E]
- movs r0, 0x8
- ands r0, r2
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _0808CE20
- ldr r1, [r6]
- ldr r3, _0808CE10
- adds r0, r1, r3
- movs r2, 0
- strh r2, [r0]
- movs r0, 0xCA
- lsls r0, 3
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, [r6]
- ldr r1, _0808CE14
- adds r0, r1
- strh r2, [r0]
- ldr r1, _0808CE18
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808CE1C
- str r1, [r0]
- movs r0, 0x5
- bl PlaySE
- b _0808CEDC
- .align 2, 0
-_0808CE10: .4byte 0x00000654
-_0808CE14: .4byte 0x00000652
-_0808CE18: .4byte gTasks
-_0808CE1C: .4byte sub_808CF48
-_0808CE20:
- movs r0, 0x4
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _0808CE78
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- bl sub_8091E3C
- ldr r2, _0808CE68
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- strh r0, [r1, 0x8]
- ldr r0, _0808CE6C
- ldr r0, [r0]
- ldr r3, _0808CE70
- adds r0, r3
- strb r2, [r0]
- ldr r0, _0808CE74
- str r0, [r1]
- movs r0, 0x2
- bl PlaySE
- b _0808CEDC
- .align 2, 0
-_0808CE68: .4byte gTasks
-_0808CE6C: .4byte gUnknown_0202FFB4
-_0808CE70: .4byte 0x0000064f
-_0808CE74: .4byte sub_808CB8C
-_0808CE78:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _0808CEB0
- movs r0, 0x1
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0808CEA8
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808CEAC
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _0808CEDC
- .align 2, 0
-_0808CEA8: .4byte gTasks
-_0808CEAC: .4byte sub_808D214
-_0808CEB0:
- ldr r0, [r6]
- ldr r4, _0808CEE8
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_808E48C
- ldr r1, [r6]
- adds r4, r1, r4
- strh r0, [r4]
- ldr r0, _0808CEEC
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0808CEDC
- ldr r0, _0808CEF0
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808CEF4
- str r0, [r1]
-_0808CEDC:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CEE8: .4byte 0x0000060e
-_0808CEEC: .4byte 0x0000062e
-_0808CEF0: .4byte gTasks
-_0808CEF4: .4byte sub_808CEF8
- thumb_func_end sub_808CD0C
-
- thumb_func_start sub_808CEF8
-sub_808CEF8: @ 808CEF8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808CF34
- ldr r2, [r0]
- ldr r1, _0808CF38
- adds r0, r2, r1
- ldrb r0, [r0]
- ldr r3, _0808CF3C
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r3, 0x2
- adds r2, r3
- ldrb r2, [r2]
- bl sub_808E208
- lsls r0, 24
- cmp r0, 0
- beq _0808CF2C
- ldr r0, _0808CF40
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808CF44
- str r0, [r1]
-_0808CF2C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808CF34: .4byte gUnknown_0202FFB4
-_0808CF38: .4byte 0x0000062f
-_0808CF3C: .4byte 0x00000634
-_0808CF40: .4byte gTasks
-_0808CF44: .4byte sub_808CD0C
- thumb_func_end sub_808CEF8
-
- thumb_func_start sub_808CF48
-sub_808CF48: @ 808CF48
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, _0808CF74
- ldr r1, _0808CF78
- ldr r4, [r1]
- ldr r0, _0808CF7C
- adds r3, r4, r0
- ldrh r0, [r3]
- strh r0, [r2]
- ldrh r2, [r3]
- movs r5, 0
- ldrsh r0, [r3, r5]
- adds r5, r1, 0
- cmp r0, 0x60
- beq _0808CF80
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r3]
- b _0808D106
- .align 2, 0
-_0808CF74: .4byte REG_BG0VOFS
-_0808CF78: .4byte gUnknown_0202FFB4
-_0808CF7C: .4byte 0x00000654
-_0808CF80:
- ldr r0, _0808CFA0
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808D078
- ldr r1, _0808CFA4
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _0808D008
- lsls r0, 2
- ldr r1, _0808CFA8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808CFA0: .4byte gMain
-_0808CFA4: .4byte 0x00000652
-_0808CFA8: .4byte _0808CFAC
- .align 2, 0
-_0808CFAC:
- .4byte _0808D008
- .4byte _0808CFC0
- .4byte _0808CFDC
- .4byte _0808D024
- .4byte _0808D054
-_0808CFC0:
- ldr r1, [r5]
- ldr r4, _0808CFD4
- adds r2, r1, r4
- movs r0, 0
- strh r0, [r2]
- ldr r2, _0808CFD8
- adds r1, r2
- movs r0, 0x40
- strb r0, [r1]
- b _0808CFF8
- .align 2, 0
-_0808CFD4: .4byte 0x0000060e
-_0808CFD8: .4byte 0x0000062c
-_0808CFDC:
- ldr r2, [r5]
- ldr r0, _0808D014
- adds r3, r2, r0
- ldrh r0, [r3]
- subs r0, 0x1
- ldr r4, _0808D018
- adds r1, r2, r4
- strh r0, [r1]
- ldrh r0, [r3]
- lsls r0, 4
- adds r0, 0x30
- ldr r1, _0808D01C
- adds r2, r1
- strb r0, [r2]
-_0808CFF8:
- bl sub_808E82C
- ldr r0, [r5]
- adds r0, r4
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_808E0CC
-_0808D008:
- ldr r2, _0808D020
- ldrh r1, [r2, 0x2E]
- movs r0, 0x8
- orrs r0, r1
- strh r0, [r2, 0x2E]
- b _0808D078
- .align 2, 0
-_0808D014: .4byte 0x0000060c
-_0808D018: .4byte 0x0000060e
-_0808D01C: .4byte 0x0000062c
-_0808D020: .4byte gMain
-_0808D024:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0808D04C
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808D050
- str r1, [r0]
- movs r0, 0x34
- bl PlaySE
- b _0808D078
- .align 2, 0
-_0808D04C: .4byte gTasks
-_0808D050: .4byte sub_808D214
-_0808D054:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0808D0A4
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808D0A8
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
-_0808D078:
- ldr r2, _0808D0AC
- ldrh r1, [r2, 0x2E]
- movs r0, 0xA
- ands r0, r1
- cmp r0, 0
- beq _0808D0B8
- ldr r0, _0808D0B0
- ldr r0, [r0]
- movs r2, 0xCA
- lsls r2, 3
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- ldr r1, _0808D0A4
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808D0B4
- str r1, [r0]
- b _0808D0D4
- .align 2, 0
-_0808D0A4: .4byte gTasks
-_0808D0A8: .4byte sub_808D2AC
-_0808D0AC: .4byte gMain
-_0808D0B0: .4byte gUnknown_0202FFB4
-_0808D0B4: .4byte sub_808CD0C
-_0808D0B8:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0808D0E4
- ldr r0, _0808D0DC
- ldr r0, [r0]
- ldr r3, _0808D0E0
- adds r1, r0, r3
- ldrh r0, [r1]
- cmp r0, 0
- beq _0808D0E4
- subs r0, 0x1
- strh r0, [r1]
-_0808D0D4:
- movs r0, 0x5
- bl PlaySE
- b _0808D106
- .align 2, 0
-_0808D0DC: .4byte gUnknown_0202FFB4
-_0808D0E0: .4byte 0x00000652
-_0808D0E4:
- ldrh r1, [r2, 0x30]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0808D106
- ldr r0, _0808D110
- ldr r0, [r0]
- ldr r5, _0808D114
- adds r1, r0, r5
- ldrh r0, [r1]
- cmp r0, 0x3
- bhi _0808D106
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x5
- bl PlaySE
-_0808D106:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D110: .4byte gUnknown_0202FFB4
-_0808D114: .4byte 0x00000652
- thumb_func_end sub_808CF48
-
- thumb_func_start sub_808D118
-sub_808D118: @ 808D118
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _0808D17C
- ldr r5, _0808D180
- ldr r3, [r5]
- ldr r6, _0808D184
- adds r0, r3, r6
- ldrh r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r2, 0x20
- ldrsh r0, [r1, r2]
- cmp r0, 0x30
- bne _0808D176
- movs r2, 0x22
- ldrsh r0, [r1, r2]
- cmp r0, 0x38
- bne _0808D176
- ldr r1, _0808D188
- adds r0, r3, r1
- ldrb r1, [r0]
- ldr r2, _0808D18C
- adds r0, r3, r2
- strb r1, [r0]
- ldr r1, [r5]
- subs r2, 0x3D
- adds r0, r1, r2
- ldrh r0, [r0]
- lsls r0, 2
- adds r0, r1, r0
- adds r1, r6
- ldrb r1, [r1]
- bl sub_808F210
- ldr r2, _0808D190
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0x8]
- ldr r0, _0808D194
- str r0, [r1]
-_0808D176:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D17C: .4byte gSprites
-_0808D180: .4byte gUnknown_0202FFB4
-_0808D184: .4byte 0x00000626
-_0808D188: .4byte 0x0000064a
-_0808D18C: .4byte 0x0000064b
-_0808D190: .4byte gTasks
-_0808D194: .4byte sub_808D198
- thumb_func_end sub_808D118
-
- thumb_func_start sub_808D198
-sub_808D198: @ 808D198
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0808D1F4
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _0808D204
- ldr r5, _0808D1F8
- ldr r0, [r5]
- ldr r1, _0808D1FC
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _0808D208
- ldrb r0, [r4, 0x8]
- bl sub_808F250
- lsls r0, 24
- cmp r0, 0
- bne _0808D208
- bl sub_808E71C
- lsls r0, 24
- cmp r0, 0
- beq _0808D208
- ldr r0, [r5]
- ldr r2, _0808D200
- adds r1, r0, r2
- ldrh r1, [r1]
- lsls r1, 2
- adds r0, r1
- ldrb r1, [r4, 0x8]
- bl sub_808F284
- b _0808D208
- .align 2, 0
-_0808D1F4: .4byte gTasks
-_0808D1F8: .4byte gUnknown_0202FFB4
-_0808D1FC: .4byte 0x0000064a
-_0808D200: .4byte 0x0000060e
-_0808D204:
- ldr r0, _0808D210
- str r0, [r4]
-_0808D208:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D210: .4byte sub_808CCC4
- thumb_func_end sub_808D198
-
- thumb_func_start sub_808D214
-sub_808D214: @ 808D214
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0808D288
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808D280
- ldr r4, _0808D28C
- ldr r0, [r4]
- ldr r2, _0808D290
- adds r1, r0, r2
- ldrh r1, [r1]
- ldr r3, _0808D294
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r4]
- subs r2, 0x1A
- adds r0, r1, r2
- ldrh r2, [r0]
- subs r3, 0x1E
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, _0808D298
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r3, 0x4
- adds r1, r3
- strh r0, [r1]
- bl sub_806912C
- adds r1, r0, 0
- cmp r1, 0
- bne _0808D262
- ldr r0, [r4]
- ldr r2, _0808D29C
- adds r0, r2
- strh r1, [r0]
-_0808D262:
- ldr r0, [r4]
- movs r3, 0xC3
- lsls r3, 3
- adds r1, r0, r3
- ldrh r1, [r1]
- ldr r2, _0808D2A0
- adds r0, r2
- strh r1, [r0]
- ldr r1, _0808D2A4
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808D2A8
- str r1, [r0]
-_0808D280:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D288: .4byte gPaletteFade
-_0808D28C: .4byte gUnknown_0202FFB4
-_0808D290: .4byte 0x0000062a
-_0808D294: .4byte 0x0000062c
-_0808D298: .4byte 0x00000614
-_0808D29C: .4byte 0x00000612
-_0808D2A0: .4byte 0x00000616
-_0808D2A4: .4byte gTasks
-_0808D2A8: .4byte sub_808C608
- thumb_func_end sub_808D214
-
- thumb_func_start sub_808D2AC
-sub_808D2AC: @ 808D2AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0808D320
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808D318
- ldr r4, _0808D324
- ldr r0, [r4]
- ldr r2, _0808D328
- adds r1, r0, r2
- ldrh r1, [r1]
- ldr r3, _0808D32C
- adds r0, r3
- strb r1, [r0]
- ldr r1, [r4]
- subs r2, 0x1A
- adds r0, r1, r2
- ldrh r2, [r0]
- subs r3, 0x1E
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, _0808D330
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r3, 0x4
- adds r1, r3
- strh r0, [r1]
- bl sub_806912C
- adds r1, r0, 0
- cmp r1, 0
- bne _0808D2FA
- ldr r0, [r4]
- ldr r2, _0808D334
- adds r0, r2
- strh r1, [r0]
-_0808D2FA:
- ldr r0, [r4]
- movs r3, 0xC3
- lsls r3, 3
- adds r1, r0, r3
- ldrh r1, [r1]
- ldr r2, _0808D338
- adds r0, r2
- strh r1, [r0]
- ldr r1, _0808D33C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808D340
- str r1, [r0]
-_0808D318:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808D320: .4byte gPaletteFade
-_0808D324: .4byte gUnknown_0202FFB4
-_0808D328: .4byte 0x0000062a
-_0808D32C: .4byte 0x0000062c
-_0808D330: .4byte 0x00000614
-_0808D334: .4byte 0x00000612
-_0808D338: .4byte 0x00000616
-_0808D33C: .4byte gTasks
-_0808D340: .4byte sub_808CC50
- thumb_func_end sub_808D2AC
-
- thumb_func_start sub_808D344
-sub_808D344: @ 808D344
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0808D364
- ldr r2, _0808D368
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x6
- bhi _0808D38C
- lsls r0, 2
- ldr r1, _0808D36C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808D364: .4byte gMain
-_0808D368: .4byte 0x0000043c
-_0808D36C: .4byte _0808D370
- .align 2, 0
-_0808D370:
- .4byte _0808D38C
- .4byte _0808D49C
- .4byte _0808D4D8
- .4byte _0808D50C
- .4byte _0808D564
- .4byte _0808D590
- .4byte _0808D610
-_0808D38C:
- ldr r0, _0808D3FC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _0808D39E
- b _0808D634
-_0808D39E:
- movs r0, 0
- bl SetVBlankCallback
- ldr r4, _0808D400
- ldr r0, [r4]
- ldr r1, _0808D404
- adds r0, r1
- strb r5, [r0]
- movs r0, 0
- bl sub_8091060
- ldr r1, _0808D408
- ldr r0, [r4]
- ldr r2, _0808D40C
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1]
- ldr r0, _0808D410
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, _0808D414
- ldr r1, _0808D418
- bl LZ77UnCompVram
- ldr r0, _0808D41C
- ldr r1, _0808D420
- bl LZ77UnCompVram
- ldr r1, _0808D424
- add r0, sp, 0x4
- strh r6, [r0]
- ldr r0, _0808D428
- add r2, sp, 0x4
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r1, _0808D42C
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- cmp r5, 0
- bne _0808D438
- ldr r0, _0808D430
- ldr r1, _0808D434
- bl LZ77UnCompVram
- b _0808D440
- .align 2, 0
-_0808D3FC: .4byte gPaletteFade
-_0808D400: .4byte gUnknown_0202FFB4
-_0808D404: .4byte 0x0000064a
-_0808D408: .4byte REG_BG2VOFS
-_0808D40C: .4byte 0x0000062d
-_0808D410: .4byte gPokedexMenu_Gfx
-_0808D414: .4byte gUnknown_08E96738
-_0808D418: .4byte 0x06006800
-_0808D41C: .4byte gUnknown_08E9C6DC
-_0808D420: .4byte 0x06007800
-_0808D424: .4byte 0x06006000
-_0808D428: .4byte 0x040000d4
-_0808D42C: .4byte 0x81000280
-_0808D430: .4byte gUnknown_08E96888
-_0808D434: .4byte 0x06006500
-_0808D438:
- ldr r0, _0808D45C
- ldr r1, _0808D460
- bl LZ77UnCompVram
-_0808D440:
- bl ResetPaletteFade
- cmp r5, 0
- bne _0808D46C
- ldr r0, _0808D464
- ldr r1, [r0]
- ldr r0, _0808D468
- adds r1, r0
- ldrb r2, [r1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- b _0808D47A
- .align 2, 0
-_0808D45C: .4byte gUnknown_08E96994
-_0808D460: .4byte 0x06006500
-_0808D464: .4byte gUnknown_0202FFB4
-_0808D468: .4byte 0x0000064c
-_0808D46C:
- ldr r0, _0808D48C
- ldr r1, [r0]
- ldr r2, _0808D490
- adds r1, r2
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
-_0808D47A:
- strb r0, [r1]
- bl sub_808D640
- ldr r0, _0808D494
- ldr r1, _0808D498
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _0808D634
- .align 2, 0
-_0808D48C: .4byte gUnknown_0202FFB4
-_0808D490: .4byte 0x0000064c
-_0808D494: .4byte gMain
-_0808D498: .4byte 0x0000043c
-_0808D49C:
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, _0808D4C4
- movs r0, 0x8
- strb r0, [r1]
- ldr r0, _0808D4C8
- bl LoadCompressedObjectPic
- ldr r0, _0808D4CC
- bl LoadSpritePalettes
- adds r0, r5, 0
- bl sub_808E978
- ldr r1, _0808D4D0
- ldr r2, _0808D4D4
- adds r1, r2
- b _0808D5E4
- .align 2, 0
-_0808D4C4: .4byte gReservedSpritePaletteCount
-_0808D4C8: .4byte gUnknown_083A05CC
-_0808D4CC: .4byte gUnknown_083A05DC
-_0808D4D0: .4byte gMain
-_0808D4D4: .4byte 0x0000043c
-_0808D4D8:
- ldr r4, _0808D4F8
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r0, _0808D4FC
- ldr r1, _0808D500
- bl LZ77UnCompVram
- ldr r1, _0808D504
- ldr r0, _0808D508
- adds r1, r0
- b _0808D5E4
- .align 2, 0
-_0808D4F8: .4byte gWindowConfig_81E7048
-_0808D4FC: .4byte gUnknown_0839FA7C
-_0808D500: .4byte 0x0600ff80
-_0808D504: .4byte gMain
-_0808D508: .4byte 0x0000043c
-_0808D50C:
- cmp r5, 0
- bne _0808D524
- ldr r0, _0808D550
- ldr r1, [r0]
- ldr r2, _0808D554
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x4
- adds r1, r2
- ldrb r1, [r1]
- bl sub_808D690
-_0808D524:
- ldr r4, _0808D550
- ldr r0, [r4]
- ldr r1, _0808D558
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0xE
- bl sub_808E0CC
- ldr r0, [r4]
- movs r2, 0xCA
- lsls r2, 3
- adds r0, r2
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r4]
- adds r2, 0x4
- adds r0, r2
- strh r1, [r0]
- ldr r1, _0808D55C
- ldr r0, _0808D560
- adds r1, r0
- b _0808D5E4
- .align 2, 0
-_0808D550: .4byte gUnknown_0202FFB4
-_0808D554: .4byte 0x00000612
-_0808D558: .4byte 0x0000060e
-_0808D55C: .4byte gMain
-_0808D560: .4byte 0x0000043c
-_0808D564:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _0808D584
- bl SetVBlankCallback
- ldr r1, _0808D588
- ldr r2, _0808D58C
- adds r1, r2
- b _0808D5E4
- .align 2, 0
-_0808D584: .4byte sub_808C0B8
-_0808D588: .4byte gMain
-_0808D58C: .4byte 0x0000043c
-_0808D590:
- ldr r1, _0808D5EC
- ldr r2, _0808D5F0
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0808D5F4
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0808D5F8
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0xA
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _0808D5FC
- ldr r2, _0808D600
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x4
- ldr r2, _0808D604
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x8
- ldr r2, _0808D608
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0808D60C
- adds r1, r3, r0
-_0808D5E4:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808D634
- .align 2, 0
-_0808D5EC: .4byte REG_WININ
-_0808D5F0: .4byte 0x00003f3f
-_0808D5F4: .4byte 0x00001d3f
-_0808D5F8: .4byte REG_WIN0H
-_0808D5FC: .4byte REG_BG3CNT
-_0808D600: .4byte 0x00000f03
-_0808D604: .4byte 0x00000d01
-_0808D608: .4byte 0x00009f40
-_0808D60C: .4byte 0x0000043c
-_0808D610:
- ldr r0, _0808D62C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _0808D634
- ldr r1, _0808D630
- adds r0, r3, r1
- strb r2, [r0]
- movs r0, 0x1
- b _0808D636
- .align 2, 0
-_0808D62C: .4byte gPaletteFade
-_0808D630: .4byte 0x0000043c
-_0808D634:
- movs r0, 0
-_0808D636:
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808D344
-
- thumb_func_start sub_808D640
-sub_808D640: @ 808D640
- push {lr}
- ldr r0, _0808D658
- ldr r0, [r0]
- ldr r1, _0808D65C
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0808D664
- ldr r0, _0808D660
- b _0808D66E
- .align 2, 0
-_0808D658: .4byte gUnknown_0202FFB4
-_0808D65C: .4byte 0x0000064c
-_0808D660: .4byte gUnknown_0839F67C + 0x2
-_0808D664:
- bl sub_806912C
- cmp r0, 0
- bne _0808D67C
- ldr r0, _0808D678
-_0808D66E:
- movs r1, 0x1
- movs r2, 0xBE
- bl LoadPalette
- b _0808D686
- .align 2, 0
-_0808D678: .4byte gPokedexMenu_Pal + 0x2
-_0808D67C:
- ldr r0, _0808D68C
- movs r1, 0x1
- movs r2, 0xBE
- bl LoadPalette
-_0808D686:
- pop {r0}
- bx r0
- .align 2, 0
-_0808D68C: .4byte gUnknown_0839F73C + 0x2
- thumb_func_end sub_808D640
-
- thumb_func_start sub_808D690
-sub_808D690: @ 808D690
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r0, _0808D6C4
- ldr r0, [r0]
- ldr r1, _0808D6C8
- adds r0, r1
- movs r5, 0
- strh r5, [r0]
- cmp r4, 0
- beq _0808D6B8
- cmp r4, 0x1
- beq _0808D6CC
-_0808D6B8:
- mov r1, sp
- movs r0, 0xCA
- strh r0, [r1]
- movs r0, 0x1
- strh r0, [r1, 0x2]
- b _0808D6E8
- .align 2, 0
-_0808D6C4: .4byte gUnknown_0202FFB4
-_0808D6C8: .4byte 0x0000060c
-_0808D6CC:
- bl sub_806912C
- cmp r0, 0
- beq _0808D6E0
- mov r0, sp
- movs r1, 0xC1
- lsls r1, 1
- strh r1, [r0]
- strh r5, [r0, 0x2]
- b _0808D6E8
-_0808D6E0:
- mov r0, sp
- movs r1, 0xCA
- strh r1, [r0]
- strh r4, [r0, 0x2]
-_0808D6E8:
- cmp r6, 0x5
- bls _0808D6EE
- b _0808DB70
-_0808D6EE:
- lsls r0, r6, 2
- ldr r1, _0808D6F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808D6F8: .4byte _0808D6FC
- .align 2, 0
-_0808D6FC:
- .4byte _0808D714
- .4byte _0808D888
- .4byte _0808D934
- .4byte _0808D9C4
- .4byte _0808DA5C
- .4byte _0808DAEC
-_0808D714:
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r0, 0
- beq _0808D7BC
- movs r4, 0
- mov r0, sp
- ldrh r0, [r0]
- cmp r4, r0
- blt _0808D728
- b _0808DB70
-_0808D728:
- mov r5, sp
- ldr r2, _0808D7B4
- mov r8, r2
- movs r3, 0x1
- mov r9, r3
-_0808D732:
- lsls r4, 16
- asrs r4, 16
- adds r7, r4, 0x1
- mov r10, r7
- lsls r0, r7, 16
- lsrs r6, r0, 16
- adds r0, r6, 0
- bl HoennToNationalOrder
- strh r0, [r5, 0x4]
- mov r2, r8
- ldr r1, [r2]
- lsls r4, 2
- adds r1, r4
- strh r0, [r1]
- ldrh r0, [r5, 0x4]
- movs r1, 0
- bl sub_8090D90
- mov r3, r8
- ldr r2, [r3]
- adds r2, r4
- mov r3, r9
- ands r3, r0
- ldrb r0, [r2, 0x2]
- movs r7, 0x2
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x2]
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl sub_8090D90
- mov r1, r8
- ldr r3, [r1]
- adds r3, r4
- mov r2, r9
- ands r2, r0
- lsls r2, 1
- ldrb r0, [r3, 0x2]
- subs r7, 0x1
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x2]
- mov r0, r8
- ldr r1, [r0]
- adds r4, r1, r4
- ldrb r0, [r4, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _0808D7A6
- ldr r2, _0808D7B8
- adds r0, r1, r2
- mov r3, r10
- strh r3, [r0]
-_0808D7A6:
- adds r4, r6, 0
- lsls r0, r4, 16
- asrs r0, 16
- ldrh r7, [r5]
- cmp r0, r7
- blt _0808D732
- b _0808DB70
- .align 2, 0
-_0808D7B4: .4byte gUnknown_0202FFB4
-_0808D7B8: .4byte 0x0000060c
-_0808D7BC:
- movs r4, 0
- movs r5, 0
- mov r10, r5
- mov r0, sp
- ldrh r0, [r0]
- cmp r4, r0
- blt _0808D7CC
- b _0808DB70
-_0808D7CC:
- mov r6, sp
- ldr r0, _0808D880
- mov r8, r0
- movs r1, 0x1
- mov r9, r1
-_0808D7D6:
- lsls r4, 16
- asrs r0, r4, 16
- adds r0, 0x1
- strh r0, [r6, 0x4]
- ldrh r0, [r6, 0x4]
- movs r1, 0
- bl sub_8090D90
- lsls r0, 24
- adds r7, r4, 0
- cmp r0, 0
- beq _0808D7F2
- movs r2, 0x1
- mov r10, r2
-_0808D7F2:
- mov r3, r10
- cmp r3, 0
- beq _0808D86E
- mov r4, r8
- ldr r1, [r4]
- lsls r0, r5, 16
- asrs r5, r0, 16
- lsls r4, r5, 2
- adds r1, r4
- ldrh r0, [r6, 0x4]
- strh r0, [r1]
- ldrh r0, [r6, 0x4]
- movs r1, 0
- bl sub_8090D90
- mov r1, r8
- ldr r2, [r1]
- adds r2, r4
- mov r3, r9
- ands r3, r0
- mov r12, r3
- ldrb r0, [r2, 0x2]
- movs r3, 0x2
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- mov r1, r12
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldrh r0, [r6, 0x4]
- movs r1, 0x1
- bl sub_8090D90
- mov r2, r8
- ldr r3, [r2]
- adds r3, r4
- mov r2, r9
- ands r2, r0
- lsls r2, 1
- mov r12, r2
- ldrb r0, [r3, 0x2]
- movs r2, 0x3
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- mov r1, r12
- orrs r0, r1
- strb r0, [r3, 0x2]
- mov r3, r8
- ldr r2, [r3]
- adds r4, r2, r4
- ldrb r0, [r4, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _0808D868
- adds r1, r5, 0x1
- ldr r4, _0808D884
- adds r0, r2, r4
- strh r1, [r0]
-_0808D868:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_0808D86E:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r4, r0, 16
- asrs r0, 16
- ldrh r2, [r6]
- cmp r0, r2
- blt _0808D7D6
- b _0808DB70
- .align 2, 0
-_0808D880: .4byte gUnknown_0202FFB4
-_0808D884: .4byte 0x0000060c
-_0808D888:
- movs r4, 0
- mov r5, sp
- ldr r3, _0808D928
- mov r8, r3
- ldr r6, _0808D92C
- movs r7, 0x1
- mov r9, r7
-_0808D896:
- ldr r1, _0808D930
- lsls r4, 16
- asrs r0, r4, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- adds r7, r4, 0
- ldrh r1, [r5]
- cmp r0, r1
- bhi _0808D914
- ldrh r0, [r5, 0x4]
- movs r1, 0
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _0808D914
- mov r3, r8
- ldr r2, [r3]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- mov r4, r9
- orrs r0, r4
- strb r0, [r2, 0x2]
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl sub_8090D90
- mov r1, r8
- ldr r3, [r1]
- adds r1, r3, r6
- ldrh r1, [r1]
- lsls r1, 2
- adds r3, r1
- mov r2, r9
- ands r2, r0
- lsls r2, 1
- ldrb r0, [r3, 0x2]
- movs r4, 0x3
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x2]
- mov r0, r8
- ldr r1, [r0]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0808D914:
- movs r2, 0x80
- lsls r2, 9
- adds r1, r7, r2
- lsrs r4, r1, 16
- movs r0, 0xCD
- lsls r0, 17
- cmp r1, r0
- ble _0808D896
- b _0808DB70
- .align 2, 0
-_0808D928: .4byte gUnknown_0202FFB4
-_0808D92C: .4byte 0x0000060c
-_0808D930: .4byte gPokedexOrder_Alphabetical
-_0808D934:
- ldr r4, _0808D9B0
- lsls r0, r4, 16
- mov r5, sp
- ldr r7, _0808D9B4
- ldr r6, _0808D9B8
-_0808D93E:
- ldr r1, _0808D9BC
- asrs r0, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- ldrh r3, [r5]
- cmp r0, r3
- bhi _0808D99E
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _0808D99E
- ldr r2, [r7]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r2, [r7]
- adds r0, r2, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r7]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0808D99E:
- lsls r0, r4, 16
- ldr r4, _0808D9C0
- adds r0, r4
- lsrs r4, r0, 16
- lsls r0, r4, 16
- cmp r0, 0
- bge _0808D93E
- b _0808DB70
- .align 2, 0
-_0808D9B0: .4byte 0x00000181
-_0808D9B4: .4byte gUnknown_0202FFB4
-_0808D9B8: .4byte 0x0000060c
-_0808D9BC: .4byte gPokedexOrder_Weight
-_0808D9C0: .4byte 0xffff0000
-_0808D9C4:
- movs r4, 0
- mov r5, sp
- ldr r7, _0808DA4C
- mov r8, r7
- ldr r6, _0808DA50
- ldr r0, _0808DA54
- mov r9, r0
-_0808D9D2:
- ldr r1, _0808DA58
- lsls r4, 16
- asrs r0, r4, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- adds r7, r4, 0
- ldrh r1, [r5]
- cmp r0, r1
- bhi _0808DA3A
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _0808DA3A
- mov r3, r8
- ldr r2, [r3]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- mov r4, r8
- ldr r2, [r4]
- adds r0, r2, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r4]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0808DA3A:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, r9
- ble _0808D9D2
- b _0808DB70
- .align 2, 0
-_0808DA4C: .4byte gUnknown_0202FFB4
-_0808DA50: .4byte 0x0000060c
-_0808DA54: .4byte 0x00000181
-_0808DA58: .4byte gPokedexOrder_Weight
-_0808DA5C:
- ldr r4, _0808DAD8
- lsls r0, r4, 16
- mov r5, sp
- ldr r7, _0808DADC
- ldr r6, _0808DAE0
-_0808DA66:
- ldr r1, _0808DAE4
- asrs r0, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- ldrh r2, [r5]
- cmp r0, r2
- bhi _0808DAC6
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _0808DAC6
- ldr r2, [r7]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r2, [r7]
- adds r0, r2, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r7]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0808DAC6:
- lsls r0, r4, 16
- ldr r3, _0808DAE8
- adds r0, r3
- lsrs r4, r0, 16
- lsls r0, r4, 16
- cmp r0, 0
- bge _0808DA66
- b _0808DB70
- .align 2, 0
-_0808DAD8: .4byte 0x00000181
-_0808DADC: .4byte gUnknown_0202FFB4
-_0808DAE0: .4byte 0x0000060c
-_0808DAE4: .4byte gPokedexOrder_Height
-_0808DAE8: .4byte 0xffff0000
-_0808DAEC:
- movs r4, 0
- mov r5, sp
- ldr r7, _0808DBD4
- mov r8, r7
- ldr r6, _0808DBD8
- ldr r0, _0808DBDC
- mov r9, r0
-_0808DAFA:
- ldr r1, _0808DBE0
- lsls r4, 16
- asrs r0, r4, 15
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x4]
- ldrh r0, [r5, 0x4]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- adds r7, r4, 0
- ldrh r1, [r5]
- cmp r0, r1
- bhi _0808DB62
- ldrh r0, [r5, 0x4]
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _0808DB62
- mov r3, r8
- ldr r2, [r3]
- adds r3, r2, r6
- ldrh r0, [r3]
- lsls r0, 2
- adds r0, r2, r0
- ldrh r1, [r5, 0x4]
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- mov r4, r8
- ldr r2, [r4]
- adds r0, r2, r6
- ldrh r0, [r0]
- lsls r0, 2
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r1, [r4]
- adds r1, r6
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_0808DB62:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, r9
- ble _0808DAFA
-_0808DB70:
- ldr r1, _0808DBD4
- ldr r0, [r1]
- ldr r2, _0808DBD8
- adds r0, r2
- ldrh r4, [r0]
- lsls r3, r4, 16
- asrs r0, r3, 16
- ldr r2, _0808DBDC
- cmp r0, r2
- bgt _0808DBC4
- adds r5, r1, 0
- movs r4, 0x2
- negs r4, r4
- mov r9, r4
- movs r7, 0x3
- negs r7, r7
- mov r8, r7
- adds r7, r2, 0
- ldr r0, _0808DBE4
- adds r6, r0, 0
-_0808DB98:
- ldr r1, [r5]
- asrs r3, 16
- lsls r4, r3, 2
- adds r1, r4
- ldrh r0, [r1]
- orrs r0, r6
- strh r0, [r1]
- ldrb r2, [r1, 0x2]
- mov r0, r9
- ands r0, r2
- strb r0, [r1, 0x2]
- ldr r1, [r5]
- adds r1, r4
- ldrb r2, [r1, 0x2]
- mov r0, r8
- ands r0, r2
- strb r0, [r1, 0x2]
- adds r3, 0x1
- lsls r3, 16
- asrs r0, r3, 16
- cmp r0, r7
- ble _0808DB98
-_0808DBC4:
- 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
-_0808DBD4: .4byte gUnknown_0202FFB4
-_0808DBD8: .4byte 0x0000060c
-_0808DBDC: .4byte 0x00000181
-_0808DBE0: .4byte gPokedexOrder_Height
-_0808DBE4: .4byte 0x0000ffff
- thumb_func_end sub_808D690
-
- thumb_func_start sub_808DBE8
-sub_808DBE8: @ 808DBE8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r7, r2, 16
- cmp r0, 0x1
- beq _0808DCE0
- cmp r0, 0x1
- ble _0808DC0C
- cmp r0, 0x2
- bne _0808DC0C
- b _0808DDD8
-_0808DC0C:
- subs r0, r1, 0x5
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- mov r9, r0
-_0808DC16:
- lsls r0, r1, 16
- lsrs r5, r0, 16
- mov r10, r0
- ldr r1, _0808DC48
- cmp r5, r1
- bhi _0808DC36
- ldr r2, _0808DC4C
- mov r8, r2
- ldr r0, [r2]
- mov r3, r10
- asrs r6, r3, 14
- adds r0, r6
- ldrh r0, [r0]
- ldr r1, _0808DC50
- cmp r0, r1
- bne _0808DC54
-_0808DC36:
- mov r2, r9
- lsls r1, r2, 25
- lsrs r1, 24
- movs r0, 0x11
- adds r2, r7, 0
- bl sub_808E090
- b _0808DCC8
- .align 2, 0
-_0808DC48: .4byte 0x00000181
-_0808DC4C: .4byte gUnknown_0202FFB4
-_0808DC50: .4byte 0x0000ffff
-_0808DC54:
- mov r3, r9
- lsls r0, r3, 25
- lsrs r4, r0, 24
- movs r0, 0x11
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_808E090
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _0808DCA6
- adds r0, r5, 0
- movs r1, 0x12
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_808DEB0
- mov r2, r8
- ldr r0, [r2]
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r0, 30
- lsrs r0, 31
- movs r1, 0x11
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_808DF88
- mov r3, r8
- ldr r0, [r3]
- adds r0, r6
- ldrh r0, [r0]
- movs r1, 0x17
- adds r2, r4, 0
- bl sub_808DFE4
- b _0808DCC8
-_0808DCA6:
- adds r0, r5, 0
- movs r1, 0x12
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_808DEB0
- movs r0, 0
- movs r1, 0x11
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_808DF88
- movs r0, 0
- movs r1, 0x17
- adds r2, r4, 0
- bl sub_808DFE4
-_0808DCC8:
- movs r0, 0x80
- lsls r0, 9
- add r0, r10
- lsrs r1, r0, 16
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0xA
- bls _0808DC16
- b _0808DEA2
-_0808DCE0:
- subs r0, r1, 0x5
- lsls r1, r0, 16
- lsrs r5, r1, 16
- ldr r0, _0808DD10
- ldr r2, _0808DD14
- cmp r5, r0
- bhi _0808DCFE
- adds r6, r2, 0
- ldr r3, [r6]
- asrs r4, r1, 14
- adds r0, r3, r4
- ldrh r1, [r0]
- ldr r0, _0808DD18
- cmp r1, r0
- bne _0808DD1C
-_0808DCFE:
- ldr r0, [r2]
- movs r1, 0xC6
- lsls r1, 3
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r1, 25
- b _0808DE16
- .align 2, 0
-_0808DD10: .4byte 0x00000181
-_0808DD14: .4byte gUnknown_0202FFB4
-_0808DD18: .4byte 0x0000ffff
-_0808DD1C:
- movs r1, 0xC6
- lsls r1, 3
- adds r0, r3, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r1, 25
- lsrs r1, 24
- movs r0, 0x11
- adds r2, r7, 0
- bl sub_808E090
- ldr r1, [r6]
- adds r0, r1, r4
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _0808DD8C
- movs r3, 0xC6
- lsls r3, 3
- adds r0, r1, r3
- movs r1, 0
- ldrsh r2, [r0, r1]
- lsls r2, 25
- lsrs r2, 24
- adds r0, r5, 0
- movs r1, 0x12
- adds r3, r7, 0
- bl sub_808DEB0
- ldr r1, [r6]
- adds r0, r1, r4
- ldrb r0, [r0, 0x2]
- lsls r0, 30
- lsrs r0, 31
- movs r2, 0xC6
- lsls r2, 3
- adds r1, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- lsls r2, 25
- lsrs r2, 24
- movs r1, 0x11
- adds r3, r7, 0
- bl sub_808DF88
- ldr r1, [r6]
- adds r0, r1, r4
- ldrh r0, [r0]
- movs r2, 0xC6
- lsls r2, 3
- adds r1, r2
- movs r3, 0
- ldrsh r2, [r1, r3]
- lsls r2, 25
- lsrs r2, 24
- b _0808DDD0
-_0808DD8C:
- movs r2, 0xC6
- lsls r2, 3
- adds r0, r1, r2
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r2, 25
- lsrs r2, 24
- adds r0, r5, 0
- movs r1, 0x12
- adds r3, r7, 0
- bl sub_808DEB0
- ldr r0, [r6]
- movs r1, 0xC6
- lsls r1, 3
- adds r0, r1
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r2, 25
- lsrs r2, 24
- movs r0, 0
- movs r1, 0x11
- adds r3, r7, 0
- bl sub_808DF88
- ldr r0, [r6]
- movs r1, 0xC6
- lsls r1, 3
- adds r0, r1
- movs r3, 0
- ldrsh r2, [r0, r3]
- lsls r2, 25
- lsrs r2, 24
- movs r0, 0
-_0808DDD0:
- movs r1, 0x17
- bl sub_808DFE4
- b _0808DEA2
-_0808DDD8:
- adds r0, r1, 0x5
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _0808DE24
- mov r8, r0
- ldr r3, [r0]
- movs r2, 0xC6
- lsls r2, 3
- adds r0, r3, r2
- ldrh r0, [r0]
- adds r0, 0xA
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _0808DDFE
- adds r0, r2, 0
- subs r0, 0x10
- lsls r0, 16
- lsrs r2, r0, 16
-_0808DDFE:
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r0, _0808DE28
- cmp r5, r0
- bhi _0808DE14
- asrs r6, r1, 14
- adds r0, r3, r6
- ldrh r1, [r0]
- ldr r0, _0808DE2C
- cmp r1, r0
- bne _0808DE30
-_0808DE14:
- lsls r1, r2, 25
-_0808DE16:
- lsrs r1, 24
- movs r0, 0x11
- adds r2, r7, 0
- bl sub_808E090
- b _0808DEA2
- .align 2, 0
-_0808DE24: .4byte gUnknown_0202FFB4
-_0808DE28: .4byte 0x00000181
-_0808DE2C: .4byte 0x0000ffff
-_0808DE30:
- lsls r0, r2, 25
- lsrs r4, r0, 24
- movs r0, 0x11
- adds r1, r4, 0
- adds r2, r7, 0
- bl sub_808E090
- mov r3, r8
- ldr r0, [r3]
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _0808DE80
- adds r0, r5, 0
- movs r1, 0x12
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_808DEB0
- mov r1, r8
- ldr r0, [r1]
- adds r0, r6
- ldrb r0, [r0, 0x2]
- lsls r0, 30
- lsrs r0, 31
- movs r1, 0x11
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_808DF88
- mov r2, r8
- ldr r0, [r2]
- adds r0, r6
- ldrh r0, [r0]
- movs r1, 0x17
- adds r2, r4, 0
- bl sub_808DFE4
- b _0808DEA2
-_0808DE80:
- adds r0, r5, 0
- movs r1, 0x12
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_808DEB0
- movs r0, 0
- movs r1, 0x11
- adds r2, r4, 0
- adds r3, r7, 0
- bl sub_808DF88
- movs r0, 0
- movs r1, 0x17
- adds r2, r4, 0
- bl sub_808DFE4
-_0808DEA2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_808DBE8
-
- thumb_func_start sub_808DEB0
-sub_808DEB0: @ 808DEB0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 16
- lsrs r3, 16
- mov r10, r3
- ldr r1, _0808DF7C
- ldr r1, [r1]
- lsrs r0, 14
- adds r0, r1, r0
- ldrh r7, [r0]
- ldr r0, _0808DF80
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0808DEEE
- adds r0, r7, 0
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r7, r0, 16
-_0808DEEE:
- add r6, sp, 0x4
- movs r0, 0xFF
- lsls r0, 2
- strh r0, [r6]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- mov r4, sp
- adds r0, r7, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- mov r5, sp
- adds r0, r7, 0
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x1]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x2]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- mov r1, r8
- lsls r2, r1, 1
- mov r3, r10
- lsls r0, r3, 11
- mov r3, r9
- lsls r1, r3, 6
- adds r0, r1
- adds r2, r0
- movs r0, 0xC0
- lsls r0, 19
- adds r1, r2, r0
- ldrh r0, [r6]
- strh r0, [r1]
- ldr r1, _0808DF84
- adds r2, r1
- ldrh r0, [r6, 0x2]
- strh r0, [r2]
- mov r1, r8
- subs r1, 0xF
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- mov r2, r9
- bl MenuPrint
- 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
-_0808DF7C: .4byte gUnknown_0202FFB4
-_0808DF80: .4byte 0x00000612
-_0808DF84: .4byte 0x06000040
- thumb_func_end sub_808DEB0
-
- thumb_func_start sub_808DF88
-sub_808DF88: @ 808DF88
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 16
- lsrs r3, 16
- cmp r4, 0
- beq _0808DFB0
- mov r1, sp
- ldr r0, _0808DFAC
- strh r0, [r1]
- adds r0, 0x1
- strh r0, [r1, 0x2]
- b _0808DFB6
- .align 2, 0
-_0808DFAC: .4byte 0x000003fe
-_0808DFB0:
- mov r0, sp
- strh r4, [r0]
- strh r4, [r0, 0x2]
-_0808DFB6:
- lsls r2, r5, 1
- lsls r0, r3, 11
- lsls r1, r6, 6
- adds r0, r1
- adds r2, r0
- movs r0, 0xC0
- lsls r0, 19
- adds r1, r2, r0
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r1]
- ldr r0, _0808DFE0
- adds r2, r0
- mov r0, sp
- ldrh r0, [r0, 0x2]
- strh r0, [r2]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808DFE0: .4byte 0x06000040
- thumb_func_end sub_808DF88
-
- thumb_func_start sub_808DFE4
-sub_808DFE4: @ 808DFE4
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r4, 0
- movs r1, 0
-_0808DFF8:
- mov r2, sp
- adds r0, r2, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _0808DFF8
- adds r0, r2, r4
- movs r1, 0xFF
- strb r1, [r0]
- adds r0, r3, 0
- bl NationalPokedexNumToSpecies
- adds r3, r0, 0
- cmp r3, 0
- beq _0808E058
- movs r4, 0
- ldr r2, _0808E054
- movs r0, 0xB
- adds r1, r3, 0
- muls r1, r0
- adds r0, r1, r2
- ldrb r0, [r0]
- subs r5, 0x11
- lsls r6, 19
- cmp r0, 0xFF
- beq _0808E070
- adds r3, r1, 0
-_0808E032:
- mov r0, sp
- adds r1, r0, r4
- adds r0, r4, r3
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, r3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0808E070
- cmp r4, 0x9
- bls _0808E032
- b _0808E070
- .align 2, 0
-_0808E054: .4byte gSpeciesNames
-_0808E058:
- movs r4, 0
- subs r5, 0x11
- lsls r6, 19
- movs r1, 0xAE
-_0808E060:
- mov r2, sp
- adds r0, r2, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _0808E060
-_0808E070:
- lsls r1, r5, 27
- movs r0, 0xFC
- lsls r0, 24
- adds r1, r0
- lsrs r1, 24
- lsrs r2, r6, 16
- mov r0, sp
- movs r3, 0
- bl sub_80729D8
- adds r0, r4, 0
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808DFE4
-
- thumb_func_start sub_808E090
-sub_808E090: @ 808E090
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsls r2, 16
- movs r3, 0
- lsrs r2, 5
- lsrs r1, 18
- adds r4, r2, r1
- movs r2, 0
- movs r7, 0xC0
- lsls r7, 19
- ldr r6, _0808E0C8
-_0808E0AA:
- adds r0, r5, r3
- lsls r0, 1
- adds r0, r4
- adds r1, r0, r7
- strh r2, [r1]
- adds r0, r6
- strh r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xB
- bls _0808E0AA
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E0C8: .4byte 0x06000040
- thumb_func_end sub_808E090
-
- thumb_func_start sub_808E0CC
-sub_808E0CC: @ 808E0CC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r7, r1, 16
- movs r3, 0
- ldr r0, _0808E1E0
- mov r8, r0
- mov r6, r8
- ldr r2, _0808E1E4
- ldr r1, _0808E1E8
- adds r4, r1, 0
-_0808E0E8:
- ldr r1, [r6]
- lsls r0, r3, 1
- adds r1, r2
- adds r1, r0
- ldrh r0, [r1]
- orrs r0, r4
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _0808E0E8
- mov r4, r8
- ldr r0, [r4]
- ldr r2, _0808E1EC
- adds r0, r2
- ldr r1, _0808E1E8
- strh r1, [r0]
- movs r0, 0
- adds r1, r5, 0
- adds r2, r7, 0
- bl sub_808DBE8
- ldr r1, _0808E1F0
- ldr r0, [r4]
- ldr r2, _0808E1F4
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1]
- subs r0, r5, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_808E888
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _0808E1E8
- cmp r0, r4
- beq _0808E15A
- movs r1, 0x60
- movs r2, 0x50
- bl sub_808E8C8
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, _0808E1F8
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, _0808E1FC
- str r2, [r1]
- adds r0, r3
- ldr r1, _0808E200
- strh r1, [r0, 0x38]
-_0808E15A:
- adds r0, r5, 0
- bl sub_808E888
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- beq _0808E18C
- movs r1, 0x60
- movs r2, 0x50
- bl sub_808E8C8
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, _0808E1F8
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, _0808E1FC
- str r2, [r1]
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x38]
-_0808E18C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_808E888
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- beq _0808E1C2
- movs r1, 0x60
- movs r2, 0x50
- bl sub_808E8C8
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, _0808E1F8
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, _0808E1FC
- str r2, [r1]
- adds r0, r3
- movs r1, 0x20
- strh r1, [r0, 0x38]
-_0808E1C2:
- mov r1, r8
- ldr r0, [r1]
- movs r2, 0xC6
- lsls r2, 3
- adds r1, r0, r2
- movs r2, 0
- strh r2, [r1]
- ldr r1, _0808E204
- adds r0, r1
- strh r2, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E1E0: .4byte gUnknown_0202FFB4
-_0808E1E4: .4byte 0x0000061e
-_0808E1E8: .4byte 0x0000ffff
-_0808E1EC: .4byte 0x00000626
-_0808E1F0: .4byte REG_BG2VOFS
-_0808E1F4: .4byte 0x0000062d
-_0808E1F8: .4byte gSprites
-_0808E1FC: .4byte sub_808EE28
-_0808E200: .4byte 0x0000ffe0
-_0808E204: .4byte 0x00000632
- thumb_func_end sub_808E0CC
-
- thumb_func_start sub_808E208
-sub_808E208: @ 808E208
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, _0808E23C
- ldr r3, [r0]
- ldr r1, _0808E240
- adds r2, r3, r1
- ldrb r1, [r2]
- adds r7, r0, 0
- cmp r1, 0
- bne _0808E22C
- b _0808E36C
-_0808E22C:
- subs r0, r1, 0x1
- strb r0, [r2]
- cmp r4, 0x1
- beq _0808E244
- cmp r4, 0x2
- beq _0808E2D8
- b _0808E34C
- .align 2, 0
-_0808E23C: .4byte gUnknown_0202FFB4
-_0808E240: .4byte 0x0000062e
-_0808E244:
- movs r3, 0
- ldr r2, _0808E2BC
- mov r12, r2
- ldr r4, _0808E2C0
- mov r8, r4
- adds r2, r7, 0
-_0808E250:
- ldr r0, [r2]
- lsls r1, r3, 1
- ldr r4, _0808E2C4
- adds r0, r4
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r12
- beq _0808E26E
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrh r0, [r1, 0x38]
- adds r0, r5
- strh r0, [r1, 0x38]
-_0808E26E:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0808E250
- ldr r4, [r7]
- ldr r5, _0808E2C8
- adds r0, r4, r5
- ldrb r0, [r0]
- subs r0, r6, r0
- lsls r0, 4
- adds r1, r6, 0
- bl __divsi3
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _0808E2CC
- ldr r0, _0808E2D0
- adds r1, r4, r0
- adds r5, 0x4
- adds r0, r4, r5
- movs r5, 0
- ldrsh r0, [r0, r5]
- lsls r0, 4
- ldrb r1, [r1]
- adds r0, r1
- subs r0, r3
- strh r0, [r2]
- ldr r0, _0808E2D4
- adds r2, r4, r0
- movs r1, 0xC5
- lsls r1, 3
- adds r4, r1
- ldrb r1, [r4]
- ldrb r0, [r2]
- subs r0, r1
- strb r0, [r2]
- b _0808E34C
- .align 2, 0
-_0808E2BC: .4byte 0x0000ffff
-_0808E2C0: .4byte gSprites
-_0808E2C4: .4byte 0x0000061e
-_0808E2C8: .4byte 0x0000062e
-_0808E2CC: .4byte REG_BG2VOFS
-_0808E2D0: .4byte 0x0000062d
-_0808E2D4: .4byte 0x0000062c
-_0808E2D8:
- movs r3, 0
- ldr r2, _0808E350
- mov r12, r2
- ldr r4, _0808E354
- mov r8, r4
- adds r2, r7, 0
-_0808E2E4:
- ldr r0, [r2]
- lsls r1, r3, 1
- ldr r4, _0808E358
- adds r0, r4
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r12
- beq _0808E302
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldrh r0, [r1, 0x38]
- subs r0, r5
- strh r0, [r1, 0x38]
-_0808E302:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0808E2E4
- ldr r4, [r7]
- ldr r5, _0808E35C
- adds r0, r4, r5
- ldrb r0, [r0]
- subs r0, r6, r0
- lsls r0, 4
- adds r1, r6, 0
- bl __divsi3
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _0808E360
- ldr r0, _0808E364
- adds r1, r4, r0
- adds r5, 0x4
- adds r0, r4, r5
- movs r5, 0
- ldrsh r0, [r0, r5]
- lsls r0, 4
- ldrb r1, [r1]
- adds r0, r1
- adds r0, r3
- strh r0, [r2]
- ldr r0, _0808E368
- adds r1, r4, r0
- movs r2, 0xC5
- lsls r2, 3
- adds r4, r2
- ldrb r0, [r4]
- ldrb r3, [r1]
- adds r0, r3
- strb r0, [r1]
-_0808E34C:
- movs r0, 0
- b _0808E386
- .align 2, 0
-_0808E350: .4byte 0x0000ffff
-_0808E354: .4byte gSprites
-_0808E358: .4byte 0x0000061e
-_0808E35C: .4byte 0x0000062e
-_0808E360: .4byte REG_BG2VOFS
-_0808E364: .4byte 0x0000062d
-_0808E368: .4byte 0x0000062c
-_0808E36C:
- ldr r2, _0808E390
- ldr r4, _0808E394
- adds r1, r3, r4
- movs r5, 0xC6
- lsls r5, 3
- adds r0, r3, r5
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 4
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r2]
- movs r0, 0x1
-_0808E386:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808E390: .4byte REG_BG2VOFS
-_0808E394: .4byte 0x0000062d
- thumb_func_end sub_808E208
-
- thumb_func_start sub_808E398
-sub_808E398: @ 808E398
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- ldr r4, _0808E3C0
- ldr r0, [r4]
- movs r5, 0xC6
- lsls r5, 3
- adds r1, r0, r5
- ldrh r1, [r1]
- ldr r6, _0808E3C4
- adds r0, r6
- strh r1, [r0]
- cmp r2, 0x1
- beq _0808E3C8
- cmp r2, 0x2
- beq _0808E428
- b _0808E484
- .align 2, 0
-_0808E3C0: .4byte gUnknown_0202FFB4
-_0808E3C4: .4byte 0x00000632
-_0808E3C8:
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_808E888
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _0808E414
- cmp r1, r0
- beq _0808E402
- adds r0, r1, 0
- movs r1, 0x60
- movs r2, 0x50
- bl sub_808E8C8
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, _0808E418
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, _0808E41C
- str r2, [r1]
- adds r0, r3
- ldr r1, _0808E420
- strh r1, [r0, 0x38]
-_0808E402:
- ldr r0, [r4]
- adds r1, r0, r5
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _0808E424
- subs r0, r2, 0x1
- b _0808E482
- .align 2, 0
-_0808E414: .4byte 0x0000ffff
-_0808E418: .4byte gSprites
-_0808E41C: .4byte sub_808EE28
-_0808E420: .4byte 0x0000ffc0
-_0808E424:
- movs r0, 0xF
- b _0808E482
-_0808E428:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl sub_808E888
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _0808E474
- cmp r1, r0
- beq _0808E462
- adds r0, r1, 0
- movs r1, 0x60
- movs r2, 0x50
- bl sub_808E8C8
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, _0808E478
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, _0808E47C
- str r2, [r1]
- adds r0, r3
- movs r1, 0x40
- strh r1, [r0, 0x38]
-_0808E462:
- ldr r0, [r4]
- adds r1, r0, r5
- ldrh r2, [r1]
- movs r6, 0
- ldrsh r0, [r1, r6]
- cmp r0, 0xE
- bgt _0808E480
- adds r0, r2, 0x1
- b _0808E482
- .align 2, 0
-_0808E474: .4byte 0x0000ffff
-_0808E478: .4byte gSprites
-_0808E47C: .4byte sub_808EE28
-_0808E480:
- movs r0, 0
-_0808E482:
- strh r0, [r1]
-_0808E484:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_808E398
-
- thumb_func_start sub_808E48C
-sub_808E48C: @ 808E48C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- movs r0, 0
- mov r10, r0
- ldr r1, _0808E52C
- ldrh r2, [r1, 0x2C]
- movs r0, 0x40
- ands r0, r2
- adds r3, r1, 0
- cmp r0, 0
- beq _0808E4B6
- cmp r7, 0
- beq _0808E4B6
- b _0808E5E4
-_0808E4B6:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _0808E4CE
- ldr r0, _0808E530
- ldr r0, [r0]
- ldr r1, _0808E534
- adds r0, r1
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r7, r0
- blt _0808E5C4
-_0808E4CE:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0808E53C
- cmp r7, 0
- beq _0808E53C
- adds r6, r7, 0
- movs r4, 0
-_0808E4E0:
- ldr r5, _0808E530
- ldr r0, [r5]
- ldr r2, _0808E534
- adds r0, r2
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0
- bl sub_8091818
- adds r7, r0, 0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _0808E4E0
- ldr r1, [r5]
- ldr r3, _0808E538
- adds r1, r3
- subs r0, r7, r6
- lsls r0, 4
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- bl sub_808E82C
- adds r0, r7, 0
- movs r1, 0xE
- bl sub_808E0CC
- movs r0, 0x6D
- bl PlaySE
- b _0808E5A2
- .align 2, 0
-_0808E52C: .4byte gMain
-_0808E530: .4byte gUnknown_0202FFB4
-_0808E534: .4byte 0x0000060c
-_0808E538: .4byte 0x0000062c
-_0808E53C:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0808E5A2
- ldr r0, _0808E5B8
- ldr r0, [r0]
- ldr r3, _0808E5BC
- adds r0, r3
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r7, r0
- bge _0808E5A2
- adds r6, r7, 0
- movs r4, 0
-_0808E55A:
- ldr r5, _0808E5B8
- ldr r0, [r5]
- ldr r1, _0808E5BC
- adds r0, r1
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_8091818
- adds r7, r0, 0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _0808E55A
- ldr r1, [r5]
- ldr r2, _0808E5C0
- adds r1, r2
- subs r0, r7, r6
- lsls r0, 4
- ldrb r3, [r1]
- adds r0, r3
- strb r0, [r1]
- bl sub_808E82C
- adds r0, r7, 0
- movs r1, 0xE
- bl sub_808E0CC
- movs r0, 0x6D
- bl PlaySE
-_0808E5A2:
- mov r0, r10
- cmp r0, 0
- bne _0808E628
- ldr r0, _0808E5B8
- ldr r0, [r0]
- movs r1, 0xC7
- lsls r1, 3
- adds r0, r1
- mov r2, r10
- strh r2, [r0]
- b _0808E68E
- .align 2, 0
-_0808E5B8: .4byte gUnknown_0202FFB4
-_0808E5BC: .4byte 0x0000060c
-_0808E5C0: .4byte 0x0000062c
-_0808E5C4:
- movs r3, 0x2
- mov r10, r3
- lsls r3, r0, 16
- lsrs r3, 16
- movs r0, 0
- adds r1, r7, 0
- movs r2, 0
- bl sub_8091818
- adds r7, r0, 0
- movs r0, 0x2
- adds r1, r7, 0
- bl sub_808E398
- movs r0, 0x2
- b _0808E60E
-_0808E5E4:
- movs r0, 0x1
- mov r10, r0
- ldr r0, _0808E620
- ldr r0, [r0]
- ldr r1, _0808E624
- adds r0, r1
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x1
- adds r1, r7, 0
- movs r2, 0
- bl sub_8091818
- adds r7, r0, 0
- movs r0, 0x1
- adds r1, r7, 0
- bl sub_808E398
- movs r0, 0x1
-_0808E60E:
- adds r1, r7, 0
- adds r2, r4, 0
- bl sub_808DBE8
- movs r0, 0x6C
- bl PlaySE
- b _0808E5A2
- .align 2, 0
-_0808E620: .4byte gUnknown_0202FFB4
-_0808E624: .4byte 0x0000060c
-_0808E628:
- ldr r1, _0808E6A0
- ldr r6, _0808E6A4
- ldr r2, [r6]
- movs r3, 0xC7
- lsls r3, 3
- mov r9, r3
- adds r0, r2, r3
- ldrh r0, [r0]
- lsrs r0, 2
- adds r1, r0, r1
- ldrb r5, [r1]
- ldr r1, _0808E6A8
- adds r0, r1
- ldrb r3, [r0]
- ldr r0, _0808E6AC
- adds r2, r0
- strb r3, [r2]
- ldr r1, [r6]
- ldr r2, _0808E6B0
- mov r8, r2
- adds r0, r1, r2
- strh r3, [r0]
- ldr r4, _0808E6B4
- adds r0, r1, r4
- strh r5, [r0]
- ldr r3, _0808E6B8
- adds r1, r3
- mov r0, r10
- strb r0, [r1]
- ldr r2, [r6]
- lsrs r5, 1
- movs r1, 0xC5
- lsls r1, 3
- adds r0, r2, r1
- strh r5, [r0]
- adds r3, r2, r3
- ldrb r0, [r3]
- adds r4, r2, r4
- ldrb r1, [r4]
- add r2, r8
- ldrb r2, [r2]
- bl sub_808E208
- ldr r0, [r6]
- mov r2, r9
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0xB
- bhi _0808E68E
- adds r0, 0x1
- strh r0, [r1]
-_0808E68E:
- adds r0, r7, 0
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808E6A0: .4byte gUnknown_083A05EC
-_0808E6A4: .4byte gUnknown_0202FFB4
-_0808E6A8: .4byte gUnknown_083A05F1
-_0808E6AC: .4byte 0x0000062e
-_0808E6B0: .4byte 0x00000636
-_0808E6B4: .4byte 0x00000634
-_0808E6B8: .4byte 0x0000062f
- thumb_func_end sub_808E48C
-
- thumb_func_start sub_808E6BC
-sub_808E6BC: @ 808E6BC
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, _0808E708
- mov r12, r0
- ldr r6, _0808E70C
- ldr r5, _0808E710
-_0808E6C8:
- mov r1, r12
- ldr r3, [r1]
- lsls r1, r4, 1
- ldr r2, _0808E714
- adds r0, r3, r2
- adds r0, r1
- ldrh r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r6
- movs r7, 0x24
- ldrsh r0, [r1, r7]
- cmp r0, 0
- bne _0808E6F8
- movs r7, 0x26
- ldrsh r0, [r1, r7]
- cmp r0, 0
- bne _0808E6F8
- cmp r2, r5
- beq _0808E6F8
- ldr r1, _0808E718
- adds r0, r3, r1
- strh r2, [r0]
-_0808E6F8:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _0808E6C8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808E708: .4byte gUnknown_0202FFB4
-_0808E70C: .4byte gSprites
-_0808E710: .4byte 0x0000ffff
-_0808E714: .4byte 0x0000061e
-_0808E718: .4byte 0x00000626
- thumb_func_end sub_808E6BC
-
- thumb_func_start sub_808E71C
-sub_808E71C: @ 808E71C
- push {r4-r6,lr}
- ldr r3, _0808E77C
- ldr r0, [r3]
- ldr r1, _0808E780
- adds r0, r1
- ldrh r4, [r0]
- ldr r2, _0808E784
- ldrh r1, [r2, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0808E7A4
- cmp r4, 0
- beq _0808E7A4
- adds r2, r4, 0
- adds r5, r3, 0
-_0808E73C:
- ldr r0, [r5]
- ldr r1, _0808E788
- adds r0, r1
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0x1
- adds r1, r2, 0
- movs r2, 0
- bl sub_8091818
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, [r5]
- lsls r1, r2, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- bne _0808E78C
- cmp r2, 0
- bne _0808E73C
-_0808E76A:
- ldr r0, _0808E77C
- ldr r1, [r0]
- ldr r0, _0808E780
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r4
- bne _0808E790
- b _0808E824
- .align 2, 0
-_0808E77C: .4byte gUnknown_0202FFB4
-_0808E780: .4byte 0x0000060e
-_0808E784: .4byte gMain
-_0808E788: .4byte 0x0000060c
-_0808E78C:
- adds r4, r2, 0
- b _0808E76A
-_0808E790:
- strh r4, [r2]
- ldr r0, _0808E79C
- adds r1, r0
- ldrb r0, [r1]
- subs r0, 0x10
- b _0808E80C
- .align 2, 0
-_0808E79C: .4byte 0x0000062c
-_0808E7A0:
- adds r4, r2, 0
- b _0808E7F4
-_0808E7A4:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0808E824
- ldr r0, [r3]
- ldr r1, _0808E814
- adds r0, r1
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r4, r0
- bge _0808E824
- adds r2, r4, 0
- adds r6, r3, 0
- adds r5, r1, 0
-_0808E7C2:
- ldr r0, [r6]
- adds r0, r5
- ldrh r3, [r0]
- subs r3, 0x1
- lsls r3, 16
- lsrs r3, 16
- movs r0, 0
- adds r1, r2, 0
- movs r2, 0
- bl sub_8091818
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, [r6]
- lsls r0, r2, 2
- adds r0, r1, r0
- ldrb r0, [r0, 0x2]
- lsls r0, 31
- cmp r0, 0
- bne _0808E7A0
- adds r0, r1, r5
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r2, r0
- blt _0808E7C2
-_0808E7F4:
- ldr r0, _0808E818
- ldr r1, [r0]
- ldr r0, _0808E81C
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r4
- beq _0808E824
- strh r4, [r2]
- ldr r0, _0808E820
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x10
-_0808E80C:
- strb r0, [r1]
- movs r0, 0x1
- b _0808E826
- .align 2, 0
-_0808E814: .4byte 0x0000060c
-_0808E818: .4byte gUnknown_0202FFB4
-_0808E81C: .4byte 0x0000060e
-_0808E820: .4byte 0x0000062c
-_0808E824:
- movs r0, 0
-_0808E826:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_808E71C
-
- thumb_func_start sub_808E82C
-sub_808E82C: @ 808E82C
- push {r4-r7,lr}
- movs r5, 0
- ldr r6, _0808E878
- ldr r7, _0808E87C
-_0808E834:
- ldr r0, [r6]
- lsls r4, r5, 1
- ldr r1, _0808E880
- adds r0, r1
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, r7
- beq _0808E864
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0808E884
- adds r0, r1
- bl DestroySprite
- ldr r1, [r6]
- ldr r0, _0808E880
- adds r1, r0
- adds r1, r4
- ldrh r2, [r1]
- adds r0, r7, 0
- orrs r0, r2
- strh r0, [r1]
-_0808E864:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _0808E834
- movs r0, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808E878: .4byte gUnknown_0202FFB4
-_0808E87C: .4byte 0x0000ffff
-_0808E880: .4byte 0x0000061e
-_0808E884: .4byte gSprites
- thumb_func_end sub_808E82C
-
- thumb_func_start sub_808E888
-sub_808E888: @ 808E888
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _0808E8A8
- cmp r2, r0
- bhi _0808E8A4
- ldr r0, _0808E8AC
- ldr r1, [r0]
- lsls r0, r2, 2
- adds r2, r1, r0
- ldrh r1, [r2]
- ldr r0, _0808E8B0
- cmp r1, r0
- bne _0808E8B4
-_0808E8A4:
- ldr r0, _0808E8B0
- b _0808E8C2
- .align 2, 0
-_0808E8A8: .4byte 0x00000181
-_0808E8AC: .4byte gUnknown_0202FFB4
-_0808E8B0: .4byte 0x0000ffff
-_0808E8B4:
- ldrb r0, [r2, 0x2]
- lsls r0, 31
- cmp r0, 0
- bne _0808E8C0
- movs r0, 0
- b _0808E8C2
-_0808E8C0:
- ldrh r0, [r2]
-_0808E8C2:
- pop {r1}
- bx r1
- thumb_func_end sub_808E888
-
- thumb_func_start sub_808E8C8
-sub_808E8C8: @ 808E8C8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r2, 16
- lsrs r2, 16
- movs r6, 0
- ldr r0, _0808E94C
- mov r9, r0
- ldr r3, _0808E950
- lsls r1, 16
-_0808E8E4:
- mov r4, r9
- ldr r0, [r4]
- lsls r7, r6, 1
- ldr r4, _0808E954
- adds r0, r4
- adds r0, r7
- ldrh r0, [r0]
- cmp r0, r3
- bne _0808E95C
- lsls r2, 16
- mov r0, r8
- asrs r1, 16
- asrs r2, 16
- adds r3, r6, 0
- bl sub_80918EC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _0808E958
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- adds r4, r0
- ldrb r1, [r4, 0x1]
- movs r2, 0x4
- negs r2, r2
- adds r0, r2, 0
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strb r1, [r4, 0x1]
- ldrb r0, [r4, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r4, 0x5]
- movs r0, 0
- strh r0, [r4, 0x2E]
- strh r6, [r4, 0x30]
- mov r0, r8
- bl NationalPokedexNumToSpecies
- strh r0, [r4, 0x32]
- mov r4, r9
- ldr r0, [r4]
- ldr r1, _0808E954
- adds r0, r1
- adds r0, r7
- strh r5, [r0]
- adds r0, r5, 0
- b _0808E968
- .align 2, 0
-_0808E94C: .4byte gUnknown_0202FFB4
-_0808E950: .4byte 0x0000ffff
-_0808E954: .4byte 0x0000061e
-_0808E958: .4byte gSprites
-_0808E95C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _0808E8E4
- ldr r0, _0808E974
-_0808E968:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0808E974: .4byte 0x0000ffff
- thumb_func_end sub_808E8C8
-
- thumb_func_start sub_808E978
-sub_808E978: @ 808E978
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, _0808EB3C
- adds r0, r4, 0
- movs r1, 0xB8
- movs r2, 0x4
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _0808EB40
- mov r10, r1
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0
- strh r1, [r0, 0x30]
- adds r0, r4, 0
- movs r1, 0xB8
- movs r2, 0x9C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- strh r1, [r0, 0x30]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
- ldr r0, _0808EB44
- movs r1, 0xEA
- movs r2, 0x14
- movs r3, 0
- bl CreateSprite
- ldr r5, _0808EB48
- adds r0, r5, 0
- movs r1, 0x10
- movs r2, 0x8A
- movs r3, 0
- bl CreateSprite
- adds r0, r5, 0
- movs r1, 0x30
- movs r2, 0x8A
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x3
- bl StartSpriteAnim
- adds r0, r5, 0
- movs r1, 0x10
- movs r2, 0x9E
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- add r4, r10
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- movs r0, 0x80
- mov r9, r0
- mov r1, r9
- strh r1, [r4, 0x32]
- adds r0, r5, 0
- movs r1, 0x30
- movs r2, 0x9E
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r6, _0808EB4C
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x50
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- add r1, r10
- ldrb r2, [r1, 0x1]
- movs r4, 0x4
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- movs r5, 0x1
- orrs r0, r5
- strb r0, [r1, 0x1]
- ldrb r2, [r1, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- movs r2, 0x3C
- orrs r0, r2
- strb r0, [r1, 0x3]
- movs r0, 0x1E
- strh r0, [r1, 0x2E]
- movs r0, 0
- strh r0, [r1, 0x30]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x50
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, r7, 4
- adds r1, r7
- lsls r1, 2
- add r1, r10
- ldrb r0, [r1, 0x1]
- ands r4, r0
- orrs r4, r5
- strb r4, [r1, 0x1]
- ldrb r0, [r1, 0x3]
- movs r2, 0x3E
- orrs r0, r2
- strb r0, [r1, 0x3]
- movs r0, 0x1F
- strh r0, [r1, 0x2E]
- mov r0, r9
- strh r0, [r1, 0x30]
- mov r1, r8
- cmp r1, 0
- beq _0808EAC8
- b _0808ED5C
-_0808EAC8:
- ldr r4, _0808EB50
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x28
- movs r3, 0x1
- bl CreateSprite
- adds r0, r4, 0
- movs r1, 0x20
- movs r2, 0x48
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0
- mov r8, r0
- ldr r0, _0808EB54
- movs r1, 0x1C
- movs r2, 0x30
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _0808EB58
- ldr r0, [r0]
- ldr r1, _0808EB5C
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- mov r1, r10
- adds r4, r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _0808EB60
- movs r0, 0x1
- mov r8, r0
- b _0808EB6C
- .align 2, 0
-_0808EB3C: .4byte gSpriteTemplate_83A053C
-_0808EB40: .4byte gSprites
-_0808EB44: .4byte gSpriteTemplate_83A0524
-_0808EB48: .4byte gSpriteTemplate_83A0554
-_0808EB4C: .4byte gSpriteTemplate_83A056C
-_0808EB50: .4byte gSpriteTemplate_83A0584
-_0808EB54: .4byte gSpriteTemplate_83A059C
-_0808EB58: .4byte gUnknown_0202FFB4
-_0808EB5C: .4byte 0x0000061a
-_0808EB60:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0808EB6C:
- ldr r0, _0808EBB8
- movs r1, 0x22
- movs r2, 0x30
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _0808EBBC
- ldr r0, [r0]
- ldr r1, _0808EBC0
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _0808EBA4
- mov r0, r8
- cmp r0, 0
- beq _0808EBC8
-_0808EBA4:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, _0808EBC4
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _0808EBDC
- .align 2, 0
-_0808EBB8: .4byte gSpriteTemplate_83A059C
-_0808EBBC: .4byte gUnknown_0202FFB4
-_0808EBC0: .4byte 0x0000061a
-_0808EBC4: .4byte gSprites
-_0808EBC8:
- ldr r1, _0808EC60
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0808EBDC:
- ldr r6, _0808EC64
- adds r0, r6, 0
- movs r1, 0x28
- movs r2, 0x30
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r5, _0808EC68
- ldr r0, [r5]
- ldr r1, _0808EC6C
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r4, _0808EC60
- adds r0, r4
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- movs r0, 0
- mov r8, r0
- adds r0, r6, 0
- movs r1, 0x1C
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, [r5]
- ldr r1, _0808EC70
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r4, r0, r4
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- cmp r5, 0
- beq _0808EC74
- movs r0, 0x1
- mov r8, r0
- b _0808EC80
- .align 2, 0
-_0808EC60: .4byte gSprites
-_0808EC64: .4byte gSpriteTemplate_83A059C
-_0808EC68: .4byte gUnknown_0202FFB4
-_0808EC6C: .4byte 0x0000061a
-_0808EC70: .4byte 0x0000061c
-_0808EC74:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0808EC80:
- ldr r0, _0808ECCC
- movs r1, 0x22
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _0808ECD0
- ldr r0, [r0]
- ldr r1, _0808ECD4
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _0808ECB8
- mov r0, r8
- cmp r0, 0
- beq _0808ECDC
-_0808ECB8:
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, _0808ECD8
- adds r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- b _0808ECF0
- .align 2, 0
-_0808ECCC: .4byte gSpriteTemplate_83A059C
-_0808ECD0: .4byte gUnknown_0202FFB4
-_0808ECD4: .4byte 0x0000061c
-_0808ECD8: .4byte gSprites
-_0808ECDC:
- ldr r1, _0808ED48
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0808ECF0:
- ldr r0, _0808ED4C
- movs r1, 0x28
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _0808ED50
- ldr r0, [r0]
- ldr r1, _0808ED54
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r4, _0808ED48
- adds r0, r4
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- ldr r0, _0808ED58
- movs r1, 0x8C
- movs r2, 0x60
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- adds r0, r4
- b _0808ED74
- .align 2, 0
-_0808ED48: .4byte gSprites
-_0808ED4C: .4byte gSpriteTemplate_83A059C
-_0808ED50: .4byte gUnknown_0202FFB4
-_0808ED54: .4byte 0x0000061c
-_0808ED58: .4byte gSpriteTemplate_83A05B4
-_0808ED5C:
- ldr r0, _0808ED8C
- movs r1, 0x8C
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- add r0, r10
-_0808ED74:
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808ED8C: .4byte gSpriteTemplate_83A05B4
- thumb_func_end sub_808E978
-
- thumb_func_start nullsub_58
-nullsub_58: @ 808ED90
- bx lr
- thumb_func_end nullsub_58
-
- thumb_func_start sub_808ED94
-sub_808ED94: @ 808ED94
- push {lr}
- adds r1, r0, 0
- ldr r0, _0808EDB0
- ldr r0, [r0]
- ldr r2, _0808EDB4
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808EDAC
- adds r0, r1, 0
- bl DestroySprite
-_0808EDAC:
- pop {r0}
- bx r0
- .align 2, 0
-_0808EDB0: .4byte gUnknown_0202FFB4
-_0808EDB4: .4byte 0x0000064a
- thumb_func_end sub_808ED94
-
- thumb_func_start sub_808EDB8
-sub_808EDB8: @ 808EDB8
- push {lr}
- adds r2, r0, 0
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x5]
- ldrb r1, [r2, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- movs r0, 0
- strh r0, [r2, 0x24]
- strh r0, [r2, 0x26]
- ldr r1, [r2, 0x20]
- ldr r0, _0808EE18
- cmp r1, r0
- beq _0808EE1C
- ldrh r1, [r2, 0x20]
- movs r3, 0x20
- ldrsh r0, [r2, r3]
- cmp r0, 0x30
- ble _0808EDEC
- subs r0, r1, 0x1
- strh r0, [r2, 0x20]
-_0808EDEC:
- ldrh r1, [r2, 0x20]
- movs r3, 0x20
- ldrsh r0, [r2, r3]
- cmp r0, 0x2F
- bgt _0808EDFA
- adds r0, r1, 0x1
- strh r0, [r2, 0x20]
-_0808EDFA:
- ldrh r1, [r2, 0x22]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r0, 0x38
- ble _0808EE08
- subs r0, r1, 0x1
- strh r0, [r2, 0x22]
-_0808EE08:
- ldrh r1, [r2, 0x22]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r0, 0x37
- bgt _0808EE20
- adds r0, r1, 0x1
- strh r0, [r2, 0x22]
- b _0808EE20
- .align 2, 0
-_0808EE18: .4byte 0x00380030
-_0808EE1C:
- ldr r0, _0808EE24
- str r0, [r2, 0x1C]
-_0808EE20:
- pop {r0}
- bx r0
- .align 2, 0
-_0808EE24: .4byte nullsub_58
- thumb_func_end sub_808EDB8
-
- thumb_func_start sub_808EE28
-sub_808EE28: @ 808EE28
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, _0808EE50
- ldr r0, [r5]
- ldr r1, _0808EE54
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808EE58
- cmp r0, 0x3
- beq _0808EE58
- adds r0, r4, 0
- bl DestroySprite
- ldr r0, [r5]
- b _0808EF16
- .align 2, 0
-_0808EE50: .4byte gUnknown_0202FFB4
-_0808EE54: .4byte 0x0000064a
-_0808EE58:
- ldr r2, _0808EEE4
- ldrh r0, [r4, 0x38]
- lsls r0, 24
- lsrs r0, 23
- adds r0, r2
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r0, 0x4C
- muls r0, r1
- cmp r0, 0
- bge _0808EE70
- adds r0, 0xFF
-_0808EE70:
- asrs r0, 8
- strh r0, [r4, 0x26]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- adds r0, 0x40
- lsls r0, 1
- adds r0, r2
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x80
- lsls r0, 9
- bl __divsi3
- adds r2, r0, 0
- ldr r0, _0808EEE8
- cmp r2, r0
- bls _0808EE94
- adds r2, r0, 0
-_0808EE94:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 1
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- adds r1, r6, 0x1
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 1
- ldrb r2, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrh r0, [r4, 0x38]
- adds r0, 0x3F
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7E
- bhi _0808EEEC
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- b _0808EEF8
- .align 2, 0
-_0808EEE4: .4byte gSineTable
-_0808EEE8: .4byte 0x0000ffff
-_0808EEEC:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_0808EEF8:
- ldrh r0, [r4, 0x38]
- adds r0, 0x3F
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7E
- bls _0808EF22
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0808EF22
- adds r0, r4, 0
- bl DestroySprite
- ldr r0, _0808EF2C
- ldr r0, [r0]
-_0808EF16:
- lsls r1, r6, 1
- ldr r2, _0808EF30
- adds r0, r2
- adds r0, r1
- ldr r1, _0808EF34
- strh r1, [r0]
-_0808EF22:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808EF2C: .4byte gUnknown_0202FFB4
-_0808EF30: .4byte 0x0000061e
-_0808EF34: .4byte 0x0000ffff
- thumb_func_end sub_808EE28
-
- thumb_func_start sub_808EF38
-sub_808EF38: @ 808EF38
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _0808EF58
- ldr r0, [r1]
- ldr r2, _0808EF5C
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808EF60
- cmp r0, 0x3
- beq _0808EF60
- adds r0, r4, 0
- bl DestroySprite
- b _0808EF7C
- .align 2, 0
-_0808EF58: .4byte gUnknown_0202FFB4
-_0808EF5C: .4byte 0x0000064a
-_0808EF60:
- ldr r2, [r1]
- ldr r1, _0808EF84
- adds r0, r2, r1
- ldrh r1, [r0]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 3
- ldr r1, _0808EF88
- adds r2, r1
- ldrh r1, [r2]
- subs r1, 0x1
- bl __divsi3
- strh r0, [r4, 0x26]
-_0808EF7C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0808EF84: .4byte 0x0000060e
-_0808EF88: .4byte 0x0000060c
- thumb_func_end sub_808EF38
-
- thumb_func_start sub_808EF8C
-sub_808EF8C: @ 808EF8C
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r1, _0808EFAC
- ldr r0, [r1]
- ldr r2, _0808EFB0
- adds r0, r2
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0
- beq _0808EFB4
- cmp r0, 0x3
- beq _0808EFB4
- adds r0, r3, 0
- bl DestroySprite
- b _0808F084
- .align 2, 0
-_0808EFAC: .4byte gUnknown_0202FFB4
-_0808EFB0: .4byte 0x0000064a
-_0808EFB4:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _0808EFF6
- ldr r0, [r5]
- ldr r2, _0808EFDC
- adds r1, r0, r2
- ldrh r1, [r1]
- subs r2, 0x2
- adds r0, r2
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- bne _0808EFE0
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _0808EFEC
- .align 2, 0
-_0808EFDC: .4byte 0x0000060e
-_0808EFE0:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
-_0808EFEC:
- strb r1, [r0]
- adds r2, r0, 0
- ldrh r1, [r3, 0x32]
- lsls r0, r1, 24
- b _0808F02C
-_0808EFF6:
- ldr r0, [r5]
- ldr r1, _0808F010
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _0808F014
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- b _0808F020
- .align 2, 0
-_0808F010: .4byte 0x0000060e
-_0808F014:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
-_0808F020:
- strb r1, [r0]
- adds r2, r0, 0
- ldrh r1, [r3, 0x32]
- adds r0, r1, 0
- subs r0, 0x80
- lsls r0, 24
-_0808F02C:
- lsrs r0, 24
- adds r4, r1, 0
- ldr r1, _0808F078
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _0808F040
- adds r0, 0x3F
-_0808F040:
- asrs r0, 6
- strh r0, [r3, 0x26]
- adds r0, r4, 0
- adds r0, 0x8
- strh r0, [r3, 0x32]
- ldr r1, [r5]
- movs r3, 0xCA
- lsls r3, 3
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0808F07C
- adds r3, 0x4
- adds r0, r1, r3
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0808F07C
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _0808F07C
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- b _0808F082
- .align 2, 0
-_0808F078: .4byte gSineTable
-_0808F07C:
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
-_0808F082:
- strb r0, [r2]
-_0808F084:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_808EF8C
-
- thumb_func_start sub_808F08C
-sub_808F08C: @ 808F08C
- push {lr}
- adds r1, r0, 0
- ldr r0, _0808F0AC
- ldr r0, [r0]
- ldr r2, _0808F0B0
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808F0A8
- cmp r0, 0x3
- beq _0808F0A8
- adds r0, r1, 0
- bl DestroySprite
-_0808F0A8:
- pop {r0}
- bx r0
- .align 2, 0
-_0808F0AC: .4byte gUnknown_0202FFB4
-_0808F0B0: .4byte 0x0000064a
- thumb_func_end sub_808F08C
-
- thumb_func_start sub_808F0B4
-sub_808F0B4: @ 808F0B4
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r1, _0808F0D8
- ldr r0, [r1]
- ldr r2, _0808F0DC
- adds r0, r2
- ldrb r0, [r0]
- adds r7, r1, 0
- cmp r0, 0
- beq _0808F0E0
- cmp r0, 0x3
- beq _0808F0E0
- adds r0, r6, 0
- bl DestroySprite
- b _0808F158
- .align 2, 0
-_0808F0D8: .4byte gUnknown_0202FFB4
-_0808F0DC: .4byte 0x0000064a
-_0808F0E0:
- ldr r0, [r7]
- ldr r5, _0808F160
- adds r0, r5
- ldrb r1, [r0]
- ldrh r0, [r6, 0x30]
- adds r1, r0
- lsls r1, 24
- lsrs r1, 24
- ldr r4, _0808F164
- lsls r0, r1, 1
- adds r0, r4
- ldrh r3, [r0]
- adds r1, 0x40
- lsls r1, 1
- adds r1, r4
- ldrh r0, [r6, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r1]
- lsls r3, 16
- lsrs r2, r3, 16
- negs r3, r3
- lsrs r3, 16
- str r1, [sp]
- bl SetOamMatrix
- ldr r1, [r7]
- adds r1, r5
- ldrh r0, [r6, 0x30]
- adds r0, 0x40
- ldrb r1, [r1]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r4
- ldrh r3, [r1]
- adds r0, 0x40
- lsls r0, 1
- adds r0, r4
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- cmp r0, 0
- bge _0808F140
- adds r0, 0xFF
-_0808F140:
- asrs r0, 8
- strh r0, [r6, 0x24]
- lsls r1, r3, 16
- asrs r1, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- cmp r0, 0
- bge _0808F154
- adds r0, 0xFF
-_0808F154:
- asrs r0, 8
- strh r0, [r6, 0x26]
-_0808F158:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F160: .4byte 0x0000062c
-_0808F164: .4byte gSineTable
- thumb_func_end sub_808F0B4
-
- thumb_func_start sub_808F168
-sub_808F168: @ 808F168
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, _0808F188
- ldr r0, [r1]
- ldr r2, _0808F18C
- adds r0, r2
- ldrb r2, [r0]
- cmp r2, 0
- beq _0808F190
- cmp r2, 0x3
- beq _0808F190
- adds r0, r3, 0
- bl DestroySprite
- b _0808F208
- .align 2, 0
-_0808F188: .4byte gUnknown_0202FFB4
-_0808F18C: .4byte 0x0000064a
-_0808F190:
- ldr r4, [r1]
- ldr r1, _0808F1F0
- adds r0, r4, r1
- ldrb r0, [r0]
- movs r1, 0x60
- cmp r0, 0
- bne _0808F1A0
- movs r1, 0x50
-_0808F1A0:
- movs r2, 0xCA
- lsls r2, 3
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808F1FC
- adds r2, 0x4
- adds r0, r4, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, r1
- bne _0808F1FC
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r1, _0808F1F4
- adds r0, r4, r1
- ldrh r0, [r0]
- lsls r0, 4
- strh r0, [r3, 0x26]
- ldr r1, _0808F1F8
- ldrh r2, [r3, 0x32]
- lsls r0, r2, 24
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _0808F1E4
- adds r0, 0x3F
-_0808F1E4:
- asrs r0, 6
- strh r0, [r3, 0x24]
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r3, 0x32]
- b _0808F208
- .align 2, 0
-_0808F1F0: .4byte 0x0000064a
-_0808F1F4: .4byte 0x00000652
-_0808F1F8: .4byte gSineTable
-_0808F1FC:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_0808F208:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_808F168
-
- thumb_func_start sub_808F210
-sub_808F210: @ 808F210
- push {r4,lr}
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r1, _0808F244
- str r0, [r1]
- ldr r0, _0808F248
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0808F24C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- strh r3, [r1, 0x8]
- movs r2, 0x1
- strh r2, [r1, 0xA]
- strh r3, [r1, 0xC]
- strh r3, [r1, 0xE]
- strh r4, [r1, 0x10]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0808F244: .4byte gUnknown_0202FFBC
-_0808F248: .4byte sub_808F2B0
-_0808F24C: .4byte gTasks
- thumb_func_end sub_808F210
-
- thumb_func_start sub_808F250
-sub_808F250: @ 808F250
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0808F274
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _0808F27C
- ldr r1, [r1]
- ldr r0, _0808F278
- cmp r1, r0
- bne _0808F27C
- movs r0, 0
- b _0808F27E
- .align 2, 0
-_0808F274: .4byte gTasks
-_0808F278: .4byte sub_808F6CC
-_0808F27C:
- movs r0, 0x1
-_0808F27E:
- pop {r1}
- bx r1
- thumb_func_end sub_808F250
-
- thumb_func_start sub_808F284
-sub_808F284: @ 808F284
- adds r2, r0, 0
- lsls r0, r1, 24
- lsrs r0, 24
- ldr r1, _0808F2A8
- str r2, [r1]
- ldr r2, _0808F2AC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- movs r2, 0x1
- strh r2, [r1, 0x8]
- strh r3, [r1, 0xA]
- strh r3, [r1, 0xC]
- strh r3, [r1, 0xE]
- bx lr
- .align 2, 0
-_0808F2A8: .4byte gUnknown_0202FFBC
-_0808F2AC: .4byte gTasks
- thumb_func_end sub_808F284
-
- thumb_func_start sub_808F2B0
-sub_808F2B0: @ 808F2B0
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _0808F2D0
- ldr r2, _0808F2D4
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0xA
- bhi _0808F308
- lsls r0, 2
- ldr r1, _0808F2D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808F2D0: .4byte gMain
-_0808F2D4: .4byte 0x0000043c
-_0808F2D8: .4byte _0808F2DC
- .align 2, 0
-_0808F2DC:
- .4byte _0808F308
- .4byte _0808F38C
- .4byte _0808F3D0
- .4byte _0808F3F4
- .4byte _0808F418
- .4byte _0808F52C
- .4byte _0808F578
- .4byte _0808F5D4
- .4byte _0808F614
- .4byte _0808F672
- .4byte _0808F694
-_0808F308:
- ldr r0, _0808F370
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _0808F31A
- b _0808F6B6
-_0808F31A:
- ldr r1, _0808F374
- ldr r0, [r1]
- ldr r3, _0808F378
- adds r0, r3
- movs r6, 0x1
- strb r6, [r0]
- ldr r0, [r1]
- ldr r1, _0808F37C
- adds r0, r1
- strb r2, [r0]
- ldr r1, _0808F380
- ldr r0, [r5, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r2, 0
- ldr r1, _0808F384
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0808F352
- movs r2, 0x80
- lsls r2, 5
-_0808F352:
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _0808F362
- movs r1, 0x80
- lsls r1, 2
- adds r0, r1, 0
- orrs r2, r0
-_0808F362:
- adds r0, r2, 0
- bl sub_8091060
- ldr r2, _0808F388
- adds r0, r5, r2
- strb r6, [r0]
- b _0808F6B6
- .align 2, 0
-_0808F370: .4byte gPaletteFade
-_0808F374: .4byte gUnknown_0202FFB4
-_0808F378: .4byte 0x0000064a
-_0808F37C: .4byte 0x0000064e
-_0808F380: .4byte gUnknown_03005CEC
-_0808F384: .4byte gTasks
-_0808F388: .4byte 0x0000043c
-_0808F38C:
- ldr r0, _0808F3B8
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, _0808F3BC
- ldr r1, _0808F3C0
- bl LZ77UnCompVram
- ldr r0, _0808F3C4
- ldr r0, [r0]
- ldrh r0, [r0]
- movs r2, 0xFF
- lsls r2, 2
- movs r1, 0x2
- bl sub_8091738
- ldr r1, _0808F3C8
- ldr r3, _0808F3CC
- adds r1, r3
- b _0808F682
- .align 2, 0
-_0808F3B8: .4byte gPokedexMenu_Gfx
-_0808F3BC: .4byte gUnknown_08E96BD4
-_0808F3C0: .4byte 0x06007800
-_0808F3C4: .4byte gUnknown_0202FFBC
-_0808F3C8: .4byte gMain
-_0808F3CC: .4byte 0x0000043c
-_0808F3D0:
- movs r0, 0xD
- bl sub_80904FC
- ldr r0, _0808F3EC
- ldr r0, [r0]
- ldr r1, _0808F3F0
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0xD
- bl sub_8090584
- bl sub_808D640
- b _0808F67C
- .align 2, 0
-_0808F3EC: .4byte gUnknown_0202FFB4
-_0808F3F0: .4byte 0x0000064d
-_0808F3F4:
- ldr r4, _0808F40C
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r1, _0808F410
- ldr r3, _0808F414
- adds r1, r3
- b _0808F682
- .align 2, 0
-_0808F40C: .4byte gWindowConfig_81E7064
-_0808F410: .4byte gMain
-_0808F414: .4byte 0x0000043c
-_0808F418:
- ldr r0, _0808F440
- ldr r0, [r0]
- ldr r1, _0808F444
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _0808F44C
- ldr r0, _0808F448
- ldr r0, [r0]
- ldrh r0, [r0]
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- movs r2, 0x3
- bl sub_8091154
- b _0808F45A
- .align 2, 0
-_0808F440: .4byte gUnknown_0202FFB4
-_0808F444: .4byte 0x00000612
-_0808F448: .4byte gUnknown_0202FFBC
-_0808F44C:
- ldr r0, _0808F4F8
- ldr r0, [r0]
- ldrh r0, [r0]
- movs r1, 0xD
- movs r2, 0x3
- bl sub_8091154
-_0808F45A:
- ldr r5, _0808F4F8
- ldr r0, [r5]
- ldrh r0, [r0]
- movs r1, 0x10
- movs r2, 0x3
- bl sub_80911C8
- ldr r0, _0808F4FC
- movs r1, 0xB
- movs r2, 0x5
- bl MenuPrint
- ldr r0, _0808F500
- movs r1, 0x10
- movs r2, 0x7
- bl MenuPrint
- ldr r0, _0808F504
- movs r1, 0x10
- movs r2, 0x9
- bl MenuPrint
- ldr r2, [r5]
- ldrb r1, [r2, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0808F50C
- ldrh r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r4, _0808F508
- adds r0, r4
- movs r1, 0xB
- movs r2, 0x5
- bl sub_8091304
- ldr r0, [r5]
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0xC]
- movs r1, 0x10
- movs r2, 0x7
- bl sub_8091458
- ldr r0, [r5]
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0xE]
- movs r1, 0x10
- movs r2, 0x9
- bl sub_8091564
- ldr r0, [r5]
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r4, 0x10
- adds r0, r4
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- movs r1, 0xFF
- lsls r1, 2
- movs r0, 0xE
- bl sub_80917CC
- b _0808F67C
- .align 2, 0
-_0808F4F8: .4byte gUnknown_0202FFBC
-_0808F4FC: .4byte gDexText_UnknownPoke
-_0808F500: .4byte gDexText_UnknownHeight
-_0808F504: .4byte gDexText_UnknownWeight
-_0808F508: .4byte gPokedexEntries
-_0808F50C:
- ldr r0, _0808F524
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- ldr r0, _0808F528
- movs r1, 0x31
- movs r2, 0x1E
- bl LoadPalette
- b _0808F67C
- .align 2, 0
-_0808F524: .4byte gUnknown_083A05F8
-_0808F528: .4byte gPlttBufferUnfaded + 0x2
-_0808F52C:
- ldr r0, _0808F56C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r4, r1, r0
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0808F540
- b _0808F67C
-_0808F540:
- ldr r0, _0808F570
- ldr r0, [r0]
- ldrh r0, [r0]
- movs r1, 0x30
- movs r2, 0x38
- movs r3, 0
- bl sub_80918EC
- strh r0, [r4, 0x10]
- ldr r2, _0808F574
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- b _0808F67C
- .align 2, 0
-_0808F56C: .4byte gTasks
-_0808F570: .4byte gUnknown_0202FFBC
-_0808F574: .4byte gSprites
-_0808F578:
- movs r3, 0
- ldr r0, _0808F5C8
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0xC
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0808F58E
- movs r3, 0x14
-_0808F58E:
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0808F5B0
- ldr r2, _0808F5CC
- movs r0, 0x10
- ldrsh r1, [r1, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- movs r0, 0x1
- lsls r0, r1
- orrs r3, r0
-_0808F5B0:
- mvns r0, r3
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _0808F5D0
- ldr r0, [r0]
- bl SetVBlankCallback
- b _0808F67C
- .align 2, 0
-_0808F5C8: .4byte gTasks
-_0808F5CC: .4byte gSprites
-_0808F5D0: .4byte gUnknown_03005CEC
-_0808F5D4:
- ldr r0, _0808F604
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _0808F608
- ldr r3, _0808F60C
- adds r0, r3, 0
- strh r0, [r1]
- subs r1, 0x4
- movs r2, 0xD0
- lsls r2, 4
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xA
- movs r3, 0xF2
- lsls r3, 5
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _0808F610
- adds r1, r5, r0
- b _0808F682
- .align 2, 0
-_0808F604: .4byte REG_BLDCNT
-_0808F608: .4byte REG_BG3CNT
-_0808F60C: .4byte 0x00000f03
-_0808F610: .4byte 0x0000043c
-_0808F614:
- ldr r0, _0808F65C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808F6B6
- ldr r1, _0808F660
- adds r2, r5, r1
- ldrb r0, [r2]
- adds r3, r0, 0x1
- strb r3, [r2]
- ldr r1, _0808F664
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _0808F66C
- bl StopCryAndClearCrySongs
- ldr r0, _0808F668
- ldr r0, [r0]
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- movs r2, 0x7D
- movs r3, 0xA
- bl PlayCry2
- b _0808F6B6
- .align 2, 0
-_0808F65C: .4byte gPaletteFade
-_0808F660: .4byte 0x0000043c
-_0808F664: .4byte gTasks
-_0808F668: .4byte gUnknown_0202FFBC
-_0808F66C:
- adds r0, r3, 0x1
- strb r0, [r2]
- b _0808F6B6
-_0808F672:
- bl IsCryPlayingOrClearCrySongs
- lsls r0, 24
- cmp r0, 0
- bne _0808F6B6
-_0808F67C:
- ldr r1, _0808F68C
- ldr r2, _0808F690
- adds r1, r2
-_0808F682:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808F6B6
- .align 2, 0
-_0808F68C: .4byte gMain
-_0808F690: .4byte 0x0000043c
-_0808F694:
- ldr r1, _0808F6C0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- movs r1, 0x1
- strh r1, [r0, 0xC]
- strh r1, [r0, 0xE]
- ldr r1, _0808F6C4
- str r1, [r0]
- ldr r3, _0808F6C8
- adds r0, r5, r3
- strb r2, [r0]
-_0808F6B6:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F6C0: .4byte gTasks
-_0808F6C4: .4byte sub_808F6CC
-_0808F6C8: .4byte 0x0000043c
- thumb_func_end sub_808F2B0
-
- thumb_func_start sub_808F6CC
-sub_808F6CC: @ 808F6CC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0808F704
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- movs r0, 0x8
- ldrsh r4, [r5, r0]
- cmp r4, 0
- beq _0808F70C
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0808F708
- str r0, [r5]
- movs r0, 0x6C
- bl PlaySE
- b _0808F874
- .align 2, 0
-_0808F704: .4byte gTasks
-_0808F708: .4byte sub_808F888
-_0808F70C:
- ldr r1, _0808F73C
- ldrh r2, [r1, 0x2E]
- movs r6, 0x2
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _0808F744
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0808F740
- str r0, [r5]
- movs r0, 0x3
- bl PlaySE
- b _0808F874
- .align 2, 0
-_0808F73C: .4byte gMain
-_0808F740: .4byte sub_808F8B8
-_0808F744:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _0808F7E8
- ldr r0, _0808F764
- ldr r0, [r0]
- ldr r1, _0808F768
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0808F77C
- cmp r0, 0x1
- bgt _0808F76C
- cmp r0, 0
- beq _0808F776
- b _0808F874
- .align 2, 0
-_0808F764: .4byte gUnknown_0202FFB4
-_0808F768: .4byte 0x0000064d
-_0808F76C:
- cmp r0, 0x2
- beq _0808F794
- cmp r0, 0x3
- beq _0808F7AC
- b _0808F874
-_0808F776:
- bl sub_8090C68
- b _0808F874
-_0808F77C:
- movs r0, 0x15
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0808F790
- b _0808F7DA
- .align 2, 0
-_0808F790: .4byte sub_808F8D8
-_0808F794:
- movs r0, 0x15
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0808F7A8
- b _0808F7DA
- .align 2, 0
-_0808F7A8: .4byte sub_808FA64
-_0808F7AC:
- ldr r0, _0808F7C4
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _0808F7C8
- movs r0, 0x20
- bl PlaySE
- b _0808F874
- .align 2, 0
-_0808F7C4: .4byte gUnknown_0202FFBC
-_0808F7C8:
- movs r0, 0x15
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0808F7E4
-_0808F7DA:
- str r0, [r5]
- movs r0, 0x15
- bl PlaySE
- b _0808F874
- .align 2, 0
-_0808F7E4: .4byte sub_8090070
-_0808F7E8:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _0808F802
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _0808F834
- ldr r0, _0808F828
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0808F834
-_0808F802:
- ldr r3, _0808F82C
- ldr r0, [r3]
- ldr r4, _0808F830
- adds r2, r0, r4
- ldrb r0, [r2]
- cmp r0, 0
- beq _0808F834
- subs r0, 0x1
- strb r0, [r2]
- ldr r0, [r3]
- adds r0, r4
- ldrb r0, [r0]
- movs r1, 0xD
- bl sub_8090584
- movs r0, 0x6D
- bl PlaySE
- b _0808F874
- .align 2, 0
-_0808F828: .4byte gSaveBlock2
-_0808F82C: .4byte gUnknown_0202FFB4
-_0808F830: .4byte 0x0000064d
-_0808F834:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0808F850
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _0808F874
- ldr r0, _0808F87C
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0808F874
-_0808F850:
- ldr r2, _0808F880
- ldr r0, [r2]
- ldr r3, _0808F884
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _0808F874
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, [r2]
- adds r0, r3
- ldrb r0, [r0]
- movs r1, 0xD
- bl sub_8090584
- movs r0, 0x6D
- bl PlaySE
-_0808F874:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F87C: .4byte gSaveBlock2
-_0808F880: .4byte gUnknown_0202FFB4
-_0808F884: .4byte 0x0000064d
- thumb_func_end sub_808F6CC
-
- thumb_func_start sub_808F888
-sub_808F888: @ 808F888
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0808F8AC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808F8A8
- ldr r0, _0808F8B0
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808F8B4
- str r0, [r1]
-_0808F8A8:
- pop {r0}
- bx r0
- .align 2, 0
-_0808F8AC: .4byte gPaletteFade
-_0808F8B0: .4byte gTasks
-_0808F8B4: .4byte sub_808F2B0
- thumb_func_end sub_808F888
-
- thumb_func_start sub_808F8B8
-sub_808F8B8: @ 808F8B8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0808F8D4
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808F8D0
- adds r0, r2, 0
- bl DestroyTask
-_0808F8D0:
- pop {r0}
- bx r0
- .align 2, 0
-_0808F8D4: .4byte gPaletteFade
- thumb_func_end sub_808F8B8
-
- thumb_func_start sub_808F8D8
-sub_808F8D8: @ 808F8D8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _0808F92C
- ldr r0, _0808F930
- adds r6, r2, r0
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _0808F948
- cmp r0, 0x1
- ble _0808F8F2
- cmp r0, 0x2
- beq _0808F970
-_0808F8F2:
- ldr r0, _0808F934
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808F9AA
- ldr r4, _0808F938
- ldr r0, [r4]
- ldr r1, _0808F93C
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- ldr r1, _0808F940
- ldr r0, [r2, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 2
- bl sub_8091060
- ldr r0, [r4]
- ldr r2, _0808F944
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- strb r1, [r6]
- b _0808F9AA
- .align 2, 0
-_0808F92C: .4byte gMain
-_0808F930: .4byte 0x0000043c
-_0808F934: .4byte gPaletteFade
-_0808F938: .4byte gUnknown_0202FFB4
-_0808F93C: .4byte 0x0000064a
-_0808F940: .4byte gUnknown_03005CEC
-_0808F944: .4byte 0x0000064d
-_0808F948:
- movs r0, 0xD
- bl sub_8090540
- movs r0, 0x1
- movs r1, 0xD
- bl sub_8090644
- bl sub_808D640
- ldr r1, _0808F96C
- movs r2, 0xD0
- lsls r2, 4
- adds r0, r2, 0
- strh r0, [r1]
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _0808F9AA
- .align 2, 0
-_0808F96C: .4byte REG_BG1CNT
-_0808F970:
- ldr r0, _0808F9B0
- ldr r0, [r0]
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- ldr r5, _0808F9B4
- ldr r1, [r5]
- ldr r4, _0808F9B8
- adds r1, r4
- bl sub_81113AC
- ldr r0, _0808F9BC
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r0, [r5]
- adds r0, r4
- movs r1, 0
- strb r1, [r0]
- strb r1, [r6]
- ldr r1, _0808F9C0
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808F9C4
- str r1, [r0]
-_0808F9AA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0808F9B0: .4byte gUnknown_0202FFBC
-_0808F9B4: .4byte gUnknown_0202FFB4
-_0808F9B8: .4byte 0x0000064f
-_0808F9BC: .4byte gUnknown_03005CEC
-_0808F9C0: .4byte gTasks
-_0808F9C4: .4byte sub_808F9C8
- thumb_func_end sub_808F8D8
-
- thumb_func_start sub_808F9C8
-sub_808F9C8: @ 808F9C8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0808F9F0
- ldr r0, [r0]
- ldr r1, _0808F9F4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0808F9EA
- ldr r0, _0808F9F8
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808F9FC
- str r0, [r1]
-_0808F9EA:
- pop {r0}
- bx r0
- .align 2, 0
-_0808F9F0: .4byte gUnknown_0202FFB4
-_0808F9F4: .4byte 0x0000064f
-_0808F9F8: .4byte gTasks
-_0808F9FC: .4byte sub_808FA00
- thumb_func_end sub_808F9C8
-
- thumb_func_start sub_808FA00
-sub_808FA00: @ 808FA00
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0808FA34
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0808FA56
- ldr r0, _0808FA38
- ldr r0, [r0]
- ldr r1, _0808FA3C
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _0808FA24
- cmp r0, 0x2
- beq _0808FA48
-_0808FA24:
- ldr r0, _0808FA40
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808FA44
- b _0808FA54
- .align 2, 0
-_0808FA34: .4byte gPaletteFade
-_0808FA38: .4byte gUnknown_0202FFB4
-_0808FA3C: .4byte 0x0000064f
-_0808FA40: .4byte gTasks
-_0808FA44: .4byte sub_808F2B0
-_0808FA48:
- ldr r0, _0808FA5C
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _0808FA60
-_0808FA54:
- str r0, [r1]
-_0808FA56:
- pop {r0}
- bx r0
- .align 2, 0
-_0808FA5C: .4byte gTasks
-_0808FA60: .4byte sub_808FA64
- thumb_func_end sub_808FA00
-
- thumb_func_start sub_808FA64
-sub_808FA64: @ 808FA64
- push {r4,r5,lr}
- sub sp, 0x18
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _0808FA84
- ldr r2, _0808FA88
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xA
- bhi _0808FABC
- lsls r0, 2
- ldr r1, _0808FA8C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0808FA84: .4byte gMain
-_0808FA88: .4byte 0x0000043c
-_0808FA8C: .4byte _0808FA90
- .align 2, 0
-_0808FA90:
- .4byte _0808FABC
- .4byte _0808FB28
- .4byte _0808FB58
- .4byte _0808FB9C
- .4byte _0808FBC4
- .4byte _0808FBF8
- .4byte _0808FC54
- .4byte _0808FCD4
- .4byte _0808FD40
- .4byte _0808FD6C
- .4byte _0808FDBC
-_0808FABC:
- ldr r0, _0808FB08
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0808FACA
- b _0808FDDC
-_0808FACA:
- ldr r0, _0808FB0C
- bl m4aMPlayStop
- ldr r5, _0808FB10
- ldr r0, [r5]
- ldr r3, _0808FB14
- adds r0, r3
- movs r1, 0x6
- strb r1, [r0]
- ldr r1, _0808FB18
- ldr r4, _0808FB1C
- ldr r0, [r4, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 2
- bl sub_8091060
- ldr r0, [r5]
- ldr r1, _0808FB20
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r2, _0808FB24
- adds r4, r2
- movs r0, 0x1
- strb r0, [r4]
- b _0808FDDC
- .align 2, 0
-_0808FB08: .4byte gPaletteFade
-_0808FB0C: .4byte gMPlay_BGM
-_0808FB10: .4byte gUnknown_0202FFB4
-_0808FB14: .4byte 0x0000064a
-_0808FB18: .4byte gUnknown_03005CEC
-_0808FB1C: .4byte gMain
-_0808FB20: .4byte 0x0000064d
-_0808FB24: .4byte 0x0000043c
-_0808FB28:
- ldr r0, _0808FB44
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, _0808FB48
- ldr r1, _0808FB4C
- bl LZ77UnCompVram
- ldr r1, _0808FB50
- ldr r3, _0808FB54
- adds r1, r3
- b _0808FDA0
- .align 2, 0
-_0808FB44: .4byte gPokedexMenu_Gfx
-_0808FB48: .4byte gUnknown_0839F8A0
-_0808FB4C: .4byte 0x06007000
-_0808FB50: .4byte gMain
-_0808FB54: .4byte 0x0000043c
-_0808FB58:
- movs r0, 0xD
- bl sub_8090540
- movs r0, 0x2
- movs r1, 0xD
- bl sub_8090644
- bl sub_808D640
- ldr r2, _0808FB88
- add r1, sp, 0x4
- movs r0, 0
- strh r0, [r1]
- ldr r0, _0808FB8C
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0808FB90
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r1, _0808FB94
- ldr r4, _0808FB98
- adds r1, r4
- b _0808FDA0
- .align 2, 0
-_0808FB88: .4byte 0x0600f800
-_0808FB8C: .4byte 0x040000d4
-_0808FB90: .4byte 0x81000280
-_0808FB94: .4byte gMain
-_0808FB98: .4byte 0x0000043c
-_0808FB9C:
- ldr r4, _0808FBB8
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- bl ResetPaletteFade
- ldr r1, _0808FBBC
- ldr r0, _0808FBC0
- adds r1, r0
- b _0808FDA0
- .align 2, 0
-_0808FBB8: .4byte gWindowConfig_81E702C
-_0808FBBC: .4byte gMain
-_0808FBC0: .4byte 0x0000043c
-_0808FBC4:
- ldr r0, _0808FBE8
- movs r1, 0xA
- movs r2, 0x4
- bl MenuPrint
- ldr r0, _0808FBEC
- ldr r0, [r0]
- ldrh r0, [r0]
- movs r1, 0xA
- movs r2, 0x6
- movs r3, 0x2
- bl sub_8091260
- ldr r1, _0808FBF0
- ldr r2, _0808FBF4
- adds r1, r2
- b _0808FDA0
- .align 2, 0
-_0808FBE8: .4byte gDexText_CryOf
-_0808FBEC: .4byte gUnknown_0202FFBC
-_0808FBF0: .4byte gMain
-_0808FBF4: .4byte 0x0000043c
-_0808FBF8:
- ldr r0, _0808FC3C
- ldr r0, [r0]
- ldrh r0, [r0]
- movs r1, 0x30
- movs r2, 0x38
- movs r3, 0
- bl sub_80918EC
- ldr r2, _0808FC40
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- strh r0, [r1, 0x10]
- ldr r2, _0808FC44
- movs r4, 0x10
- ldrsh r0, [r1, r4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- ldr r0, _0808FC48
- strb r3, [r0]
- ldr r1, _0808FC4C
- ldr r0, _0808FC50
- adds r1, r0
- b _0808FDA0
- .align 2, 0
-_0808FC3C: .4byte gUnknown_0202FFBC
-_0808FC40: .4byte gTasks
-_0808FC44: .4byte gSprites
-_0808FC48: .4byte gUnknown_03005E98
-_0808FC4C: .4byte gMain
-_0808FC50: .4byte 0x0000043c
-_0808FC54:
- ldr r1, _0808FCB0
- ldr r0, [sp, 0x8]
- ands r0, r1
- ldr r1, _0808FCB4
- orrs r0, r1
- ldr r1, _0808FCB8
- ands r0, r1
- movs r1, 0xF8
- lsls r1, 13
- orrs r0, r1
- ldr r1, _0808FCBC
- ands r0, r1
- movs r1, 0x80
- lsls r1, 20
- orrs r0, r1
- str r0, [sp, 0x8]
- ldr r2, _0808FCC0
- add r0, sp, 0x8
- ldr r1, [r0, 0x4]
- ands r1, r2
- movs r2, 0xF0
- lsls r2, 5
- orrs r1, r2
- ldr r2, _0808FCC4
- ands r1, r2
- movs r2, 0xC
- orrs r1, r2
- str r1, [r0, 0x4]
- movs r1, 0
- bl sub_8119E3C
- lsls r0, 24
- cmp r0, 0
- bne _0808FC9A
- b _0808FDDC
-_0808FC9A:
- ldr r1, _0808FCC8
- ldr r2, _0808FCCC
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r1]
- ldr r0, _0808FCD0
- strb r2, [r0]
- b _0808FDDC
- .align 2, 0
-_0808FCB0: .4byte 0xffff0000
-_0808FCB4: .4byte 0x00004020
-_0808FCB8: .4byte 0xff00ffff
-_0808FCBC: .4byte 0x00ffffff
-_0808FCC0: .4byte 0xffff00ff
-_0808FCC4: .4byte 0xffffff00
-_0808FCC8: .4byte gMain
-_0808FCCC: .4byte 0x0000043c
-_0808FCD0: .4byte gUnknown_03005E98
-_0808FCD4:
- ldr r1, _0808FD24
- ldr r0, [sp, 0x10]
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- orrs r0, r1
- ldr r1, _0808FD28
- ands r0, r1
- movs r1, 0xE0
- lsls r1, 12
- orrs r0, r1
- ldr r1, _0808FD2C
- ands r0, r1
- movs r1, 0x90
- lsls r1, 20
- orrs r0, r1
- str r0, [sp, 0x10]
- ldr r2, _0808FD30
- add r0, sp, 0x10
- ldr r1, [r0, 0x4]
- ands r1, r2
- movs r2, 0x12
- orrs r1, r2
- ldr r2, _0808FD34
- ands r1, r2
- movs r2, 0xC0
- lsls r2, 2
- orrs r1, r2
- str r1, [r0, 0x4]
- movs r1, 0x1
- bl sub_811A3CC
- lsls r0, 24
- cmp r0, 0
- beq _0808FDDC
- ldr r1, _0808FD38
- ldr r3, _0808FD3C
- adds r1, r3
- b _0808FDA0
- .align 2, 0
-_0808FD24: .4byte 0xffff0000
-_0808FD28: .4byte 0xff00ffff
-_0808FD2C: .4byte 0x00ffffff
-_0808FD30: .4byte 0xffffff00
-_0808FD34: .4byte 0xffff00ff
-_0808FD38: .4byte gMain
-_0808FD3C: .4byte 0x0000043c
-_0808FD40:
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _0808FD60
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r1, _0808FD64
- ldr r4, _0808FD68
- adds r1, r4
- b _0808FDA0
- .align 2, 0
-_0808FD60: .4byte gUnknown_03005CEC
-_0808FD64: .4byte gMain
-_0808FD68: .4byte 0x0000043c
-_0808FD6C:
- ldr r0, _0808FDA8
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _0808FDAC
- ldr r3, _0808FDB0
- adds r0, r3, 0
- strh r0, [r1]
- subs r1, 0x4
- ldr r4, _0808FDB4
- adds r0, r4, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r3, 0xD0
- lsls r3, 4
- adds r0, r3, 0
- strh r0, [r1]
- subs r1, 0xA
- adds r4, 0x39
- adds r0, r4, 0
- strh r0, [r1]
- ldr r0, _0808FDB8
- adds r1, r2, r0
-_0808FDA0:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0808FDDC
- .align 2, 0
-_0808FDA8: .4byte REG_BLDCNT
-_0808FDAC: .4byte REG_BG2CNT
-_0808FDB0: .4byte 0x00000e02
-_0808FDB4: .4byte 0x00001f07
-_0808FDB8: .4byte 0x0000043c
-_0808FDBC:
- ldr r0, _0808FDE4
- ldr r0, [r0]
- ldr r1, _0808FDE8
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r3, _0808FDEC
- adds r0, r2, r3
- strb r1, [r0]
- ldr r1, _0808FDF0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808FDF4
- str r1, [r0]
-_0808FDDC:
- add sp, 0x18
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808FDE4: .4byte gUnknown_0202FFB4
-_0808FDE8: .4byte 0x0000064f
-_0808FDEC: .4byte 0x0000043c
-_0808FDF0: .4byte gTasks
-_0808FDF4: .4byte sub_808FDF8
- thumb_func_end sub_808FA64
-
- thumb_func_start sub_808FDF8
-sub_808FDF8: @ 808FDF8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- bl sub_8119F88
- bl IsCryPlaying
- lsls r0, 24
- cmp r0, 0
- beq _0808FE18
- movs r0, 0x1
- bl sub_8090040
- b _0808FE1E
-_0808FE18:
- movs r0, 0
- bl sub_8090040
-_0808FE1E:
- ldr r1, _0808FE48
- ldrh r2, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r2
- adds r5, r1, 0
- cmp r0, 0
- beq _0808FE50
- movs r0, 0x1
- bl sub_8090040
- ldr r0, _0808FE4C
- ldr r0, [r0]
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- bl sub_811A050
- b _0808FF9E
- .align 2, 0
-_0808FE48: .4byte gMain
-_0808FE4C: .4byte gUnknown_0202FFBC
-_0808FE50:
- ldr r0, _0808FEA8
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _0808FE62
- b _0808FF9E
-_0808FE62:
- movs r0, 0x2
- ands r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _0808FEC0
- movs r0, 0x15
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0808FEAC
- bl m4aMPlayContinue
- ldr r0, _0808FEB0
- ldr r0, [r0]
- ldr r1, _0808FEB4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, _0808FEB8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808FEBC
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _0808FF9E
- .align 2, 0
-_0808FEA8: .4byte gPaletteFade
-_0808FEAC: .4byte gMPlay_BGM
-_0808FEB0: .4byte gUnknown_0202FFB4
-_0808FEB4: .4byte 0x0000064f
-_0808FEB8: .4byte gTasks
-_0808FEBC: .4byte sub_808FFBC
-_0808FEC0:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _0808FEDA
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _0808FF2C
- ldr r0, _0808FF14
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0808FF2C
-_0808FEDA:
- movs r0, 0x15
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0808FF18
- bl m4aMPlayContinue
- ldr r0, _0808FF1C
- ldr r0, [r0]
- ldr r1, _0808FF20
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, _0808FF24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808FF28
- str r1, [r0]
- movs r0, 0x6D
- bl PlaySE
- b _0808FF9E
- .align 2, 0
-_0808FF14: .4byte gSaveBlock2
-_0808FF18: .4byte gMPlay_BGM
-_0808FF1C: .4byte gUnknown_0202FFB4
-_0808FF20: .4byte 0x0000064f
-_0808FF24: .4byte gTasks
-_0808FF28: .4byte sub_808FFBC
-_0808FF2C:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0808FF48
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _0808FF9E
- ldr r0, _0808FF60
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0808FF9E
-_0808FF48:
- ldr r0, _0808FF64
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _0808FF68
- movs r0, 0x20
- bl PlaySE
- b _0808FF9E
- .align 2, 0
-_0808FF60: .4byte gSaveBlock2
-_0808FF64: .4byte gUnknown_0202FFBC
-_0808FF68:
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _0808FFA8
- bl m4aMPlayContinue
- ldr r0, _0808FFAC
- ldr r0, [r0]
- ldr r1, _0808FFB0
- adds r0, r1
- movs r1, 0x3
- strb r1, [r0]
- ldr r1, _0808FFB4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0808FFB8
- str r1, [r0]
- movs r0, 0x6D
- bl PlaySE
-_0808FF9E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0808FFA8: .4byte gMPlay_BGM
-_0808FFAC: .4byte gUnknown_0202FFB4
-_0808FFB0: .4byte 0x0000064f
-_0808FFB4: .4byte gTasks
-_0808FFB8: .4byte sub_808FFBC
- thumb_func_end sub_808FDF8
-
- thumb_func_start sub_808FFBC
-sub_808FFBC: @ 808FFBC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0808FFF8
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08090032
- bl sub_811A4F8
- ldr r0, _0808FFFC
- ldr r0, [r0]
- ldr r1, _08090000
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _0809000C
- cmp r0, 0x2
- ble _0808FFE8
- cmp r0, 0x3
- beq _08090024
-_0808FFE8:
- ldr r0, _08090004
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08090008
- b _08090030
- .align 2, 0
-_0808FFF8: .4byte gPaletteFade
-_0808FFFC: .4byte gUnknown_0202FFB4
-_08090000: .4byte 0x0000064f
-_08090004: .4byte gTasks
-_08090008: .4byte sub_808F2B0
-_0809000C:
- ldr r0, _0809001C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08090020
- b _08090030
- .align 2, 0
-_0809001C: .4byte gTasks
-_08090020: .4byte sub_808F8D8
-_08090024:
- ldr r0, _08090038
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0809003C
-_08090030:
- str r0, [r1]
-_08090032:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08090038: .4byte gTasks
-_0809003C: .4byte sub_8090070
- thumb_func_end sub_808FFBC
-
- thumb_func_start sub_8090040
-sub_8090040: @ 8090040
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- cmp r0, 0
- beq _08090054
- ldr r1, _08090050
- b _08090056
- .align 2, 0
-_08090050: .4byte 0x00000392
-_08090054:
- ldr r1, _0809006C
-_08090056:
- mov r0, sp
- strh r1, [r0]
- mov r0, sp
- movs r1, 0x5D
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_0809006C: .4byte 0x000002af
- thumb_func_end sub_8090040
-
- thumb_func_start sub_8090070
-sub_8090070: @ 8090070
- push {r4,r5,lr}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _08090090
- ldr r2, _08090094
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x9
- bhi _080900C4
- lsls r0, 2
- ldr r1, _08090098
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08090090: .4byte gMain
-_08090094: .4byte 0x0000043c
-_08090098: .4byte _0809009C
- .align 2, 0
-_0809009C:
- .4byte _080900C4
- .4byte _08090120
- .4byte _08090150
- .4byte _08090174
- .4byte _080901C0
- .4byte _080901D4
- .4byte _08090278
- .4byte _08090318
- .4byte _08090344
- .4byte _08090380
-_080900C4:
- ldr r0, _08090108
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080900D2
- b _080903AE
-_080900D2:
- ldr r4, _0809010C
- ldr r0, [r4]
- ldr r1, _08090110
- adds r0, r1
- movs r1, 0x7
- strb r1, [r0]
- ldr r1, _08090114
- ldr r0, [r5, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 2
- bl sub_8091060
- ldr r0, [r4]
- ldr r2, _08090118
- adds r0, r2
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, _0809011C
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
- b _080903AE
- .align 2, 0
-_08090108: .4byte gPaletteFade
-_0809010C: .4byte gUnknown_0202FFB4
-_08090110: .4byte 0x0000064a
-_08090114: .4byte gUnknown_03005CEC
-_08090118: .4byte 0x0000064d
-_0809011C: .4byte 0x0000043c
-_08090120:
- ldr r0, _0809013C
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, _08090140
- ldr r1, _08090144
- bl LZ77UnCompVram
- ldr r1, _08090148
- ldr r2, _0809014C
- adds r1, r2
- b _08090368
- .align 2, 0
-_0809013C: .4byte gPokedexMenu_Gfx
-_08090140: .4byte gUnknown_0839F988
-_08090144: .4byte 0x06007000
-_08090148: .4byte gMain
-_0809014C: .4byte 0x0000043c
-_08090150:
- movs r0, 0xD
- bl sub_8090540
- movs r0, 0x3
- movs r1, 0xD
- bl sub_8090644
- bl sub_808D640
- ldr r1, _0809016C
- ldr r0, _08090170
- adds r1, r0
- b _08090368
- .align 2, 0
-_0809016C: .4byte gMain
-_08090170: .4byte 0x0000043c
-_08090174:
- ldr r4, _080901AC
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- add r1, sp, 0x4
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, _080901B0
- add r0, sp, 0x4
- bl StringAppend
- ldr r1, _080901B4
- add r0, sp, 0x4
- bl StringAppend
- add r0, sp, 0x4
- movs r1, 0x3
- movs r2, 0xF
- movs r3, 0xC0
- bl sub_8072BD8
- ldr r1, _080901B8
- ldr r2, _080901BC
- adds r1, r2
- b _08090368
- .align 2, 0
-_080901AC: .4byte gWindowConfig_81E702C
-_080901B0: .4byte gDexText_SizeComparedTo
-_080901B4: .4byte gSaveBlock2
-_080901B8: .4byte gMain
-_080901BC: .4byte 0x0000043c
-_080901C0:
- bl ResetPaletteFade
- ldr r1, _080901CC
- ldr r0, _080901D0
- adds r1, r0
- b _08090368
- .align 2, 0
-_080901CC: .4byte gMain
-_080901D0: .4byte 0x0000043c
-_080901D4:
- ldr r0, _0809025C
- ldrb r0, [r0, 0x8]
- movs r1, 0x98
- movs r2, 0x38
- movs r3, 0
- bl sub_8091A4C
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _08090260
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x5]
- ldr r3, _08090264
- ldr r0, _08090268
- ldr r2, [r0]
- ldrh r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x20]
- strh r0, [r4, 0x26]
- ldrh r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x1E]
- str r1, [sp]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldr r0, _0809026C
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _08090270
- ldr r2, _08090274
- adds r1, r2
- b _08090368
- .align 2, 0
-_0809025C: .4byte gSaveBlock2
-_08090260: .4byte gSprites
-_08090264: .4byte gPokedexEntries
-_08090268: .4byte gUnknown_0202FFBC
-_0809026C: .4byte gUnknown_083B4EC4
-_08090270: .4byte gMain
-_08090274: .4byte 0x0000043c
-_08090278:
- ldr r5, _08090300
- ldr r0, [r5]
- ldrh r0, [r0]
- movs r1, 0x58
- movs r2, 0x38
- movs r3, 0x1
- bl sub_80918EC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _08090304
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x3]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x5]
- ldr r3, _08090308
- ldr r2, [r5]
- ldrh r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x1C]
- strh r0, [r4, 0x26]
- ldrh r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x1A]
- str r1, [sp]
- movs r0, 0x2
- movs r2, 0
- movs r3, 0
- bl SetOamMatrix
- ldr r0, _0809030C
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- adds r1, 0x10
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _08090310
- ldr r0, _08090314
- adds r1, r0
- b _08090368
- .align 2, 0
-_08090300: .4byte gUnknown_0202FFBC
-_08090304: .4byte gSprites
-_08090308: .4byte gPokedexEntries
-_0809030C: .4byte gUnknown_083B4EC4
-_08090310: .4byte gMain
-_08090314: .4byte 0x0000043c
-_08090318:
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08090338
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r1, _0809033C
- ldr r2, _08090340
- adds r1, r2
- b _08090368
- .align 2, 0
-_08090338: .4byte gUnknown_03005CEC
-_0809033C: .4byte gMain
-_08090340: .4byte 0x0000043c
-_08090344:
- ldr r0, _08090370
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _08090374
- ldr r2, _08090378
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xC
- movs r2, 0xF2
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _0809037C
- adds r1, r5, r0
-_08090368:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080903AE
- .align 2, 0
-_08090370: .4byte REG_BLDCNT
-_08090374: .4byte REG_BG2CNT
-_08090378: .4byte 0x00000e03
-_0809037C: .4byte 0x0000043c
-_08090380:
- ldr r0, _080903B8
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080903AE
- ldr r0, _080903BC
- ldr r0, [r0]
- ldr r1, _080903C0
- adds r0, r1
- strb r2, [r0]
- ldr r1, _080903C4
- adds r0, r5, r1
- strb r2, [r0]
- ldr r1, _080903C8
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- ldr r1, _080903CC
- str r1, [r0]
-_080903AE:
- add sp, 0x2C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080903B8: .4byte gPaletteFade
-_080903BC: .4byte gUnknown_0202FFB4
-_080903C0: .4byte 0x0000064f
-_080903C4: .4byte 0x0000043c
-_080903C8: .4byte gTasks
-_080903CC: .4byte sub_80903D0
- thumb_func_end sub_8090070
-
- thumb_func_start sub_80903D0
-sub_80903D0: @ 80903D0
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, _0809041C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08090430
- movs r0, 0x15
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08090420
- ldr r0, [r0]
- ldr r1, _08090424
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, _08090428
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809042C
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _0809047A
- .align 2, 0
-_0809041C: .4byte gMain
-_08090420: .4byte gUnknown_0202FFB4
-_08090424: .4byte 0x0000064f
-_08090428: .4byte gTasks
-_0809042C: .4byte sub_8090498
-_08090430:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0809044A
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _0809047A
- ldr r0, _08090484
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0809047A
-_0809044A:
- movs r0, 0x15
- negs r0, r0
- str r2, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _08090488
- ldr r0, [r0]
- ldr r1, _0809048C
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- ldr r1, _08090490
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08090494
- str r1, [r0]
- movs r0, 0x6D
- bl PlaySE
-_0809047A:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08090484: .4byte gSaveBlock2
-_08090488: .4byte gUnknown_0202FFB4
-_0809048C: .4byte 0x0000064f
-_08090490: .4byte gTasks
-_08090494: .4byte sub_8090498
- thumb_func_end sub_80903D0
-
- thumb_func_start sub_8090498
-sub_8090498: @ 8090498
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080904CC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080904EE
- ldr r0, _080904D0
- ldr r0, [r0]
- ldr r1, _080904D4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080904BC
- cmp r0, 0x2
- beq _080904E0
-_080904BC:
- ldr r0, _080904D8
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080904DC
- b _080904EC
- .align 2, 0
-_080904CC: .4byte gPaletteFade
-_080904D0: .4byte gUnknown_0202FFB4
-_080904D4: .4byte 0x0000064f
-_080904D8: .4byte gTasks
-_080904DC: .4byte sub_808F2B0
-_080904E0:
- ldr r0, _080904F4
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080904F8
-_080904EC:
- str r0, [r1]
-_080904EE:
- pop {r0}
- bx r0
- .align 2, 0
-_080904F4: .4byte gTasks
-_080904F8: .4byte sub_808FA64
- thumb_func_end sub_8090498
-
- thumb_func_start sub_80904FC
-sub_80904FC: @ 80904FC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 16
- ldr r0, _08090530
- lsrs r4, 5
- movs r2, 0xC0
- lsls r2, 19
- adds r1, r4, r2
- bl LZ77UnCompVram
- ldr r0, _08090534
- adds r4, r0
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r0, _08090538
- str r1, [r0]
- str r4, [r0, 0x4]
- ldr r1, _0809053C
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08090530: .4byte gUnknown_08E96ACC
-_08090534: .4byte 0x060000c0
-_08090538: .4byte 0x040000d4
-_0809053C: .4byte 0x81000220
- thumb_func_end sub_80904FC
-
- thumb_func_start sub_8090540
-sub_8090540: @ 8090540
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 16
- ldr r0, _08090574
- lsrs r4, 5
- movs r2, 0xC0
- lsls r2, 19
- adds r1, r4, r2
- bl LZ77UnCompVram
- ldr r0, _08090578
- adds r4, r0
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r0, _0809057C
- str r1, [r0]
- str r4, [r0, 0x4]
- ldr r1, _08090580
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08090574: .4byte gUnknown_08E96B58
-_08090578: .4byte 0x060000c0
-_0809057C: .4byte 0x040000d4
-_08090580: .4byte 0x81000220
- thumb_func_end sub_8090540
-
- thumb_func_start sub_8090584
-sub_8090584: @ 8090584
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- movs r1, 0
-_0809059C:
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0x80
- lsls r6, 7
- cmp r1, r10
- bne _080905B2
- movs r6, 0x80
- lsls r6, 6
-_080905B2:
- movs r3, 0
- mov r0, r9
- lsls r0, 11
- mov r12, r0
- adds r1, 0x1
- mov r8, r1
- mov r5, r12
- ldr r4, _08090634
-_080905C2:
- adds r0, r7, r3
- lsls r0, 1
- adds r0, r5, r0
- movs r2, 0xC0
- lsls r2, 19
- adds r1, r0, r2
- ldrh r2, [r1]
- ands r2, r4
- orrs r2, r6
- strh r2, [r1]
- ldr r1, _08090638
- adds r0, r1
- ldrh r2, [r0]
- ands r2, r4
- orrs r2, r6
- strh r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x4
- bls _080905C2
- mov r2, r8
- lsls r0, r2, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _0809059C
- movs r6, 0x80
- lsls r6, 7
- movs r3, 0
- mov r5, r12
- ldr r4, _08090634
-_08090600:
- lsls r0, r3, 1
- adds r0, r5, r0
- ldr r2, _0809063C
- adds r1, r0, r2
- ldrh r2, [r1]
- ands r2, r4
- orrs r2, r6
- strh r2, [r1]
- ldr r1, _08090640
- adds r0, r1
- ldrh r2, [r0]
- ands r2, r4
- orrs r2, r6
- strh r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x4
- bls _08090600
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08090634: .4byte 0x00000fff
-_08090638: .4byte 0x06000040
-_0809063C: .4byte 0x06000032
-_08090640: .4byte 0x06000072
- thumb_func_end sub_8090584
-
- thumb_func_start sub_8090644
-sub_8090644: @ 8090644
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- movs r1, 0
-_0809065C:
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r1, r10
- beq _08090670
- cmp r1, 0
- bne _08090676
-_08090670:
- movs r5, 0x80
- lsls r5, 6
- b _0809067A
-_08090676:
- movs r5, 0x80
- lsls r5, 7
-_0809067A:
- movs r3, 0
- mov r0, r9
- lsls r7, r0, 11
- adds r1, 0x1
- mov r12, r1
- adds r6, r7, 0
- ldr r4, _080906FC
-_08090688:
- mov r1, r8
- adds r0, r1, r3
- lsls r0, 1
- adds r0, r6, r0
- movs r2, 0xC0
- lsls r2, 19
- adds r1, r0, r2
- ldrh r2, [r1]
- ands r2, r4
- orrs r2, r5
- strh r2, [r1]
- ldr r1, _08090700
- adds r0, r1
- ldrh r2, [r0]
- ands r2, r4
- orrs r2, r5
- strh r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x4
- bls _08090688
- mov r2, r12
- lsls r0, r2, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _0809065C
- movs r5, 0x80
- lsls r5, 7
- movs r3, 0
- adds r6, r7, 0
- ldr r4, _080906FC
-_080906C8:
- lsls r0, r3, 1
- adds r0, r6, r0
- ldr r2, _08090704
- adds r1, r0, r2
- ldrh r2, [r1]
- ands r2, r4
- orrs r2, r5
- strh r2, [r1]
- ldr r1, _08090708
- adds r0, r1
- ldrh r2, [r0]
- ands r2, r4
- orrs r2, r5
- strh r2, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x4
- bls _080906C8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080906FC: .4byte 0x00000fff
-_08090700: .4byte 0x06000040
-_08090704: .4byte 0x06000032
-_08090708: .4byte 0x06000072
- thumb_func_end sub_8090644
-
- thumb_func_start sub_809070C
-sub_809070C: @ 809070C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _08090748
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809074C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x8]
- strh r4, [r1, 0xA]
- strh r5, [r1, 0x20]
- lsrs r5, 16
- strh r5, [r1, 0x22]
- strh r6, [r1, 0x24]
- lsrs r6, 16
- strh r6, [r1, 0x26]
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08090748: .4byte sub_8090750
-_0809074C: .4byte gTasks
- thumb_func_end sub_809070C
-
- thumb_func_start sub_8090750
-sub_8090750: @ 8090750
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _08090778
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrh r6, [r0, 0xA]
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0x6
- bhi _0809079C
- lsls r0, 2
- ldr r1, _0809077C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08090778: .4byte gTasks
-_0809077C: .4byte _08090780
- .align 2, 0
-_08090780:
- .4byte _0809079C
- .4byte _080907E0
- .4byte _0809085C
- .4byte _080908A0
- .4byte _08090960
- .4byte _080909B8
- .4byte _080909F4
-_0809079C:
- ldr r0, _080907D0
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080907AA
- b _08090A26
-_080907AA:
- ldr r1, _080907D4
- ldr r0, _080907D8
- ldr r0, [r0, 0xC]
- str r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 1
- bl sub_8091060
- ldr r1, _080907DC
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- b _08090A26
- .align 2, 0
-_080907D0: .4byte gPaletteFade
-_080907D4: .4byte gUnknown_03005CEC
-_080907D8: .4byte gMain
-_080907DC: .4byte gTasks
-_080907E0:
- ldr r0, _08090840
- ldr r1, _08090844
- bl LZ77UnCompVram
- ldr r0, _08090848
- ldr r4, _0809084C
- adds r1, r4, 0
- bl LZ77UnCompVram
- movs r2, 0
- lsls r5, r7, 2
- mov r12, r5
- movs r0, 0x80
- lsls r0, 6
- adds r6, r0, 0
- ldr r3, _08090850
-_08090800:
- lsls r0, r2, 1
- adds r0, r4
- ldrh r5, [r0]
- adds r1, r6, r5
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r3
- bls _08090800
- ldr r0, _08090854
- mov r1, r12
- adds r4, r1, r7
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0xA]
- movs r2, 0xFF
- lsls r2, 2
- movs r1, 0x2
- bl sub_8091738
- bl ResetPaletteFade
- ldr r0, _08090858
- movs r1, 0x21
- movs r2, 0x9E
- bl LoadPalette
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _08090A26
- .align 2, 0
-_08090840: .4byte gPokedexMenu_Gfx
-_08090844: .4byte 0x06004000
-_08090848: .4byte gUnknown_08E96BD4
-_0809084C: .4byte 0x06007800
-_08090850: .4byte 0x0000027f
-_08090854: .4byte gTasks
-_08090858: .4byte gPokedexMenu_Pal + 0x2
-_0809085C:
- ldr r4, _0809088C
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r2, _08090890
- add r1, sp, 0x4
- movs r0, 0
- strh r0, [r1]
- ldr r0, _08090894
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _08090898
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r1, _0809089C
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- b _080909E0
- .align 2, 0
-_0809088C: .4byte gWindowConfig_81E7064
-_08090890: .4byte 0x0600c000
-_08090894: .4byte 0x040000d4
-_08090898: .4byte 0x81000100
-_0809089C: .4byte gTasks
-_080908A0:
- ldr r0, _080908C8
- movs r1, 0x2
- movs r2, 0
- movs r3, 0xD0
- bl sub_8072BD8
- bl sub_806912C
- cmp r0, 0
- bne _080908CC
- adds r0, r6, 0
- bl NationalToHoennOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- movs r2, 0x3
- bl sub_8091154
- b _080908D6
- .align 2, 0
-_080908C8: .4byte gDexText_RegisterComplete
-_080908CC:
- adds r0, r6, 0
- movs r1, 0xD
- movs r2, 0x3
- bl sub_8091154
-_080908D6:
- adds r0, r6, 0
- movs r1, 0x10
- movs r2, 0x3
- bl sub_80911C8
- ldr r0, _0809094C
- movs r1, 0xB
- movs r2, 0x5
- bl MenuPrint
- ldr r0, _08090950
- movs r1, 0x10
- movs r2, 0x7
- bl MenuPrint
- ldr r0, _08090954
- movs r1, 0x10
- movs r2, 0x9
- bl MenuPrint
- lsls r4, r6, 3
- adds r4, r6
- lsls r4, 2
- ldr r6, _08090958
- adds r5, r4, r6
- adds r0, r5, 0
- movs r1, 0xB
- movs r2, 0x5
- bl sub_8091304
- ldrh r0, [r5, 0xC]
- movs r1, 0x10
- movs r2, 0x7
- bl sub_8091458
- ldrh r0, [r5, 0xE]
- movs r1, 0x10
- movs r2, 0x9
- bl sub_8091564
- adds r6, 0x10
- adds r4, r6
- ldr r0, [r4]
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- movs r1, 0xFF
- lsls r1, 2
- movs r0, 0xE
- bl sub_80917CC
- ldr r1, _0809095C
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- b _080909E0
- .align 2, 0
-_0809094C: .4byte gDexText_UnknownPoke
-_08090950: .4byte gDexText_UnknownHeight
-_08090954: .4byte gDexText_UnknownWeight
-_08090958: .4byte gPokedexEntries
-_0809095C: .4byte gTasks
-_08090960:
- adds r0, r6, 0
- movs r1, 0x30
- movs r2, 0x38
- movs r3, 0
- bl sub_80918EC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080909AC
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080909B0
- ldr r0, [r0]
- bl SetVBlankCallback
- ldr r1, _080909B4
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0xE]
- b _080909E0
- .align 2, 0
-_080909AC: .4byte gSprites
-_080909B0: .4byte gUnknown_03005CEC
-_080909B4: .4byte gTasks
-_080909B8:
- ldr r0, _080909E8
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _080909EC
- ldr r2, _080909F0
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xE
- movs r5, 0xE2
- lsls r5, 5
- adds r0, r5, 0
- strh r0, [r1]
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r4
-_080909E0:
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _08090A26
- .align 2, 0
-_080909E8: .4byte REG_BLDCNT
-_080909EC: .4byte REG_BG3CNT
-_080909F0: .4byte 0x00000f07
-_080909F4:
- ldr r0, _08090A30
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _08090A26
- adds r0, r6, 0
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl PlayCry1
- ldr r1, _08090A34
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0xC]
- strh r5, [r0, 0x10]
- ldr r1, _08090A38
- str r1, [r0]
-_08090A26:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08090A30: .4byte gPaletteFade
-_08090A34: .4byte gTasks
-_08090A38: .4byte sub_8090A3C
- thumb_func_end sub_8090750
-
- thumb_func_start sub_8090A3C
-sub_8090A3C: @ 8090A3C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _08090A8C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08090AA4
- ldr r0, _08090A90
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r3, _08090A94
- ldr r0, _08090A98
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r0, 0xE
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r2, _08090A9C
- str r2, [r0]
- ldr r0, _08090AA0
- str r0, [r1]
- b _08090B7A
- .align 2, 0
-_08090A8C: .4byte gMain
-_08090A90: .4byte 0x0000fffc
-_08090A94: .4byte gSprites
-_08090A98: .4byte gTasks
-_08090A9C: .4byte sub_8090C28
-_08090AA0: .4byte sub_8090B8C
-_08090AA4:
- movs r0, 0x1
- mov r8, r0
- ands r0, r1
- lsls r7, r6, 2
- cmp r0, 0
- beq _08090B44
- ldr r0, _08090B00
- adds r1, r7, r6
- lsls r1, 3
- adds r5, r1, r0
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _08090B0C
- ldrh r4, [r5, 0xA]
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _08090B04
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, 0x14
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- ldr r1, _08090B08
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- adds r1, 0x40
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- mov r0, r8
- strh r0, [r5, 0x10]
- movs r0, 0x15
- bl PlaySE
- b _08090B44
- .align 2, 0
-_08090B00: .4byte gTasks
-_08090B04: .4byte gPokedexEntries
-_08090B08: .4byte 0x06007aca
-_08090B0C:
- ldr r0, _08090B34
- str r2, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r2, _08090B38
- movs r0, 0xE
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _08090B3C
- str r1, [r0]
- ldr r0, _08090B40
- str r0, [r5]
- b _08090B7A
- .align 2, 0
-_08090B34: .4byte 0x0000fffc
-_08090B38: .4byte gSprites
-_08090B3C: .4byte sub_8090C28
-_08090B40: .4byte sub_8090B8C
-_08090B44:
- ldr r1, _08090B68
- adds r0, r7, r6
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0xC]
- adds r1, 0x1
- strh r1, [r0, 0xC]
- movs r0, 0x10
- ands r1, r0
- cmp r1, 0
- beq _08090B70
- ldr r0, _08090B6C
- movs r1, 0x51
- movs r2, 0xE
- bl LoadPalette
- b _08090B7A
- .align 2, 0
-_08090B68: .4byte gTasks
-_08090B6C: .4byte gPokedexMenu_Pal + 0x2
-_08090B70:
- ldr r0, _08090B88
- movs r1, 0x51
- movs r2, 0xE
- bl LoadPalette
-_08090B7A:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08090B88: .4byte gPokedexMenu2_Pal + 0x2
- thumb_func_end sub_8090A3C
-
- thumb_func_start sub_8090B8C
-sub_8090B8C: @ 8090B8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _08090C14
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08090C0C
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xCA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08090C18
- ldr r1, _08090C1C
- movs r2, 0x80
- lsls r2, 4
- bl CpuSet
- bl sub_800D74C
- ldr r0, _08090C20
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0xA]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r4, 0x22]
- lsls r1, 16
- ldrh r2, [r4, 0x20]
- orrs r1, r2
- ldrh r2, [r4, 0x26]
- lsls r2, 16
- ldrh r3, [r4, 0x24]
- orrs r2, r3
- ldr r5, _08090C24
- movs r3, 0xE
- ldrsh r4, [r4, r3]
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- adds r3, r5
- ldrb r4, [r3, 0x5]
- lsrs r4, 4
- bl species_and_otid_get_pal
- lsls r4, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- orrs r4, r1
- adds r1, r4, 0
- movs r2, 0x20
- bl LoadCompressedPalette
- adds r0, r6, 0
- bl DestroyTask
-_08090C0C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08090C14: .4byte gPaletteFade
-_08090C18: .4byte gUnknown_08D00524
-_08090C1C: .4byte 0x0600c000
-_08090C20: .4byte gTasks
-_08090C24: .4byte gSprites
- thumb_func_end sub_8090B8C
-
- thumb_func_start sub_8090C28
-sub_8090C28: @ 8090C28
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x77
- bgt _08090C3A
- adds r0, r2, 0x2
- strh r0, [r1, 0x20]
-_08090C3A:
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- cmp r0, 0x78
- ble _08090C48
- subs r0, r2, 0x2
- strh r0, [r1, 0x20]
-_08090C48:
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x4F
- bgt _08090C56
- adds r0, r2, 0x1
- strh r0, [r1, 0x22]
-_08090C56:
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0x50
- ble _08090C64
- subs r0, r2, 0x1
- strh r0, [r1, 0x22]
-_08090C64:
- pop {r0}
- bx r0
- thumb_func_end sub_8090C28
-
- thumb_func_start sub_8090C68
-sub_8090C68: @ 8090C68
- push {r4,r5,lr}
- ldr r4, _08090CD0
- ldr r0, [r4]
- ldrb r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08090D2A
- ldr r5, _08090CD4
- ldr r0, [r5]
- ldr r1, _08090CD8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _08090CE4
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r2, _08090CDC
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r2, 0x14
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- ldr r0, [r5]
- ldr r1, _08090CD8
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, _08090CE0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- adds r1, 0x40
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x15
- bl PlaySE
- b _08090D2A
- .align 2, 0
-_08090CD0: .4byte gUnknown_0202FFBC
-_08090CD4: .4byte gUnknown_0202FFB4
-_08090CD8: .4byte 0x0000064e
-_08090CDC: .4byte gPokedexEntries
-_08090CE0: .4byte 0x06007aca
-_08090CE4:
- movs r0, 0x2
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r2, _08090D30
- ldr r0, [r4]
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r2, 0x10
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- ldr r0, [r5]
- ldr r1, _08090D34
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r1, _08090D38
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r1, 0x40
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r0, 0x15
- bl PlaySE
-_08090D2A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08090D30: .4byte gPokedexEntries
-_08090D34: .4byte 0x0000064e
-_08090D38: .4byte 0x06007aca
- thumb_func_end sub_8090C68
-
- thumb_func_start GetPokemonCategory
-GetPokemonCategory: @ 8090D3C
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _08090D50
- adds r0, r1
- bx lr
- .align 2, 0
-_08090D50: .4byte gPokedexEntries
- thumb_func_end GetPokemonCategory
-
- thumb_func_start sub_8090D54
-sub_8090D54: @ 8090D54
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- beq _08090D6A
- cmp r1, 0x1
- beq _08090D7C
- movs r0, 0x1
- b _08090D88
-_08090D6A:
- ldr r0, _08090D78
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0xC]
- b _08090D88
- .align 2, 0
-_08090D78: .4byte gPokedexEntries
-_08090D7C:
- ldr r0, _08090D8C
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0xE]
-_08090D88:
- pop {r1}
- bx r1
- .align 2, 0
-_08090D8C: .4byte gPokedexEntries
- thumb_func_end sub_8090D54
-
- thumb_func_start sub_8090D90
-sub_8090D90: @ 8090D90
- push {r4-r7,lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r2, r1, 24
- adds r3, r2, 0
- ldr r1, _08090DC4
- adds r0, r1
- lsrs r1, r0, 16
- lsrs r0, 19
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x7
- ands r1, r0
- movs r0, 0x80
- lsls r0, 17
- lsls r0, r1
- lsrs r5, r0, 24
- movs r6, 0
- cmp r2, 0x1
- beq _08090E24
- cmp r2, 0x1
- bgt _08090DC8
- cmp r2, 0
- beq _08090DD4
- b _08090F0A
- .align 2, 0
-_08090DC4: .4byte 0xffff0000
-_08090DC8:
- cmp r3, 0x2
- beq _08090EBC
- cmp r3, 0x3
- bne _08090DD2
- b _08090EFC
-_08090DD2:
- b _08090F0A
-_08090DD4:
- ldr r1, _08090E14
- adds r0, r1, 0
- adds r0, 0x5C
- adds r0, r4, r0
- ldrb r2, [r0]
- ands r2, r5
- adds r7, r1, 0
- cmp r2, 0
- bne _08090DE8
- b _08090F0A
-_08090DE8:
- ldr r0, _08090E18
- ldr r3, _08090E1C
- adds r1, r0, r3
- adds r1, r4, r1
- ldrb r1, [r1]
- ands r1, r5
- adds r6, r0, 0
- cmp r2, r1
- bne _08090E08
- ldr r1, _08090E20
- adds r0, r6, r1
- adds r0, r4, r0
- ldrb r0, [r0]
- ands r0, r5
- cmp r2, r0
- beq _08090E62
-_08090E08:
- adds r1, r7, 0
- adds r1, 0x5C
- adds r1, r4, r1
- mvns r3, r5
- b _08090E8E
- .align 2, 0
-_08090E14: .4byte gSaveBlock2
-_08090E18: .4byte gSaveBlock1
-_08090E1C: .4byte 0x00000938
-_08090E20: .4byte 0x00003a8c
-_08090E24:
- ldr r1, _08090E68
- adds r0, r1, 0
- adds r0, 0x28
- adds r0, r4, r0
- ldrb r2, [r0]
- ands r2, r5
- adds r7, r1, 0
- cmp r2, 0
- beq _08090F0A
- adds r0, r7, 0
- adds r0, 0x5C
- adds r0, r4, r0
- ldrb r0, [r0]
- ands r0, r5
- ldr r6, _08090E6C
- cmp r2, r0
- bne _08090E78
- ldr r3, _08090E70
- adds r0, r6, r3
- adds r0, r4, r0
- ldrb r0, [r0]
- ands r0, r5
- cmp r2, r0
- bne _08090E78
- ldr r1, _08090E74
- adds r0, r6, r1
- adds r0, r4, r0
- ldrb r0, [r0]
- ands r0, r5
- cmp r2, r0
- bne _08090E78
-_08090E62:
- movs r6, 0x1
- b _08090F0A
- .align 2, 0
-_08090E68: .4byte gSaveBlock2
-_08090E6C: .4byte gSaveBlock1
-_08090E70: .4byte 0x00000938
-_08090E74: .4byte 0x00003a8c
-_08090E78:
- adds r1, r7, 0
- adds r1, 0x28
- adds r1, r4, r1
- mvns r3, r5
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- adds r1, r7, 0
- adds r1, 0x5C
- adds r1, r4, r1
-_08090E8E:
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldr r0, _08090EB4
- adds r1, r6, r0
- adds r1, r4, r1
- ldrb r2, [r1]
- adds r0, r3, 0
- ands r0, r2
- strb r0, [r1]
- ldr r1, _08090EB8
- adds r0, r6, r1
- adds r0, r4, r0
- ldrb r1, [r0]
- ands r3, r1
- strb r3, [r0]
- movs r6, 0
- b _08090F0A
- .align 2, 0
-_08090EB4: .4byte 0x00000938
-_08090EB8: .4byte 0x00003a8c
-_08090EBC:
- ldr r1, _08090EEC
- adds r1, 0x5C
- adds r1, r4, r1
- ldrb r2, [r1]
- adds r0, r5, 0
- orrs r0, r2
- strb r0, [r1]
- ldr r1, _08090EF0
- ldr r3, _08090EF4
- adds r2, r1, r3
- adds r2, r4, r2
- ldrb r3, [r2]
- adds r0, r5, 0
- orrs r0, r3
- strb r0, [r2]
- ldr r0, _08090EF8
- adds r1, r0
- adds r1, r4, r1
- ldrb r2, [r1]
- adds r0, r5, 0
- orrs r0, r2
- strb r0, [r1]
- b _08090F0A
- .align 2, 0
-_08090EEC: .4byte gSaveBlock2
-_08090EF0: .4byte gSaveBlock1
-_08090EF4: .4byte 0x00000938
-_08090EF8: .4byte 0x00003a8c
-_08090EFC:
- ldr r0, _08090F14
- adds r0, 0x28
- adds r0, r4, r0
- ldrb r2, [r0]
- adds r1, r5, 0
- orrs r1, r2
- strb r1, [r0]
-_08090F0A:
- adds r0, r6, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08090F14: .4byte gSaveBlock2
- thumb_func_end sub_8090D90
-
- thumb_func_start pokedex_count
-pokedex_count: @ 8090F18
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
- ldr r7, _08090F30
-_08090F24:
- cmp r6, 0
- beq _08090F34
- cmp r6, 0x1
- beq _08090F3E
- adds r4, r0, 0x1
- b _08090F56
- .align 2, 0
-_08090F30: .4byte 0x00000181
-_08090F34:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- movs r1, 0
- b _08090F46
-_08090F3E:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- movs r1, 0x1
-_08090F46:
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _08090F56
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08090F56:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, r7
- bls _08090F24
- adds r0, r5, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end pokedex_count
-
- thumb_func_start sub_8090F68
-sub_8090F68: @ 8090F68
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r0, 0
-_08090F72:
- cmp r6, 0
- beq _08090F7E
- cmp r6, 0x1
- beq _08090F90
- adds r4, r0, 0x1
- b _08090FB0
-_08090F7E:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- bl HoennToNationalOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- b _08090FA0
-_08090F90:
- adds r4, r0, 0x1
- lsls r0, r4, 16
- lsrs r0, 16
- bl HoennToNationalOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
-_08090FA0:
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _08090FB0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08090FB0:
- lsls r0, r4, 16
- lsrs r0, 16
- cmp r0, 0xC9
- bls _08090F72
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_8090F68
-
- thumb_func_start sub_8090FC0
-sub_8090FC0: @ 8090FC0
- push {r4,lr}
- movs r0, 0
-_08090FC4:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl HoennToNationalOrder
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- bne _08090FE4
- movs r0, 0
- b _08090FEC
-_08090FE4:
- adds r0, r4, 0
- cmp r0, 0xC7
- bls _08090FC4
- movs r0, 0x1
-_08090FEC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8090FC0
-
- thumb_func_start sub_8090FF4
-sub_8090FF4: @ 8090FF4
- push {r4,r5,lr}
- movs r0, 0
-_08090FF8:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _08091046
- adds r0, r4, 0
- cmp r0, 0x95
- bls _08090FF8
- movs r0, 0x98
-_08091014:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _08091046
- adds r0, r4, 0
- cmp r0, 0xF9
- bls _08091014
- movs r0, 0xFC
- ldr r5, _0809104C
-_08091032:
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- bne _08091050
-_08091046:
- movs r0, 0
- b _08091058
- .align 2, 0
-_0809104C: .4byte 0x0000017f
-_08091050:
- adds r0, r4, 0
- cmp r0, r5
- bls _08091032
- movs r0, 0x1
-_08091058:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8090FF4
-
- thumb_func_start sub_8091060
-sub_8091060: @ 8091060
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r5, r4, 0
- movs r0, 0x80
- lsls r0, 1
- ands r0, r4
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _0809108E
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _0809112C
- ands r0, r1
- strh r0, [r2]
- ldr r0, _08091130
- strh r3, [r0]
- adds r0, 0x8
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
-_0809108E:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r4
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _080910B4
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _08091134
- ands r0, r1
- strh r0, [r2]
- ldr r0, _08091138
- strh r3, [r0]
- adds r0, 0xA
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
-_080910B4:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r4
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _080910DA
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _0809113C
- ands r0, r1
- strh r0, [r2]
- ldr r0, _08091140
- strh r3, [r0]
- adds r0, 0xC
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
-_080910DA:
- movs r0, 0x80
- lsls r0, 4
- ands r0, r4
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- bne _08091100
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _08091144
- ands r0, r1
- strh r0, [r2]
- ldr r0, _08091148
- strh r3, [r0]
- adds r0, 0xE
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
-_08091100:
- movs r0, 0x80
- lsls r0, 5
- ands r5, r0
- cmp r5, 0
- bne _08091124
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _0809114C
- ands r0, r1
- strh r0, [r2]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, _08091150
- movs r0, 0x8
- strb r0, [r1]
-_08091124:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809112C: .4byte 0x0000feff
-_08091130: .4byte REG_BG0CNT
-_08091134: .4byte 0x0000fdff
-_08091138: .4byte REG_BG1CNT
-_0809113C: .4byte 0x0000fbff
-_08091140: .4byte REG_BG2CNT
-_08091144: .4byte 0x0000f7ff
-_08091148: .4byte REG_BG3CNT
-_0809114C: .4byte 0x0000efff
-_08091150: .4byte gReservedSpritePaletteCount
- thumb_func_end sub_8091060
-
- thumb_func_start sub_8091154
-sub_8091154: @ 8091154
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x1]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x2]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- mov r0, sp
- adds r1, r6, 0
- mov r2, r8
- bl MenuPrint
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8091154
-
- thumb_func_start sub_80911C8
-sub_80911C8: @ 80911C8
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- movs r4, 0
- movs r2, 0xFF
-_080911DC:
- mov r1, sp
- adds r0, r1, r4
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xA
- bls _080911DC
- adds r0, r3, 0
- bl NationalPokedexNumToSpecies
- adds r3, r0, 0
- cmp r3, 0
- beq _08091238
- movs r4, 0
- ldr r2, _08091234
- movs r0, 0xB
- adds r1, r3, 0
- muls r1, r0
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0809124C
- adds r3, r2, 0
- adds r2, r1, 0
-_08091212:
- mov r0, sp
- adds r1, r0, r4
- adds r0, r4, r2
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, r2
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0809124C
- cmp r4, 0x9
- bls _08091212
- b _0809124C
- .align 2, 0
-_08091234: .4byte gSpeciesNames
-_08091238:
- movs r4, 0
- movs r1, 0xAE
-_0809123C:
- mov r2, sp
- adds r0, r2, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _0809123C
-_0809124C:
- mov r0, sp
- adds r1, r6, 0
- adds r2, r5, 0
- bl MenuPrint
- adds r0, r4, 0
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80911C8
-
- thumb_func_start sub_8091260
-sub_8091260: @ 8091260
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x28
- adds r4, r3, 0
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080912CC
- mov r0, sp
- bl StringCopy
- adds r6, r0, 0
- mov r0, sp
- strb r4, [r0, 0x2]
- adds r0, r5, 0
- bl NationalPokedexNumToSpecies
- adds r5, r0, 0
- cmp r5, 0
- beq _080912D4
- movs r4, 0
- ldr r2, _080912D0
- movs r0, 0xB
- adds r1, r5, 0
- muls r1, r0
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080912E6
- adds r3, r2, 0
- adds r2, r1, 0
-_080912AC:
- adds r1, r6, r4
- adds r0, r4, r2
- adds r0, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, r2
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080912E6
- cmp r4, 0x9
- bls _080912AC
- b _080912E6
- .align 2, 0
-_080912CC: .4byte gUnknown_083B5558
-_080912D0: .4byte gSpeciesNames
-_080912D4:
- movs r4, 0
- movs r1, 0xAE
-_080912D8:
- adds r0, r6, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080912D8
-_080912E6:
- adds r1, r6, r4
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- mov r1, r8
- adds r2, r7, 0
- bl MenuPrint
- adds r0, r4, 0
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8091260
-
- thumb_func_start sub_8091304
-sub_8091304: @ 8091304
- push {r4-r7,lr}
- sub sp, 0x20
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r12, r1
- lsls r2, 24
- lsrs r7, r2, 24
- movs r4, 0
- ldrb r0, [r3]
- ldr r6, _08091340
- cmp r0, 0xFF
- beq _0809133A
-_0809131E:
- mov r0, sp
- adds r1, r0, r4
- adds r0, r3, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r3, r4
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _0809133A
- cmp r4, 0xA
- bls _0809131E
-_0809133A:
- movs r3, 0
- ldrb r0, [r6]
- b _0809134E
- .align 2, 0
-_08091340: .4byte gDexText_UnknownPoke
-_08091344:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r3, r6
- ldrb r0, [r0]
-_0809134E:
- cmp r0, 0xAC
- beq _08091344
- cmp r0, 0
- beq _08091344
- subs r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r3, r6
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08091388
- adds r5, r6, 0
-_08091366:
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, sp
- adds r2, r0, r1
- adds r1, r3, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r1, r5
- ldrb r0, [r1]
- strb r0, [r2]
- adds r0, r3, r5
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08091366
-_08091388:
- mov r0, sp
- adds r1, r0, r4
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- mov r1, r12
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_8072B80
- add sp, 0x20
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8091304
-
- thumb_func_start unref_sub_80913A4
-unref_sub_80913A4: @ 80913A4
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r5, 0
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080913CE
- mov r0, sp
- strb r5, [r0]
- b _080913D6
-_080913CE:
- mov r1, sp
- adds r0, 0xA1
- strb r0, [r1]
- movs r5, 0x1
-_080913D6:
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080913FC
- cmp r5, 0
- bne _080913FC
- mov r0, sp
- strb r5, [r0, 0x1]
- b _08091402
-_080913FC:
- mov r1, sp
- adds r0, 0xA1
- strb r0, [r1, 0x1]
-_08091402:
- mov r5, sp
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r5, 0x2]
- mov r1, sp
- movs r0, 0xAD
- strb r0, [r1, 0x3]
- mov r5, sp
- adds r0, r4, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r5, 0x4]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- mov r0, sp
- adds r1, r7, 0
- adds r2, r6, 0
- bl MenuPrint
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80913A4
-
- thumb_func_start sub_8091458
-sub_8091458: @ 8091458
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r1, _080914D4
- muls r0, r1
- movs r1, 0xFE
- bl __divsi3
- adds r7, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _0809148A
- adds r7, 0xA
-_0809148A:
- adds r0, r7, 0
- movs r1, 0x78
- bl __udivsi3
- adds r6, r0, 0
- lsls r0, r6, 4
- subs r0, r6
- lsls r0, 3
- subs r0, r7, r0
- movs r1, 0xA
- bl __udivsi3
- adds r7, r0, 0
- mov r1, sp
- movs r0, 0xFC
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x13
- strb r0, [r1]
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- adds r2, r0, 0
- cmp r2, 0
- bne _080914D8
- mov r1, sp
- adds r1, 0x2
- movs r0, 0x12
- strb r0, [r1]
- movs r5, 0x4
- adds r1, 0x1
- adds r0, r6, 0
- adds r0, 0xA1
- strb r0, [r1]
- b _080914F8
- .align 2, 0
-_080914D4: .4byte 0x00002710
-_080914D8:
- mov r1, sp
- adds r1, 0x2
- movs r0, 0xC
- strb r0, [r1]
- adds r1, 0x1
- adds r0, r2, 0
- adds r0, 0xA1
- strb r0, [r1]
- movs r5, 0x5
- add r4, sp, 0x4
- adds r0, r6, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
-_080914F8:
- adds r1, r5, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, r5, 0
- add r1, sp
- movs r0, 0xB4
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- mov r0, sp
- adds r4, r0, r2
- adds r0, r7, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, sp
- adds r4, r1, r6
- adds r0, r7, 0
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- adds r2, r1, r5
- movs r1, 0xB2
- strb r1, [r2]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- mov r1, r9
- mov r2, r8
- bl MenuPrint
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8091458
-
- thumb_func_start sub_8091564
-sub_8091564: @ 8091564
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x10]
- ldr r7, _080915BC
- muls r0, r7
- ldr r1, _080915C0
- bl __divsi3
- adds r6, r0, 0
- movs r1, 0xA
- bl __umodsi3
- cmp r0, 0x4
- bls _08091598
- adds r6, 0xA
-_08091598:
- movs r5, 0
- mov r4, sp
- adds r0, r6, 0
- adds r1, r7, 0
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _080915C4
- mov r0, sp
- strb r5, [r0]
- movs r7, 0x2
- adds r0, 0x1
- strb r5, [r0]
- b _080915C8
- .align 2, 0
-_080915BC: .4byte 0x000186a0
-_080915C0: .4byte 0x000011b8
-_080915C4:
- movs r5, 0x1
- movs r7, 0x1
-_080915C8:
- ldr r1, _0809160C
- adds r0, r6, 0
- bl __umodsi3
- adds r6, r0, 0
- mov r0, sp
- adds r4, r0, r7
- ldr r1, _08091610
- adds r0, r6, 0
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _08091614
- cmp r5, 0
- bne _08091614
- adds r1, r7, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r2, r7, 0
- mov r3, sp
- adds r0, r3, r1
- strb r5, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r3, r2
- strb r5, [r0]
- b _0809161C
- .align 2, 0
-_0809160C: .4byte 0x000186a0
-_08091610: .4byte 0x00002710
-_08091614:
- movs r5, 0x1
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_0809161C:
- ldr r1, _08091660
- adds r0, r6, 0
- bl __umodsi3
- adds r6, r0, 0
- mov r0, sp
- adds r4, r0, r7
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r6, 0
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA1
- bne _08091664
- cmp r5, 0
- bne _08091664
- adds r1, r7, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r2, r7, 0
- mov r3, sp
- adds r0, r3, r1
- strb r5, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r3, r2
- strb r5, [r0]
- b _0809166A
- .align 2, 0
-_08091660: .4byte 0x00002710
-_08091664:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_0809166A:
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r6, 0
- bl __umodsi3
- adds r6, r0, 0
- adds r1, r7, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r5, r7, 0
- mov r0, sp
- adds r4, r0, r1
- adds r0, r6, 0
- movs r1, 0x64
- bl __udivsi3
- adds r0, 0xA1
- movs r1, 0
- mov r9, r1
- strb r0, [r4]
- adds r0, r6, 0
- movs r1, 0x64
- bl __umodsi3
- adds r6, r0, 0
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r1, r7, 0
- mov r2, sp
- adds r0, r2, r5
- movs r3, 0xAD
- mov r8, r3
- mov r2, r8
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r5, r7, 0
- mov r3, sp
- adds r4, r3, r1
- adds r0, r6, 0
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0xA1
- strb r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r1, r7, 0
- mov r2, sp
- adds r0, r2, r5
- mov r3, r9
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r2, r7, 0
- add r1, sp
- movs r0, 0xE0
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r3, r7, 0
- mov r0, sp
- adds r1, r0, r2
- movs r0, 0xD6
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r2, r7, 0
- mov r0, sp
- adds r1, r0, r3
- movs r0, 0xE7
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r3, sp
- adds r1, r3, r2
- mov r2, r8
- strb r2, [r1]
- adds r1, r3, r0
- movs r0, 0xFF
- strb r0, [r1]
- mov r0, sp
- mov r1, r10
- ldr r2, [sp, 0x10]
- bl MenuPrint
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8091564
-
- thumb_func_start sub_8091738
-sub_8091738: @ 8091738
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x80
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r6, _080917C8
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r0, 14
- adds r0, r6
- ldr r0, [r0]
- mov r12, r0
- movs r7, 0
- movs r1, 0
- lsls r4, 14
- mov r8, r4
- lsls r5, 5
-_0809176A:
- mov r2, r12
- adds r0, r2, r1
- ldrb r3, [r0]
- movs r6, 0
- adds r4, r1, 0x1
-_08091774:
- lsls r1, r6, 1
- adds r2, r3, 0
- asrs r2, r1
- movs r0, 0x1
- ands r2, r0
- movs r0, 0x2
- lsls r0, r1
- ands r0, r3
- cmp r0, 0
- beq _0809178C
- movs r0, 0x10
- orrs r2, r0
-_0809178C:
- mov r1, sp
- adds r0, r1, r7
- strb r2, [r0]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _08091774
- lsls r0, r4, 16
- lsrs r1, r0, 16
- cmp r1, 0x1F
- bls _0809176A
- movs r1, 0xC0
- lsls r1, 19
- adds r1, r5, r1
- add r1, r8
- mov r0, sp
- movs r2, 0x40
- bl CpuSet
- add sp, 0x80
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080917C8: .4byte gMonFootprintTable
- thumb_func_end sub_8091738
-
- thumb_func_start sub_80917CC
-sub_80917CC: @ 80917CC
- push {r4,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsrs r0, 5
- ldr r2, _08091808
- adds r3, r0, r2
- movs r4, 0xF0
- lsls r4, 8
- adds r2, r1, r4
- strh r2, [r3]
- ldr r2, _0809180C
- adds r3, r0, r2
- adds r4, 0x1
- adds r2, r1, r4
- strh r2, [r3]
- ldr r2, _08091810
- adds r3, r0, r2
- adds r4, 0x1
- adds r2, r1, r4
- strh r2, [r3]
- ldr r2, _08091814
- adds r0, r2
- adds r4, 0x1
- adds r1, r4
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08091808: .4byte 0x06000232
-_0809180C: .4byte 0x06000234
-_08091810: .4byte 0x06000272
-_08091814: .4byte 0x06000274
- thumb_func_end sub_80917CC
-
- thumb_func_start sub_8091818
-sub_8091818: @ 8091818
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- lsls r1, 16
- lsrs r0, r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- cmp r4, 0x1
- beq _08091844
- cmp r4, 0x1
- bgt _0809183A
- cmp r4, 0
- beq _0809184C
- b _0809186C
-_0809183A:
- cmp r5, 0x2
- beq _0809185E
- cmp r5, 0x3
- beq _08091852
- b _0809186C
-_08091844:
- cmp r0, r2
- bls _0809186C
- subs r0, 0x1
- b _08091864
-_0809184C:
- cmp r0, r3
- bcs _0809186C
- b _08091862
-_08091852:
- cmp r0, r2
- bls _0809185A
- subs r0, 0x1
- b _08091864
-_0809185A:
- adds r0, r3, 0
- b _0809186C
-_0809185E:
- cmp r0, r3
- bcs _0809186A
-_08091862:
- adds r0, 0x1
-_08091864:
- lsls r0, 16
- lsrs r0, 16
- b _0809186C
-_0809186A:
- adds r0, r2, 0
-_0809186C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8091818
-
- thumb_func_start nullsub_59
-nullsub_59: @ 8091874
- bx lr
- thumb_func_end nullsub_59
-
- thumb_func_start sub_8091878
-sub_8091878: @ 8091878
- push {r4-r7,lr}
- lsls r1, 24
- ldr r4, _080918A0
- adds r3, r4, 0
- ldr r2, _080918A4
- ldm r2!, {r5-r7}
- stm r3!, {r5-r7}
- ldm r2!, {r5-r7}
- stm r3!, {r5-r7}
- strh r0, [r4, 0x2]
- ldr r0, _080918A8
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- str r0, [r4, 0xC]
- ldr r0, _080918AC
- str r0, [r4, 0x8]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080918A0: .4byte gUnknown_02024E8C
-_080918A4: .4byte gUnknown_083B57A4
-_080918A8: .4byte gUnknown_083B5794
-_080918AC: .4byte gSpriteAnimTable_81E7C64
- thumb_func_end sub_8091878
-
- thumb_func_start sub_80918B0
-sub_80918B0: @ 80918B0
- push {r4-r7,lr}
- lsls r1, 24
- ldr r4, _080918DC
- adds r3, r4, 0
- ldr r2, _080918E0
- ldm r2!, {r5-r7}
- stm r3!, {r5-r7}
- ldm r2!, {r5-r7}
- stm r3!, {r5-r7}
- strh r0, [r4, 0x2]
- ldr r0, _080918E4
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- str r0, [r4, 0xC]
- ldr r0, _080918E8
- ldr r0, [r0]
- str r0, [r4, 0x8]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080918DC: .4byte gUnknown_02024E8C
-_080918E0: .4byte gUnknown_083B57A4
-_080918E4: .4byte gUnknown_083B5794
-_080918E8: .4byte gUnknown_081EC2A4
- thumb_func_end sub_80918B0
-
- thumb_func_start sub_80918EC
-sub_80918EC: @ 80918EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 16
- lsrs r2, 16
- mov r10, r2
- lsls r3, 16
- lsrs r3, 16
- mov r8, r3
- adds r0, r7, 0
- bl NationalPokedexNumToSpecies
- adds r7, r0, 0
- cmp r7, SPECIES_UNOWN
- beq _0809199C
- movs r0, 0x9A
- lsls r0, 1
- cmp r7, r0
- beq _08091958
- lsls r6, r7, 3
- ldr r0, _0809194C
- adds r0, r6, r0
- ldr r1, _08091950
- lsls r2, r7, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08091954
- mov r12, r4
- mov r5, r8
- lsls r4, r5, 2
- add r4, r12
- ldr r4, [r4]
- str r4, [sp]
- str r7, [sp, 0x4]
- bl DecompressPicFromTable_2
- b _080919CE
- .align 2, 0
-_0809194C: .4byte gMonFrontPicTable
-_08091950: .4byte gMonFrontPicCoords
-_08091954: .4byte gUnknown_083B5584
-_08091958:
- lsls r6, r7, 3
- ldr r0, _0809198C
- adds r0, r6
- ldr r2, _08091990
- lsls r1, r7, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08091994
- mov r12, r4
- mov r5, r8
- lsls r4, r5, 2
- add r4, r12
- ldr r4, [r4]
- str r4, [sp]
- str r7, [sp, 0x4]
- ldr r4, _08091998
- ldr r4, [r4, 0x20]
- str r4, [sp, 0x8]
- movs r4, 0x1
- str r4, [sp, 0xC]
- bl sub_800D378
- b _080919CE
- .align 2, 0
-_0809198C: .4byte gMonFrontPicTable
-_08091990: .4byte gMonFrontPicCoords
-_08091994: .4byte gUnknown_083B5584
-_08091998: .4byte gSaveBlock2
-_0809199C:
- lsls r6, r7, 3
- ldr r0, _08091A30
- adds r0, r6
- ldr r2, _08091A34
- lsls r1, r7, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08091A38
- mov r12, r4
- mov r5, r8
- lsls r4, r5, 2
- add r4, r12
- ldr r4, [r4]
- str r4, [sp]
- str r7, [sp, 0x4]
- ldr r4, _08091A3C
- ldr r4, [r4, 0x1C]
- str r4, [sp, 0x8]
- movs r4, 0x1
- str r4, [sp, 0xC]
- bl sub_800D378
-_080919CE:
- ldr r0, _08091A40
- adds r0, r6, r0
- ldr r0, [r0]
- mov r1, r8
- lsls r4, r1, 4
- movs r2, 0x80
- lsls r2, 1
- adds r1, r4, r2
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x20
- bl LoadCompressedPalette
- mov r3, r8
- lsls r1, r3, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_8091878
- ldr r0, _08091A44
- mov r5, r9
- lsls r1, r5, 16
- asrs r1, 16
- mov r3, r10
- lsls r2, r3, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08091A48
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- orrs r1, r4
- strb r1, [r2, 0x5]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08091A30: .4byte gMonFrontPicTable
-_08091A34: .4byte gMonFrontPicCoords
-_08091A38: .4byte gUnknown_083B5584
-_08091A3C: .4byte gSaveBlock2
-_08091A40: .4byte gMonPaletteTable
-_08091A44: .4byte gUnknown_02024E8C
-_08091A48: .4byte gSprites
- thumb_func_end sub_80918EC
-
- thumb_func_start sub_8091A4C
-sub_8091A4C: @ 8091A4C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- mov r9, r3
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r1, r9
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r0, r5, 3
- ldr r1, _08091AE4
- adds r0, r1
- ldr r1, _08091AE8
- lsls r2, r5, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08091AEC
- ldr r4, [r4]
- str r4, [sp]
- str r5, [sp, 0x4]
- bl DecompressPicFromTable_2
- adds r0, r5, 0
- movs r1, 0
- bl sub_80918B0
- ldr r0, _08091AF0
- lsls r6, 16
- asrs r6, 16
- mov r3, r8
- lsls r3, 16
- asrs r3, 16
- mov r8, r3
- adds r1, r6, 0
- mov r2, r8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08091AF4
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- mov r1, r9
- lsls r1, 4
- mov r9, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xF
- ands r1, r3
- mov r3, r9
- orrs r1, r3
- strb r1, [r2, 0x5]
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08091AE4: .4byte gTrainerFrontPicTable
-_08091AE8: .4byte gTrainerFrontPicCoords
-_08091AEC: .4byte gUnknown_083B5584
-_08091AF0: .4byte gUnknown_02024E8C
-_08091AF4: .4byte gSprites
- thumb_func_end sub_8091A4C
-
- thumb_func_start sub_8091AF8
-sub_8091AF8: @ 8091AF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r4, [sp, 0x34]
- ldr r5, [sp, 0x38]
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0x4]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x8]
- lsls r5, 24
- lsrs r5, 24
- mov r10, r5
- bl sub_808D690
- movs r5, 0
- movs r6, 0
- ldr r4, _08091D08
- ldr r3, _08091D0C
-_08091B32:
- ldr r2, [r3]
- lsls r0, r5, 2
- adds r1, r2, r0
- ldrb r0, [r1, 0x2]
- lsls r0, 31
- cmp r0, 0
- beq _08091B4E
- lsls r0, r6, 2
- adds r0, r2, r0
- ldr r1, [r1]
- str r1, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08091B4E:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r4
- bls _08091B32
- ldr r1, _08091D0C
- ldr r0, [r1]
- ldr r2, _08091D10
- adds r0, r2
- adds r1, r6, 0
- strh r6, [r0]
- cmp r7, 0xFF
- beq _08091C04
- movs r5, 0
- lsls r0, r1, 16
- movs r6, 0
- cmp r0, 0
- beq _08091BFA
- lsls r7, 2
- ldr r0, _08091D14
- adds r0, 0x3
- adds r0, r7, r0
- str r0, [sp, 0xC]
- ldr r0, _08091D14
- adds r0, r7
- mov r9, r0
-_08091B82:
- ldr r1, _08091D0C
- ldr r0, [r1]
- lsls r4, r5, 2
- adds r0, r4
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, _08091D18
- movs r0, 0xB
- muls r0, r2
- adds r0, r1
- ldrb r2, [r0]
- adds r3, r2, 0
- mov r0, r9
- ldrb r0, [r0]
- cmp r2, r0
- bcc _08091BBA
- mov r1, r9
- ldrb r0, [r1]
- ldr r1, _08091D14
- adds r1, 0x1
- adds r1, r7, r1
- ldrb r1, [r1]
- adds r0, r1
- cmp r2, r0
- blt _08091BD2
-_08091BBA:
- ldr r0, _08091D14
- adds r0, 0x2
- adds r0, r7, r0
- ldrb r2, [r0]
- cmp r3, r2
- bcc _08091BE6
- ldrb r1, [r0]
- ldr r2, [sp, 0xC]
- ldrb r0, [r2]
- adds r1, r0
- cmp r3, r1
- bge _08091BE6
-_08091BD2:
- ldr r2, _08091D0C
- ldr r0, [r2]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08091BE6:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _08091D0C
- ldr r0, [r1]
- ldr r2, _08091D10
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _08091B82
-_08091BFA:
- ldr r1, _08091D0C
- ldr r0, [r1]
- ldr r2, _08091D10
- adds r0, r2
- strh r6, [r0]
-_08091C04:
- ldr r0, [sp, 0x4]
- cmp r0, 0xFF
- beq _08091C74
- movs r5, 0
- movs r6, 0
- ldr r1, _08091D0C
- ldr r0, [r1]
- ldr r2, _08091D10
- adds r0, r2
- ldrh r0, [r0]
- cmp r6, r0
- bcs _08091C6A
- adds r7, r1, 0
- ldr r0, _08091D1C
- mov r8, r0
-_08091C22:
- ldr r0, [r7]
- lsls r4, r5, 2
- adds r0, r4
- ldrh r0, [r0]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- add r0, r8
- ldrb r0, [r0, 0x19]
- lsls r0, 25
- lsrs r0, 25
- ldr r1, [sp, 0x4]
- cmp r1, r0
- bne _08091C58
- ldr r0, [r7]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08091C58:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, [r7]
- ldr r2, _08091D10
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _08091C22
-_08091C6A:
- ldr r1, _08091D0C
- ldr r0, [r1]
- ldr r2, _08091D10
- adds r0, r2
- strh r6, [r0]
-_08091C74:
- ldr r0, [sp, 0x8]
- cmp r0, 0xFF
- bne _08091C8A
- mov r1, r10
- cmp r1, 0xFF
- bne _08091C82
- b _08091DA6
-_08091C82:
- mov r2, r10
- str r2, [sp, 0x8]
- movs r0, 0xFF
- mov r10, r0
-_08091C8A:
- mov r1, r10
- cmp r1, 0xFF
- bne _08091D20
- movs r5, 0
- movs r6, 0
- ldr r2, _08091D0C
- ldr r0, [r2]
- ldr r1, _08091D10
- adds r0, r1
- ldrh r0, [r0]
- cmp r6, r0
- bcs _08091D9C
- adds r3, r2, 0
- mov r7, sp
- mov r8, r2
-_08091CA8:
- ldr r0, [r3]
- lsls r4, r5, 2
- adds r1, r0, r4
- ldrb r0, [r1, 0x2]
- lsls r0, 30
- cmp r0, 0
- bge _08091CF2
- ldrh r0, [r1]
- str r3, [sp, 0x10]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, _08091D1C
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- strb r1, [r7]
- ldrb r0, [r0, 0x7]
- strb r0, [r7, 0x1]
- ldr r3, [sp, 0x10]
- ldr r2, [sp, 0x8]
- cmp r1, r2
- beq _08091CE0
- cmp r0, r2
- bne _08091CF2
-_08091CE0:
- ldr r0, [r3]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08091CF2:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _08091D10
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _08091CA8
- b _08091D9C
- .align 2, 0
-_08091D08: .4byte 0x00000181
-_08091D0C: .4byte gUnknown_0202FFB4
-_08091D10: .4byte 0x0000060c
-_08091D14: .4byte gUnknown_083B57BC
-_08091D18: .4byte gSpeciesNames
-_08091D1C: .4byte gBaseStats
-_08091D20:
- movs r5, 0
- movs r6, 0
- ldr r1, _08091E0C
- ldr r0, [r1]
- ldr r2, _08091E10
- adds r0, r2
- ldrh r0, [r0]
- cmp r6, r0
- bcs _08091D9C
- mov r7, sp
-_08091D34:
- ldr r0, [r1]
- lsls r1, r5, 2
- adds r2, r0, r1
- ldrb r0, [r2, 0x2]
- lsls r0, 30
- adds r4, r1, 0
- cmp r0, 0
- bge _08091D88
- ldrh r0, [r2]
- bl NationalPokedexNumToSpecies
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r1, _08091E14
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x6]
- strb r1, [r7]
- ldrb r0, [r0, 0x7]
- strb r0, [r7, 0x1]
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bne _08091D6A
- cmp r0, r10
- beq _08091D74
-_08091D6A:
- cmp r1, r10
- bne _08091D88
- ldr r1, [sp, 0x8]
- cmp r0, r1
- bne _08091D88
-_08091D74:
- ldr r2, _08091E0C
- ldr r0, [r2]
- lsls r1, r6, 2
- adds r1, r0, r1
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08091D88:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _08091E0C
- ldr r0, [r1]
- ldr r2, _08091E10
- adds r0, r2
- ldrh r0, [r0]
- cmp r5, r0
- bcc _08091D34
-_08091D9C:
- ldr r1, _08091E0C
- ldr r0, [r1]
- ldr r2, _08091E10
- adds r0, r2
- strh r6, [r0]
-_08091DA6:
- ldr r1, _08091E0C
- ldr r0, [r1]
- ldr r2, _08091E10
- adds r1, r0, r2
- ldrh r0, [r1]
- cmp r0, 0
- beq _08091DFA
- adds r5, r0, 0
- ldr r0, _08091E18
- cmp r5, r0
- bhi _08091DFA
- ldr r4, _08091E0C
- movs r1, 0x2
- negs r1, r1
- mov r10, r1
- movs r2, 0x3
- negs r2, r2
- mov r9, r2
- mov r8, r0
- ldr r0, _08091E1C
- adds r7, r0, 0
-_08091DD0:
- ldr r1, [r4]
- lsls r3, r5, 2
- adds r1, r3
- ldrh r0, [r1]
- orrs r0, r7
- strh r0, [r1]
- ldrb r2, [r1, 0x2]
- mov r0, r10
- ands r0, r2
- strb r0, [r1, 0x2]
- ldr r1, [r4]
- adds r1, r3
- ldrb r2, [r1, 0x2]
- mov r0, r9
- ands r0, r2
- strb r0, [r1, 0x2]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bls _08091DD0
-_08091DFA:
- adds r0, r6, 0
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08091E0C: .4byte gUnknown_0202FFB4
-_08091E10: .4byte 0x0000060c
-_08091E14: .4byte gBaseStats
-_08091E18: .4byte 0x00000181
-_08091E1C: .4byte 0x0000ffff
- thumb_func_end sub_8091AF8
-
- thumb_func_start sub_8091E20
-sub_8091E20: @ 8091E20
- push {lr}
- sub sp, 0x8
- movs r1, 0x20
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- movs r1, 0x9
- movs r2, 0x78
- movs r3, 0xD0
- bl sub_8072AB0
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_8091E20
-
- thumb_func_start sub_8091E3C
-sub_8091E3C: @ 8091E3C
- push {lr}
- ldr r0, _08091E50
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08091E50: .4byte sub_8091E54
- thumb_func_end sub_8091E3C
-
- thumb_func_start sub_8091E54
-sub_8091E54: @ 8091E54
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _08091E78
- ldr r2, _08091E7C
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x4
- bhi _08091E98
- lsls r0, 2
- ldr r1, _08091E80
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08091E78: .4byte gMain
-_08091E7C: .4byte 0x0000043c
-_08091E80: .4byte _08091E84
- .align 2, 0
-_08091E84:
- .4byte _08091E98
- .4byte _08091F50
- .4byte _08091FC0
- .4byte _08091FE0
- .4byte _0809200C
-_08091E98:
- ldr r0, _08091F1C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08091EA6
- b _08092030
-_08091EA6:
- ldr r0, _08091F20
- ldr r0, [r0]
- ldr r1, _08091F24
- adds r0, r1
- movs r1, 0x2
- strb r1, [r0]
- movs r0, 0
- bl sub_8091060
- ldr r0, _08091F28
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r0, _08091F2C
- ldr r1, _08091F30
- bl LZ77UnCompVram
- ldr r0, _08091F34
- movs r1, 0x1
- movs r2, 0x7E
- bl LoadPalette
- bl sub_806912C
- cmp r0, 0
- bne _08091F10
- movs r4, 0
- ldr r2, _08091F38
- mov r8, r2
- ldr r0, _08091F3C
- mov r12, r0
- movs r5, 0x1
- ldr r7, _08091F40
- ldr r6, _08091F44
-_08091EEC:
- lsls r1, r4, 1
- mov r0, r8
- adds r2, r1, r0
- mov r0, r12
- adds r3, r1, r0
- ldrh r0, [r3]
- strh r0, [r2]
- adds r2, r1, r7
- adds r1, r6
- ldrh r0, [r1]
- strh r0, [r2]
- strh r5, [r3]
- strh r5, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x10
- bls _08091EEC
-_08091F10:
- ldr r0, _08091F48
- ldr r1, _08091F4C
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- b _08092030
- .align 2, 0
-_08091F1C: .4byte gPaletteFade
-_08091F20: .4byte gUnknown_0202FFB4
-_08091F24: .4byte 0x0000064a
-_08091F28: .4byte gPokedexMenuSearch_Gfx
-_08091F2C: .4byte gUnknown_08E96D2C
-_08091F30: .4byte 0x06007800
-_08091F34: .4byte gPokedexMenuSearch_Pal + 0x2
-_08091F38: .4byte 0x06007a80
-_08091F3C: .4byte 0x06007b00
-_08091F40: .4byte 0x06007ac0
-_08091F44: .4byte 0x06007b40
-_08091F48: .4byte gMain
-_08091F4C: .4byte 0x0000043c
-_08091F50:
- ldr r4, _08091FA8
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- ldr r0, _08091FAC
- bl LoadCompressedObjectPic
- ldr r0, _08091FB0
- bl LoadSpritePalettes
- adds r0, r5, 0
- bl sub_809308C
- movs r4, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r1, r0, 3
- ldr r3, _08091FB4
- movs r2, 0
-_08091F7C:
- lsls r0, r4, 1
- adds r0, r1
- adds r0, r3
- strh r2, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _08091F7C
- adds r0, r5, 0
- bl sub_8092EB0
- movs r0, 0
- bl sub_8092AB0
- adds r0, r5, 0
- bl sub_8092B68
- ldr r1, _08091FB8
- ldr r2, _08091FBC
- adds r1, r2
- b _08091FF6
- .align 2, 0
-_08091FA8: .4byte gWindowConfig_81E7064
-_08091FAC: .4byte gUnknown_083A05CC
-_08091FB0: .4byte gUnknown_083A05DC
-_08091FB4: .4byte gUnknown_03004B28
-_08091FB8: .4byte gMain
-_08091FBC: .4byte 0x0000043c
-_08091FC0:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _08091FD8
- ldr r0, _08091FDC
- adds r1, r0
- b _08091FF6
- .align 2, 0
-_08091FD8: .4byte gMain
-_08091FDC: .4byte 0x0000043c
-_08091FE0:
- ldr r1, _08092000
- ldr r2, _08092004
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xE
- movs r2, 0xE2
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08092008
- adds r1, r3, r0
-_08091FF6:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08092030
- .align 2, 0
-_08092000: .4byte REG_BG3CNT
-_08092004: .4byte 0x00000f03
-_08092008: .4byte 0x0000043c
-_0809200C:
- ldr r0, _0809203C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _08092030
- ldr r1, _08092040
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _08092044
- str r1, [r0]
- ldr r1, _08092048
- adds r0, r3, r1
- strb r2, [r0]
-_08092030:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809203C: .4byte gPaletteFade
-_08092040: .4byte gTasks
-_08092044: .4byte sub_809204C
-_08092048: .4byte 0x0000043c
- thumb_func_end sub_8091E54
-
- thumb_func_start sub_809204C
-sub_809204C: @ 809204C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _08092074
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r0, [r4, 0x8]
- bl sub_8092AB0
- adds r0, r5, 0
- bl sub_8092B68
- ldr r0, _08092078
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08092074: .4byte gTasks
-_08092078: .4byte sub_809207C
- thumb_func_end sub_809204C
-
- thumb_func_start sub_809207C
-sub_809207C: @ 809207C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080920A4
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080920B0
- movs r0, 0x3
- bl PlaySE
- ldr r0, _080920A8
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080920AC
- str r0, [r1]
- b _0809216C
- .align 2, 0
-_080920A4: .4byte gMain
-_080920A8: .4byte gTasks
-_080920AC: .4byte sub_80927B8
-_080920B0:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809210C
- ldr r1, _080920D4
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r4, [r5, r0]
- cmp r4, 0x1
- beq _080920E8
- cmp r4, 0x1
- bgt _080920D8
- cmp r4, 0
- beq _080920DE
- b _0809216C
- .align 2, 0
-_080920D4: .4byte gTasks
-_080920D8:
- cmp r4, 0x2
- beq _080920FC
- b _0809216C
-_080920DE:
- movs r0, 0x15
- bl PlaySE
- strh r4, [r5, 0xA]
- b _080920F2
-_080920E8:
- movs r0, 0x15
- bl PlaySE
- movs r0, 0x4
- strh r0, [r5, 0xA]
-_080920F2:
- ldr r0, _080920F8
- str r0, [r5]
- b _0809216C
- .align 2, 0
-_080920F8: .4byte sub_809217C
-_080920FC:
- movs r0, 0x3
- bl PlaySE
- ldr r0, _08092108
- str r0, [r5]
- b _0809216C
- .align 2, 0
-_08092108: .4byte sub_80927B8
-_0809210C:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809213A
- ldr r0, _08092174
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- ble _0809213A
- movs r0, 0x6D
- bl PlaySE
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092AB0
-_0809213A:
- ldr r0, _08092178
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809216C
- ldr r0, _08092174
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bgt _0809216C
- movs r0, 0x6D
- bl PlaySE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092AB0
-_0809216C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08092174: .4byte gTasks
-_08092178: .4byte gMain
- thumb_func_end sub_809207C
-
- thumb_func_start sub_809217C
-sub_809217C: @ 809217C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080921A8
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r0, [r4, 0x8]
- ldrb r1, [r4, 0xA]
- bl sub_8092AD4
- adds r0, r5, 0
- bl sub_8092B68
- ldr r0, _080921AC
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080921A8: .4byte gTasks
-_080921AC: .4byte sub_80921B0
- thumb_func_end sub_809217C
-
- thumb_func_start sub_80921B0
-sub_80921B0: @ 80921B0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080921D8
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080921E4
- bl sub_806912C
- ldr r6, _080921DC
- cmp r0, 0
- bne _080921F0
- ldr r6, _080921E0
- b _080921F0
- .align 2, 0
-_080921D8: .4byte gTasks
-_080921DC: .4byte gUnknown_083B586C
-_080921E0: .4byte gUnknown_083B58A4
-_080921E4:
- bl sub_806912C
- ldr r6, _0809221C
- cmp r0, 0
- bne _080921F0
- ldr r6, _08092220
-_080921F0:
- ldr r0, _08092224
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _08092230
- movs r0, 0x17
- bl PlaySE
- adds r0, r5, 0
- bl sub_8092EB0
- ldr r0, _08092228
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0809222C
- str r0, [r1]
- b _080923EC
- .align 2, 0
-_0809221C: .4byte gUnknown_083B5850
-_08092220: .4byte gUnknown_083B5888
-_08092224: .4byte gMain
-_08092228: .4byte gTasks
-_0809222C: .4byte sub_809204C
-_08092230:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08092300
- ldr r0, _080922B4
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r6, r1, r0
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- cmp r0, 0x6
- bne _080922F0
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080922D4
- ldr r1, _080922B8
- movs r0, 0x40
- strb r0, [r1]
- ldr r7, _080922BC
- ldr r1, [r7]
- ldr r0, _080922C0
- adds r2, r1, r0
- movs r0, 0x40
- strh r0, [r2]
- ldr r0, _080922C4
- strh r3, [r0]
- movs r2, 0xC2
- lsls r2, 3
- adds r1, r2
- strh r3, [r1]
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_8092E10
- ldr r4, _080922C8
- strb r0, [r4, 0x19]
- bl sub_806912C
- cmp r0, 0
- bne _08092288
- movs r0, 0
- strb r0, [r4, 0x19]
-_08092288:
- ldr r0, [r7]
- ldrb r1, [r4, 0x19]
- ldr r2, _080922CC
- adds r0, r2
- strh r1, [r0]
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_8092E10
- strb r0, [r4, 0x18]
- ldr r0, [r7]
- ldrb r1, [r4, 0x18]
- movs r2, 0xC3
- lsls r2, 3
- adds r0, r2
- strh r1, [r0]
- movs r0, 0x3
- bl PlaySE
- ldr r0, _080922D0
- str r0, [r6]
- b _080923EC
- .align 2, 0
-_080922B4: .4byte gTasks
-_080922B8: .4byte gUnknown_0202FFBA
-_080922BC: .4byte gUnknown_0202FFB4
-_080922C0: .4byte 0x0000062a
-_080922C4: .4byte gUnknown_0202FFB8
-_080922C8: .4byte gSaveBlock2
-_080922CC: .4byte 0x00000614
-_080922D0: .4byte sub_80927B8
-_080922D4:
- ldr r0, _080922E8
- bl sub_8091E20
- ldr r0, _080922EC
- str r0, [r6]
- movs r0, 0x70
- bl PlaySE
- b _080923EC
- .align 2, 0
-_080922E8: .4byte gDexText_Searching
-_080922EC: .4byte sub_80923FC
-_080922F0:
- movs r0, 0x15
- bl PlaySE
- ldr r0, _080922FC
- str r0, [r6]
- b _080923EC
- .align 2, 0
-_080922FC: .4byte sub_80925CC
-_08092300:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08092338
- ldr r1, _080923F4
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08092338
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_8092AD4
-_08092338:
- ldr r0, _080923F8
- ldrh r1, [r0, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08092374
- ldr r1, _080923F4
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x1]
- cmp r0, 0xFF
- beq _08092374
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x1]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_8092AD4
-_08092374:
- ldr r0, _080923F8
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080923B0
- ldr r1, _080923F4
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x2]
- cmp r0, 0xFF
- beq _080923B0
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x2]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_8092AD4
-_080923B0:
- ldr r0, _080923F8
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080923EC
- ldr r1, _080923F4
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0, 0x3]
- cmp r0, 0xFF
- beq _080923EC
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x3]
- strh r1, [r4, 0xA]
- ldrb r0, [r4, 0x8]
- bl sub_8092AD4
-_080923EC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080923F4: .4byte gTasks
-_080923F8: .4byte gMain
- thumb_func_end sub_80921B0
-
- thumb_func_start sub_80923FC
-sub_80923FC: @ 80923FC
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_8092E10
- mov r10, r0
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_8092E10
- mov r9, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- adds r0, r5, 0
- movs r1, 0
- bl sub_8092E10
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8092E10
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8092E10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_8092E10
- lsls r0, 24
- lsrs r0, 24
- str r4, [sp]
- str r0, [sp, 0x4]
- mov r0, r10
- mov r1, r9
- mov r2, r8
- adds r3, r6, 0
- bl sub_8091AF8
- ldr r1, _0809249C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080924A0
- str r1, [r0]
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809249C: .4byte gTasks
-_080924A0: .4byte sub_80924A4
- thumb_func_end sub_80923FC
-
- thumb_func_start sub_80924A4
-sub_80924A4: @ 80924A4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsSEPlaying
- lsls r0, 24
- cmp r0, 0
- bne _080924F6
- ldr r0, _080924D0
- ldr r0, [r0]
- ldr r1, _080924D4
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080924DC
- movs r0, 0x1F
- bl PlaySE
- ldr r0, _080924D8
- bl sub_8091E20
- b _080924E8
- .align 2, 0
-_080924D0: .4byte gUnknown_0202FFB4
-_080924D4: .4byte 0x0000060c
-_080924D8: .4byte gDexText_SearchComplete
-_080924DC:
- movs r0, 0x20
- bl PlaySE
- ldr r0, _080924FC
- bl sub_8091E20
-_080924E8:
- ldr r0, _08092500
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08092504
- str r0, [r1]
-_080924F6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080924FC: .4byte gDexText_NoMatching
-_08092500: .4byte gTasks
-_08092504: .4byte sub_8092508
- thumb_func_end sub_80924A4
-
- thumb_func_start sub_8092508
-sub_8092508: @ 8092508
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, r4, 0
- ldr r0, _08092570
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080925A4
- ldr r5, _08092574
- ldr r1, [r5]
- ldr r3, _08092578
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _08092590
- ldr r0, _0809257C
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x5
- bl sub_8092E10
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08092580
- adds r1, r2
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0x4
- bl sub_8092E10
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08092584
- adds r1, r3
- strh r0, [r1]
- ldr r1, _08092588
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809258C
- str r1, [r0]
- movs r0, 0x3
- bl PlaySE
- b _080925A4
- .align 2, 0
-_08092570: .4byte gMain
-_08092574: .4byte gUnknown_0202FFB4
-_08092578: .4byte 0x0000060c
-_0809257C: .4byte 0x0000064f
-_08092580: .4byte 0x00000612
-_08092584: .4byte 0x00000616
-_08092588: .4byte gTasks
-_0809258C: .4byte sub_80927B8
-_08092590:
- ldr r0, _080925AC
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080925B0
- str r0, [r1]
- movs r0, 0x17
- bl PlaySE
-_080925A4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080925AC: .4byte gTasks
-_080925B0: .4byte sub_809217C
- thumb_func_end sub_8092508
-
- thumb_func_start sub_80925B4
-sub_80925B4: @ 80925B4
- push {lr}
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 15
- adds r1, 0x1
- lsls r1, 27
- lsrs r1, 24
- movs r0, 0x90
- bl sub_814AD7C
- pop {r0}
- bx r0
- thumb_func_end sub_80925B4
-
- thumb_func_start sub_80925CC
-sub_80925CC: @ 80925CC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_8092C8C
- ldr r2, _08092630
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r6, r1, r2
- ldrb r0, [r6, 0xA]
- adds r2, 0x8
- adds r1, r2
- ldr r2, _08092634
- lsls r0, 3
- adds r0, r2
- ldrb r5, [r0, 0x4]
- lsls r5, 1
- adds r5, r1, r5
- ldrb r0, [r0, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r5]
- strh r0, [r6, 0x24]
- ldrh r0, [r1]
- strh r0, [r6, 0x26]
- adds r0, r4, 0
- bl sub_8092D78
- ldr r1, _08092638
- ldr r3, _0809263C
- movs r0, 0xB
- str r0, [sp]
- movs r0, 0x10
- movs r2, 0xC
- bl sub_814AC58
- ldrh r0, [r5]
- movs r1, 0x1
- bl sub_80925B4
- ldr r0, _08092640
- str r0, [r6]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08092630: .4byte gTasks
-_08092634: .4byte gUnknown_083B5A7C
-_08092638: .4byte 0x0000ffff
-_0809263C: .4byte 0x00002d9f
-_08092640: .4byte sub_8092644
- thumb_func_end sub_80925CC
-
- thumb_func_start sub_8092644
-sub_8092644: @ 8092644
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, _080926A8
- lsls r2, r7, 2
- adds r2, r7
- lsls r2, 3
- adds r6, r2, r3
- ldrb r1, [r6, 0xA]
- ldr r0, _080926AC
- lsls r1, 3
- adds r1, r0
- ldr r0, [r1]
- mov r8, r0
- adds r3, 0x8
- adds r2, r3
- ldrb r0, [r1, 0x4]
- lsls r0, 1
- adds r4, r2, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 1
- adds r5, r2, r0
- ldrh r0, [r1, 0x6]
- subs r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _080926B0
- mov r12, r0
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080926B4
- bl sub_814ADC8
- movs r0, 0x15
- bl PlaySE
- movs r0, 0x12
- movs r1, 0x1
- movs r2, 0x1C
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- movs r0, 0x1
- bl sub_8092C8C
- b _080926E0
- .align 2, 0
-_080926A8: .4byte gTasks
-_080926AC: .4byte gUnknown_083B5A7C
-_080926B0: .4byte gMain
-_080926B4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080926EC
- bl sub_814ADC8
- movs r0, 0x17
- bl PlaySE
- movs r0, 0x12
- movs r1, 0x1
- movs r2, 0x1C
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- movs r0, 0x1
- bl sub_8092C8C
- ldrh r0, [r6, 0x24]
- strh r0, [r4]
- ldrh r0, [r6, 0x26]
- strh r0, [r5]
-_080926E0:
- ldr r0, _080926E8
- str r0, [r6]
- b _080927AE
- .align 2, 0
-_080926E8: .4byte sub_809217C
-_080926EC:
- movs r3, 0
- mov r0, r12
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809274C
- ldrh r0, [r4]
- cmp r0, 0
- beq _08092716
- movs r1, 0
- bl sub_80925B4
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80925B4
- b _08092734
-_08092716:
- ldrh r0, [r5]
- cmp r0, 0
- beq _08092730
- subs r0, 0x1
- strh r0, [r5]
- adds r0, r7, 0
- bl sub_8092D78
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80925B4
- movs r3, 0x1
-_08092730:
- cmp r3, 0
- beq _080927AE
-_08092734:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- ldrh r1, [r5]
- adds r0, r1
- lsls r0, 3
- add r0, r8
- ldr r0, [r0]
- bl sub_8091E20
- b _080927AE
-_0809274C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080927AE
- ldrh r0, [r4]
- cmp r0, 0x4
- bhi _08092774
- cmp r0, r2
- bcs _08092774
- movs r1, 0
- bl sub_80925B4
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80925B4
- b _08092798
-_08092774:
- cmp r2, 0x5
- bls _08092794
- ldrh r1, [r5]
- subs r0, r2, 0x5
- cmp r1, r0
- bge _08092794
- adds r0, r1, 0x1
- strh r0, [r5]
- adds r0, r7, 0
- bl sub_8092D78
- movs r0, 0x5
- movs r1, 0x1
- bl sub_80925B4
- movs r3, 0x1
-_08092794:
- cmp r3, 0
- beq _080927AE
-_08092798:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- ldrh r1, [r5]
- adds r0, r1
- lsls r0, 3
- add r0, r8
- ldr r0, [r0]
- bl sub_8091E20
-_080927AE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8092644
-
- thumb_func_start sub_80927B8
-sub_80927B8: @ 80927B8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080927E8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080927EC
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080927E8: .4byte gTasks
-_080927EC: .4byte sub_80927F0
- thumb_func_end sub_80927B8
-
- thumb_func_start sub_80927F0
-sub_80927F0: @ 80927F0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0809280C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08092808
- adds r0, r2, 0
- bl DestroyTask
-_08092808:
- pop {r0}
- bx r0
- .align 2, 0
-_0809280C: .4byte gPaletteFade
- thumb_func_end sub_80927F0
-
- thumb_func_start sub_8092810
-sub_8092810: @ 8092810
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r12, r1
- lsls r2, 24
- lsrs r1, r2, 24
- lsls r3, 24
- lsrs r5, r3, 8
- movs r3, 0
- cmp r5, 0
- beq _0809285A
- lsls r7, r1, 6
- ldr r6, _08092860
- lsls r4, r0, 12
-_08092830:
- mov r0, r12
- adds r1, r0, r3
- lsls r1, 1
- adds r1, r7, r1
- ldr r0, _08092864
- adds r2, r1, r0
- ldrh r0, [r2]
- ands r0, r6
- orrs r0, r4
- strh r0, [r2]
- ldr r0, _08092868
- adds r1, r0
- ldrh r0, [r1]
- ands r0, r6
- orrs r0, r4
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r0, r5
- bcc _08092830
-_0809285A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092860: .4byte 0x00000fff
-_08092864: .4byte 0x06007800
-_08092868: .4byte 0x06007840
- thumb_func_end sub_8092810
-
- thumb_func_start sub_809286C
-sub_809286C: @ 809286C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r0, 0x1
- ands r5, r0
- ands r2, r0
- lsls r2, 1
- orrs r5, r2
- cmp r4, 0xA
- bhi _08092958
- lsls r0, r4, 2
- ldr r1, _08092894
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08092894: .4byte _08092898
- .align 2, 0
-_08092898:
- .4byte _080928C4
- .4byte _080928C4
- .4byte _080928C4
- .4byte _080928D4
- .4byte _080928D4
- .4byte _080928EC
- .4byte _080928EC
- .4byte _080928D4
- .4byte _080928D4
- .4byte _08092914
- .4byte _08092904
-_080928C4:
- ldr r1, _080928D0
- lsls r0, r4, 3
- adds r0, r1
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- b _08092932
- .align 2, 0
-_080928D0: .4byte gUnknown_083B57E4
-_080928D4:
- ldr r2, _08092900
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- ldrb r3, [r0, 0x6]
- adds r0, r5, 0
- bl sub_8092810
-_080928EC:
- ldr r2, _08092900
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x7]
- ldrb r2, [r0, 0x8]
- ldrb r3, [r0, 0x9]
- b _08092934
- .align 2, 0
-_08092900: .4byte gUnknown_083B57FC
-_08092904:
- ldr r0, _08092910
- ldrb r1, [r0, 0x1C]
- ldrb r2, [r0, 0x1D]
- ldrb r3, [r0, 0x1E]
- b _08092934
- .align 2, 0
-_08092910: .4byte gUnknown_083B57FC
-_08092914:
- bl sub_806912C
- cmp r0, 0
- bne _08092940
- ldr r2, _0809293C
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- subs r2, 0x2
- lsls r2, 24
- lsrs r2, 24
-_08092932:
- ldrb r3, [r0, 0x6]
-_08092934:
- adds r0, r5, 0
- bl sub_8092810
- b _08092958
- .align 2, 0
-_0809293C: .4byte gUnknown_083B57FC
-_08092940:
- ldr r2, _08092960
- subs r1, r4, 0x3
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x4]
- ldrb r2, [r0, 0x5]
- ldrb r3, [r0, 0x6]
- adds r0, r5, 0
- bl sub_8092810
-_08092958:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08092960: .4byte gUnknown_083B57FC
- thumb_func_end sub_809286C
-
- thumb_func_start sub_8092964
-sub_8092964: @ 8092964
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080929CE
- cmp r0, 0x1
- bgt _0809297A
- cmp r0, 0
- beq _08092980
- b _08092AAC
-_0809297A:
- cmp r1, 0x2
- beq _08092A3E
- b _08092AAC
-_08092980:
- movs r0, 0
- movs r1, 0
- movs r2, 0
- bl sub_809286C
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0
- b _08092A1A
-_080929CE:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- bl sub_809286C
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0x1
-_08092A1A:
- bl sub_809286C
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x8
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x9
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- b _08092AAC
-_08092A3E:
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_809286C
- movs r0, 0x2
- movs r1, 0
- movs r2, 0
- bl sub_809286C
- movs r0, 0x3
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x4
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0xA
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x5
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x6
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x7
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x8
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
- movs r0, 0x9
- movs r1, 0x1
- movs r2, 0x1
- bl sub_809286C
-_08092AAC:
- pop {r0}
- bx r0
- thumb_func_end sub_8092964
-
- thumb_func_start sub_8092AB0
-sub_8092AB0: @ 8092AB0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8092964
- ldr r0, _08092AD0
- lsls r4, 3
- adds r4, r0
- ldr r0, [r4]
- bl sub_8091E20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08092AD0: .4byte gUnknown_083B57E4
- thumb_func_end sub_8092AB0
-
- thumb_func_start sub_8092AD4
-sub_8092AD4: @ 8092AD4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_8092964
- cmp r4, 0x6
- bhi _08092B4E
- lsls r0, r4, 2
- ldr r1, _08092AF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08092AF0: .4byte _08092AF4
- .align 2, 0
-_08092AF4:
- .4byte _08092B10
- .4byte _08092B14
- .4byte _08092B18
- .4byte _08092B26
- .4byte _08092B34
- .4byte _08092B38
- .4byte _08092B44
-_08092B10:
- movs r0, 0x3
- b _08092B3A
-_08092B14:
- movs r0, 0x4
- b _08092B3A
-_08092B18:
- movs r0, 0xA
- movs r1, 0
- movs r2, 0
- bl sub_809286C
- movs r0, 0x5
- b _08092B3A
-_08092B26:
- movs r0, 0xA
- movs r1, 0
- movs r2, 0
- bl sub_809286C
- movs r0, 0x6
- b _08092B3A
-_08092B34:
- movs r0, 0x7
- b _08092B3A
-_08092B38:
- movs r0, 0x8
-_08092B3A:
- movs r1, 0
- movs r2, 0
- bl sub_809286C
- b _08092B4E
-_08092B44:
- movs r0, 0x9
- movs r1, 0
- movs r2, 0
- bl sub_809286C
-_08092B4E:
- ldr r0, _08092B64
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl sub_8091E20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08092B64: .4byte gUnknown_083B57FC
- thumb_func_end sub_8092AD4
-
- thumb_func_start sub_8092B68
-sub_8092B68: @ 8092B68
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08092C68
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r6, r1, r2
- ldrh r0, [r6, 0x16]
- ldrh r1, [r6, 0x14]
- adds r0, r1
- lsls r0, 16
- ldr r7, _08092C6C
- ldr r1, _08092C70
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- ldr r0, _08092C74
- mov r8, r0
- movs r1, 0x2D
- movs r2, 0x10
- movs r3, 0x1
- bl sub_80729D8
- ldrh r0, [r6, 0x1A]
- ldrh r1, [r6, 0x18]
- adds r0, r1
- lsls r0, 16
- ldr r1, _08092C78
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- mov r0, r8
- movs r1, 0x2D
- movs r2, 0x20
- movs r3, 0x1
- bl sub_80729D8
- ldrh r0, [r6, 0x1E]
- ldrh r1, [r6, 0x1C]
- adds r0, r1
- lsls r0, 16
- ldr r4, _08092C7C
- lsrs r0, 13
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- ldr r5, _08092C80
- adds r0, r5, 0
- movs r1, 0x2D
- movs r2, 0x30
- movs r3, 0x1
- bl sub_80729D8
- ldrh r0, [r6, 0x22]
- ldrh r1, [r6, 0x20]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 13
- adds r0, r4
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- adds r0, r5, 0
- movs r1, 0x5D
- movs r2, 0x30
- movs r3, 0x1
- bl sub_80729D8
- ldrh r0, [r6, 0x12]
- ldrh r1, [r6, 0x10]
- adds r0, r1
- lsls r0, 16
- ldr r1, _08092C84
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- mov r0, r8
- movs r1, 0x2D
- movs r2, 0x40
- movs r3, 0x1
- bl sub_80729D8
- bl sub_806912C
- cmp r0, 0
- beq _08092C5E
- ldrh r0, [r6, 0xE]
- ldrh r6, [r6, 0xC]
- adds r0, r6
- lsls r0, 16
- ldr r1, _08092C88
- lsrs r0, 13
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- mov r0, r8
- movs r1, 0x2D
- movs r2, 0x50
- movs r3, 0x1
- bl sub_80729D8
-_08092C5E:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08092C68: .4byte gTasks
-_08092C6C: .4byte gStringVar1
-_08092C70: .4byte gUnknown_083B5910
-_08092C74: .4byte gUnknown_083B5AB2
-_08092C78: .4byte gUnknown_083B5968
-_08092C7C: .4byte gUnknown_083B59C8
-_08092C80: .4byte gUnknown_083B5AAC
-_08092C84: .4byte gUnknown_083B58D8
-_08092C88: .4byte gUnknown_083B58C0
- thumb_func_end sub_8092B68
-
- thumb_func_start sub_8092C8C
-sub_8092C8C: @ 8092C8C
- push {r4-r6,lr}
- lsls r0, 24
- cmp r0, 0
- bne _08092D48
- ldr r1, _08092D1C
- ldr r2, _08092D20
- adds r0, r2, 0
- strh r0, [r1]
- movs r1, 0x12
- ldr r3, _08092D24
- ldr r4, _08092D28
- adds r2, r4, 0
-_08092CA4:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1C
- bls _08092CA4
- ldr r1, _08092D2C
- ldr r2, _08092D30
- adds r0, r2, 0
- strh r0, [r1]
- movs r3, 0x1
- ldr r6, _08092D24
- movs r5, 0x2
-_08092CC2:
- lsls r2, r3, 6
- ldr r4, _08092D1C
- adds r1, r2, r4
- ldr r4, _08092D34
- adds r0, r4, 0
- strh r0, [r1]
- movs r1, 0x12
- adds r4, r3, 0x1
- adds r3, r2, 0
-_08092CD4:
- lsls r0, r1, 1
- adds r0, r3, r0
- adds r0, r6
- strh r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1C
- bls _08092CD4
- ldr r1, _08092D2C
- adds r0, r2, r1
- movs r1, 0xA
- strh r1, [r0]
- lsls r0, r4, 16
- lsrs r3, r0, 16
- cmp r3, 0xC
- bls _08092CC2
- ldr r1, _08092D38
- ldr r2, _08092D3C
- adds r0, r2, 0
- strh r0, [r1]
- movs r1, 0x12
- ldr r3, _08092D40
- movs r2, 0xD
-_08092D04:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1C
- bls _08092D04
- ldr r1, _08092D44
- movs r0, 0xB
- strh r0, [r1]
- b _08092D6E
- .align 2, 0
-_08092D1C: .4byte 0x06007822
-_08092D20: .4byte 0x00000c0b
-_08092D24: .4byte 0x06007800
-_08092D28: .4byte 0x0000080d
-_08092D2C: .4byte 0x0600783a
-_08092D30: .4byte 0x0000080b
-_08092D34: .4byte 0x0000040a
-_08092D38: .4byte 0x06007b62
-_08092D3C: .4byte 0x0000040b
-_08092D40: .4byte 0x06007b40
-_08092D44: .4byte 0x06007b7a
-_08092D48:
- movs r3, 0
- ldr r6, _08092D74
- movs r5, 0x4F
-_08092D4E:
- movs r1, 0x11
- adds r4, r3, 0x1
- lsls r2, r3, 6
-_08092D54:
- lsls r0, r1, 1
- adds r0, r2, r0
- adds r0, r6
- strh r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1D
- bls _08092D54
- lsls r0, r4, 16
- lsrs r3, r0, 16
- cmp r3, 0xD
- bls _08092D4E
-_08092D6E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08092D74: .4byte 0x06007800
- thumb_func_end sub_8092C8C
-
- thumb_func_start sub_8092D78
-sub_8092D78: @ 8092D78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08092DBC
- ldr r3, _08092DC0
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r0, r2, r3
- movs r5, 0xA
- ldrsh r1, [r0, r5]
- lsls r1, 3
- adds r1, r4
- ldr r6, [r1]
- adds r3, 0x8
- adds r2, r3
- ldrb r0, [r1, 0x4]
- lsls r0, 1
- adds r0, r2
- mov r8, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 1
- adds r7, r2, r0
- movs r0, 0x12
- movs r1, 0x1
- movs r2, 0x1C
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- movs r5, 0
- ldrh r4, [r7]
- b _08092DE8
- .align 2, 0
-_08092DBC: .4byte gUnknown_083B5A7C
-_08092DC0: .4byte gTasks
-_08092DC4:
- lsls r0, r4, 3
- adds r0, r6
- ldr r0, [r0, 0x4]
- lsls r2, r5, 1
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x12
- bl MenuPrint
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r5, 0x5
- bhi _08092DF2
-_08092DE8:
- lsls r0, r4, 3
- adds r0, r6
- ldr r0, [r0, 0x4]
- cmp r0, 0
- bne _08092DC4
-_08092DF2:
- mov r1, r8
- ldrh r0, [r1]
- ldrh r1, [r7]
- adds r0, r1
- lsls r0, 3
- adds r0, r6
- ldr r0, [r0]
- bl sub_8091E20
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8092D78
-
- thumb_func_start sub_8092E10
-sub_8092E10: @ 8092E10
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08092E50
- adds r1, r0
- ldr r2, _08092E54
- lsls r0, r3, 3
- adds r0, r2
- ldrb r2, [r0, 0x4]
- lsls r2, 1
- adds r2, r1, r2
- ldrb r0, [r0, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r3, 0x5
- bhi _08092E74
- lsls r0, r3, 2
- ldr r1, _08092E58
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08092E50: .4byte gUnknown_03004B28
-_08092E54: .4byte gUnknown_083B5A7C
-_08092E58: .4byte _08092E5C
- .align 2, 0
-_08092E5C:
- .4byte _08092E88
- .4byte _08092E92
- .4byte _08092EA2
- .4byte _08092EA2
- .4byte _08092E80
- .4byte _08092E78
-_08092E74:
- movs r0, 0
- b _08092EA8
-_08092E78:
- ldr r0, _08092E7C
- b _08092EA4
- .align 2, 0
-_08092E7C: .4byte gUnknown_083B5A60
-_08092E80:
- ldr r0, _08092E84
- b _08092EA4
- .align 2, 0
-_08092E84: .4byte gUnknown_083B5A62
-_08092E88:
- cmp r2, 0
- beq _08092E96
- lsls r0, r2, 24
- lsrs r0, 24
- b _08092EA8
-_08092E92:
- cmp r2, 0
- bne _08092E9A
-_08092E96:
- movs r0, 0xFF
- b _08092EA8
-_08092E9A:
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r0, 24
- b _08092EA8
-_08092EA2:
- ldr r0, _08092EAC
-_08092EA4:
- adds r0, r2, r0
- ldrb r0, [r0]
-_08092EA8:
- pop {r1}
- bx r1
- .align 2, 0
-_08092EAC: .4byte gUnknown_083B5A68
- thumb_func_end sub_8092E10
-
- thumb_func_start sub_8092EB0
-sub_8092EB0: @ 8092EB0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08092ED0
- ldr r0, [r1]
- ldr r2, _08092ED4
- adds r0, r2
- ldrh r0, [r0]
- adds r5, r1, 0
- cmp r0, 0
- beq _08092ECA
- cmp r0, 0x1
- beq _08092ED8
-_08092ECA:
- movs r3, 0
- b _08092EDA
- .align 2, 0
-_08092ED0: .4byte gUnknown_0202FFB4
-_08092ED4: .4byte 0x00000614
-_08092ED8:
- movs r3, 0x1
-_08092EDA:
- ldr r1, _08092F00
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0xC]
- ldr r0, [r5]
- movs r3, 0xC3
- lsls r3, 3
- adds r0, r3
- ldrh r0, [r0]
- adds r5, r1, 0
- cmp r0, 0x5
- bhi _08092F20
- lsls r0, 2
- ldr r1, _08092F04
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08092F00: .4byte gTasks
-_08092F04: .4byte _08092F08
- .align 2, 0
-_08092F08:
- .4byte _08092F20
- .4byte _08092F24
- .4byte _08092F28
- .4byte _08092F2C
- .4byte _08092F30
- .4byte _08092F34
-_08092F20:
- movs r3, 0
- b _08092F36
-_08092F24:
- movs r3, 0x1
- b _08092F36
-_08092F28:
- movs r3, 0x2
- b _08092F36
-_08092F2C:
- movs r3, 0x3
- b _08092F36
-_08092F30:
- movs r3, 0x4
- b _08092F36
-_08092F34:
- movs r3, 0x5
-_08092F36:
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r5
- strh r3, [r0, 0x10]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8092EB0
-
- thumb_func_start sub_8092F44
-sub_8092F44: @ 8092F44
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08092F7C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r3
- ldrb r2, [r0, 0xA]
- adds r3, 0x8
- adds r1, r3
- ldr r0, _08092F80
- lsls r2, 3
- adds r2, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r2, 0x6]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _08092F84
- ldrh r0, [r1]
- cmp r0, 0
- beq _08092F84
- movs r0, 0
- b _08092F86
- .align 2, 0
-_08092F7C: .4byte gTasks
-_08092F80: .4byte gUnknown_083B5A7C
-_08092F84:
- movs r0, 0x1
-_08092F86:
- pop {r1}
- bx r1
- thumb_func_end sub_8092F44
-
- thumb_func_start sub_8092F8C
-sub_8092F8C: @ 8092F8C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08092FC8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r3
- ldrb r2, [r0, 0xA]
- adds r3, 0x8
- adds r1, r3
- ldr r0, _08092FCC
- lsls r2, 3
- adds r2, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r2, 0x6]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _08092FD0
- ldrh r1, [r1]
- subs r0, 0x5
- cmp r1, r0
- bge _08092FD0
- movs r0, 0
- b _08092FD2
- .align 2, 0
-_08092FC8: .4byte gTasks
-_08092FCC: .4byte gUnknown_083B5A7C
-_08092FD0:
- movs r0, 0x1
-_08092FD2:
- pop {r1}
- bx r1
- thumb_func_end sub_8092F8C
-
- thumb_func_start sub_8092FD8
-sub_8092FD8: @ 8092FD8
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, _08093018
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _0809301C
- cmp r1, r0
- bne _08093078
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08093020
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092F8C
- lsls r0, 24
- cmp r0, 0
- beq _0809303C
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- b _08093048
- .align 2, 0
-_08093018: .4byte gTasks
-_0809301C: .4byte sub_8092644
-_08093020:
- ldrh r0, [r4, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8092F44
- lsls r0, 24
- cmp r0, 0
- beq _0809303C
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- b _08093048
-_0809303C:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
-_08093048:
- strb r0, [r2]
- ldrh r2, [r4, 0x32]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 7
- adds r0, r2, r0
- lsls r0, 24
- ldr r1, _08093074
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _08093066
- adds r0, 0x7F
-_08093066:
- asrs r0, 7
- strh r0, [r4, 0x26]
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r4, 0x32]
- b _08093084
- .align 2, 0
-_08093074: .4byte gSineTable
-_08093078:
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_08093084:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8092FD8
-
- thumb_func_start sub_809308C
-sub_809308C: @ 809308C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _08093104
- adds r0, r6, 0
- movs r1, 0xB8
- movs r2, 0x4
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08093108
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r0, r1, r4
- movs r2, 0
- strh r5, [r0, 0x2E]
- strh r2, [r0, 0x30]
- movs r0, 0x1C
- adds r0, r4
- mov r9, r0
- add r1, r9
- ldr r0, _0809310C
- mov r8, r0
- str r0, [r1]
- adds r0, r6, 0
- movs r1, 0xB8
- movs r2, 0x6C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r4, r1, r4
- strh r5, [r4, 0x2E]
- movs r0, 0x1
- strh r0, [r4, 0x30]
- adds r4, 0x3F
- ldrb r0, [r4]
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r4]
- add r1, r9
- mov r0, r8
- str r0, [r1]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08093104: .4byte gSpriteTemplate_83A053C
-_08093108: .4byte gSprites
-_0809310C: .4byte sub_8092FD8
- thumb_func_end sub_809308C
-
- thumb_func_start sub_8093110
-sub_8093110: @ 8093110
- push {lr}
- bl sub_80932AC
- ldr r0, _08093128
- bl SetMainCallback2
- ldr r0, _0809312C
- adds r0, 0x9C
- movs r1, 0x2
- strb r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_08093128: .4byte sub_8093174
-_0809312C: .4byte 0x02000000
- thumb_func_end sub_8093110
-
- thumb_func_start sub_8093130
-sub_8093130: @ 8093130
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80932E4
- ldr r0, _08093164
- bl SetMainCallback2
- ldr r2, _08093168
- ldr r3, _0809316C
- ldr r0, _08093170
- lsls r4, 2
- adds r4, r0
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x1A]
- adds r2, 0x9C
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08093164: .4byte sub_8093174
-_08093168: .4byte 0x02000000
-_0809316C: .4byte gLinkPlayers
-_08093170: .4byte gUnknown_02029818
- thumb_func_end sub_8093130
-
- thumb_func_start sub_8093174
-sub_8093174: @ 8093174
- push {lr}
- ldr r0, _0809318C
- ldr r1, _08093190
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _08093232
- lsls r0, 2
- ldr r1, _08093194
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809318C: .4byte gMain
-_08093190: .4byte 0x0000043c
-_08093194: .4byte _08093198
- .align 2, 0
-_08093198:
- .4byte _080931BC
- .4byte _080931C6
- .4byte _080931CC
- .4byte _080931D2
- .4byte _080931DC
- .4byte _080931EC
- .4byte _08093200
- .4byte _08093206
- .4byte _08093220
-_080931BC:
- bl sub_8093534
- bl sub_8093688
- b _0809320A
-_080931C6:
- bl sub_8093598
- b _0809320A
-_080931CC:
- bl sub_80935EC
- b _0809320A
-_080931D2:
- bl sub_8093610
- bl sub_80937A4
- b _0809320A
-_080931DC:
- bl sub_80937BC
- ldr r1, _080931F8
- ldr r0, _080931FC
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080931EC:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _08093232
- b _0809320A
- .align 2, 0
-_080931F8: .4byte gMain
-_080931FC: .4byte 0x0000043c
-_08093200:
- bl sub_80937F0
- b _0809320A
-_08093206:
- bl sub_80937D8
-_0809320A:
- ldr r1, _08093218
- ldr r0, _0809321C
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _08093232
- .align 2, 0
-_08093218: .4byte gMain
-_0809321C: .4byte 0x0000043c
-_08093220:
- bl nullsub_15
- bl sub_8093800
- bl sub_8093550
- ldr r0, _08093238
- bl SetMainCallback2
-_08093232:
- pop {r0}
- bx r0
- .align 2, 0
-_08093238: .4byte sub_809323C
- thumb_func_end sub_8093174
-
- thumb_func_start sub_809323C
-sub_809323C: @ 809323C
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_809323C
-
- thumb_func_start sub_8093254
-sub_8093254: @ 8093254
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r2, _0809329C
- ldrb r0, [r2, 0x6]
- adds r0, 0x1
- strb r0, [r2, 0x6]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _0809327E
- movs r0, 0
- strb r0, [r2, 0x6]
- ldrb r0, [r2, 0x5]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r2, 0x5]
-_0809327E:
- ldrb r0, [r2, 0x4]
- cmp r0, 0
- beq _08093298
- ldr r1, _080932A0
- ldr r0, _080932A4
- str r0, [r1]
- movs r2, 0xF0
- lsls r2, 3
- adds r0, r2
- str r0, [r1, 0x4]
- ldr r0, _080932A8
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_08093298:
- pop {r0}
- bx r0
- .align 2, 0
-_0809329C: .4byte 0x02000000
-_080932A0: .4byte 0x040000d4
-_080932A4: .4byte gUnknown_03004DE0
-_080932A8: .4byte 0x800000a0
- thumb_func_end sub_8093254
-
- thumb_func_start sub_80932AC
-sub_80932AC: @ 80932AC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080932DC
- movs r1, 0xFF
- bl CreateTask
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _080932E0
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- adds r0, 0xC
- adds r1, r4, 0
- bl StoreWordInTwoHalfwords
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080932DC: .4byte nullsub_60
-_080932E0: .4byte gTasks
- thumb_func_end sub_80932AC
-
- thumb_func_start sub_80932E4
-sub_80932E4: @ 80932E4
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0809331C
- movs r1, 0xFF
- bl CreateTask
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _08093320
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x8]
- strh r4, [r0, 0xA]
- adds r0, 0xC
- adds r1, r5, 0
- bl StoreWordInTwoHalfwords
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809331C: .4byte nullsub_60
-_08093320: .4byte gTasks
- thumb_func_end sub_80932E4
-
- thumb_func_start sub_8093324
-sub_8093324: @ 8093324
- push {r4,r5,lr}
- ldr r0, _0809336C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08093370
- adds r4, r1, r0
- ldr r5, _08093374
- ldrh r0, [r4, 0x8]
- strb r0, [r5, 0x1]
- adds r0, r4, 0
- adds r0, 0xC
- adds r1, r5, 0
- adds r1, 0x60
- bl LoadWordFromTwoHalfwords
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- beq _0809337C
- ldr r2, _08093378
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 3
- adds r1, r2
- adds r0, r5, 0
- adds r0, 0x64
- movs r2, 0x38
- bl memcpy
- b _08093384
- .align 2, 0
-_0809336C: .4byte nullsub_60
-_08093370: .4byte gTasks
-_08093374: .4byte 0x02000000
-_08093378: .4byte gUnknown_0202FFC0
-_0809337C:
- adds r0, r5, 0
- adds r0, 0x64
- bl sub_8093390
-_08093384:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8093324
-
- thumb_func_start nullsub_60
-nullsub_60: @ 809338C
- bx lr
- thumb_func_end nullsub_60
-
- thumb_func_start sub_8093390
-sub_8093390: @ 8093390
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r6, _080934A4
- ldrb r0, [r6, 0x8]
- strb r0, [r5]
- ldrh r0, [r6, 0xE]
- strh r0, [r5, 0x10]
- ldrb r0, [r6, 0x10]
- strh r0, [r5, 0x12]
- movs r0, 0x1
- bl sub_8053108
- adds r4, r0, 0
- movs r0, 0xA
- bl sub_8053108
- cmp r0, 0
- bne _080933B6
- movs r4, 0
-_080933B6:
- lsrs r0, r4, 16
- strh r0, [r5, 0x6]
- lsrs r0, r4, 8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x8]
- ands r4, r1
- strh r4, [r5, 0xA]
- ldr r0, _080934A8
- bl FlagGet
- strb r0, [r5, 0x2]
- bl sub_8090FC0
- strb r0, [r5, 0x3]
- bl GetPokedexSeenCount
- strh r0, [r5, 0xC]
- ldrb r1, [r6, 0xB]
- lsls r1, 8
- ldrb r0, [r6, 0xA]
- orrs r0, r1
- strh r0, [r5, 0xE]
- ldr r7, _080934AC
- movs r0, 0x17
- adds r1, r7, 0
- bl sav12_xor_get_clamped_above
- strh r0, [r5, 0x14]
- movs r0, 0x18
- adds r1, r7, 0
- bl sav12_xor_get_clamped_above
- strh r0, [r5, 0x16]
- ldr r1, _080934B0
- movs r0, 0x23
- bl sav12_xor_get_clamped_above
- strh r0, [r5, 0x1C]
- ldr r4, _080934B4
- movs r0, 0x22
- adds r1, r4, 0
- bl sav12_xor_get_clamped_above
- strh r0, [r5, 0x1E]
- movs r0, 0x15
- adds r1, r4, 0
- bl sav12_xor_get_clamped_above
- strh r0, [r5, 0x20]
- movs r1, 0xAE
- lsls r1, 3
- adds r0, r6, r1
- ldrh r0, [r0]
- strh r0, [r5, 0x18]
- ldr r2, _080934B8
- adds r1, r6, r2
- ldrh r1, [r1]
- strh r1, [r5, 0x1A]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r7
- bls _08093436
- strh r7, [r5, 0x18]
-_08093436:
- ldrh r0, [r5, 0x1A]
- cmp r0, r7
- bls _0809343E
- strh r7, [r5, 0x1A]
-_0809343E:
- movs r4, 0
- bl sub_80C4D50
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _0809344E
- movs r4, 0x1
-_0809344E:
- strb r4, [r5, 0x4]
- ldr r0, _080934BC
- movs r2, 0x92
- lsls r2, 3
- adds r1, r0, r2
- ldr r1, [r1]
- str r1, [r5, 0x24]
- movs r2, 0
- adds r6, r5, 0
- adds r6, 0x30
- adds r3, r5, 0
- adds r3, 0x28
- ldr r1, _080934C0
- adds r4, r0, r1
-_0809346A:
- lsls r0, r2, 1
- adds r1, r3, r0
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _0809346A
- movs r2, 0
- adds r3, r6, 0
- ldr r4, _080934A4
-_08093484:
- adds r1, r3, r2
- adds r0, r2, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _08093484
- adds r0, r5, 0
- bl sub_80934F4
- strb r0, [r5, 0x1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080934A4: .4byte gSaveBlock2
-_080934A8: .4byte 0x00000801
-_080934AC: .4byte 0x0000270f
-_080934B0: .4byte 0x000003e7
-_080934B4: .4byte 0x0000ffff
-_080934B8: .4byte 0x00000572
-_080934BC: .4byte gSaveBlock1
-_080934C0: .4byte 0x00002b1c
- thumb_func_end sub_8093390
-
- thumb_func_start sub_80934C4
-sub_80934C4: @ 80934C4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080934D8
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x1]
- bx lr
- .align 2, 0
-_080934D8: .4byte gUnknown_0202FFC0
- thumb_func_end sub_80934C4
-
- thumb_func_start sav12_xor_get_clamped_above
-sav12_xor_get_clamped_above: @ 80934DC
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- bl sub_8053108
- cmp r0, r4
- bls _080934EE
- adds r0, r4, 0
-_080934EE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sav12_xor_get_clamped_above
-
- thumb_func_start sub_80934F4
-sub_80934F4: @ 80934F4
- push {lr}
- adds r1, r0, 0
- movs r2, 0
- ldrh r0, [r1, 0x6]
- cmp r0, 0
- bne _08093506
- ldr r0, [r1, 0x8]
- cmp r0, 0
- beq _08093508
-_08093506:
- movs r2, 0x1
-_08093508:
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- beq _08093514
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_08093514:
- ldrh r0, [r1, 0x1A]
- cmp r0, 0x31
- bls _08093520
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_08093520:
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _0809352C
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_0809352C:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80934F4
-
- thumb_func_start sub_8093534
-sub_8093534: @ 8093534
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- thumb_func_end sub_8093534
-
- thumb_func_start sub_8093550
-sub_8093550: @ 8093550
- push {r4,lr}
- ldr r0, _08093588
- bl SetVBlankCallback
- ldr r3, _0809358C
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _08093590
- ldrh r0, [r4]
- movs r1, 0x3
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _08093594
- ldrh r0, [r2]
- movs r1, 0x18
- orrs r0, r1
- strh r0, [r2]
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08093588: .4byte sub_8093254
-_0809358C: .4byte 0x04000208
-_08093590: .4byte 0x04000200
-_08093594: .4byte REG_DISPSTAT
- thumb_func_end sub_8093550
-
- thumb_func_start sub_8093598
-sub_8093598: @ 8093598
- push {r4-r7,lr}
- sub sp, 0x4
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0x80
- lsls r3, 9
- mov r4, sp
- movs r6, 0
- ldr r1, _080935E4
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _080935E8
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080935B6:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _080935B6
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080935E4: .4byte 0x040000d4
-_080935E8: .4byte 0x81000800
- thumb_func_end sub_8093598
-
- thumb_func_start sub_80935EC
-sub_80935EC: @ 80935EC
- sub sp, 0x4
- movs r2, 0xE0
- lsls r2, 19
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r0, _08093608
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0809360C
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- add sp, 0x4
- bx lr
- .align 2, 0
-_08093608: .4byte 0x040000d4
-_0809360C: .4byte 0x81000200
- thumb_func_end sub_80935EC
-
- thumb_func_start sub_8093610
-sub_8093610: @ 8093610
- push {r4,r5,lr}
- ldr r5, _08093664
- movs r1, 0
- strh r1, [r5]
- ldr r2, _08093668
- strh r1, [r2]
- ldr r3, _0809366C
- strh r1, [r3]
- ldr r4, _08093670
- strh r1, [r4]
- ldr r0, _08093674
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _08093678
- adds r0, r1, 0
- strh r0, [r5]
- ldr r1, _0809367C
- adds r0, r1, 0
- strh r0, [r2]
- ldr r1, _08093680
- adds r0, r1, 0
- strh r0, [r3]
- ldr r1, _08093684
- adds r0, r1, 0
- strh r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08093664: .4byte REG_BG0CNT
-_08093668: .4byte REG_BG1CNT
-_0809366C: .4byte REG_BG2CNT
-_08093670: .4byte REG_BG3CNT
-_08093674: .4byte REG_BG0HOFS
-_08093678: .4byte 0x00001e08
-_0809367C: .4byte 0x00000801
-_08093680: .4byte 0x00000902
-_08093684: .4byte 0x00000a03
- thumb_func_end sub_8093610
-
- thumb_func_start sub_8093688
-sub_8093688: @ 8093688
- push {r4-r6,lr}
- bl sub_8093324
- ldr r2, _080936D0
- movs r1, 0
- strb r1, [r2]
- strb r1, [r2, 0x3]
- strb r1, [r2, 0x4]
- adds r0, r2, 0
- adds r0, 0x65
- ldrb r0, [r0]
- strb r0, [r2, 0x2]
- strb r1, [r2, 0x5]
- strb r1, [r2, 0x6]
- movs r4, 0
- adds r6, r2, 0
- adds r6, 0x20
- adds r5, r2, 0
- adds r5, 0x8C
-_080936AE:
- lsls r0, r4, 4
- adds r0, r6
- lsls r1, r4, 1
- adds r1, r5, r1
- ldrh r1, [r1]
- bl sub_80EB3FC
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080936AE
- bl sub_80936D4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080936D0: .4byte 0x02000000
- thumb_func_end sub_8093688
-
- thumb_func_start sub_80936D4
-sub_80936D4: @ 80936D4
- push {r4-r6,lr}
- ldr r4, _08093798
- movs r0, 0
- strb r0, [r4, 0x7]
- strb r0, [r4, 0x8]
- strb r0, [r4, 0x9]
- strb r0, [r4, 0xA]
- strb r0, [r4, 0xB]
- strb r0, [r4, 0xC]
- strb r0, [r4, 0xD]
- adds r0, r4, 0
- adds r0, 0xE
- movs r1, 0
- movs r2, 0x8
- bl memset
- adds r0, r4, 0
- adds r0, 0x66
- ldrb r0, [r0]
- cmp r0, 0
- beq _08093704
- ldrb r0, [r4, 0x7]
- adds r0, 0x1
- strb r0, [r4, 0x7]
-_08093704:
- adds r0, r4, 0
- adds r0, 0x6A
- ldrh r0, [r0]
- cmp r0, 0
- bne _08093714
- ldr r0, [r4, 0x6C]
- cmp r0, 0
- beq _0809371A
-_08093714:
- ldrb r0, [r4, 0x8]
- adds r0, 0x1
- strb r0, [r4, 0x8]
-_0809371A:
- ldr r1, _08093798
- ldr r0, [r1, 0x78]
- cmp r0, 0
- beq _08093728
- ldrb r0, [r1, 0x9]
- adds r0, 0x1
- strb r0, [r1, 0x9]
-_08093728:
- ldr r0, [r1, 0x7C]
- cmp r0, 0
- beq _08093734
- ldrb r0, [r1, 0xA]
- adds r0, 0x1
- strb r0, [r1, 0xA]
-_08093734:
- adds r0, r1, 0
- adds r0, 0x80
- ldrh r0, [r0]
- cmp r0, 0
- beq _08093744
- ldrb r0, [r1, 0xB]
- adds r0, 0x1
- strb r0, [r1, 0xB]
-_08093744:
- adds r0, r1, 0
- adds r0, 0x82
- ldrh r0, [r0]
- cmp r0, 0
- beq _08093754
- ldrb r0, [r1, 0xC]
- adds r0, 0x1
- strb r0, [r1, 0xC]
-_08093754:
- adds r0, r1, 0
- adds r0, 0x84
- ldrh r0, [r0]
- cmp r0, 0
- beq _08093764
- ldrb r0, [r1, 0xD]
- adds r0, 0x1
- strb r0, [r1, 0xD]
-_08093764:
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _08093792
- movs r5, 0
- ldr r4, _0809379C
- adds r6, r1, 0
- adds r6, 0xE
-_08093772:
- lsls r0, r4, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08093788
- adds r1, r5, r6
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08093788:
- adds r4, 0x1
- adds r5, 0x1
- ldr r0, _080937A0
- cmp r4, r0
- bls _08093772
-_08093792:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08093798: .4byte 0x02000000
-_0809379C: .4byte 0x00000807
-_080937A0: .4byte 0x0000080e
- thumb_func_end sub_80936D4
-
- thumb_func_start sub_80937A4
-sub_80937A4: @ 80937A4
- push {lr}
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- pop {r0}
- bx r0
- thumb_func_end sub_80937A4
-
- thumb_func_start sub_80937BC
-sub_80937BC: @ 80937BC
- push {r4,lr}
- ldr r4, _080937D4
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl MultistepInitMenuWindowBegin
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080937D4: .4byte gWindowConfig_81E6DC4
- thumb_func_end sub_80937BC
-
- thumb_func_start sub_80937D8
-sub_80937D8: @ 80937D8
- push {lr}
- bl sub_8093E04
- bl sub_8093E28
- bl sub_8093F64
- bl sub_8093DAC
- pop {r0}
- bx r0
- thumb_func_end sub_80937D8
-
- thumb_func_start sub_80937F0
-sub_80937F0: @ 80937F0
- push {lr}
- bl sub_8093EF8
- pop {r0}
- bx r0
- thumb_func_end sub_80937F0
-
- thumb_func_start nullsub_15
-nullsub_15: @ 80937FC
- bx lr
- thumb_func_end nullsub_15
-
- thumb_func_start sub_8093800
-sub_8093800: @ 8093800
- push {lr}
- bl sub_809380C
- pop {r0}
- bx r0
- thumb_func_end sub_8093800
-
- thumb_func_start sub_809380C
-sub_809380C: @ 809380C
- push {r4,lr}
- ldr r4, _08093828
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08093828: .4byte sub_809382C
- thumb_func_end sub_809380C
-
- thumb_func_start sub_809382C
-sub_809382C: @ 809382C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r7, _08093858
- lsls r1, r0, 2
- adds r1, r0
- lsls r4, r1, 3
- ldr r6, _0809385C
- ldr r5, _08093860
-_0809383E:
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r7
- ldr r1, [r0]
- adds r0, r4, r5
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _0809383E
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08093858: .4byte gUnknown_083B5EBC
-_0809385C: .4byte 0x02000000
-_08093860: .4byte gTasks
- thumb_func_end sub_809382C
-
- thumb_func_start sub_8093864
-sub_8093864: @ 8093864
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, _080938A0
- ldr r2, _080938A4
- ldrb r1, [r2, 0x11]
- movs r0, 0x1
- ands r0, r1
- movs r5, 0
- strb r0, [r4, 0x5]
- ldrb r0, [r2, 0x12]
- strb r0, [r4, 0x6]
- bl sub_80939A4
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080938A0: .4byte 0x02000000
-_080938A4: .4byte gSaveBlock2
- thumb_func_end sub_8093864
-
- thumb_func_start sub_80938A8
-sub_80938A8: @ 80938A8
- push {lr}
- ldr r0, _080938C4
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080938BE
- ldr r1, _080938C8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080938BE:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080938C4: .4byte gPaletteFade
-_080938C8: .4byte 0x02000000
- thumb_func_end sub_80938A8
-
- thumb_func_start rfu_NI_stopReceivingData
-rfu_NI_stopReceivingData: @ 80938CC
- push {lr}
- ldr r0, _080938E4
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080938EC
- ldr r1, _080938E8
- movs r0, 0x5
- strb r0, [r1]
- movs r0, 0x1
- b _08093914
- .align 2, 0
-_080938E4: .4byte gMain
-_080938E8: .4byte 0x02000000
-_080938EC:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08093912
- ldr r2, _08093900
- ldrb r1, [r2, 0x3]
- cmp r1, 0
- beq _08093904
- movs r0, 0x5
- b _0809390C
- .align 2, 0
-_08093900: .4byte 0x02000000
-_08093904:
- movs r0, 0x1
- eors r0, r1
- strb r0, [r2, 0x3]
- movs r0, 0x3
-_0809390C:
- strb r0, [r2]
- movs r0, 0x1
- b _08093914
-_08093912:
- movs r0, 0
-_08093914:
- pop {r1}
- bx r1
- thumb_func_end rfu_NI_stopReceivingData
-
- thumb_func_start sub_8093918
-sub_8093918: @ 8093918
- push {lr}
- bl sub_8093A28
- movs r0, 0x36
- bl PlaySE
- ldr r1, _08093934
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08093934: .4byte 0x02000000
- thumb_func_end sub_8093918
-
- thumb_func_start sub_8093938
-sub_8093938: @ 8093938
- push {lr}
- bl sub_8093A48
- lsls r0, 24
- cmp r0, 0
- beq _0809394A
- ldr r1, _08093950
- movs r0, 0x2
- strb r0, [r1]
-_0809394A:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08093950: .4byte 0x02000000
- thumb_func_end sub_8093938
-
- thumb_func_start sub_8093954
-sub_8093954: @ 8093954
- push {lr}
- sub sp, 0x4
- bl sub_80939C0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0809397C
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_0809397C: .4byte 0x02000000
- thumb_func_end sub_8093954
-
- thumb_func_start sub_8093980
-sub_8093980: @ 8093980
- push {lr}
- ldr r0, _0809399C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08093996
- ldr r0, _080939A0
- ldr r0, [r0, 0x60]
- bl SetMainCallback2
-_08093996:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809399C: .4byte gPaletteFade
-_080939A0: .4byte 0x02000000
- thumb_func_end sub_8093980
-
- thumb_func_start sub_80939A4
-sub_80939A4: @ 80939A4
- push {lr}
- ldr r0, _080939B8
- movs r1, 0
- bl CreateTask
- ldr r0, _080939BC
- bl BasicInitMenuWindow
- pop {r0}
- bx r0
- .align 2, 0
-_080939B8: .4byte sub_80939DC
-_080939BC: .4byte gWindowConfig_81E6DC4
- thumb_func_end sub_80939A4
-
- thumb_func_start sub_80939C0
-sub_80939C0: @ 80939C0
- push {lr}
- ldr r0, _080939D8
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080939D4
- bl DestroyTask
-_080939D4:
- pop {r0}
- bx r0
- .align 2, 0
-_080939D8: .4byte sub_80939DC
- thumb_func_end sub_80939C0
-
- thumb_func_start sub_80939DC
-sub_80939DC: @ 80939DC
- push {lr}
- sub sp, 0x20
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08093A20
- adds r2, r1, r0
- ldr r0, _08093A24
- ldrb r1, [r0, 0x5]
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- cmp r1, r0
- beq _08093A04
- strh r1, [r2, 0xA]
- ldrh r0, [r2, 0x8]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r2, 0x8]
-_08093A04:
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- mov r0, sp
- bl sub_8094250
- mov r0, sp
- movs r1, 0xA
- movs r2, 0xC
- bl MenuPrint
- add sp, 0x20
- pop {r0}
- bx r0
- .align 2, 0
-_08093A20: .4byte gTasks
-_08093A24: .4byte 0x02000000
- thumb_func_end sub_80939DC
-
- thumb_func_start sub_8093A28
-sub_8093A28: @ 8093A28
- push {r4,lr}
- ldr r4, _08093A44
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08093A44: .4byte sub_8093A68
- thumb_func_end sub_8093A28
-
- thumb_func_start sub_8093A48
-sub_8093A48: @ 8093A48
- push {lr}
- ldr r0, _08093A5C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08093A60
- movs r0, 0
- b _08093A62
- .align 2, 0
-_08093A5C: .4byte sub_8093A68
-_08093A60:
- movs r0, 0x1
-_08093A62:
- pop {r1}
- bx r1
- thumb_func_end sub_8093A48
-
- thumb_func_start sub_8093A68
-sub_8093A68: @ 8093A68
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08093A98
- ldr r2, _08093A9C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08093A7A:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08093A7A
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08093A98: .4byte gUnknown_083B5ED8
-_08093A9C: .4byte gTasks
- thumb_func_end sub_8093A68
-
- thumb_func_start sub_8093AA0
-sub_8093AA0: @ 8093AA0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _08093AE0
- movs r1, 0
- strb r1, [r0, 0x4]
- bl dp12_8087EA4
- movs r1, 0
- ldr r0, _08093AE4
- ldr r2, _08093AE8
- movs r3, 0xF0
- lsls r3, 3
- adds r0, r3
-_08093ABA:
- strh r2, [r0]
- adds r0, 0x2
- adds r1, 0x1
- cmp r1, 0x9F
- bls _08093ABA
- ldr r0, _08093AEC
- bl SetHBlankCallback
- ldr r1, _08093AE0
- movs r0, 0x1
- strb r0, [r1, 0x4]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08093AE0: .4byte 0x02000000
-_08093AE4: .4byte gUnknown_03004DE0
-_08093AE8: .4byte 0x0000fffc
-_08093AEC: .4byte sub_8093D7C
- thumb_func_end sub_8093AA0
-
- thumb_func_start sub_8093AF0
-sub_8093AF0: @ 8093AF0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- ldr r1, _08093BFC
- movs r0, 0
- strb r0, [r1, 0x4]
- mov r2, r8
- ldrh r0, [r2, 0xA]
- adds r0, 0x3
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4F
- ble _08093B18
- movs r0, 0x4F
- strh r0, [r2, 0xA]
-_08093B18:
- mov r4, r8
- movs r0, 0xA
- ldrsh r7, [r4, r0]
- movs r0, 0xA0
- subs r0, r7
- mov r9, r0
- subs r4, r0, r7
- negs r0, r7
- lsls r6, r0, 16
- movs r0, 0xA0
- lsls r0, 16
- adds r1, r4, 0
- bl __udivsi3
- adds r5, r0, 0
- ldr r1, _08093C00
- adds r5, r1
- adds r0, r5, 0
- muls r0, r4
- adds r0, r6
- mov r10, r0
- adds r0, r5, 0
- adds r1, r4, 0
- bl __udivsi3
- str r0, [sp]
- lsls r5, 1
- movs r3, 0
- cmp r3, r7
- bcs _08093B74
- ldr r2, _08093C04
- mov r12, r2
- ldr r0, _08093C08
- adds r4, r0, 0
-_08093B5C:
- lsls r0, r3, 16
- asrs r0, 16
- lsls r1, r0, 1
- add r1, r12
- subs r2, r4, r0
- strh r2, [r1]
- adds r0, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- asrs r0, 16
- cmp r0, r7
- bcc _08093B5C
-_08093B74:
- lsls r2, r3, 16
- mov r1, r9
- lsls r0, r1, 16
- asrs r1, r0, 16
- mov r4, r10
- lsrs r7, r4, 16
- cmp r2, r0
- bge _08093BAE
- ldr r0, _08093C04
- mov r9, r0
- ldr r4, _08093C08
- mov r12, r4
- adds r4, r1, 0
-_08093B8E:
- lsrs r1, r6, 16
- adds r6, r5
- ldr r0, [sp]
- subs r5, r0
- asrs r2, 16
- lsls r0, r2, 1
- add r0, r9
- add r1, r12
- strh r1, [r0]
- adds r2, 0x1
- lsls r2, 16
- lsrs r3, r2, 16
- lsls r2, r3, 16
- asrs r0, r2, 16
- cmp r0, r4
- blt _08093B8E
-_08093BAE:
- adds r1, r7, 0
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, 0x9F
- bgt _08093BD4
- ldr r4, _08093C04
- ldr r0, _08093C08
- adds r2, r1, r0
-_08093BBE:
- lsls r1, r3, 16
- asrs r1, 16
- lsls r0, r1, 1
- adds r0, r4
- strh r2, [r0]
- adds r1, 0x1
- lsls r1, 16
- lsrs r3, r1, 16
- asrs r1, 16
- cmp r1, 0x9F
- ble _08093BBE
-_08093BD4:
- movs r0, 0x1
- ldr r1, _08093BFC
- strb r0, [r1, 0x4]
- mov r2, r8
- movs r4, 0xA
- ldrsh r0, [r2, r4]
- cmp r0, 0x4A
- ble _08093BEA
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_08093BEA:
- movs r0, 0
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08093BFC: .4byte 0x02000000
-_08093C00: .4byte 0xffff0000
-_08093C04: .4byte gUnknown_03004DE0
-_08093C08: .4byte 0x0000fffc
- thumb_func_end sub_8093AF0
-
- thumb_func_start sub_8093C0C
-sub_8093C0C: @ 8093C0C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80939C0
- bl sub_8093DAC
- ldr r0, _08093C34
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- bne _08093C24
- bl sub_80939A4
-_08093C24:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08093C34: .4byte 0x02000000
- thumb_func_end sub_8093C0C
-
- thumb_func_start sub_8093C38
-sub_8093C38: @ 8093C38
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r8, r0
- ldr r1, _08093D40
- movs r2, 0
- strb r2, [r1, 0x4]
- ldrh r0, [r0, 0xA]
- subs r0, 0x3
- mov r3, r8
- strh r0, [r3, 0xA]
- lsls r0, 16
- cmp r0, 0
- bgt _08093C5C
- strh r2, [r3, 0xA]
-_08093C5C:
- mov r4, r8
- movs r0, 0xA
- ldrsh r7, [r4, r0]
- movs r0, 0xA0
- subs r0, r7
- mov r9, r0
- subs r4, r0, r7
- negs r0, r7
- lsls r6, r0, 16
- movs r0, 0xA0
- lsls r0, 16
- adds r1, r4, 0
- bl __udivsi3
- adds r5, r0, 0
- ldr r1, _08093D44
- adds r5, r1
- adds r0, r5, 0
- muls r0, r4
- adds r0, r6
- mov r10, r0
- adds r0, r5, 0
- adds r1, r4, 0
- bl __udivsi3
- str r0, [sp]
- lsrs r5, 1
- movs r3, 0
- cmp r3, r7
- bcs _08093CB8
- ldr r2, _08093D48
- mov r12, r2
- ldr r0, _08093D4C
- adds r4, r0, 0
-_08093CA0:
- lsls r0, r3, 16
- asrs r0, 16
- lsls r1, r0, 1
- add r1, r12
- subs r2, r4, r0
- strh r2, [r1]
- adds r0, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- asrs r0, 16
- cmp r0, r7
- bcc _08093CA0
-_08093CB8:
- lsls r2, r3, 16
- mov r1, r9
- lsls r0, r1, 16
- asrs r1, r0, 16
- mov r4, r10
- lsrs r7, r4, 16
- cmp r2, r0
- bge _08093CF2
- ldr r0, _08093D48
- mov r9, r0
- ldr r3, _08093D4C
- mov r12, r3
- adds r4, r1, 0
-_08093CD2:
- lsrs r1, r6, 16
- adds r6, r5
- ldr r0, [sp]
- adds r5, r0
- asrs r2, 16
- lsls r0, r2, 1
- add r0, r9
- add r1, r12
- strh r1, [r0]
- adds r2, 0x1
- lsls r2, 16
- lsrs r3, r2, 16
- lsls r2, r3, 16
- asrs r0, r2, 16
- cmp r0, r4
- blt _08093CD2
-_08093CF2:
- adds r1, r7, 0
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, 0x9F
- bgt _08093D18
- ldr r4, _08093D48
- ldr r0, _08093D4C
- adds r2, r1, r0
-_08093D02:
- lsls r1, r3, 16
- asrs r1, 16
- lsls r0, r1, 1
- adds r0, r4
- strh r2, [r0]
- adds r1, 0x1
- lsls r1, 16
- lsrs r3, r1, 16
- asrs r1, 16
- cmp r1, 0x9F
- ble _08093D02
-_08093D18:
- movs r0, 0x1
- ldr r1, _08093D40
- strb r0, [r1, 0x4]
- mov r2, r8
- movs r3, 0xA
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bgt _08093D2E
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_08093D2E:
- movs r0, 0
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08093D40: .4byte 0x02000000
-_08093D44: .4byte 0xffff0000
-_08093D48: .4byte gUnknown_03004DE0
-_08093D4C: .4byte 0x0000fffc
- thumb_func_end sub_8093C38
-
- thumb_func_start sub_8093D50
-sub_8093D50: @ 8093D50
- push {lr}
- ldr r1, _08093D74
- movs r0, 0
- strb r0, [r1, 0x4]
- bl SetHBlankCallback
- bl sub_8093E04
- ldr r0, _08093D78
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08093D74: .4byte 0x02000000
-_08093D78: .4byte sub_8093A68
- thumb_func_end sub_8093D50
-
- thumb_func_start sub_8093D7C
-sub_8093D7C: @ 8093D7C
- ldr r1, _08093DA0
- ldr r0, _08093DA4
- ldrh r2, [r0]
- movs r0, 0xFF
- ands r0, r2
- lsls r0, 1
- movs r2, 0xF0
- lsls r2, 3
- adds r1, r2
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, _08093DA8
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- bx lr
- .align 2, 0
-_08093DA0: .4byte gUnknown_03004DE0
-_08093DA4: .4byte REG_VCOUNT
-_08093DA8: .4byte REG_BG0VOFS
- thumb_func_end sub_8093D7C
-
- thumb_func_start sub_8093DAC
-sub_8093DAC: @ 8093DAC
- push {lr}
- ldr r0, _08093DBC
- ldrb r0, [r0, 0x3]
- cmp r0, 0
- beq _08093DC0
- bl sub_8093DEC
- b _08093DC4
- .align 2, 0
-_08093DBC: .4byte 0x02000000
-_08093DC0:
- bl sub_8093DC8
-_08093DC4:
- pop {r0}
- bx r0
- thumb_func_end sub_8093DAC
-
- thumb_func_start sub_8093DC8
-sub_8093DC8: @ 8093DC8
- push {lr}
- bl MenuZeroFillScreen
- bl sub_80940E4
- bl sub_8093F14
- bl sub_8093F80
- bl sub_8093FD0
- bl sub_8094038
- bl sub_8094140
- pop {r0}
- bx r0
- thumb_func_end sub_8093DC8
-
- thumb_func_start sub_8093DEC
-sub_8093DEC: @ 8093DEC
- push {lr}
- bl MenuZeroFillScreen
- bl sub_80940E4
- bl sub_8093F48
- bl sub_8094188
- pop {r0}
- bx r0
- thumb_func_end sub_8093DEC
-
- thumb_func_start sub_8093E04
-sub_8093E04: @ 8093E04
- ldr r0, _08093E20
- ldr r2, _08093E24
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x2
- movs r2, 0
- strh r2, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_08093E20: .4byte REG_BG0VOFS
-_08093E24: .4byte 0x0000fffc
- thumb_func_end sub_8093E04
-
- thumb_func_start sub_8093E28
-sub_8093E28: @ 8093E28
- push {r4-r7,lr}
- bl sub_8093EA0
- ldr r0, _08093E84
- movs r1, 0xE0
- movs r2, 0x20
- bl LoadPalette
- ldr r3, _08093E88
- movs r4, 0xC0
- lsls r4, 19
- movs r5, 0xA4
- lsls r5, 5
- ldr r1, _08093E8C
- ldr r6, _08093E90
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_08093E4E:
- str r3, [r1]
- str r4, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r2
- adds r4, r2
- subs r5, r2
- cmp r5, r2
- bhi _08093E4E
- str r3, [r1]
- str r4, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _08093E94
- ldr r2, _08093E98
- ldr r0, _08093E8C
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _08093E9C
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08093E84: .4byte gUnknown_083B5F6C
-_08093E88: .4byte gMenuTrainerCard_Gfx
-_08093E8C: .4byte 0x040000d4
-_08093E90: .4byte 0x80000800
-_08093E94: .4byte gBadgesTiles
-_08093E98: .4byte 0x06001480
-_08093E9C: .4byte 0x80000200
- thumb_func_end sub_8093E28
-
- thumb_func_start sub_8093EA0
-sub_8093EA0: @ 8093EA0
- push {r4,lr}
- ldr r1, _08093EE4
- ldr r4, _08093EE8
- ldrb r0, [r4, 0x2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x60
- bl LoadPalette
- ldr r0, _08093EEC
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08093EF0
- movs r1, 0x40
- movs r2, 0x20
- bl LoadPalette
- adds r4, 0x64
- ldrb r0, [r4]
- cmp r0, 0
- beq _08093EDC
- ldr r0, _08093EF4
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
-_08093EDC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08093EE4: .4byte gUnknown_083B5EF8
-_08093EE8: .4byte 0x02000000
-_08093EEC: .4byte gBadgesPalette
-_08093EF0: .4byte gUnknown_083B5F4C
-_08093EF4: .4byte gUnknown_083B5F0C
- thumb_func_end sub_8093EA0
-
- thumb_func_start sub_8093EF8
-sub_8093EF8: @ 8093EF8
- push {lr}
- ldr r0, _08093F0C
- adds r0, 0x64
- ldrb r0, [r0]
- ldr r2, _08093F10
- movs r1, 0x50
- bl sub_8085A5C
- pop {r0}
- bx r0
- .align 2, 0
-_08093F0C: .4byte 0x02000000
-_08093F10: .4byte 0x06001880
- thumb_func_end sub_8093EF8
-
- thumb_func_start sub_8093F14
-sub_8093F14: @ 8093F14
- push {lr}
- sub sp, 0x8
- ldr r0, _08093F3C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, _08093F40
- ldrb r0, [r0, 0x1]
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- ldr r1, _08093F44
- movs r2, 0xA0
- lsls r2, 1
- bl CpuFastSet
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_08093F3C: .4byte gUnknown_083B5EEC
-_08093F40: .4byte 0x02000000
-_08093F44: .4byte 0x06004800
- thumb_func_end sub_8093F14
-
- thumb_func_start sub_8093F48
-sub_8093F48: @ 8093F48
- push {lr}
- ldr r0, _08093F5C
- ldr r1, _08093F60
- movs r2, 0xA0
- lsls r2, 1
- bl CpuFastSet
- pop {r0}
- bx r0
- .align 2, 0
-_08093F5C: .4byte gUnknown_08E8CFC0
-_08093F60: .4byte 0x06004800
- thumb_func_end sub_8093F48
-
- thumb_func_start sub_8093F64
-sub_8093F64: @ 8093F64
- push {lr}
- ldr r0, _08093F78
- ldr r1, _08093F7C
- movs r2, 0xA0
- lsls r2, 1
- bl CpuFastSet
- pop {r0}
- bx r0
- .align 2, 0
-_08093F78: .4byte gUnknown_08E8D9C0
-_08093F7C: .4byte 0x06005000
- thumb_func_end sub_8093F64
-
- thumb_func_start sub_8093F80
-sub_8093F80: @ 8093F80
- push {r4-r7,lr}
- movs r5, 0xC4
- ldr r7, _08093FCC
- movs r1, 0x5
- movs r0, 0xA0
- lsls r0, 7
- adds r6, r0, 0
-_08093F8E:
- movs r0, 0x13
- lsls r3, r1, 16
- asrs r4, r3, 11
-_08093F94:
- lsls r2, r0, 16
- asrs r2, 16
- adds r1, r4, r2
- lsls r1, 1
- adds r1, r7
- adds r0, r5, 0
- orrs r0, r6
- strh r0, [r1]
- adds r2, 0x1
- lsls r2, 16
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- lsrs r0, r2, 16
- asrs r2, 16
- cmp r2, 0x1A
- ble _08093F94
- movs r1, 0x80
- lsls r1, 9
- adds r0, r3, r1
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0xC
- ble _08093F8E
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08093FCC: .4byte 0x06004000
- thumb_func_end sub_8093F80
-
- thumb_func_start sub_8093FD0
-sub_8093FD0: @ 8093FD0
- push {r4-r6,lr}
- ldr r4, _0809402C
- movs r2, 0xF
- ldr r0, _08094030
- ldrb r0, [r0, 0x2]
- adds r0, 0xF
- cmp r2, r0
- bge _08094002
- movs r6, 0xC0
- lsls r6, 1
- ldr r1, _08094034
- adds r5, r1, 0
- adds r3, r0, 0
-_08093FEA:
- lsls r1, r2, 16
- asrs r1, 16
- lsls r0, r1, 1
- adds r0, r4
- adds r0, r6
- strh r5, [r0]
- adds r1, 0x1
- lsls r1, 16
- lsrs r2, r1, 16
- asrs r1, 16
- cmp r1, r3
- blt _08093FEA
-_08094002:
- lsls r1, r2, 16
- asrs r0, r1, 16
- cmp r0, 0x12
- bgt _08094024
- movs r3, 0xC0
- lsls r3, 1
- movs r2, 0
-_08094010:
- asrs r0, r1, 16
- lsls r1, r0, 1
- adds r1, r4
- adds r1, r3
- strh r2, [r1]
- adds r0, 0x1
- lsls r1, r0, 16
- asrs r0, r1, 16
- cmp r0, 0x12
- ble _08094010
-_08094024:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809402C: .4byte 0x06004000
-_08094030: .4byte 0x02000000
-_08094034: .4byte 0x0000408f
- thumb_func_end sub_8093FD0
-
- thumb_func_start sub_8094038
-sub_8094038: @ 8094038
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r1, _080940D0
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _080940C2
- ldr r0, _080940D4
- mov r9, r0
- movs r0, 0
- movs r2, 0x4
- adds r1, 0xE
- mov r8, r1
- ldr r7, _080940D8
- movs r1, 0xC0
- lsls r1, 6
- adds r6, r1, 0
- adds r1, r7, 0x6
- mov r12, r1
-_08094060:
- lsls r0, 16
- asrs r4, r0, 16
- mov r1, r8
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r5, r2, 16
- cmp r0, 0
- beq _080940AE
- asrs r1, r5, 15
- add r1, r9
- movs r2, 0xF0
- lsls r2, 2
- adds r3, r1, r2
- lsls r2, r4, 3
- adds r0, r2, r7
- ldrh r0, [r0]
- orrs r0, r6
- strh r0, [r3]
- ldr r0, _080940DC
- adds r3, r1, r0
- adds r0, r7, 0x2
- adds r0, r2, r0
- ldrh r0, [r0]
- orrs r0, r6
- strh r0, [r3]
- movs r0, 0x80
- lsls r0, 3
- adds r3, r1, r0
- adds r0, r7, 0x4
- adds r0, r2, r0
- ldrh r0, [r0]
- orrs r0, r6
- strh r0, [r3]
- ldr r0, _080940E0
- adds r1, r0
- add r2, r12
- ldrh r0, [r2]
- orrs r0, r6
- strh r0, [r1]
-_080940AE:
- adds r1, r4, 0x1
- lsls r1, 16
- movs r2, 0xC0
- lsls r2, 10
- adds r0, r5, r2
- lsrs r2, r0, 16
- lsrs r0, r1, 16
- asrs r1, 16
- cmp r1, 0x7
- ble _08094060
-_080940C2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080940D0: .4byte 0x02000000
-_080940D4: .4byte 0x06004000
-_080940D8: .4byte gUnknown_083B5F8C
-_080940DC: .4byte 0x000003c2
-_080940E0: .4byte 0x00000402
- thumb_func_end sub_8094038
-
- thumb_func_start sub_80940E4
-sub_80940E4: @ 80940E4
- push {r4,lr}
- movs r2, 0
- ldr r1, _08094108
- movs r4, 0
- ldr r3, _0809410C
-_080940EE:
- strh r4, [r1]
- lsls r0, r2, 16
- movs r2, 0x80
- lsls r2, 9
- adds r0, r2
- adds r1, 0x2
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, r3
- ble _080940EE
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08094108: .4byte 0x06004000
-_0809410C: .4byte 0x000003ff
- thumb_func_end sub_80940E4
-
- thumb_func_start sub_8094110
-sub_8094110: @ 8094110
- push {r4-r6,lr}
- ldr r6, _0809413C
- movs r2, 0x3
- movs r5, 0xA0
- lsls r5, 2
- movs r3, 0x1
- movs r4, 0xB0
- lsls r4, 2
-_08094120:
- lsls r0, r2, 1
- adds r0, r6
- adds r1, r0, r5
- strh r3, [r1]
- adds r0, r4
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x10
- bls _08094120
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809413C: .4byte 0x06004800
- thumb_func_end sub_8094110
-
- thumb_func_start sub_8094140
-sub_8094140: @ 8094140
- push {r4,r5,lr}
- ldr r0, _0809417C
- bl BasicInitMenuWindow
- ldr r4, _08094180
- ldr r5, _08094184
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringCopy
- ldrb r1, [r5, 0x8]
- adds r0, r4, 0
- bl ConvertInternationalString
- adds r0, r4, 0
- movs r1, 0x7
- movs r2, 0x5
- bl MenuPrint
- bl sub_80941D8
- bl sub_8094200
- bl sub_8094218
- bl sub_809429C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809417C: .4byte gWindowConfig_81E6DC4
-_08094180: .4byte gStringVar1
-_08094184: .4byte 0x02000094
- thumb_func_end sub_8094140
-
- thumb_func_start sub_8094188
-sub_8094188: @ 8094188
- push {lr}
- ldr r0, _080941D0
- bl BasicInitMenuWindow
- bl sub_80942F8
- bl sub_8094334
- bl sub_80943C4
- bl sub_8094428
- bl sub_8094498
- bl sub_80944E8
- bl sub_8094538
- ldr r0, _080941D4
- bl BasicInitMenuWindow
- bl sub_8094354
- bl sub_80943E4
- bl sub_8094448
- bl sub_80944B8
- bl sub_8094508
- bl sub_8094558
- pop {r0}
- bx r0
- .align 2, 0
-_080941D0: .4byte gWindowConfig_81E6DC4
-_080941D4: .4byte gWindowConfig_81E6DE0
- thumb_func_end sub_8094188
-
- thumb_func_start sub_80941D8
-sub_80941D8: @ 80941D8
- push {lr}
- sub sp, 0x8
- ldr r0, _080941FC
- adds r0, 0x72
- ldrh r1, [r0]
- mov r0, sp
- movs r2, 0x2
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- mov r0, sp
- movs r1, 0x14
- movs r2, 0x2
- bl MenuPrint
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080941FC: .4byte 0x02000000
- thumb_func_end sub_80941D8
-
- thumb_func_start sub_8094200
-sub_8094200: @ 8094200
- push {lr}
- ldr r0, _08094214
- adds r0, 0x88
- ldr r0, [r0]
- movs r1, 0x10
- movs r2, 0x8
- bl sub_80B7AEC
- pop {r0}
- bx r0
- .align 2, 0
-_08094214: .4byte 0x02000000
- thumb_func_end sub_8094200
-
- thumb_func_start sub_8094218
-sub_8094218: @ 8094218
- push {lr}
- sub sp, 0x10
- ldr r1, _0809422C
- ldrb r0, [r1, 0x7]
- cmp r0, 0
- bne _08094230
- bl sub_8094110
- b _0809424A
- .align 2, 0
-_0809422C: .4byte 0x02000000
-_08094230:
- adds r0, r1, 0
- adds r0, 0x70
- ldrh r1, [r0]
- mov r0, sp
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r0, sp
- movs r1, 0x10
- movs r2, 0xA
- bl sub_8072B4C
-_0809424A:
- add sp, 0x10
- pop {r0}
- bx r0
- thumb_func_end sub_8094218
-
- thumb_func_start sub_8094250
-sub_8094250: @ 8094250
- push {r4,r5,lr}
- sub sp, 0x10
- adds r5, r0, 0
- lsls r1, 16
- lsrs r3, r1, 16
- ldr r0, _08094294
- ldrh r4, [r0, 0xE]
- ldrb r2, [r0, 0x10]
- ldr r1, _08094298
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _08094272
- adds r0, r1, 0
- adds r0, 0x74
- ldrh r4, [r0]
- adds r0, 0x2
- ldrh r2, [r0]
-_08094272:
- lsls r3, 16
- asrs r3, 16
- mov r0, sp
- adds r1, r4, 0
- bl FormatPlayTime
- adds r0, r5, 0
- mov r1, sp
- movs r2, 0x30
- movs r3, 0x1
- bl sub_8072C74
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08094294: .4byte gSaveBlock2
-_08094298: .4byte 0x02000000
- thumb_func_end sub_8094250
-
- thumb_func_start sub_809429C
-sub_809429C: @ 809429C
- push {r4-r6,lr}
- ldr r6, _080942F0
- ldrb r0, [r6, 0x1]
- cmp r0, 0
- beq _080942EA
- ldr r0, _080942F4
- adds r1, r6, 0
- adds r1, 0x20
- bl StringCopy
- movs r5, 0
- strb r5, [r0]
- adds r0, 0x1
- adds r1, r6, 0
- adds r1, 0x30
- bl StringCopy
- ldr r4, _080942F4
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0xE
- bl MenuPrint
- adds r1, r6, 0
- adds r1, 0x40
- adds r0, r4, 0
- bl StringCopy
- strb r5, [r0]
- adds r0, 0x1
- adds r1, r6, 0
- adds r1, 0x50
- bl StringCopy
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0x10
- bl MenuPrint
-_080942EA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080942F0: .4byte 0x02000000
-_080942F4: .4byte gStringVar1
- thumb_func_end sub_809429C
-
- thumb_func_start sub_80942F8
-sub_80942F8: @ 80942F8
- push {r4,r5,lr}
- ldr r4, _08094328
- ldr r5, _0809432C
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringCopy
- ldrb r1, [r5, 0x8]
- adds r0, r4, 0
- bl ConvertInternationalString
- ldr r1, _08094330
- adds r0, r4, 0
- bl StringAppend
- adds r0, r4, 0
- movs r1, 0x1C
- movs r2, 0x2
- bl sub_8072B4C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08094328: .4byte gStringVar1
-_0809432C: .4byte 0x02000094
-_08094330: .4byte gOtherText_TrainersTrainerCard
- thumb_func_end sub_80942F8
-
- thumb_func_start sub_8094334
-sub_8094334: @ 8094334
- push {lr}
- ldr r0, _0809434C
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _08094348
- ldr r0, _08094350
- movs r1, 0x3
- movs r2, 0x5
- bl MenuPrint
-_08094348:
- pop {r0}
- bx r0
- .align 2, 0
-_0809434C: .4byte 0x02000000
-_08094350: .4byte gOtherText_FirstHOF
- thumb_func_end sub_8094334
-
- thumb_func_start sub_8094354
-sub_8094354: @ 8094354
- push {r4,r5,lr}
- ldr r5, _080943B8
- ldrb r0, [r5, 0x8]
- cmp r0, 0
- beq _080943B0
- ldr r2, _080943BC
- adds r0, r5, 0
- adds r0, 0x6A
- ldrh r1, [r0]
- adds r0, r2, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r2, r0, 0
- ldr r4, _080943C0
- adds r1, r4, 0
- bl StringCopy
- adds r2, r0, 0
- adds r0, r5, 0
- adds r0, 0x6C
- ldrh r1, [r0]
- adds r0, r2, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r2, r0, 0
- adds r1, r4, 0
- bl StringCopy
- adds r2, r0, 0
- adds r0, r5, 0
- adds r0, 0x6E
- ldrh r1, [r0]
- adds r0, r2, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _080943BC
- movs r1, 0x1C
- movs r2, 0x5
- bl sub_8072B4C
-_080943B0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080943B8: .4byte 0x02000000
-_080943BC: .4byte gStringVar1
-_080943C0: .4byte gUnknown_083B5EF4
- thumb_func_end sub_8094354
-
- thumb_func_start sub_80943C4
-sub_80943C4: @ 80943C4
- push {lr}
- ldr r0, _080943DC
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- beq _080943D8
- ldr r0, _080943E0
- movs r1, 0x3
- movs r2, 0x7
- bl MenuPrint
-_080943D8:
- pop {r0}
- bx r0
- .align 2, 0
-_080943DC: .4byte 0x02000000
-_080943E0: .4byte gOtherText_LinkCableBattles
- thumb_func_end sub_80943C4
-
- thumb_func_start sub_80943E4
-sub_80943E4: @ 80943E4
- push {r4,lr}
- sub sp, 0x10
- ldr r4, _08094424
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- beq _0809441C
- adds r0, r4, 0
- adds r0, 0x78
- ldrh r1, [r0]
- mov r0, sp
- bl ConvertIntToDecimalString
- mov r0, sp
- movs r1, 0x16
- movs r2, 0x7
- bl sub_8072B4C
- adds r0, r4, 0
- adds r0, 0x7A
- ldrh r1, [r0]
- mov r0, sp
- bl ConvertIntToDecimalString
- mov r0, sp
- movs r1, 0x1C
- movs r2, 0x7
- bl sub_8072B4C
-_0809441C:
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08094424: .4byte 0x02000000
- thumb_func_end sub_80943E4
-
- thumb_func_start sub_8094428
-sub_8094428: @ 8094428
- push {lr}
- ldr r0, _08094440
- ldrb r0, [r0, 0xA]
- cmp r0, 0
- beq _0809443C
- ldr r0, _08094444
- movs r1, 0x3
- movs r2, 0xF
- bl MenuPrint
-_0809443C:
- pop {r0}
- bx r0
- .align 2, 0
-_08094440: .4byte 0x02000000
-_08094444: .4byte gOtherText_BattleTowerWinRecord
- thumb_func_end sub_8094428
-
- thumb_func_start sub_8094448
-sub_8094448: @ 8094448
- push {r4,lr}
- sub sp, 0x10
- ldr r4, _08094494
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- beq _0809448C
- adds r0, r4, 0
- adds r0, 0x7C
- ldrh r1, [r0]
- mov r0, sp
- movs r2, 0x18
- movs r3, 0x1
- bl sub_8072C44
- mov r0, sp
- movs r1, 0x70
- movs r2, 0x78
- movs r3, 0
- bl sub_80729D8
- adds r0, r4, 0
- adds r0, 0x7E
- ldrh r1, [r0]
- mov r0, sp
- movs r2, 0x18
- movs r3, 0x1
- bl sub_8072C44
- mov r0, sp
- movs r1, 0x95
- movs r2, 0x78
- movs r3, 0
- bl sub_80729D8
-_0809448C:
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08094494: .4byte 0x02000000
- thumb_func_end sub_8094448
-
- thumb_func_start sub_8094498
-sub_8094498: @ 8094498
- push {lr}
- ldr r0, _080944B0
- ldrb r0, [r0, 0xB]
- cmp r0, 0
- beq _080944AC
- ldr r0, _080944B4
- movs r1, 0x3
- movs r2, 0xD
- bl MenuPrint
-_080944AC:
- pop {r0}
- bx r0
- .align 2, 0
-_080944B0: .4byte 0x02000000
-_080944B4: .4byte gOtherText_ContestRecord
- thumb_func_end sub_8094498
-
- thumb_func_start sub_80944B8
-sub_80944B8: @ 80944B8
- push {lr}
- sub sp, 0x8
- ldr r1, _080944E4
- ldrb r0, [r1, 0xB]
- cmp r0, 0
- beq _080944DE
- adds r0, r1, 0
- adds r0, 0x80
- ldrh r1, [r0]
- mov r0, sp
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- mov r0, sp
- movs r1, 0x1C
- movs r2, 0xD
- bl sub_8072B4C
-_080944DE:
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080944E4: .4byte 0x02000000
- thumb_func_end sub_80944B8
-
- thumb_func_start sub_80944E8
-sub_80944E8: @ 80944E8
- push {lr}
- ldr r0, _08094500
- ldrb r0, [r0, 0xC]
- cmp r0, 0
- beq _080944FC
- ldr r0, _08094504
- movs r1, 0x3
- movs r2, 0xB
- bl MenuPrint
-_080944FC:
- pop {r0}
- bx r0
- .align 2, 0
-_08094500: .4byte 0x02000000
-_08094504: .4byte gOtherText_MixingRecord
- thumb_func_end sub_80944E8
-
- thumb_func_start sub_8094508
-sub_8094508: @ 8094508
- push {lr}
- sub sp, 0x8
- ldr r1, _08094534
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- beq _0809452E
- adds r0, r1, 0
- adds r0, 0x82
- ldrh r1, [r0]
- mov r0, sp
- movs r2, 0x1
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- mov r0, sp
- movs r1, 0x1C
- movs r2, 0xB
- bl sub_8072B4C
-_0809452E:
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_08094534: .4byte 0x02000000
- thumb_func_end sub_8094508
-
- thumb_func_start sub_8094538
-sub_8094538: @ 8094538
- push {lr}
- ldr r0, _08094550
- ldrb r0, [r0, 0xD]
- cmp r0, 0
- beq _0809454C
- ldr r0, _08094554
- movs r1, 0x3
- movs r2, 0x9
- bl MenuPrint
-_0809454C:
- pop {r0}
- bx r0
- .align 2, 0
-_08094550: .4byte 0x02000000
-_08094554: .4byte gOtherText_TradeRecord
- thumb_func_end sub_8094538
-
- thumb_func_start sub_8094558
-sub_8094558: @ 8094558
- push {lr}
- sub sp, 0x8
- ldr r1, _08094584
- ldrb r0, [r1, 0xD]
- cmp r0, 0
- beq _0809457E
- adds r0, r1, 0
- adds r0, 0x84
- ldrh r1, [r0]
- mov r0, sp
- movs r2, 0x1
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- mov r0, sp
- movs r1, 0x1C
- movs r2, 0x9
- bl sub_8072B4C
-_0809457E:
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_08094584: .4byte 0x02000000
- thumb_func_end sub_8094558
-
- thumb_func_start unref_sub_8094588
-unref_sub_8094588: @ 8094588
- push {r4,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r2, r1, 16
- ldr r4, _080945B4
- ldr r0, _080945B8
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- bne _0809459E
- ldr r4, _080945BC
-_0809459E:
- lsls r1, r3, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- bl MenuPrint
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080945B4: .4byte gOtherText_Boy
-_080945B8: .4byte gSaveBlock2
-_080945BC: .4byte gOtherText_Girl
- thumb_func_end unref_sub_8094588
-
- thumb_func_start sub_80945C0
-sub_80945C0: @ 80945C0
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- movs r6, 0xC
- bl sub_809473C
- lsls r0, 24
- cmp r0, 0
- beq _080945D8
- movs r6, 0xD
-_080945D8:
- ldr r0, _08094658
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _0809465C
- lsls r0, r5, 24
- lsrs r0, 24
- lsls r1, r4, 24
- lsrs r1, 24
- adds r2, r5, r6
- lsls r2, 24
- lsrs r2, 24
- adds r3, r4, 0
- adds r3, 0xB
- lsls r3, 24
- lsrs r3, 24
- bl MenuDrawTextWindow
- lsls r0, r5, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r5, r0, 16
- asrs r0, 16
- lsls r1, r4, 16
- movs r2, 0x80
- lsls r2, 9
- adds r1, r2
- lsrs r4, r1, 16
- asrs r1, 16
- bl sub_8094778
- lsls r5, 16
- asrs r5, 16
- lsls r1, r4, 16
- asrs r4, r1, 16
- movs r0, 0x80
- lsls r0, 10
- adds r1, r0
- asrs r1, 16
- adds r0, r5, 0
- bl sub_8094740
- adds r1, r4, 0x4
- lsls r1, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_80947B0
- adds r1, r4, 0x6
- lsls r1, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_80947F8
- adds r4, 0x8
- lsls r4, 16
- asrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8094844
- b _080946C2
- .align 2, 0
-_08094658: .4byte 0x00000801
-_0809465C:
- lsls r0, r5, 24
- lsrs r0, 24
- lsls r1, r4, 24
- lsrs r1, 24
- adds r2, r5, r6
- lsls r2, 24
- lsrs r2, 24
- adds r3, r4, 0
- adds r3, 0x9
- lsls r3, 24
- lsrs r3, 24
- bl MenuDrawTextWindow
- lsls r0, r5, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r5, r0, 16
- asrs r0, 16
- lsls r1, r4, 16
- movs r2, 0x80
- lsls r2, 9
- adds r1, r2
- lsrs r4, r1, 16
- asrs r1, 16
- bl sub_8094778
- lsls r5, 16
- asrs r5, 16
- lsls r1, r4, 16
- asrs r4, r1, 16
- movs r0, 0x80
- lsls r0, 10
- adds r1, r0
- asrs r1, 16
- adds r0, r5, 0
- bl sub_8094740
- adds r1, r4, 0x4
- lsls r1, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_80947B0
- adds r4, 0x6
- lsls r4, 16
- asrs r4, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8094844
-_080946C2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80945C0
-
- thumb_func_start sub_80946C8
-sub_80946C8: @ 80946C8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r7, r4, 0
- lsls r1, 16
- lsrs r5, r1, 16
- mov r8, r5
- movs r6, 0xC
- bl sub_809473C
- lsls r0, 24
- cmp r0, 0
- beq _080946E8
- movs r6, 0xD
-_080946E8:
- ldr r0, _08094710
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _08094714
- lsls r0, r4, 24
- lsrs r0, 24
- lsls r1, r5, 24
- lsrs r1, 24
- adds r2, r4, r6
- lsls r2, 24
- lsrs r2, 24
- adds r3, r5, 0
- adds r3, 0xB
- lsls r3, 24
- lsrs r3, 24
- bl MenuZeroFillWindowRect
- b _08094730
- .align 2, 0
-_08094710: .4byte 0x00000801
-_08094714:
- lsls r0, r7, 24
- lsrs r0, 24
- mov r2, r8
- lsls r1, r2, 24
- lsrs r1, 24
- adds r2, r7, r6
- lsls r2, 24
- lsrs r2, 24
- mov r3, r8
- adds r3, 0x9
- lsls r3, 24
- lsrs r3, 24
- bl MenuZeroFillWindowRect
-_08094730:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80946C8
-
- thumb_func_start sub_809473C
-sub_809473C: @ 809473C
- movs r0, 0x1
- bx lr
- thumb_func_end sub_809473C
-
- thumb_func_start sub_8094740
-sub_8094740: @ 8094740
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _08094770
- lsls r1, r4, 24
- lsrs r1, 24
- lsls r5, 24
- lsrs r5, 24
- adds r2, r5, 0
- bl MenuPrint
- ldr r0, _08094774
- adds r4, 0xC
- lsls r4, 24
- lsrs r4, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8072B4C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08094770: .4byte gOtherText_Player
-_08094774: .4byte gSaveBlock2
- thumb_func_end sub_8094740
-
- thumb_func_start sub_8094778
-sub_8094778: @ 8094778
- push {r4,r5,lr}
- sub sp, 0x20
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r0, _080947AC
- ldrb r1, [r0, 0x14]
- mov r0, sp
- bl sub_80FBFF8
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- bl MenuPrint
- add sp, 0x20
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080947AC: .4byte gMapHeader
- thumb_func_end sub_8094778
-
- thumb_func_start sub_80947B0
-sub_80947B0: @ 80947B0
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _080947F4
- lsls r1, r4, 24
- lsrs r1, 24
- lsls r5, 24
- lsrs r5, 24
- adds r2, r5, 0
- bl MenuPrint
- bl GetBadgeCount
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, sp
- bl ConvertIntToDecimalString
- adds r4, 0xC
- lsls r4, 24
- lsrs r4, 24
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8072B4C
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080947F4: .4byte gOtherText_Badges
- thumb_func_end sub_80947B0
-
- thumb_func_start sub_80947F8
-sub_80947F8: @ 80947F8
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _08094840
- lsls r1, r4, 24
- lsrs r1, 24
- lsls r5, 24
- lsrs r5, 24
- adds r2, r5, 0
- bl MenuPrint
- bl GetPokedexSeenCount
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r0, sp
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r4, 0xC
- lsls r4, 24
- lsrs r4, 24
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8072B4C
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08094840: .4byte gOtherText_Pokedex
- thumb_func_end sub_80947F8
-
- thumb_func_start sub_8094844
-sub_8094844: @ 8094844
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _08094888
- lsls r1, r4, 24
- lsrs r1, 24
- lsls r5, 24
- lsrs r5, 24
- adds r2, r5, 0
- bl MenuPrint
- ldr r0, _0809488C
- ldrh r1, [r0, 0xE]
- ldrb r2, [r0, 0x10]
- mov r0, sp
- movs r3, 0x1
- bl FormatPlayTime
- adds r4, 0xC
- lsls r4, 24
- lsrs r4, 24
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8072B4C
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08094888: .4byte gOtherText_PlayTime
-_0809488C: .4byte gSaveBlock2
- thumb_func_end sub_8094844
-
- thumb_func_start GetBadgeCount
-GetBadgeCount: @ 8094890
- push {r4,r5,lr}
- movs r5, 0
- ldr r4, _080948BC
-_08094896:
- lsls r0, r4, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080948AA
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080948AA:
- adds r4, 0x1
- ldr r0, _080948C0
- cmp r4, r0
- ble _08094896
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080948BC: .4byte 0x00000807
-_080948C0: .4byte 0x0000080e
- thumb_func_end GetBadgeCount
-
- thumb_func_start GetPokedexSeenCount
-GetPokedexSeenCount: @ 80948C4
- push {lr}
- bl sub_806912C
- cmp r0, 0
- beq _080948D6
- movs r0, 0x1
- bl pokedex_count
- b _080948DC
-_080948D6:
- movs r0, 0x1
- bl sub_8090F68
-_080948DC:
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end GetPokedexSeenCount
-
- thumb_func_start FormatPlayTime
-FormatPlayTime: @ 80948E4
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r3, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- lsls r4, 16
- lsrs r4, 16
- bl ConvertIntToDecimalString
- adds r5, r0, 0
- movs r0, 0
- strb r0, [r5]
- lsls r4, 16
- asrs r4, 16
- cmp r4, 0
- beq _0809490E
- movs r0, 0xF0
- strb r0, [r5, 0x1]
- b _08094910
-_0809490E:
- strb r4, [r5, 0x1]
-_08094910:
- movs r0, 0
- strb r0, [r5, 0x2]
- adds r5, 0x3
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end FormatPlayTime
-
- thumb_func_start unref_sub_8094928
-unref_sub_8094928: @ 8094928
- push {lr}
- ldr r1, _08094938
- ldr r2, _0809493C
- bl memcpy
- pop {r0}
- bx r0
- .align 2, 0
-_08094938: .4byte gPokemonStorage
-_0809493C: .4byte 0x000083d0
- thumb_func_end unref_sub_8094928
-
- thumb_func_start unref_sub_8094940
-unref_sub_8094940: @ 8094940
- push {lr}
- adds r1, r0, 0
- ldr r0, _08094950
- ldr r2, _08094954
- bl memcpy
- pop {r0}
- bx r0
- .align 2, 0
-_08094950: .4byte gPokemonStorage
-_08094954: .4byte 0x000083d0
- thumb_func_end unref_sub_8094940
-
- thumb_func_start sub_8094958
-sub_8094958: @ 8094958
- push {r4,lr}
- ldr r4, _08094974
- bl sub_803FBBC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8094998
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08094974: .4byte gUnknown_02038470
- thumb_func_end sub_8094958
-
- thumb_func_start sub_8094978
-sub_8094978: @ 8094978
- push {lr}
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r2, 1
- adds r0, r2
- ldr r3, _08094994
- adds r0, r3
- bl sub_8094A74
- pop {r0}
- bx r0
- .align 2, 0
-_08094994: .4byte 0x0201606c
- thumb_func_end sub_8094978
-
- thumb_func_start sub_8094998
-sub_8094998: @ 8094998
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- bl sub_806B528
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080949CE
- cmp r4, 0
- beq _080949C0
- movs r0, 0x30
- strb r0, [r6]
- movs r0, 0x45
- strb r0, [r6, 0x1]
- movs r0, 0x12
- strb r0, [r6, 0x2]
- b _08094A68
-_080949C0:
- movs r0, 0x3
- strb r0, [r6]
- movs r0, 0x12
- strb r0, [r6, 0x1]
- movs r0, 0x45
- strb r0, [r6, 0x2]
- b _08094A68
-_080949CE:
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- bne _08094A0C
- movs r5, 0x1
- movs r0, 0
- bl battle_get_side_with_given_state
- mov r2, sp
- ldr r1, _08094A08
- lsls r0, 24
- lsrs r0, 23
- adds r0, r1
- ldrh r0, [r0]
- strb r0, [r2]
- movs r4, 0
- mov r1, sp
-_080949F2:
- ldrb r0, [r1]
- cmp r4, r0
- beq _08094A00
- mov r2, sp
- adds r0, r2, r5
- strb r4, [r0]
- adds r5, 0x1
-_08094A00:
- adds r4, 0x1
- cmp r4, 0x5
- ble _080949F2
- b _08094A50
- .align 2, 0
-_08094A08: .4byte gUnknown_02024A6A
-_08094A0C:
- movs r5, 0x2
- movs r0, 0
- bl battle_get_side_with_given_state
- mov r1, sp
- ldr r4, _08094A70
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- ldrh r0, [r0]
- strb r0, [r1]
- movs r0, 0x2
- bl battle_get_side_with_given_state
- mov r1, sp
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- ldrh r0, [r0]
- strb r0, [r1, 0x1]
- movs r4, 0
-_08094A36:
- ldrb r0, [r1]
- cmp r4, r0
- beq _08094A4A
- ldrb r0, [r1, 0x1]
- cmp r4, r0
- beq _08094A4A
- mov r2, sp
- adds r0, r2, r5
- strb r4, [r0]
- adds r5, 0x1
-_08094A4A:
- adds r4, 0x1
- cmp r4, 0x5
- ble _08094A36
-_08094A50:
- movs r4, 0
- mov r3, sp
-_08094A54:
- adds r0, r6, r4
- ldrb r1, [r3]
- lsls r1, 4
- ldrb r2, [r3, 0x1]
- orrs r1, r2
- strb r1, [r0]
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _08094A54
-_08094A68:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08094A70: .4byte gUnknown_02024A6A
- thumb_func_end sub_8094998
-
- thumb_func_start sub_8094A74
-sub_8094A74: @ 8094A74
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- adds r0, r2, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r0, 24
- lsrs r0, 24
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08094A9C
- movs r0, 0
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x2
- b _08094AA8
-_08094A9C:
- movs r0, 0x1
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x3
-_08094AA8:
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_806B528
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08094ADC
- cmp r7, 0
- beq _08094ACE
- movs r0, 0x30
- strb r0, [r5]
- movs r0, 0x45
- strb r0, [r5, 0x1]
- movs r0, 0x12
- strb r0, [r5, 0x2]
- b _08094B5E
-_08094ACE:
- movs r0, 0x3
- strb r0, [r5]
- movs r0, 0x12
- strb r0, [r5, 0x1]
- movs r0, 0x45
- strb r0, [r5, 0x2]
- b _08094B5E
-_08094ADC:
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- bne _08094B14
- movs r3, 0x1
- mov r2, sp
- ldr r1, _08094B10
- lsls r0, r4, 1
- adds r0, r1
- ldrh r0, [r0]
- strb r0, [r2]
- movs r4, 0
- mov r1, sp
-_08094AF8:
- ldrb r0, [r1]
- cmp r4, r0
- beq _08094B06
- mov r2, sp
- adds r0, r2, r3
- strb r4, [r0]
- adds r3, 0x1
-_08094B06:
- adds r4, 0x1
- cmp r4, 0x5
- ble _08094AF8
- b _08094B46
- .align 2, 0
-_08094B10: .4byte gUnknown_02024A6A
-_08094B14:
- movs r3, 0x2
- mov r1, sp
- ldr r2, _08094B68
- lsls r0, r4, 1
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1]
- lsls r0, r6, 1
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1, 0x1]
- movs r4, 0
-_08094B2C:
- ldrb r0, [r1]
- cmp r4, r0
- beq _08094B40
- ldrb r0, [r1, 0x1]
- cmp r4, r0
- beq _08094B40
- mov r2, sp
- adds r0, r2, r3
- strb r4, [r0]
- adds r3, 0x1
-_08094B40:
- adds r4, 0x1
- cmp r4, 0x5
- ble _08094B2C
-_08094B46:
- movs r4, 0
- mov r3, sp
-_08094B4A:
- adds r0, r5, r4
- ldrb r1, [r3]
- lsls r1, 4
- ldrb r2, [r3, 0x1]
- orrs r1, r2
- strb r1, [r0]
- adds r3, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _08094B4A
-_08094B5E:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08094B68: .4byte gUnknown_02024A6A
- thumb_func_end sub_8094A74
-
- thumb_func_start sub_8094B6C
-sub_8094B6C: @ 8094B6C
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- movs r7, 0
- bl sub_806B528
- lsls r0, 24
- cmp r0, 0
- beq _08094C16
- lsls r0, r4, 1
- adds r0, r4
- ldr r1, _08094BCC
- adds r4, r0, r1
- movs r2, 0
- add r6, sp
- mov r12, r6
- movs r6, 0xF
- mov r3, sp
-_08094B9A:
- adds r1, r4, r2
- ldrb r0, [r1]
- lsrs r0, 4
- strb r0, [r3]
- adds r3, 0x1
- ldrb r1, [r1]
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r3]
- adds r3, 0x1
- adds r2, 0x1
- cmp r2, 0x2
- ble _08094B9A
- mov r0, r12
- ldrb r3, [r0]
- movs r2, 0
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, r5
- bne _08094BD0
- mov r0, sp
- ldrb r7, [r0]
- strb r3, [r0]
- b _08094BE4
- .align 2, 0
-_08094BCC: .4byte 0x0201606c
-_08094BD0:
- adds r2, 0x1
- cmp r2, 0x5
- bgt _08094BE4
- mov r0, sp
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, r5
- bne _08094BD0
- adds r7, r0, 0
- strb r3, [r1]
-_08094BE4:
- cmp r2, 0x6
- beq _08094C16
- mov r0, r12
- strb r7, [r0]
- mov r0, sp
- ldrb r0, [r0]
- lsls r0, 4
- mov r1, sp
- ldrb r1, [r1, 0x1]
- orrs r0, r1
- strb r0, [r4]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- lsls r0, 4
- mov r1, sp
- ldrb r1, [r1, 0x3]
- orrs r0, r1
- strb r0, [r4, 0x1]
- mov r0, sp
- ldrb r0, [r0, 0x4]
- lsls r0, 4
- mov r1, sp
- ldrb r1, [r1, 0x5]
- orrs r0, r1
- strb r0, [r4, 0x2]
-_08094C16:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8094B6C
-
- thumb_func_start sub_8094C20
-sub_8094C20: @ 8094C20
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0x1
- ands r1, r2
- lsrs r2, r0, 25
- cmp r1, 0
- beq _08094C40
- ldr r0, _08094C3C
- adds r0, r2, r0
- ldrb r0, [r0]
- movs r1, 0xF
- ands r1, r0
- b _08094C48
- .align 2, 0
-_08094C3C: .4byte gUnknown_02038470
-_08094C40:
- ldr r0, _08094C50
- adds r0, r2, r0
- ldrb r0, [r0]
- lsrs r1, r0, 4
-_08094C48:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08094C50: .4byte gUnknown_02038470
- thumb_func_end sub_8094C20
-
- thumb_func_start sub_8094C54
-sub_8094C54: @ 8094C54
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- movs r1, 0x1
- ands r1, r3
- lsrs r3, r0, 25
- cmp r1, 0
- beq _08094C7C
- ldr r0, _08094C78
- adds r0, r3, r0
- ldrb r2, [r0]
- movs r1, 0xF0
- ands r1, r2
- orrs r1, r4
- strb r1, [r0]
- b _08094C8C
- .align 2, 0
-_08094C78: .4byte gUnknown_02038470
-_08094C7C:
- ldr r2, _08094C94
- adds r2, r3, r2
- ldrb r1, [r2]
- movs r0, 0xF
- ands r0, r1
- lsls r1, r4, 4
- orrs r0, r1
- strb r0, [r2]
-_08094C8C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08094C94: .4byte gUnknown_02038470
- thumb_func_end sub_8094C54
-
- thumb_func_start sub_8094C98
-sub_8094C98: @ 8094C98
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- bl sub_8094C20
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- bl sub_8094C20
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_8094C54
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_8094C54
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8094C98
-
- thumb_func_start pokemon_order_func
-pokemon_order_func: @ 8094CD4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- movs r2, 0
- ldr r5, _08094CFC
-_08094CE0:
- adds r0, r3, r5
- ldrb r1, [r0]
- lsrs r0, r1, 4
- cmp r0, r4
- beq _08094CF8
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xF
- ands r0, r1
- cmp r0, r4
- bne _08094D00
-_08094CF8:
- adds r0, r2, 0
- b _08094D12
- .align 2, 0
-_08094CFC: .4byte gUnknown_02038470
-_08094D00:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x2
- bls _08094CE0
- movs r0, 0
-_08094D12:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end pokemon_order_func
-
- thumb_func_start pokemon_change_order
-pokemon_change_order: @ 8094D18
- push {r4,r5,lr}
- ldr r0, _08094D58
- ldr r1, _08094D5C
- movs r2, 0x96
- lsls r2, 2
- bl memcpy
- movs r4, 0
- movs r5, 0x64
-_08094D2A:
- adds r0, r4, 0
- bl pokemon_order_func
- lsls r0, 24
- lsrs r0, 24
- muls r0, r5
- ldr r1, _08094D5C
- adds r0, r1
- adds r1, r4, 0
- muls r1, r5
- ldr r2, _08094D58
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _08094D2A
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08094D58: .4byte 0x0201b000
-_08094D5C: .4byte gPlayerParty
- thumb_func_end pokemon_change_order
-
- thumb_func_start sub_8094D60
-sub_8094D60: @ 8094D60
- push {r4,r5,lr}
- ldr r4, _08094DA8
- add sp, r4
- ldr r1, _08094DAC
- movs r2, 0x96
- lsls r2, 2
- mov r0, sp
- bl memcpy
- movs r4, 0
- movs r5, 0x64
-_08094D76:
- adds r0, r4, 0
- bl sub_8094C20
- lsls r0, 24
- lsrs r0, 24
- muls r0, r5
- ldr r1, _08094DAC
- adds r0, r1
- adds r1, r4, 0
- muls r1, r5
- add r1, sp
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _08094D76
- movs r3, 0x96
- lsls r3, 2
- add sp, r3
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08094DA8: .4byte 0xfffffda8
-_08094DAC: .4byte gPlayerParty
- thumb_func_end sub_8094D60
-
- thumb_func_start unref_sub_8094DB0
-unref_sub_8094DB0: @ 8094DB0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0x1
- movs r7, 0x64
- ldr r0, _08094E08
- mov r8, r0
-_08094DBE:
- adds r0, r6, 0
- bl sub_8094C20
- lsls r0, 24
- lsrs r0, 24
- muls r0, r7
- mov r1, r8
- adds r5, r0, r1
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08094E0C
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08094E0C
- movs r0, 0
- bl sub_8094C20
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- adds r1, r6, 0
- bl sub_8094C98
- adds r0, r4, 0
- muls r0, r7
- add r0, r8
- adds r1, r5, 0
- bl sub_806E6F0
- b _08094E16
- .align 2, 0
-_08094E08: .4byte gPlayerParty
-_08094E0C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x5
- bls _08094DBE
-_08094E16:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_8094DB0
-
- thumb_func_start sub_8094E20
-sub_8094E20: @ 8094E20
- push {lr}
- ldr r3, _08094E44
- ldrb r1, [r3, 0x8]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r3, 0x8]
- ldr r1, _08094E48
- strb r0, [r1]
- bl nullsub_14
- bl pokemon_change_order
- movs r0, 0x1
- movs r1, 0xFF
- bl sub_806AFAC
- pop {r0}
- bx r0
- .align 2, 0
-_08094E44: .4byte gPaletteFade
-_08094E48: .4byte gUnknown_02038473
- thumb_func_end sub_8094E20
-
- thumb_func_start sub_8094E4C
-sub_8094E4C: @ 8094E4C
- push {lr}
- movs r0, 0x3
- bl sub_8094E20
- pop {r0}
- bx r0
- thumb_func_end sub_8094E4C
-
- thumb_func_start sub_8094E58
-sub_8094E58: @ 8094E58
- push {r4,r5,lr}
- ldr r1, _08094E78
- movs r2, 0x99
- lsls r2, 2
- adds r0, r1, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r4, r1, 0
- cmp r0, 0xA
- bls _08094E6E
- b _08095048
-_08094E6E:
- lsls r0, 2
- ldr r1, _08094E7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08094E78: .4byte 0x0201b000
-_08094E7C: .4byte _08094E80
- .align 2, 0
-_08094E80:
- .4byte _08094EAC
- .4byte _08094F28
- .4byte _08094F3C
- .4byte _08094F4A
- .4byte _08094F6C
- .4byte _08094F80
- .4byte _08094F94
- .4byte _08094FA8
- .4byte _08094FBC
- .4byte _08094FD0
- .4byte _08095000
-_08094EAC:
- bl sub_806B528
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08094EDC
- ldr r1, _08094ED4
- ldr r0, _08094ED8
- adds r4, r1, r0
- ldrh r2, [r4]
- movs r3, 0
- ldrsh r0, [r4, r3]
- cmp r0, 0x6
- bne _08094EEC
- movs r0, 0
- strh r0, [r4]
- movs r3, 0x99
- lsls r3, 2
- adds r1, r3
- b _08094FEC
- .align 2, 0
-_08094ED4: .4byte 0x0201b000
-_08094ED8: .4byte 0x00000266
-_08094EDC:
- ldr r1, _08094F10
- ldr r0, _08094F14
- adds r4, r1, r0
- ldrh r2, [r4]
- movs r3, 0
- ldrsh r0, [r4, r3]
- cmp r0, 0x5
- bgt _08094F1C
-_08094EEC:
- movs r3, 0x98
- lsls r3, 2
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r1, r2, 24
- lsrs r1, 24
- movs r2, 0
- ldrsh r3, [r4, r2]
- movs r2, 0x64
- muls r2, r3
- ldr r3, _08094F18
- adds r2, r3
- bl sub_806D90C
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _08095048
- .align 2, 0
-_08094F10: .4byte 0x0201b000
-_08094F14: .4byte 0x00000266
-_08094F18: .4byte gPlayerParty
-_08094F1C:
- movs r0, 0
- strh r0, [r4]
- movs r3, 0x99
- lsls r3, 2
- adds r1, r3
- b _08094FEC
-_08094F28:
- bl sub_806DA98
- ldr r1, _08094F38
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- b _08094FEC
- .align 2, 0
-_08094F38: .4byte 0x0201b000
-_08094F3C:
- movs r1, 0x98
- lsls r1, 2
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_806DC34
- b _08094FE6
-_08094F4A:
- movs r3, 0x98
- lsls r3, 2
- adds r0, r4, r3
- ldrb r0, [r0]
- ldr r1, _08094F68
- adds r5, r4, r1
- ldrb r1, [r5]
- bl sub_806BD58
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08094FE2
- b _08094FF8
- .align 2, 0
-_08094F68: .4byte 0x00000266
-_08094F6C:
- bl sub_806E334
- ldr r1, _08094F7C
- movs r3, 0x99
- lsls r3, 2
- adds r1, r3
- b _08094FEC
- .align 2, 0
-_08094F7C: .4byte 0x0201b000
-_08094F80:
- bl sub_806E0C4
- ldr r1, _08094F90
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- b _08094FEC
- .align 2, 0
-_08094F90: .4byte 0x0201b000
-_08094F94:
- bl sub_806E53C
- ldr r1, _08094FA4
- movs r2, 0x99
- lsls r2, 2
- adds r1, r2
- b _08094FEC
- .align 2, 0
-_08094FA4: .4byte 0x0201b000
-_08094FA8:
- bl nullsub_13
- ldr r1, _08094FB8
- movs r3, 0x99
- lsls r3, 2
- adds r1, r3
- b _08094FEC
- .align 2, 0
-_08094FB8: .4byte 0x0201b000
-_08094FBC:
- bl sub_806E6C8
- ldr r1, _08094FCC
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- b _08094FEC
- .align 2, 0
-_08094FCC: .4byte 0x0201b000
-_08094FD0:
- ldr r1, _08094FF4
- adds r5, r4, r1
- ldrb r0, [r5]
- bl sub_806B58C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08094FF8
-_08094FE2:
- movs r0, 0
- strh r0, [r5]
-_08094FE6:
- movs r2, 0x99
- lsls r2, 2
- adds r1, r4, r2
-_08094FEC:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _08095048
- .align 2, 0
-_08094FF4: .4byte 0x00000266
-_08094FF8:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _08095048
-_08095000:
- ldr r0, _08095024
- ldrb r4, [r0]
- cmp r4, 0x3
- bne _0809503C
- ldr r0, _08095028
- ldrh r0, [r0]
- bl sub_8070E48
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- bne _08095034
- ldr r0, _0809502C
- ldr r3, _08095030
- adds r0, r3
- movs r1, 0xFF
- strb r1, [r0]
- b _0809503C
- .align 2, 0
-_08095024: .4byte gUnknown_02038473
-_08095028: .4byte word_203855E
-_0809502C: .4byte 0x0201b000
-_08095030: .4byte 0x00000259
-_08095034:
- ldr r0, _08095040
- ldr r1, _08095044
- adds r0, r1
- strb r4, [r0]
-_0809503C:
- movs r0, 0x1
- b _0809504A
- .align 2, 0
-_08095040: .4byte 0x0201b000
-_08095044: .4byte 0x00000259
-_08095048:
- movs r0, 0
-_0809504A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8094E58
-
- thumb_func_start sub_8095050
-sub_8095050: @ 8095050
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0809508C
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- adds r5, r0, 0
- cmp r5, 0
- bne _080950C8
- ldr r0, _08095090
- ldrb r4, [r0]
- cmp r4, 0x1
- bne _0809509C
- ldr r3, _08095094
- ldr r2, _08095098
- movs r0, 0x98
- lsls r0, 2
- adds r2, r0
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- b _080950DE
- .align 2, 0
-_0809508C: .4byte gPlayerParty
-_08095090: .4byte gUnknown_02038473
-_08095094: .4byte gTasks
-_08095098: .4byte 0x0201b000
-_0809509C:
- ldr r3, _080950C0
- ldr r2, _080950C4
- movs r0, 0x98
- lsls r0, 2
- adds r2, r0
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- strh r5, [r0, 0x10]
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- strh r5, [r0, 0x12]
- b _080950EC
- .align 2, 0
-_080950C0: .4byte gTasks
-_080950C4: .4byte 0x0201b000
-_080950C8:
- ldr r3, _08095108
- ldr r2, _0809510C
- movs r0, 0x98
- lsls r0, 2
- adds r2, r0
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- movs r4, 0x2
-_080950DE:
- strh r4, [r0, 0x10]
- ldrb r1, [r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- strh r4, [r0, 0x12]
-_080950EC:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r3
- ldrb r0, [r0, 0x10]
- ldr r1, _08095110
- ldr r2, _08095114
- movs r3, 0
- bl sub_806E750
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08095108: .4byte gTasks
-_0809510C: .4byte 0x0201b000
-_08095110: .4byte gUnknown_083B5FF4
-_08095114: .4byte gUnknown_083B5FCC
- thumb_func_end sub_8095050
-
- thumb_func_start sub_8095118
-sub_8095118: @ 8095118
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08095150
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809512C
- b _08095268
-_0809512C:
- ldr r0, _08095154
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _08095164
- ldr r5, _08095158
- ldrh r0, [r5]
- bl sub_8070E48
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- bne _08095164
- ldr r0, _0809515C
- ldrh r1, [r5]
- ldr r2, _08095160
- ldr r3, [r0]
- b _080951AA
- .align 2, 0
-_08095150: .4byte gPaletteFade
-_08095154: .4byte gUnknown_02038473
-_08095158: .4byte word_203855E
-_0809515C: .4byte gUnknown_03004AE4
-_08095160: .4byte sub_80952E4
-_08095164:
- adds r0, r4, 0
- bl sub_806BD80
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _08095178
- cmp r0, 0x2
- beq _08095214
- b _08095268
-_08095178:
- ldr r0, _080951B4
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _080951C8
- adds r0, r4, 0
- bl sub_806CA38
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _080951B8
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0809521C
- bl sub_806D5A4
- ldr r3, _080951BC
- ldr r0, _080951C0
- ldrh r1, [r0]
- ldr r2, _080951C4
- ldr r3, [r3]
-_080951AA:
- adds r0, r4, 0
- bl _call_via_r3
- b _08095268
- .align 2, 0
-_080951B4: .4byte gUnknown_02038473
-_080951B8: .4byte gPlayerParty
-_080951BC: .4byte gUnknown_03004AE4
-_080951C0: .4byte word_203855E
-_080951C4: .4byte sub_80952E4
-_080951C8:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_806CA38
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _08095204
- adds r0, r1
- ldr r1, _08095208
- bl GetMonNickname
- adds r0, r4, 0
- bl sub_806CA38
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_8095050
- ldr r1, _0809520C
- ldr r2, _08095210
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- b _08095268
- .align 2, 0
-_08095204: .4byte gPlayerParty
-_08095208: .4byte gStringVar1
-_0809520C: .4byte sub_8095408
-_08095210: .4byte sub_8095118
-_08095214:
- ldr r5, _08095224
- ldrb r0, [r5]
- cmp r0, 0x1
- bne _08095228
-_0809521C:
- movs r0, 0x20
- bl PlaySE
- b _08095268
- .align 2, 0
-_08095224: .4byte gUnknown_02038473
-_08095228:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r5]
- cmp r0, 0x3
- bne _08095254
- ldr r1, _08095248
- movs r0, 0
- strb r0, [r1]
- ldr r1, _0809524C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08095250
- b _08095266
- .align 2, 0
-_08095248: .4byte gUnknown_0202E8F4
-_0809524C: .4byte gTasks
-_08095250: .4byte sub_80952E4
-_08095254:
- ldr r1, _08095270
- movs r0, 0
- strb r0, [r1]
- ldr r1, _08095274
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08095278
-_08095266:
- str r1, [r0]
-_08095268:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08095270: .4byte gUnknown_0202E8F4
-_08095274: .4byte gTasks
-_08095278: .4byte sub_809527C
- thumb_func_end sub_8095118
-
- thumb_func_start sub_809527C
-sub_809527C: @ 809527C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080952AC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080952B0
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080952AC: .4byte gTasks
-_080952B0: .4byte sub_80952B4
- thumb_func_end sub_809527C
-
- thumb_func_start sub_80952B4
-sub_80952B4: @ 80952B4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080952DC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080952D6
- bl sub_8094D60
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, _080952E0
- bl SetMainCallback2
-_080952D6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080952DC: .4byte gPaletteFade
-_080952E0: .4byte sub_802E414
- thumb_func_end sub_80952B4
-
- thumb_func_start sub_80952E4
-sub_80952E4: @ 80952E4
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080952FC
- ldrb r1, [r0]
- cmp r1, 0
- beq _08095300
- adds r0, r4, 0
- bl sub_809527C
- b _0809531E
- .align 2, 0
-_080952FC: .4byte gUnknown_0202E8F4
-_08095300:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _08095328
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809532C
- str r1, [r0]
-_0809531E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08095328: .4byte gTasks
-_0809532C: .4byte sub_8095330
- thumb_func_end sub_80952E4
-
- thumb_func_start sub_8095330
-sub_8095330: @ 8095330
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _08095358
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08095350
- bl sub_8094D60
- adds r0, r4, 0
- bl DestroyTask
- bl sub_80A6DCC
-_08095350:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08095358: .4byte gPaletteFade
- thumb_func_end sub_8095330
-
- thumb_func_start sub_809535C
-sub_809535C: @ 809535C
- push {lr}
- ldr r2, _08095380
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r2, _08095384
- movs r0, 0x1
- movs r1, 0xFF
- movs r3, 0x5
- bl sub_806AF4C
- ldr r0, _08095388
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_08095380: .4byte gPaletteFade
-_08095384: .4byte sub_8095118
-_08095388: .4byte sub_809538C
- thumb_func_end sub_809535C
-
- thumb_func_start sub_809538C
-sub_809538C: @ 809538C
- push {r4,r5,lr}
- ldr r4, _080953D8
- ldr r5, _080953DC
-_08095392:
- bl sub_806B124
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080953F4
- ldrb r0, [r4]
- ldrb r1, [r5]
- bl sub_806C994
- ldrb r0, [r4]
- movs r1, 0
- bl sub_806BF74
- ldrb r1, [r5]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080953E0
- adds r0, r1
- ldr r1, _080953E4
- bl GetMonNickname
- ldrb r0, [r4]
- ldrb r1, [r5]
- bl sub_8095050
- ldrb r0, [r4]
- ldr r1, _080953E8
- ldr r2, _080953EC
- bl SetTaskFuncWithFollowupFunc
- ldr r0, _080953F0
- bl SetMainCallback2
- b _08095400
- .align 2, 0
-_080953D8: .4byte 0x0201b260
-_080953DC: .4byte gUnknown_020384F0
-_080953E0: .4byte gPlayerParty
-_080953E4: .4byte gStringVar1
-_080953E8: .4byte sub_8095408
-_080953EC: .4byte sub_8095118
-_080953F0: .4byte sub_806AEDC
-_080953F4:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08095392
-_08095400:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809538C
-
- thumb_func_start sub_8095408
-sub_8095408: @ 8095408
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, r7, 0
- ldr r0, _0809543C
- ldrb r1, [r0, 0x7]
- movs r3, 0x80
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _080954B8
- ldr r2, _08095440
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08095444
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _080954B8
- .align 2, 0
-_0809543C: .4byte gPaletteFade
-_08095440: .4byte gMain
-_08095444:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0809545A
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _080954B8
-_0809545A:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080954A4
- movs r0, 0x5
- bl PlaySE
- ldr r1, _08095498
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldrb r4, [r0, 0x10]
- ldr r5, _0809549C
- ldr r6, _080954A0
- bl GetMenuCursorPos
- adds r3, r0, 0
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_806E81C
- adds r1, r0, 0
- adds r0, r7, 0
- bl _call_via_r1
- b _080954B8
- .align 2, 0
-_08095498: .4byte gTasks
-_0809549C: .4byte gUnknown_083B5FF4
-_080954A0: .4byte gUnknown_083B5FCC
-_080954A4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080954B8
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80958C4
-_080954B8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8095408
-
- thumb_func_start sub_80954C0
-sub_80954C0: @ 80954C0
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080954D8
- ldrb r0, [r0]
- cmp r0, 0
- bne _080954D4
- adds r0, r1, 0
- bl sub_80958C4
-_080954D4:
- pop {r0}
- bx r0
- .align 2, 0
-_080954D8: .4byte gUnknown_0202E8F6
- thumb_func_end sub_80954C0
-
- thumb_func_start sub_80954DC
-sub_80954DC: @ 80954DC
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_806CA38
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0809552C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08095522
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, _08095530
- ldr r1, _08095534
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _08095538
- ldr r1, _0809553C
- ldrb r2, [r1]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _08095540
- movs r1, 0x4
- str r1, [sp]
- adds r1, r5, 0
- bl sub_809D8BC
-_08095522:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809552C: .4byte gPaletteFade
-_08095530: .4byte 0x0201b000
-_08095534: .4byte 0x00000262
-_08095538: .4byte gPlayerParty
-_0809553C: .4byte gPlayerPartyCount
-_08095540: .4byte sub_809535C
- thumb_func_end sub_80954DC
-
- thumb_func_start sub_8095544
-sub_8095544: @ 8095544
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_806CA38
- ldr r1, _0809557C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _08095580
- str r1, [r0]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809557C: .4byte gTasks
-_08095580: .4byte sub_80954DC
- thumb_func_end sub_8095544
-
- thumb_func_start sub_8095584
-sub_8095584: @ 8095584
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080955F8
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x10]
- ldr r1, _080955FC
- bl sub_806E7D0
- adds r0, r6, 0
- bl sub_806CA38
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_806B528
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08095610
- cmp r5, 0x1
- beq _080955C6
- cmp r5, 0x4
- beq _080955C6
- cmp r5, 0x5
- bne _08095610
-_080955C6:
- bl sub_806D5A4
- ldr r4, _08095600
- bl sub_8040D08
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r4, _08095604
- ldr r1, _08095608
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_806E834
- ldr r1, _080955F8
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809560C
- b _0809589A
- .align 2, 0
-_080955F8: .4byte gTasks
-_080955FC: .4byte gUnknown_083B5FF4
-_08095600: .4byte gStringVar1
-_08095604: .4byte gStringVar4
-_08095608: .4byte gOtherText_CantSwitchPokeWithYours
-_0809560C: .4byte sub_80954C0
-_08095610:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08095654
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _0809566C
- bl sub_806D5A4
- ldr r1, _08095658
- adds r0, r4, 0
- bl GetMonNickname
- ldr r4, _0809565C
- ldr r1, _08095660
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_806E834
- ldr r1, _08095664
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08095668
- b _0809589A
- .align 2, 0
-_08095654: .4byte gPlayerParty
-_08095658: .4byte gStringVar1
-_0809565C: .4byte gStringVar4
-_08095660: .4byte gOtherText_NoEnergyLeft
-_08095664: .4byte gTasks
-_08095668: .4byte sub_80954C0
-_0809566C:
- movs r4, 0
- ldr r0, _08095678
- lsls r1, r6, 2
- mov r8, r1
- b _080956A8
- .align 2, 0
-_08095678: .4byte gUnknown_02024A68
-_0809567C:
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080956A0
- adds r0, r5, 0
- bl sub_8094C20
- lsls r0, 24
- ldr r2, _080956EC
- lsls r1, r4, 1
- adds r1, r2
- lsrs r0, 24
- ldrh r1, [r1]
- cmp r0, r1
- bne _080956A0
- b _08095808
-_080956A0:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080956F0
-_080956A8:
- ldrb r0, [r0]
- cmp r4, r0
- bcc _0809567C
- movs r2, 0x64
- mov r9, r2
- mov r0, r9
- muls r0, r5
- ldr r1, _080956F4
- mov r10, r1
- adds r7, r0, r1
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _08095708
- bl sub_806D5A4
- ldr r4, _080956F8
- ldr r1, _080956FC
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_806E834
- ldr r1, _08095700
- mov r2, r8
- adds r0, r2, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08095704
- b _0809589A
- .align 2, 0
-_080956EC: .4byte gUnknown_02024A6A
-_080956F0: .4byte gUnknown_02024A68
-_080956F4: .4byte gPlayerParty
-_080956F8: .4byte gStringVar4
-_080956FC: .4byte gOtherText_EGGCantBattle
-_08095700: .4byte gTasks
-_08095704: .4byte sub_80954C0
-_08095708:
- adds r0, r5, 0
- bl sub_8094C20
- ldr r1, _0809574C
- ldr r2, _08095750
- adds r1, r2
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _08095768
- bl sub_806D5A4
- ldr r1, _08095754
- adds r0, r7, 0
- bl GetMonNickname
- ldr r4, _08095758
- ldr r1, _0809575C
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_806E834
- ldr r1, _08095760
- mov r2, r8
- adds r0, r2, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08095764
- b _0809589A
- .align 2, 0
-_0809574C: .4byte 0x02000000
-_08095750: .4byte 0x0001609d
-_08095754: .4byte gStringVar1
-_08095758: .4byte gStringVar4
-_0809575C: .4byte gOtherText_AlreadySelected
-_08095760: .4byte gTasks
-_08095764: .4byte sub_80954C0
-_08095768:
- ldr r0, _08095790
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _080957A0
- bl sub_806D5A4
- bl sub_8040B8C
- ldr r0, _08095794
- movs r1, 0
- bl sub_806E834
- ldr r1, _08095798
- mov r2, r8
- adds r0, r2, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809579C
- b _0809589A
- .align 2, 0
-_08095790: .4byte gUnknown_02038473
-_08095794: .4byte gStringVar4
-_08095798: .4byte gTasks
-_0809579C: .4byte sub_80954C0
-_080957A0:
- cmp r0, 0x2
- bne _08095854
- ldr r0, _080957EC
- ldrb r4, [r0]
- bl sub_806D5A4
- ldr r0, _080957F0
- lsls r4, 1
- adds r4, r0
- ldrb r0, [r4]
- bl pokemon_order_func
- lsls r0, 24
- lsrs r0, 24
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- add r0, r10
- ldr r1, _080957F4
- bl GetMonNickname
- ldr r4, _080957F8
- ldr r1, _080957FC
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_806E834
- ldr r1, _08095800
- mov r2, r8
- adds r0, r2, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08095804
- b _0809589A
- .align 2, 0
-_080957EC: .4byte gUnknown_02024E6C
-_080957F0: .4byte gUnknown_02024A6A
-_080957F4: .4byte gStringVar1
-_080957F8: .4byte gStringVar4
-_080957FC: .4byte gOtherText_CantBeSwitched
-_08095800: .4byte gTasks
-_08095804: .4byte sub_80954C0
-_08095808:
- bl sub_806D5A4
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0809583C
- adds r0, r1
- ldr r1, _08095840
- bl GetMonNickname
- ldr r4, _08095844
- ldr r1, _08095848
- adds r0, r4, 0
- bl StringExpandPlaceholders
- adds r0, r4, 0
- movs r1, 0
- bl sub_806E834
- ldr r1, _0809584C
- mov r2, r8
- adds r0, r2, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _08095850
- b _0809589A
- .align 2, 0
-_0809583C: .4byte gPlayerParty
-_08095840: .4byte gStringVar1
-_08095844: .4byte gStringVar4
-_08095848: .4byte gOtherText_AlreadyBattle
-_0809584C: .4byte gTasks
-_08095850: .4byte sub_80954C0
-_08095854:
- adds r0, r5, 0
- bl sub_8094C20
- ldr r1, _080958AC
- strb r0, [r1]
- ldr r1, _080958B0
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080958B4
- ldr r0, _080958B8
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- bl pokemon_order_func
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8094C98
- mov r0, r9
- muls r0, r4
- add r0, r10
- adds r1, r7, 0
- bl sub_806E6F0
- ldr r1, _080958BC
- mov r2, r8
- adds r0, r2, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _080958C0
-_0809589A:
- str r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080958AC: .4byte gUnknown_0202E8F5
-_080958B0: .4byte gUnknown_0202E8F4
-_080958B4: .4byte gUnknown_02024A6A
-_080958B8: .4byte gUnknown_02024E6C
-_080958BC: .4byte gTasks
-_080958C0: .4byte sub_809527C
- thumb_func_end sub_8095584
-
- thumb_func_start sub_80958C4
-sub_80958C4: @ 80958C4
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl sub_8072DEC
- ldr r0, _080958FC
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r0, [r4, 0x10]
- ldr r1, _08095900
- bl sub_806E7D0
- ldrh r0, [r4, 0x12]
- strh r0, [r4, 0x10]
- movs r0, 0
- movs r1, 0
- bl sub_806D538
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080958FC: .4byte gTasks
-_08095900: .4byte gUnknown_083B5FF4
- thumb_func_end sub_80958C4
-
- thumb_func_start sub_8095904
-sub_8095904: @ 8095904
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- str r0, [sp]
- adds r7, r1, 0
- adds r4, r2, 0
- ldr r0, [sp, 0x3C]
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x4]
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- ldr r0, [sp]
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r4, 0
- bne _08095988
- movs r5, 0
- cmp r5, r8
- bcs _08095A2E
-_0809593E:
- ldr r1, [sp]
- adds r0, r1, r5
- ldrb r2, [r0]
- ldr r0, _08095980
- ands r0, r2
- lsls r0, 6
- movs r1, 0xF
- ands r2, r1
- lsls r2, 5
- adds r0, r2
- ldr r1, _08095984
- adds r4, r0, r1
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x10
- bl CpuSet
- movs r2, 0x80
- lsls r2, 2
- adds r0, r4, r2
- ldr r3, [sp, 0x4]
- adds r1, r7, r3
- movs r2, 0x10
- bl CpuSet
- adds r7, 0x20
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _0809593E
- b _08095A2E
- .align 2, 0
-_08095980: .4byte 0x0000fff0
-_08095984: .4byte gFont3LatinGlyphs
-_08095988:
- movs r0, 0
- mov r9, r0
- ldr r1, [sp, 0x8]
- lsls r0, r1, 28
- lsrs r0, 24
- str r0, [sp, 0xC]
- mov r2, r8
- lsls r0, r2, 21
- movs r1, 0
- lsrs r0, 1
- str r0, [sp, 0x10]
-_0809599E:
- movs r5, 0
- ldr r3, [sp, 0x4]
- adds r3, r7, r3
- str r3, [sp, 0x14]
- adds r0, r1, 0x1
- str r0, [sp, 0x18]
- cmp r5, r8
- bcs _08095A12
- movs r2, 0xF
- mov r12, r2
- lsls r1, 9
- ldr r0, _08095A40
- adds r1, r0
- mov r10, r1
-_080959BA:
- ldr r3, [sp]
- adds r0, r3, r5
- ldrb r1, [r0]
- ldr r0, _08095A44
- ands r0, r1
- lsls r0, 6
- mov r2, r12
- ands r1, r2
- lsls r1, 5
- adds r0, r1
- mov r3, r10
- adds r4, r0, r3
- movs r6, 0
- adds r5, 0x1
-_080959D6:
- ldrb r0, [r4]
- movs r3, 0xF0
- ands r3, r0
- mov r2, r12
- ands r2, r0
- cmp r3, 0
- bne _080959E6
- ldr r3, [sp, 0xC]
-_080959E6:
- cmp r2, 0
- bne _080959EC
- ldr r2, [sp, 0x8]
-_080959EC:
- mov r0, r9
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldr r1, [sp, 0x40]
- adds r0, r1, r0
- orrs r3, r2
- strb r3, [r0]
- adds r4, 0x1
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1F
- bls _080959D6
- lsls r0, r5, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _080959BA
-_08095A12:
- ldr r0, [sp, 0x40]
- adds r1, r7, 0
- ldr r3, [sp, 0x10]
- lsrs r2, r3, 16
- bl CpuSet
- ldr r7, [sp, 0x14]
- movs r0, 0
- mov r9, r0
- ldr r1, [sp, 0x18]
- lsls r0, r1, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bls _0809599E
-_08095A2E:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08095A40: .4byte gFont3LatinGlyphs
-_08095A44: .4byte 0x0000fff0
- thumb_func_end sub_8095904
-
- thumb_func_start unref_sub_8095A48
-unref_sub_8095A48: @ 8095A48
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r7, r3, 24
- movs r6, 0
-_08095A60:
- movs r3, 0
- ldrb r0, [r4]
- adds r1, r0, 0
- adds r2, r0, 0
- cmp r1, 0xFF
- beq _08095ACE
-_08095A6C:
- mov r0, sp
- adds r0, r3
- adds r0, 0x8
- strb r2, [r0]
- adds r4, 0x1
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bhi _08095AA8
- ldrb r0, [r4]
- adds r1, r0, 0
- adds r2, r0, 0
- cmp r1, 0xFF
- bne _08095A6C
- cmp r3, 0
- beq _08095ACE
- movs r6, 0x1
- cmp r3, 0x3
- bhi _08095AA8
- movs r2, 0
-_08095A96:
- adds r0, r3, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r3, r1, 16
- add r0, sp
- adds r0, 0x8
- strb r2, [r0]
- cmp r3, 0x3
- bls _08095A96
-_08095AA8:
- mov r1, sp
- adds r1, r3
- adds r1, 0x8
- movs r0, 0xFF
- strb r0, [r1]
- str r7, [sp]
- ldr r0, [sp, 0x28]
- str r0, [sp, 0x4]
- add r0, sp, 0x8
- adds r1, r5, 0
- mov r2, r8
- movs r3, 0x80
- bl sub_8095904
- movs r0, 0x80
- lsls r0, 1
- adds r5, r0
- cmp r6, 0
- beq _08095A60
-_08095ACE:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_8095A48
-
- thumb_func_start sub_8095ADC
-sub_8095ADC: @ 8095ADC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- movs r5, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r6, r0, 5
-_08095AF0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- ldr r1, _08095B20
- adds r0, r1
- adds r0, r6, r0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _08095B0C
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08095B0C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _08095AF0
- lsls r0, r5, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08095B20: .4byte gUnknown_020300A4
- thumb_func_end sub_8095ADC
-
- thumb_func_start sub_8095B24
-sub_8095B24: @ 8095B24
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r5, r0, 5
-_08095B36:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- ldr r1, _08095B54
- adds r0, r1
- adds r0, r5, r0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- bne _08095B58
- lsls r0, r4, 16
- asrs r0, 16
- b _08095B66
- .align 2, 0
-_08095B54: .4byte gUnknown_020300A4
-_08095B58:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _08095B36
- movs r0, 0x1
- negs r0, r0
-_08095B66:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8095B24
-
- thumb_func_start sub_8095B6C
-sub_8095B6C: @ 8095B6C
- push {r4-r6,lr}
- movs r5, 0
- movs r6, 0
-_08095B72:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08095BB0
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08095B9A
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _08095B9A
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08095B9A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08095B72
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08095BB0: .4byte gPlayerParty
- thumb_func_end sub_8095B6C
-
- thumb_func_start sub_8095BB4
-sub_8095BB4: @ 8095BB4
- push {r4-r7,lr}
- lsls r0, 24
- movs r5, 0
- movs r6, 0
- lsrs r7, r0, 24
-_08095BBE:
- cmp r5, r7
- beq _08095BF6
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _08095C0C
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08095BF6
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _08095BF6
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08095BF6
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08095BF6:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08095BBE
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08095C0C: .4byte gPlayerParty
- thumb_func_end sub_8095BB4
-
- thumb_func_start sub_8095C10
-sub_8095C10: @ 8095C10
- push {lr}
- ldr r0, _08095C24
- ldrb r0, [r0]
- bl sub_8095BB4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_08095C24: .4byte gUnknown_0202E8CC
- thumb_func_end sub_8095C10
-
- thumb_func_start sub_8095C28
-sub_8095C28: @ 8095C28
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_08095C2E:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _08095C5C
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _08095C46
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08095C46:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x5
- bls _08095C2E
- lsls r0, r5, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08095C5C: .4byte gPlayerParty
- thumb_func_end sub_8095C28
-
- thumb_func_start unref_sub_8095C60
-unref_sub_8095C60: @ 8095C60
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r4, r2, 16
- lsrs r4, 16
- bl StringCopy
- adds r1, r0, 0
- adds r5, r4
- cmp r1, r5
- bcs _08095C7E
- movs r0, 0
-_08095C76:
- strb r0, [r1]
- adds r1, 0x1
- cmp r1, r5
- bcc _08095C76
-_08095C7E:
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r1, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end unref_sub_8095C60
-
- thumb_func_start sub_8095C8C
-sub_8095C8C: @ 8095C8C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- adds r7, r3, 0
- ldr r5, [sp, 0x1C]
- ldr r4, [sp, 0x20]
- ldr r0, [sp, 0x24]
- mov r9, r0
- ldr r0, [sp, 0x28]
- ldr r3, [sp, 0x2C]
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r3, 16
- lsrs r3, 16
- mov r0, r9
- lsls r0, 17
- mov r9, r0
- lsrs r2, 11
- adds r2, r1
- lsls r2, 1
- adds r6, r2
- adds r0, r4, 0
- muls r0, r3
- adds r0, r5
- lsls r0, 1
- adds r7, r0
- movs r4, 0
- cmp r4, r8
- bcs _08095CFC
- mov r0, r9
- lsrs r0, 1
- mov r9, r0
- lsls r5, r3, 1
-_08095CE2:
- adds r0, r7, 0
- adds r1, r6, 0
- mov r3, r9
- lsrs r2, r3, 16
- bl CpuSet
- adds r6, 0x40
- adds r7, r5
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r8
- bcc _08095CE2
-_08095CFC:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8095C8C
-
- thumb_func_start unref_sub_8095D08
-unref_sub_8095D08: @ 8095D08
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, [sp, 0x28]
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsrs r2, 11
- adds r2, r1
- lsls r2, 1
- adds r4, r2
- lsls r3, 17
- lsrs r0, r3, 16
- str r0, [sp, 0x4]
- movs r0, 0
- cmp r0, r10
- bcs _08095DB2
- movs r6, 0x80
- lsls r6, 5
- mov r5, sp
- ldr r7, _08095D74
- lsrs r3, 17
- mov r9, r3
- mov r1, r9
- movs r2, 0x81
- lsls r2, 24
- orrs r1, r2
- mov r9, r1
-_08095D4E:
- adds r3, r4, 0
- ldr r2, [sp, 0x4]
- movs r1, 0x40
- adds r1, r4
- mov r8, r1
- adds r0, 0x1
- mov r12, r0
- cmp r2, r6
- bhi _08095D78
- movs r0, 0
- strh r0, [r5]
- mov r2, sp
- str r2, [r7]
- str r4, [r7, 0x4]
- mov r0, r9
- str r0, [r7, 0x8]
- ldr r0, [r7, 0x8]
- b _08095DA6
- .align 2, 0
-_08095D74: .4byte 0x040000d4
-_08095D78:
- movs r4, 0
- strh r4, [r5]
- ldr r1, _08095DC4
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- ldr r0, _08095DC8
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r6
- subs r2, r6
- cmp r2, r6
- bhi _08095D78
- strh r4, [r5]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r2, 1
- movs r2, 0x81
- lsls r2, 24
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_08095DA6:
- mov r4, r8
- mov r1, r12
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, r10
- bcc _08095D4E
-_08095DB2:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08095DC4: .4byte 0x040000d4
-_08095DC8: .4byte 0x81000800
- thumb_func_end unref_sub_8095D08
-
- thumb_func_start sub_8095DCC
-sub_8095DCC: @ 8095DCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r0, r3, 24
- cmp r0, 0
- beq _08095DE8
- cmp r0, 0x2
- bne _08095DEC
-_08095DE8:
- movs r2, 0x1
- b _08095DEE
-_08095DEC:
- ldr r2, _08095E38
-_08095DEE:
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _08095E44
- lsls r0, r1, 24
- asrs r0, 24
- lsls r2, 16
- asrs r1, r2, 16
- adds r1, r0
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r6, r2, 0
- cmp r1, 0
- blt _08095E90
- cmp r1, r7
- bgt _08095E90
-_08095E10:
- asrs r4, r0, 16
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- add r0, r8
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- bne _08095E3C
- asrs r0, r6, 16
- adds r0, r4, r0
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _08095E90
- cmp r2, r7
- ble _08095E10
- b _08095E90
- .align 2, 0
-_08095E38: .4byte 0x0000ffff
-_08095E3C:
- adds r0, r4, 0
- b _08095E94
-_08095E40:
- adds r0, r5, 0
- b _08095E94
-_08095E44:
- lsls r0, r1, 24
- asrs r0, 24
- lsls r2, 16
- asrs r1, r2, 16
- adds r1, r0
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r6, r2, 0
- cmp r1, 0
- blt _08095E90
- cmp r1, r7
- bgt _08095E90
-_08095E5C:
- asrs r5, r0, 16
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 4
- mov r1, r8
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _08095E80
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetBoxMonData
- cmp r0, 0
- beq _08095E40
-_08095E80:
- asrs r0, r6, 16
- adds r0, r5, r0
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- blt _08095E90
- cmp r2, r7
- ble _08095E5C
-_08095E90:
- movs r0, 0x1
- negs r0, r0
-_08095E94:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8095DCC
-
- thumb_func_start sub_8095EA0
-sub_8095EA0: @ 8095EA0
- push {lr}
- movs r0, 0x2
- movs r1, 0xF
- movs r2, 0x1B
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
- pop {r0}
- bx r0
- thumb_func_end sub_8095EA0
-
- thumb_func_start sub_8095EB4
-sub_8095EB4: @ 8095EB4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08095ED8
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _08095ECE
- b _080960F4
-_08095ECE:
- lsls r0, 2
- ldr r1, _08095EDC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08095ED8: .4byte gTasks
-_08095EDC: .4byte _08095EE0
- .align 2, 0
-_08095EE0:
- .4byte _08095EF4
- .4byte _08095F1C
- .4byte _08095F30
- .4byte _08096042
- .4byte _080960DC
-_08095EF4:
- ldrb r0, [r4, 0xA]
- bl sub_8096168
- bl MenuDisplayMessageBox
- ldr r1, _08095F18
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- b _08095F28
- .align 2, 0
-_08095F18: .4byte gUnknown_083B600C
-_08095F1C:
- bl sub_807D770
- lsls r0, 24
- cmp r0, 0
- bne _08095F28
- b _080960F4
-_08095F28:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080960F4
-_08095F30:
- bl ProcessMenuInput
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0xC]
- movs r3, 0xC
- ldrsh r1, [r4, r3]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08095FC8
- cmp r1, r0
- bgt _08095F52
- subs r0, 0x1
- cmp r1, r0
- beq _08095F58
- b _08095FE8
-_08095F52:
- cmp r1, 0x3
- beq _08095FC8
- b _08095FE8
-_08095F58:
- ldrh r3, [r4, 0xA]
- strh r3, [r4, 0xE]
- ldr r2, _08095FC0
- ldrh r1, [r2, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08095F76
- subs r0, r3, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- cmp r0, 0
- bge _08095F76
- movs r0, 0x3
- strh r0, [r4, 0xE]
-_08095F76:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08095F92
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08095F92
- movs r0, 0
- strh r0, [r4, 0xE]
-_08095F92:
- lsls r0, r3, 16
- asrs r0, 16
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bne _08095FA2
- b _080960F4
-_08095FA2:
- strh r2, [r4, 0xA]
- bl sub_8095EA0
- ldr r0, _08095FC4
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- b _080960F4
- .align 2, 0
-_08095FC0: .4byte gMain
-_08095FC4: .4byte gUnknown_083B600C
-_08095FC8:
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xD
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- bl ScriptContext2_Disable
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
- b _080960F4
-_08095FE8:
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _08096008
- bl sub_8095C28
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _08096008
- bl sub_8095EA0
- ldr r0, _08096004
- b _08096022
- .align 2, 0
-_08096004: .4byte gPCText_PartyFull2
-_08096008:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _08096034
- bl sub_8095C28
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08096034
- bl sub_8095EA0
- ldr r0, _08096030
-_08096022:
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- movs r0, 0x3
- strh r0, [r4, 0x8]
- b _080960F4
- .align 2, 0
-_08096030: .4byte gPCText_OnlyOne
-_08096034:
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- movs r0, 0x4
- strh r0, [r4, 0x8]
- b _080960F4
-_08096042:
- ldr r0, _08096088
- ldrh r1, [r0, 0x2E]
- movs r3, 0x3
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _080960B8
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08096090
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bge _0809606A
- strh r3, [r4, 0xA]
-_0809606A:
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- bl sub_8095EA0
- ldr r1, _0809608C
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- b _080960C2
- .align 2, 0
-_08096088: .4byte gMain
-_0809608C: .4byte gUnknown_083B600C
-_08096090:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080960F4
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080960A8
- strh r2, [r4, 0xA]
-_080960A8:
- movs r0, 0x1
- bl MoveMenuCursor
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
-_080960B8:
- bl sub_8095EA0
- ldr r1, _080960D8
- movs r2, 0xA
- ldrsh r0, [r4, r2]
-_080960C2:
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080960F4
- .align 2, 0
-_080960D8: .4byte gUnknown_083B600C
-_080960DC:
- ldr r0, _080960FC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080960F4
- ldrb r0, [r4, 0xC]
- bl task_intro_29
- adds r0, r5, 0
- bl DestroyTask
-_080960F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080960FC: .4byte gPaletteFade
- thumb_func_end sub_8095EB4
-
- thumb_func_start sub_8096100
-sub_8096100: @ 8096100
- push {lr}
- ldr r0, _08096128
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0809612C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .align 2, 0
-_08096128: .4byte sub_8095EB4
-_0809612C: .4byte gTasks
- thumb_func_end sub_8096100
-
- thumb_func_start sub_8096130
-sub_8096130: @ 8096130
- push {lr}
- ldr r0, _0809615C
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08096160
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- ldr r0, _08096164
- ldrb r0, [r0]
- strh r0, [r1, 0xA]
- bl pal_fill_black
- pop {r0}
- bx r0
- .align 2, 0
-_0809615C: .4byte sub_8095EB4
-_08096160: .4byte gTasks
-_08096164: .4byte gUnknown_02038474
- thumb_func_end sub_8096130
-
- thumb_func_start sub_8096168
-sub_8096168: @ 8096168
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xD
- movs r3, 0x9
- bl MenuDrawTextWindow
- ldr r3, _080961A4
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x4
- bl PrintMenuItems
- str r4, [sp]
- movs r0, 0xC
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x4
- bl InitMenu
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080961A4: .4byte gUnknown_083B600C
- thumb_func_end sub_8096168
-
- thumb_func_start sub_80961A8
-sub_80961A8: @ 80961A8
- push {lr}
- ldr r1, _080961C4
- ldr r0, _080961C8
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- strb r0, [r1]
- ldr r1, _080961CC
- ldr r0, _080961D0
- str r0, [r1]
- ldr r0, _080961D4
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080961C4: .4byte gUnknown_02038474
-_080961C8: .4byte gUnknown_083B6DB4
-_080961CC: .4byte gUnknown_0300485C
-_080961D0: .4byte sub_8096130
-_080961D4: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_80961A8
-
- thumb_func_start sub_80961D8
-sub_80961D8: @ 80961D8
- push {r4-r7,lr}
- ldr r1, _08096258
- movs r0, 0
- strb r0, [r1]
- movs r5, 0
- adds r7, r1, 0x4
-_080961E4:
- movs r4, 0
- lsls r1, r5, 2
- adds r1, r5
- lsls r0, r1, 4
- subs r0, r1
- lsls r6, r0, 5
-_080961F0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 4
- adds r0, r7
- adds r0, r6, r0
- bl ZeroBoxMonData
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1D
- bls _080961F0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xD
- bls _080961E4
- movs r5, 0
-_08096214:
- lsls r0, r5, 3
- adds r0, r5
- ldr r6, _0809625C
- adds r0, r6
- ldr r1, _08096260
- bl StringCopy
- adds r4, r5, 0x1
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- lsls r4, 16
- lsrs r5, r4, 16
- cmp r5, 0xD
- bls _08096214
- movs r5, 0
- adds r3, r6, 0
- adds r3, 0x7E
- movs r2, 0x3
-_0809623E:
- adds r0, r5, r3
- adds r1, r5, 0
- ands r1, r2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xD
- bls _0809623E
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08096258: .4byte gPokemonStorage
-_0809625C: .4byte gUnknown_020383E4
-_08096260: .4byte gPCText_BOX
- thumb_func_end sub_80961D8
-
- thumb_func_start sub_8096264
-sub_8096264: @ 8096264
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x20
- mov r8, r0
- adds r4, r1, 0
- adds r6, r2, 0
- mov r9, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 16
- lsrs r6, 16
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _080962F4
- str r0, [sp, 0x18]
- ldr r1, _080962F8
- add r5, sp, 0x18
- ldr r0, [r5, 0x4]
- ands r0, r1
- orrs r0, r6
- str r0, [r5, 0x4]
- mov r1, sp
- ldr r0, _080962FC
- str r0, [sp]
- movs r0, 0x80
- lsls r0, 4
- strh r0, [r1, 0x4]
- strh r4, [r1, 0x6]
- ldr r0, _08096300
- str r0, [sp, 0x8]
- movs r0, 0xC0
- lsls r0, 1
- strh r0, [r1, 0xC]
- adds r0, r4, 0x1
- strh r0, [r1, 0xE]
- add r0, sp, 0x10
- movs r1, 0
- movs r2, 0x8
- bl memset
- adds r0, r5, 0
- bl LoadSpritePalette
- mov r0, sp
- bl LoadSpriteSheets
- ldr r0, _08096304
- mov r1, r8
- str r1, [r0]
- movs r0, 0x90
- lsls r0, 2
- add r0, r8
- strh r4, [r0]
- ldr r0, _08096308
- add r0, r8
- strh r6, [r0]
- ldr r0, _0809630C
- add r8, r0
- mov r0, r9
- mov r1, r8
- strb r0, [r1]
- add sp, 0x20
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080962F4: .4byte gBoxSelectionPopupPalette
-_080962F8: .4byte 0xffff0000
-_080962FC: .4byte gBoxSelectionPopupCenterTiles
-_08096300: .4byte gBoxSelectionPopupSidesTiles
-_08096304: .4byte gUnknown_02038478
-_08096308: .4byte 0x00000242
-_0809630C: .4byte 0x0000023e
- thumb_func_end sub_8096264
-
- thumb_func_start sub_8096310
-sub_8096310: @ 8096310
- push {r4,r5,lr}
- ldr r4, _08096344
- ldr r0, [r4]
- ldr r1, _08096348
- adds r0, r1
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
- ldr r0, [r4]
- movs r5, 0x90
- lsls r5, 2
- adds r0, r5
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- adds r0, r5
- ldrh r0, [r0]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpriteTilesByTag
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08096344: .4byte gUnknown_02038478
-_08096348: .4byte 0x00000242
- thumb_func_end sub_8096310
-
- thumb_func_start sub_809634C
-sub_809634C: @ 809634C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80963D0
- pop {r0}
- bx r0
- thumb_func_end sub_809634C
-
- thumb_func_start sub_809635C
-sub_809635C: @ 809635C
- push {lr}
- bl sub_809658C
- pop {r0}
- bx r0
- thumb_func_end sub_809635C
-
- thumb_func_start sub_8096368
-sub_8096368: @ 8096368
- push {lr}
- ldr r0, _08096380
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08096384
- movs r0, 0x5
- bl PlaySE
- movs r0, 0xC9
- b _080963CC
- .align 2, 0
-_08096380: .4byte gMain
-_08096384:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080963A4
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080963A0
- ldr r0, [r0]
- movs r1, 0x8F
- lsls r1, 2
- adds r0, r1
- ldrb r0, [r0]
- b _080963CC
- .align 2, 0
-_080963A0: .4byte gUnknown_02038478
-_080963A4:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080963B8
- movs r0, 0x5
- bl PlaySE
- bl sub_809662C
- b _080963CA
-_080963B8:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080963CA
- movs r0, 0x5
- bl PlaySE
- bl sub_80965F8
-_080963CA:
- movs r0, 0xC8
-_080963CC:
- pop {r1}
- bx r1
- thumb_func_end sub_8096368
-
- thumb_func_start sub_80963D0
-sub_80963D0: @ 80963D0
- push {r4-r6,lr}
- sub sp, 0x3C
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0
- movs r1, 0
- str r0, [sp, 0x34]
- str r1, [sp, 0x38]
- movs r1, 0xC0
- lsls r1, 24
- ldr r0, [sp, 0x34]
- orrs r0, r1
- str r0, [sp, 0x34]
- ldr r1, _08096564
- add r4, sp, 0x34
- ldr r0, [r4, 0x4]
- ands r0, r1
- movs r1, 0x80
- lsls r1, 5
- orrs r0, r1
- str r0, [r4, 0x4]
- add r1, sp, 0x1C
- movs r2, 0
- strh r2, [r1]
- mov r0, sp
- adds r0, 0x1E
- strh r2, [r0]
- str r4, [sp, 0x20]
- ldr r0, _08096568
- str r0, [sp, 0x24]
- str r2, [sp, 0x28]
- ldr r0, _0809656C
- str r0, [sp, 0x2C]
- ldr r0, _08096570
- str r0, [sp, 0x30]
- add r0, sp, 0x4
- movs r2, 0x18
- bl memcpy
- ldr r6, _08096574
- ldr r0, [r6]
- movs r1, 0x8F
- lsls r1, 2
- adds r0, r1
- strb r5, [r0]
- add r2, sp, 0x4
- ldr r1, [r6]
- movs r5, 0x90
- lsls r5, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r3, _08096578
- adds r1, r3
- ldrh r0, [r1]
- strh r0, [r2, 0x2]
- adds r0, r2, 0
- movs r1, 0xA0
- movs r2, 0x60
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809657C
- adds r0, r1
- str r0, [r3]
- ldrb r2, [r4, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r2
- movs r2, 0x80
- orrs r0, r2
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- ands r1, r0
- movs r0, 0x40
- orrs r1, r0
- strb r1, [r4, 0x3]
- add r1, sp, 0x4
- adds r3, r5
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r1]
- ldr r0, _08096580
- str r0, [sp, 0xC]
- movs r4, 0
-_08096488:
- ldr r0, [r6]
- ldr r1, _08096584
- adds r0, r1
- ldrb r3, [r0]
- add r0, sp, 0x4
- movs r1, 0x7C
- movs r2, 0x50
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r2, [r6]
- lsls r3, r4, 2
- adds r2, 0x4
- adds r2, r3
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809657C
- adds r1, r0, r1
- str r1, [r2]
- movs r5, 0
- movs r0, 0x2
- ands r0, r4
- cmp r0, 0
- beq _080964C2
- movs r0, 0xC4
- strh r0, [r1, 0x20]
- movs r5, 0x2
-_080964C2:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _080964E6
- ldr r1, [r6]
- adds r1, 0x4
- adds r1, r3
- ldr r2, [r1]
- movs r0, 0x70
- strh r0, [r2, 0x22]
- ldr r2, [r1]
- ldrb r1, [r2, 0x3]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x3]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080964E6:
- ldr r0, [r6]
- adds r0, 0x4
- adds r0, r3
- ldr r0, [r0]
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _08096488
- movs r4, 0
- ldr r5, _08096574
-_08096504:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 19
- movs r3, 0xF8
- lsls r3, 15
- adds r0, r3
- lsrs r0, 16
- lsls r2, r4, 24
- lsrs r2, 24
- ldr r1, [r5]
- ldr r3, _08096584
- adds r1, r3
- ldrb r1, [r1]
- str r1, [sp]
- movs r1, 0x58
- movs r3, 0
- bl sub_809A9A0
- adds r2, r0, 0
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r0, 0x20
- adds r0, r1
- str r2, [r0]
- cmp r2, 0
- beq _0809654C
- movs r1, 0x1
- cmp r4, 0
- bne _08096544
- movs r3, 0x1
- negs r3, r3
- adds r1, r3, 0
-_08096544:
- strh r1, [r2, 0x2E]
- ldr r1, [r0]
- ldr r0, _08096588
- str r0, [r1, 0x1C]
-_0809654C:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08096504
- bl sub_809665C
- add sp, 0x3C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08096564: .4byte 0xffff0fff
-_08096568: .4byte gDummySpriteAnimTable
-_0809656C: .4byte gDummySpriteAffineAnimTable
-_08096570: .4byte SpriteCallbackDummy
-_08096574: .4byte gUnknown_02038478
-_08096578: .4byte 0x00000242
-_0809657C: .4byte gSprites
-_08096580: .4byte gSpriteAnimTable_83B604C
-_08096584: .4byte 0x0000023e
-_08096588: .4byte sub_8096784
- thumb_func_end sub_80963D0
-
- thumb_func_start sub_809658C
-sub_809658C: @ 809658C
- push {r4-r6,lr}
- ldr r4, _080965F4
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _080965A2
- bl DestroySprite
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1]
-_080965A2:
- movs r5, 0
- adds r6, r4, 0
-_080965A6:
- ldr r0, [r6]
- lsls r4, r5, 2
- adds r0, 0x4
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- beq _080965C2
- bl DestroySprite
- ldr r0, [r6]
- adds r0, 0x4
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080965C2:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080965A6
- movs r5, 0
-_080965CE:
- ldr r0, _080965F4
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0x20
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080965E2
- bl DestroySprite
-_080965E2:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080965CE
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080965F4: .4byte gUnknown_02038478
- thumb_func_end sub_809658C
-
- thumb_func_start sub_80965F8
-sub_80965F8: @ 80965F8
- push {lr}
- ldr r2, _08096628
- ldr r1, [r2]
- movs r0, 0x8F
- lsls r0, 2
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bls _0809661E
- ldr r0, [r2]
- movs r1, 0x8F
- lsls r1, 2
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_0809661E:
- bl sub_809665C
- pop {r0}
- bx r0
- .align 2, 0
-_08096628: .4byte gUnknown_02038478
- thumb_func_end sub_80965F8
-
- thumb_func_start sub_809662C
-sub_809662C: @ 809662C
- push {lr}
- ldr r0, _08096644
- ldr r2, [r0]
- movs r1, 0x8F
- lsls r1, 2
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08096648
- subs r1, r0, 0x1
- b _0809664A
- .align 2, 0
-_08096644: .4byte gUnknown_02038478
-_08096648:
- movs r1, 0xD
-_0809664A:
- movs r3, 0x8F
- lsls r3, 2
- adds r0, r2, r3
- strb r1, [r0]
- bl sub_809665C
- pop {r0}
- bx r0
- thumb_func_end sub_809662C
-
- thumb_func_start sub_809665C
-sub_809665C: @ 809665C
- push {r4-r7,lr}
- ldr r5, _080966B4
- ldr r0, [r5]
- movs r4, 0x8F
- lsls r4, 2
- adds r0, r4
- ldrb r0, [r0]
- bl sub_8095ADC
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _080966B8
- movs r6, 0xFC
- strb r6, [r2]
- movs r0, 0x4
- strb r0, [r2, 0x1]
- movs r0, 0xF
- strb r0, [r2, 0x2]
- movs r0, 0x1
- strb r0, [r2, 0x3]
- movs r0, 0xE
- strb r0, [r2, 0x4]
- adds r2, 0x5
- ldr r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- ldr r0, _080966BC
- adds r1, r0
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- movs r0, 0xFE
- strb r0, [r2]
- strb r6, [r2, 0x1]
- movs r0, 0x11
- strb r0, [r2, 0x2]
- cmp r7, 0x9
- bhi _080966C0
- movs r0, 0x28
- b _080966C2
- .align 2, 0
-_080966B4: .4byte gUnknown_02038478
-_080966B8: .4byte gStringVar1
-_080966BC: .4byte gUnknown_020383E4
-_080966C0:
- movs r0, 0x22
-_080966C2:
- strb r0, [r2, 0x3]
- adds r2, 0x4
- adds r0, r2, 0
- adds r1, r7, 0
- bl ConvertIntToDecimalString
- adds r2, r0, 0
- movs r0, 0xBA
- strb r0, [r2]
- movs r0, 0xA4
- strb r0, [r2, 0x1]
- movs r0, 0xA1
- strb r0, [r2, 0x2]
- movs r0, 0xFF
- strb r0, [r2, 0x3]
- ldr r0, _080966F0
- movs r1, 0
- movs r2, 0x1
- bl sub_80966F4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080966F0: .4byte gStringVar1
- thumb_func_end sub_809665C
-
- thumb_func_start sub_80966F4
-sub_80966F4: @ 80966F4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _08096764
- ldr r0, [r0]
- movs r1, 0x90
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- bl GetSpriteTileStartByTag
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 11
- lsls r4, 8
- ldr r2, _08096768
- adds r4, r2
- adds r6, r4
- lsls r5, 5
- adds r6, r5
- ldr r0, _0809676C
- ldr r5, [r0]
- mov r1, sp
- ldr r2, _08096770
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, _08096774
- str r1, [r4]
- str r5, [r4, 0x4]
- ldr r0, _08096778
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _0809677C
- adds r1, r5, 0
- mov r2, r8
- bl sub_8004E3C
- str r5, [r4]
- str r6, [r4, 0x4]
- ldr r0, _08096780
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08096764: .4byte gUnknown_02038478
-_08096768: .4byte 0x06010000
-_0809676C: .4byte gUnknown_083B6DB8
-_08096770: .4byte 0x00001111
-_08096774: .4byte 0x040000d4
-_08096778: .4byte 0x81000200
-_0809677C: .4byte gWindowConfig_81E6D38
-_08096780: .4byte 0x80000200
- thumb_func_end sub_80966F4
-
- thumb_func_start sub_8096784
-sub_8096784: @ 8096784
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080967B4
- strh r2, [r1, 0x30]
- ldrh r0, [r1, 0x2E]
- ldrh r3, [r1, 0x24]
- adds r0, r3
- strh r0, [r1, 0x24]
- ldrh r0, [r1, 0x32]
- adds r0, 0x1
- strh r0, [r1, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080967B4
- strh r2, [r1, 0x32]
- strh r2, [r1, 0x24]
-_080967B4:
- pop {r0}
- bx r0
- thumb_func_end sub_8096784
-
- thumb_func_start task_intro_29
-task_intro_29: @ 80967B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080967D0
- strb r0, [r1]
- ldr r1, _080967D4
- strb r0, [r1, 0x5]
- ldr r0, _080967D8
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080967D0: .4byte gUnknown_0203847D
-_080967D4: .4byte 0x02000000
-_080967D8: .4byte sub_8096884
- thumb_func_end task_intro_29
-
- thumb_func_start sub_80967DC
-sub_80967DC: @ 80967DC
- ldr r0, _08096800
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_08096800: .4byte REG_BG0HOFS
- thumb_func_end sub_80967DC
-
- thumb_func_start sub_8096804
-sub_8096804: @ 8096804
- push {lr}
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- bl ResetTasks
- ldr r1, _0809683C
- movs r2, 0xA0
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08096840
- adds r1, r0, 0
- adds r1, 0x8
- movs r2, 0x8
- bl sub_809CFDC
- ldr r1, _08096844
- movs r0, 0x14
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0809683C: .4byte gReservedSpriteTileCount
-_08096840: .4byte 0x02000020
-_08096844: .4byte gKeyRepeatStartDelay
- thumb_func_end sub_8096804
-
- thumb_func_start sub_8096848
-sub_8096848: @ 8096848
- push {lr}
- bl sub_809B0D4
- ldr r2, _08096868
- movs r1, 0
- ldr r0, _0809686C
- ldrb r0, [r0, 0x5]
- cmp r0, 0x1
- bne _0809685C
- movs r1, 0x1
-_0809685C:
- strb r1, [r2]
- ldr r1, _08096870
- movs r0, 0
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08096868: .4byte gUnknown_0203847C
-_0809686C: .4byte 0x02000000
-_08096870: .4byte gUnknown_0203847E
- thumb_func_end sub_8096848
-
- thumb_func_start sub_8096874
-sub_8096874: @ 8096874
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- thumb_func_end sub_8096874
-
- thumb_func_start sub_8096884
-sub_8096884: @ 8096884
- push {lr}
- ldr r0, _080968A0
- ldr r1, _080968A4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _08096894
- b _08096986
-_08096894:
- lsls r0, 2
- ldr r1, _080968A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080968A0: .4byte gMain
-_080968A4: .4byte 0x0000043c
-_080968A8: .4byte _080968AC
- .align 2, 0
-_080968AC:
- .4byte _080968D4
- .4byte _080968E8
- .4byte _080968F4
- .4byte _08096904
- .4byte _0809690E
- .4byte _08096918
- .4byte _0809691E
- .4byte _08096924
- .4byte _0809692A
- .4byte _08096964
-_080968D4:
- movs r0, 0
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- bl sub_8096804
- b _0809697A
-_080968E8:
- ldr r0, _080968F0
- bl SetUpWindowConfig
- b _0809697A
- .align 2, 0
-_080968F0: .4byte gWindowConfig_81E6D00
-_080968F4:
- ldr r0, _08096900
- bl InitMenuWindow
- bl MenuZeroFillScreen
- b _0809697A
- .align 2, 0
-_08096900: .4byte gWindowConfig_81E6D00
-_08096904:
- bl sub_80967DC
- bl sub_8096848
- b _0809697A
-_0809690E:
- bl sub_8098B48
- bl sub_809AA24
- b _0809697A
-_08096918:
- bl sub_8097DE0
- b _0809697A
-_0809691E:
- bl sub_8097E70
- b _0809697A
-_08096924:
- bl sub_8098400
- b _0809697A
-_0809692A:
- ldr r0, _08096950
- ldrb r0, [r0]
- bl sub_8099BF8
- ldr r2, _08096954
- ldr r1, _08096958
- adds r0, r2, r1
- movs r1, 0xA
- strh r1, [r0]
- ldr r1, _0809695C
- adds r2, r1
- ldr r1, _08096960
- strh r1, [r2]
- bl sub_80F727C
- bl sub_80F7404
- b _0809697A
- .align 2, 0
-_08096950: .4byte gPokemonStorage
-_08096954: .4byte 0x02000000
-_08096958: .4byte 0x000012bc
-_0809695C: .4byte 0x000012be
-_08096960: .4byte 0x0000dacb
-_08096964:
- bl sub_8096874
- ldr r0, _0809698C
- bl sub_8096BE0
- ldr r0, _08096990
- bl SetMainCallback2
- ldr r0, _08096994
- bl SetVBlankCallback
-_0809697A:
- ldr r1, _08096998
- ldr r0, _0809699C
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08096986:
- pop {r0}
- bx r0
- .align 2, 0
-_0809698C: .4byte sub_8096BF0
-_08096990: .4byte sub_8096B38
-_08096994: .4byte sub_8096AFC
-_08096998: .4byte gMain
-_0809699C: .4byte 0x0000043c
- thumb_func_end sub_8096884
-
- thumb_func_start sub_80969A0
-sub_80969A0: @ 80969A0
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080969BC
- ldr r1, _080969C0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xA
- bls _080969B2
- b _08096AE4
-_080969B2:
- lsls r0, 2
- ldr r1, _080969C4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080969BC: .4byte gMain
-_080969C0: .4byte 0x0000043c
-_080969C4: .4byte _080969C8
- .align 2, 0
-_080969C8:
- .4byte _080969F4
- .4byte _08096A34
- .4byte _08096A40
- .4byte _08096A50
- .4byte _08096A56
- .4byte _08096A60
- .4byte _08096A66
- .4byte _08096A6C
- .4byte _08096A72
- .4byte _08096AAC
- .4byte _08096AC8
-_080969F4:
- movs r0, 0
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- ldr r1, _08096A28
- ldr r0, _08096A2C
- ldrb r0, [r0]
- strb r0, [r1, 0x5]
- bl sub_8096804
- ldr r4, _08096A30
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _08096A1A
- bl sub_809BBC0
-_08096A1A:
- ldrb r0, [r4]
- cmp r0, 0
- bne _08096AD8
- bl sub_809BD14
- b _08096AD8
- .align 2, 0
-_08096A28: .4byte 0x02000000
-_08096A2C: .4byte gUnknown_0203847D
-_08096A30: .4byte gUnknown_0203847F
-_08096A34:
- ldr r0, _08096A3C
- bl SetUpWindowConfig
- b _08096AD8
- .align 2, 0
-_08096A3C: .4byte gWindowConfig_81E6D00
-_08096A40:
- ldr r0, _08096A4C
- bl InitMenuWindow
- bl MenuZeroFillScreen
- b _08096AD8
- .align 2, 0
-_08096A4C: .4byte gWindowConfig_81E6D00
-_08096A50:
- bl sub_80967DC
- b _08096AD8
-_08096A56:
- bl sub_8098B48
- bl sub_809AA98
- b _08096AD8
-_08096A60:
- bl sub_8097DE0
- b _08096AD8
-_08096A66:
- bl sub_8097E70
- b _08096AD8
-_08096A6C:
- bl sub_8098400
- b _08096AD8
-_08096A72:
- ldr r0, _08096A98
- ldrb r0, [r0]
- bl sub_8099BF8
- ldr r2, _08096A9C
- ldr r1, _08096AA0
- adds r0, r2, r1
- movs r1, 0xA
- strh r1, [r0]
- ldr r1, _08096AA4
- adds r2, r1
- ldr r1, _08096AA8
- strh r1, [r2]
- bl sub_80F727C
- bl sub_80F7404
- b _08096AD8
- .align 2, 0
-_08096A98: .4byte gPokemonStorage
-_08096A9C: .4byte 0x02000000
-_08096AA0: .4byte 0x000012bc
-_08096AA4: .4byte 0x000012be
-_08096AA8: .4byte 0x0000dacb
-_08096AAC:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _08096AC4
- bl SetVBlankCallback
- b _08096AD8
- .align 2, 0
-_08096AC4: .4byte sub_8096AFC
-_08096AC8:
- bl sub_8096874
- ldr r0, _08096AEC
- bl sub_8096BE0
- ldr r0, _08096AF0
- bl SetMainCallback2
-_08096AD8:
- ldr r1, _08096AF4
- ldr r0, _08096AF8
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08096AE4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096AEC: .4byte sub_8096C68
-_08096AF0: .4byte sub_8096B38
-_08096AF4: .4byte gMain
-_08096AF8: .4byte 0x0000043c
- thumb_func_end sub_80969A0
-
- thumb_func_start sub_8096AFC
-sub_8096AFC: @ 8096AFC
- push {lr}
- ldr r2, _08096B2C
- ldr r1, _08096B30
- ldr r3, _08096B34
- adds r0, r1, r3
- ldrh r0, [r0]
- strh r0, [r2]
- adds r2, 0x4
- ldrh r0, [r1, 0xA]
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r1, 0x8]
- strh r0, [r2]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl sub_809CFF0
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_08096B2C: .4byte REG_BG2HOFS
-_08096B30: .4byte 0x02000000
-_08096B34: .4byte 0x000008b4
- thumb_func_end sub_8096AFC
-
- thumb_func_start sub_8096B38
-sub_8096B38: @ 8096B38
- push {lr}
- ldr r0, _08096B58
- ldr r0, [r0]
- bl _call_via_r0
- bl sub_8097E44
- bl sub_8098734
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_08096B58: .4byte 0x02000000
- thumb_func_end sub_8096B38
-
- thumb_func_start sub_8096B5C
-sub_8096B5C: @ 8096B5C
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r4, _08096B70
- ldrb r0, [r4, 0x6]
- cmp r0, 0
- beq _08096B74
- cmp r0, 0x1
- beq _08096BAC
- b _08096BCC
- .align 2, 0
-_08096B70: .4byte 0x02000000
-_08096B74:
- ldr r1, _08096B98
- adds r0, r4, r1
- ldr r0, [r0]
- ldr r2, _08096B9C
- adds r1, r4, r2
- ldrb r1, [r1]
- ldr r3, _08096BA0
- adds r2, r4, r3
- ldrb r2, [r2]
- ldr r3, _08096BA4
- ldr r5, _08096BA8
- adds r4, r5
- ldrb r4, [r4]
- str r4, [sp]
- bl sub_809D8BC
- b _08096BCC
- .align 2, 0
-_08096B98: .4byte 0x00002690
-_08096B9C: .4byte 0x0000268d
-_08096BA0: .4byte 0x0000268c
-_08096BA4: .4byte sub_80969A0
-_08096BA8: .4byte 0x0000268e
-_08096BAC:
- ldr r0, _08096BD4
- ldrb r2, [r0]
- lsls r1, r2, 3
- adds r1, r2
- ldr r2, _08096BD8
- adds r0, r2
- adds r1, r0
- movs r0, 0
- str r0, [sp]
- ldr r0, _08096BDC
- str r0, [sp, 0x4]
- movs r0, 0x1
- movs r2, 0
- movs r3, 0
- bl DoNamingScreen
-_08096BCC:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08096BD4: .4byte gPokemonStorage
-_08096BD8: .4byte 0x00008344
-_08096BDC: .4byte sub_80969A0
- thumb_func_end sub_8096B5C
-
- thumb_func_start sub_8096BE0
-sub_8096BE0: @ 8096BE0
- ldr r1, _08096BEC
- str r0, [r1]
- movs r0, 0
- strb r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_08096BEC: .4byte 0x02000000
- thumb_func_end sub_8096BE0
-
- thumb_func_start sub_8096BF0
-sub_8096BF0: @ 8096BF0
- push {r4,lr}
- ldr r4, _08096C04
- ldrb r0, [r4, 0x4]
- cmp r0, 0x1
- beq _08096C16
- cmp r0, 0x1
- bgt _08096C08
- cmp r0, 0
- beq _08096C0E
- b _08096C5C
- .align 2, 0
-_08096C04: .4byte 0x02000000
-_08096C08:
- cmp r0, 0x2
- beq _08096C4C
- b _08096C5C
-_08096C0E:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- b _08096C38
-_08096C16:
- movs r0, 0x2
- bl PlaySE
- movs r1, 0
- movs r0, 0xE
- strh r0, [r4, 0xC]
- ldr r0, _08096C48
- strh r0, [r4, 0xE]
- strh r1, [r4, 0x10]
- strh r1, [r4, 0x12]
- adds r0, r4, 0
- adds r0, 0xC
- bl sub_80C5CD4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
-_08096C38:
- movs r2, 0
- bl BlendPalettes
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08096C5C
- .align 2, 0
-_08096C48: .4byte 0x0000dad0
-_08096C4C:
- bl sub_80C5DCC
- lsls r0, 24
- cmp r0, 0
- beq _08096C5C
- ldr r0, _08096C64
- bl sub_8096BE0
-_08096C5C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096C64: .4byte sub_8096C84
- thumb_func_end sub_8096BF0
-
- thumb_func_start sub_8096C68
-sub_8096C68: @ 8096C68
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08096C7A
- ldr r0, _08096C80
- bl sub_8096BE0
-_08096C7A:
- pop {r0}
- bx r0
- .align 2, 0
-_08096C80: .4byte sub_8096C84
- thumb_func_end sub_8096C68
-
- thumb_func_start sub_8096C84
-sub_8096C84: @ 8096C84
- push {r4,lr}
- ldr r0, _08096C9C
- ldrb r0, [r0, 0x4]
- cmp r0, 0x6
- bls _08096C90
- b _08096FBA
-_08096C90:
- lsls r0, 2
- ldr r1, _08096CA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08096C9C: .4byte 0x02000000
-_08096CA0: .4byte _08096CA4
- .align 2, 0
-_08096CA4:
- .4byte _08096CC0
- .4byte _08096EE0
- .4byte _08096F1C
- .4byte _08096F60
- .4byte _08096F80
- .4byte _08096F8A
- .4byte _08096FA4
-_08096CC0:
- bl sub_809CA40
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0xF
- bls _08096CD0
- b _08096FBA
-_08096CD0:
- lsls r0, 2
- ldr r1, _08096CDC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08096CDC: .4byte _08096CE0
- .align 2, 0
-_08096CE0:
- .4byte _08096D20
- .4byte _08096FBA
- .4byte _08096FBA
- .4byte _08096D94
- .4byte _08096D34
- .4byte _08096D5C
- .4byte _08096DAC
- .4byte _08096DC0
- .4byte _08096DD4
- .4byte _08096DFC
- .4byte _08096E30
- .4byte _08096EB8
- .4byte _08096E70
- .4byte _08096E8C
- .4byte _08096ECC
- .4byte _08096DA0
-_08096D20:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _08096D30
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08096FBA
- .align 2, 0
-_08096D30: .4byte 0x02000000
-_08096D34:
- ldr r4, _08096D48
- ldrb r0, [r4, 0x5]
- cmp r0, 0x2
- beq _08096D4C
- movs r0, 0x10
- bl sub_8098898
- movs r0, 0x3
- strb r0, [r4, 0x4]
- b _08096FBA
- .align 2, 0
-_08096D48: .4byte 0x02000000
-_08096D4C:
- bl sub_809B0D4
- ldr r0, _08096D58
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096D58: .4byte sub_8096FC8
-_08096D5C:
- ldr r4, _08096D88
- ldrb r0, [r4, 0x5]
- cmp r0, 0x2
- beq _08096D66
- b _08096FBA
-_08096D66:
- bl sub_809BF20
- lsls r0, 24
- cmp r0, 0
- beq _08096D80
- ldr r1, _08096D8C
- adds r0, r4, r1
- ldrh r0, [r0]
- bl itemid_is_mail
- lsls r0, 24
- cmp r0, 0
- bne _08096E4C
-_08096D80:
- ldr r0, _08096D90
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096D88: .4byte 0x02000000
-_08096D8C: .4byte 0x000011f2
-_08096D90: .4byte sub_8097004
-_08096D94:
- ldr r0, _08096D9C
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096D9C: .4byte sub_8097BA0
-_08096DA0:
- ldr r0, _08096DA8
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096DA8: .4byte sub_8097CC0
-_08096DAC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096DBC
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096DBC: .4byte sub_809789C
-_08096DC0:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096DD0
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096DD0: .4byte sub_8097078
-_08096DD4:
- movs r0, 0x5
- bl PlaySE
- ldr r4, _08096DF0
- ldr r0, _08096DF4
- ldrb r0, [r0]
- adds r0, 0x1
- ldr r2, _08096DF8
- adds r1, r4, r2
- strh r0, [r1]
- cmp r0, 0xD
- ble _08096E18
- movs r0, 0
- b _08096E16
- .align 2, 0
-_08096DF0: .4byte 0x02000000
-_08096DF4: .4byte gPokemonStorage
-_08096DF8: .4byte 0x000008b2
-_08096DFC:
- movs r0, 0x5
- bl PlaySE
- ldr r4, _08096E24
- ldr r0, _08096E28
- ldrb r0, [r0]
- subs r0, 0x1
- ldr r2, _08096E2C
- adds r1, r4, r2
- strh r0, [r1]
- cmp r0, 0
- bge _08096E18
- movs r0, 0xD
-_08096E16:
- strh r0, [r1]
-_08096E18:
- ldrb r0, [r1]
- bl sub_8099C70
- movs r0, 0x2
- strb r0, [r4, 0x4]
- b _08096FBA
- .align 2, 0
-_08096E24: .4byte 0x02000000
-_08096E28: .4byte gPokemonStorage
-_08096E2C: .4byte 0x000008b2
-_08096E30:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- bne _08096E96
- ldr r4, _08096E54
- ldr r1, _08096E58
- adds r0, r4, r1
- ldrh r0, [r0]
- bl itemid_is_mail
- lsls r0, 24
- cmp r0, 0
- beq _08096E5C
-_08096E4C:
- movs r0, 0x5
- strb r0, [r4, 0x4]
- b _08096FBA
- .align 2, 0
-_08096E54: .4byte 0x02000000
-_08096E58: .4byte 0x000011f2
-_08096E5C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096E6C
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096E6C: .4byte sub_809746C
-_08096E70:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- bne _08096E96
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096E88
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096E88: .4byte sub_80972A8
-_08096E8C:
- bl sub_809BEBC
- lsls r0, 24
- cmp r0, 0
- bne _08096EA4
-_08096E96:
- ldr r1, _08096EA0
- movs r0, 0x4
- strb r0, [r1, 0x4]
- b _08096FBA
- .align 2, 0
-_08096EA0: .4byte 0x02000000
-_08096EA4:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096EB4
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096EB4: .4byte c3_0808DC50
-_08096EB8:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096EC8
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096EC8: .4byte sub_8097390
-_08096ECC:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08096EDC
- bl sub_8096BE0
- b _08096FBA
- .align 2, 0
-_08096EDC: .4byte sub_80972FC
-_08096EE0:
- bl sub_809AC00
- lsls r0, 24
- cmp r0, 0
- bne _08096FBA
- bl sub_809BF48
- lsls r0, 24
- cmp r0, 0
- beq _08096EFA
- bl sub_80986E8
- b _08096EFE
-_08096EFA:
- bl sub_8098710
-_08096EFE:
- ldr r4, _08096F14
- ldr r2, _08096F18
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08096F0E
- bl BoxSetMosaic
-_08096F0E:
- movs r0, 0
- strb r0, [r4, 0x4]
- b _08096FBA
- .align 2, 0
-_08096F14: .4byte 0x02000000
-_08096F18: .4byte 0x000011f6
-_08096F1C:
- bl sub_8099D34
- lsls r0, 24
- cmp r0, 0
- bne _08096FBA
- ldr r1, _08096F50
- ldr r0, _08096F54
- ldr r2, _08096F58
- adds r0, r2
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, _08096F5C
- ldrb r0, [r0]
- cmp r0, 0
- bne _08096F70
- bl sub_809BF20
- lsls r0, 24
- cmp r0, 0
- bne _08096F70
- bl sub_809B440
- bl BoxSetMosaic
- b _08096F70
- .align 2, 0
-_08096F50: .4byte gPokemonStorage
-_08096F54: .4byte 0x02000000
-_08096F58: .4byte 0x000008b2
-_08096F5C: .4byte gUnknown_0203847C
-_08096F60:
- ldr r0, _08096F78
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08096FBA
- bl sub_8098A5C
-_08096F70:
- ldr r1, _08096F7C
- movs r0, 0
- strb r0, [r1, 0x4]
- b _08096FBA
- .align 2, 0
-_08096F78: .4byte gMain
-_08096F7C: .4byte 0x02000000
-_08096F80:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xD
- b _08096F92
-_08096F8A:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x16
-_08096F92:
- bl sub_8098898
- ldr r1, _08096FA0
- movs r0, 0x6
- strb r0, [r1, 0x4]
- b _08096FBA
- .align 2, 0
-_08096FA0: .4byte 0x02000000
-_08096FA4:
- ldr r0, _08096FC0
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08096FBA
- bl sub_8098A5C
- ldr r0, _08096FC4
- bl sub_8096BE0
-_08096FBA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08096FC0: .4byte gMain
-_08096FC4: .4byte sub_8096C84
- thumb_func_end sub_8096C84
-
- thumb_func_start sub_8096FC8
-sub_8096FC8: @ 8096FC8
- push {r4,lr}
- ldr r4, _08096FD8
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08096FDC
- cmp r0, 0x1
- beq _08096FE8
- b _08096FF8
- .align 2, 0
-_08096FD8: .4byte 0x02000000
-_08096FDC:
- bl sub_809880C
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08096FF8
-_08096FE8:
- bl sub_8098830
- lsls r0, 24
- cmp r0, 0
- bne _08096FF8
- ldr r0, _08097000
- bl sub_8096BE0
-_08096FF8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097000: .4byte sub_8096C84
- thumb_func_end sub_8096FC8
-
- thumb_func_start sub_8097004
-sub_8097004: @ 8097004
- push {r4,lr}
- ldr r4, _08097018
- ldrb r0, [r4, 0x4]
- cmp r0, 0x1
- beq _0809702E
- cmp r0, 0x1
- bgt _0809701C
- cmp r0, 0
- beq _08097022
- b _0809706A
- .align 2, 0
-_08097018: .4byte 0x02000000
-_0809701C:
- cmp r0, 0x2
- beq _0809704C
- b _0809706A
-_08097022:
- movs r0, 0x5
- bl PlaySE
- bl add_to_c3_somehow
- b _08097044
-_0809702E:
- bl sub_80985CC
- lsls r0, 24
- cmp r0, 0
- bne _0809706A
- bl sub_809B0F4
- lsls r0, 24
- lsrs r0, 24
- bl sub_809B0C0
-_08097044:
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _0809706A
-_0809704C:
- bl sub_809AC00
- lsls r0, 24
- cmp r0, 0
- bne _0809706A
- ldr r1, _08097070
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08097064
- bl BoxSetMosaic
-_08097064:
- ldr r0, _08097074
- bl sub_8096BE0
-_0809706A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097070: .4byte 0x000011f6
-_08097074: .4byte sub_8096C84
- thumb_func_end sub_8097004
-
- thumb_func_start sub_8097078
-sub_8097078: @ 8097078
- push {r4,lr}
- ldr r0, _08097090
- ldrb r0, [r0, 0x4]
- cmp r0, 0x5
- bls _08097084
- b _0809729A
-_08097084:
- lsls r0, 2
- ldr r1, _08097094
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097090: .4byte 0x02000000
-_08097094: .4byte _08097098
- .align 2, 0
-_08097098:
- .4byte _080970B0
- .4byte _080970C8
- .4byte _08097258
- .4byte _0809726C
- .4byte _08097262
- .4byte _08097284
-_080970B0:
- movs r0, 0x4
- bl sub_8098898
- bl sub_809CE84
- ldr r1, _080970C4
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _0809729A
- .align 2, 0
-_080970C4: .4byte 0x02000000
-_080970C8:
- bl sub_809CF30
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bls _080970D8
- b _0809729A
-_080970D8:
- lsls r0, 2
- ldr r1, _080970E4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080970E4: .4byte _080970E8
- .align 2, 0
-_080970E8:
- .4byte _08097110
- .4byte _08097110
- .4byte _08097190
- .4byte _08097178
- .4byte _08097120
- .4byte _08097158
- .4byte _08097140
- .4byte _08097230
- .4byte _080971CC
- .4byte _08097244
-_08097110:
- bl sub_8098A5C
- ldr r0, _0809711C
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_0809711C: .4byte sub_8096C84
-_08097120:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- bne _080971D6
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _0809713C
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_0809713C: .4byte sub_80972A8
-_08097140:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _08097154
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_08097154: .4byte sub_80972FC
-_08097158:
- bl sub_809BEBC
- lsls r0, 24
- cmp r0, 0
- beq _080971D6
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _08097174
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_08097174: .4byte c3_0808DC50
-_08097178:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _0809718C
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_0809718C: .4byte sub_8097390
-_08097190:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- bne _080971D6
- ldr r4, _080971C0
- ldr r1, _080971C4
- adds r0, r4, r1
- ldrh r0, [r0]
- bl itemid_is_mail
- lsls r0, 24
- cmp r0, 0
- bne _08097210
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _080971C8
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_080971C0: .4byte 0x02000000
-_080971C4: .4byte 0x000011f2
-_080971C8: .4byte sub_809746C
-_080971CC:
- bl sub_809BE80
- lsls r0, 24
- cmp r0, 0
- beq _080971E4
-_080971D6:
- ldr r1, _080971E0
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _0809729A
- .align 2, 0
-_080971E0: .4byte 0x02000000
-_080971E4:
- ldr r4, _080971F8
- ldr r1, _080971FC
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08097200
- movs r0, 0x4
- strb r0, [r4, 0x4]
- b _0809729A
- .align 2, 0
-_080971F8: .4byte 0x02000000
-_080971FC: .4byte 0x000011f9
-_08097200:
- ldr r1, _08097218
- adds r0, r4, r1
- ldrh r0, [r0]
- bl itemid_is_mail
- lsls r0, 24
- cmp r0, 0
- beq _0809721C
-_08097210:
- movs r0, 0x3
- strb r0, [r4, 0x4]
- b _0809729A
- .align 2, 0
-_08097218: .4byte 0x000011f2
-_0809721C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0809722C
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_0809722C: .4byte sub_8097594
-_08097230:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08097240
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_08097240: .4byte sub_8097788
-_08097244:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _08097254
- bl sub_8096BE0
- b _0809729A
- .align 2, 0
-_08097254: .4byte sub_80977E4
-_08097258:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xD
- b _08097274
-_08097262:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x11
- b _08097274
-_0809726C:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0x16
-_08097274:
- bl sub_8098898
- ldr r1, _08097280
- movs r0, 0x5
- strb r0, [r1, 0x4]
- b _0809729A
- .align 2, 0
-_08097280: .4byte 0x02000000
-_08097284:
- ldr r0, _080972A0
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _0809729A
- bl sub_8098A5C
- ldr r0, _080972A4
- bl sub_8096BE0
-_0809729A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080972A0: .4byte gMain
-_080972A4: .4byte sub_8096C84
- thumb_func_end sub_8097078
-
- thumb_func_start sub_80972A8
-sub_80972A8: @ 80972A8
- push {r4,lr}
- ldr r4, _080972B8
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080972BC
- cmp r0, 0x1
- beq _080972CA
- b _080972F2
- .align 2, 0
-_080972B8: .4byte 0x02000000
-_080972BC:
- movs r0, 0
- bl sub_809B100
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _080972F2
-_080972CA:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _080972F2
- ldr r0, _080972E4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080972EC
- ldr r0, _080972E8
- bl sub_8096BE0
- b _080972F2
- .align 2, 0
-_080972E4: .4byte gUnknown_0203847C
-_080972E8: .4byte sub_8097858
-_080972EC:
- ldr r0, _080972F8
- bl sub_8096BE0
-_080972F2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080972F8: .4byte sub_8096C84
- thumb_func_end sub_80972A8
-
- thumb_func_start sub_80972FC
-sub_80972FC: @ 80972FC
- push {r4,lr}
- ldr r4, _0809730C
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08097310
- cmp r0, 0x1
- beq _0809731E
- b _08097346
- .align 2, 0
-_0809730C: .4byte 0x02000000
-_08097310:
- movs r0, 0x1
- bl sub_809B100
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097346
-_0809731E:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _08097346
- ldr r0, _08097338
- ldrb r0, [r0]
- cmp r0, 0
- beq _08097340
- ldr r0, _0809733C
- bl sub_8096BE0
- b _08097346
- .align 2, 0
-_08097338: .4byte gUnknown_0203847C
-_0809733C: .4byte sub_8097858
-_08097340:
- ldr r0, _0809734C
- bl sub_8096BE0
-_08097346:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809734C: .4byte sub_8096C84
- thumb_func_end sub_80972FC
-
- thumb_func_start c3_0808DC50
-c3_0808DC50: @ 8097350
- push {r4,lr}
- ldr r4, _08097360
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _08097364
- cmp r0, 0x1
- beq _08097372
- b _08097386
- .align 2, 0
-_08097360: .4byte 0x02000000
-_08097364:
- movs r0, 0x2
- bl sub_809B100
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097386
-_08097372:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _08097386
- bl BoxSetMosaic
- ldr r0, _0809738C
- bl sub_8096BE0
-_08097386:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809738C: .4byte sub_8096C84
- thumb_func_end c3_0808DC50
-
- thumb_func_start sub_8097390
-sub_8097390: @ 8097390
- push {lr}
- ldr r0, _080973A4
- ldrb r0, [r0, 0x4]
- cmp r0, 0x5
- bhi _08097462
- lsls r0, 2
- ldr r1, _080973A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080973A4: .4byte 0x02000000
-_080973A8: .4byte _080973AC
- .align 2, 0
-_080973AC:
- .4byte _080973C4
- .4byte _080973FC
- .4byte _0809741C
- .4byte _0809742C
- .4byte _0809743E
- .4byte _0809745C
-_080973C4:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bne _080973E4
- movs r0, 0xE
- bl sub_8098898
- ldr r1, _080973E0
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08097462
- .align 2, 0
-_080973E0: .4byte 0x02000000
-_080973E4:
- bl sub_809B0E0
- movs r0, 0
- bl sub_809B100
- ldr r1, _080973F8
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08097462
- .align 2, 0
-_080973F8: .4byte 0x02000000
-_080973FC:
- ldr r0, _08097414
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08097462
- bl sub_8098A5C
- ldr r0, _08097418
- bl sub_8096BE0
- b _08097462
- .align 2, 0
-_08097414: .4byte gMain
-_08097418: .4byte sub_8096C84
-_0809741C:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _08097462
- bl sub_809880C
- b _0809744C
-_0809742C:
- bl sub_8098830
- lsls r0, 24
- cmp r0, 0
- bne _08097462
- movs r0, 0x1
- bl sub_809B100
- b _0809744C
-_0809743E:
- bl sub_809B130
- lsls r0, 24
- cmp r0, 0
- bne _08097462
- bl sub_80987DC
-_0809744C:
- ldr r1, _08097458
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _08097462
- .align 2, 0
-_08097458: .4byte 0x02000000
-_0809745C:
- ldr r0, _08097468
- bl sub_8096BE0
-_08097462:
- pop {r0}
- bx r0
- .align 2, 0
-_08097468: .4byte sub_8097004
- thumb_func_end sub_8097390
-
- thumb_func_start sub_809746C
-sub_809746C: @ 809746C
- push {r4,lr}
- ldr r0, _08097484
- ldrb r0, [r0, 0x4]
- cmp r0, 0x4
- bls _08097478
- b _08097584
-_08097478:
- lsls r0, 2
- ldr r1, _08097488
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097484: .4byte 0x02000000
-_08097488: .4byte _0809748C
- .align 2, 0
-_0809748C:
- .4byte _080974A0
- .4byte _080974D8
- .4byte _08097534
- .4byte _08097548
- .4byte _0809756C
-_080974A0:
- movs r0, 0x6
- bl sub_8098898
- ldr r4, _080974C8
- ldr r2, _080974CC
- adds r0, r4, 0
- movs r1, 0x7
- movs r3, 0x3
- bl sub_8096264
- ldr r0, _080974D0
- ldrb r0, [r0]
- bl sub_809634C
- ldr r0, _080974D4
- adds r4, r0
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097584
- .align 2, 0
-_080974C8: .4byte 0x02002370
-_080974CC: .4byte 0x0000daca
-_080974D0: .4byte gUnknown_0203847E
-_080974D4: .4byte 0xffffdc90
-_080974D8:
- bl sub_8096368
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xC8
- beq _08097584
- cmp r4, 0xC9
- bne _080974F6
- bl sub_8098A5C
- bl sub_809635C
- bl sub_8096310
- b _0809755E
-_080974F6:
- adds r0, r4, 0
- bl sub_809B62C
- lsls r0, 24
- cmp r0, 0
- beq _08097518
- bl sub_8098A5C
- bl sub_809635C
- bl sub_8096310
- ldr r1, _08097514
- movs r0, 0x2
- b _08097522
- .align 2, 0
-_08097514: .4byte 0x02000000
-_08097518:
- movs r0, 0x8
- bl sub_8098898
- ldr r1, _0809752C
- movs r0, 0x4
-_08097522:
- strb r0, [r1, 0x4]
- ldr r0, _08097530
- strb r4, [r0]
- b _08097584
- .align 2, 0
-_0809752C: .4byte 0x02000000
-_08097530: .4byte gUnknown_0203847E
-_08097534:
- bl party_compaction
- bl sub_8099310
- ldr r1, _08097544
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- b _08097582
- .align 2, 0
-_08097544: .4byte 0x02000000
-_08097548:
- bl sub_8099374
- lsls r0, 24
- cmp r0, 0
- bne _08097584
- bl sub_809B6BC
- bl BoxSetMosaic
- bl sub_80987DC
-_0809755E:
- ldr r0, _08097568
- bl sub_8096BE0
- b _08097584
- .align 2, 0
-_08097568: .4byte sub_8096C84
-_0809756C:
- ldr r0, _0809758C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08097584
- movs r0, 0x6
- bl sub_8098898
- ldr r1, _08097590
- movs r0, 0x1
-_08097582:
- strb r0, [r1, 0x4]
-_08097584:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809758C: .4byte gMain
-_08097590: .4byte 0x02000000
- thumb_func_end sub_809746C
-
- thumb_func_start sub_8097594
-sub_8097594: @ 8097594
- push {r4,lr}
- ldr r0, _080975AC
- ldrb r0, [r0, 0x4]
- cmp r0, 0xD
- bls _080975A0
- b _0809777A
-_080975A0:
- lsls r0, 2
- ldr r1, _080975B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080975AC: .4byte 0x02000000
-_080975B0: .4byte _080975B4
- .align 2, 0
-_080975B4:
- .4byte _080975EC
- .4byte _08097600
- .4byte _0809763A
- .4byte _0809766E
- .4byte _0809767A
- .4byte _08097690
- .4byte _080976C8
- .4byte _080976E0
- .4byte _080976EC
- .4byte _080976F0
- .4byte _08097704
- .4byte _08097720
- .4byte _08097732
- .4byte _08097764
-_080975EC:
- movs r0, 0x9
- bl sub_8098898
- movs r0, 0x1
- bl sub_8098A38
- ldr r1, _0809761C
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
-_08097600:
- bl ProcessMenuInputNoWrap
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _0809762C
- cmp r1, 0
- bgt _08097620
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08097626
- b _0809777A
- .align 2, 0
-_0809761C: .4byte 0x02000000
-_08097620:
- cmp r1, 0x1
- beq _08097626
- b _0809777A
-_08097626:
- bl sub_8098A5C
- b _080976E0
-_0809762C:
- bl sub_8098A5C
- bl sub_809B7D4
- bl sub_809B6DC
- b _08097744
-_0809763A:
- bl sub_809B960
- bl sub_809B734
- lsls r0, 24
- cmp r0, 0
- beq _0809764A
- b _0809777A
-_0809764A:
- ldr r4, _08097650
- b _0809765A
- .align 2, 0
-_08097650: .4byte 0x02000000
-_08097654:
- cmp r0, 0
- bne _0809765A
- b _08097758
-_0809765A:
- bl sub_809B960
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _08097654
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _0809777A
-_0809766E:
- bl sub_809B760
- bl sub_809801C
- movs r0, 0xA
- b _08097740
-_0809767A:
- ldr r0, _0809768C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08097688
- b _0809777A
-_08097688:
- movs r0, 0xB
- b _08097740
- .align 2, 0
-_0809768C: .4byte gMain
-_08097690:
- ldr r0, _080976B4
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- bl sub_8098A5C
- ldr r0, _080976B8
- ldrb r0, [r0]
- cmp r0, 0
- beq _080976BC
- bl party_compaction
- bl sub_8099310
- b _08097744
- .align 2, 0
-_080976B4: .4byte gMain
-_080976B8: .4byte gUnknown_0203847C
-_080976BC:
- ldr r1, _080976C4
- movs r0, 0x7
- strb r0, [r1, 0x4]
- b _0809777A
- .align 2, 0
-_080976C4: .4byte 0x02000000
-_080976C8:
- bl sub_8099374
- lsls r0, 24
- cmp r0, 0
- bne _0809777A
- bl sub_809B440
- bl BoxSetMosaic
- bl sub_80987DC
- b _08097744
-_080976E0:
- ldr r0, _080976E8
- bl sub_8096BE0
- b _0809777A
- .align 2, 0
-_080976E8: .4byte sub_8096C84
-_080976EC:
- movs r0, 0xA
- b _08097740
-_080976F0:
- ldr r0, _08097700
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- movs r0, 0x15
- b _08097740
- .align 2, 0
-_08097700: .4byte gMain
-_08097704:
- ldr r0, _0809771C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- bl sub_8098A5C
- bl sub_8099958
- b _08097744
- .align 2, 0
-_0809771C: .4byte gMain
-_08097720:
- bl sub_8099990
- lsls r0, 24
- cmp r0, 0
- bne _0809777A
- bl sub_809B7AC
- movs r0, 0x13
- b _08097740
-_08097732:
- ldr r0, _08097750
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- movs r0, 0x14
-_08097740:
- bl sub_8098898
-_08097744:
- ldr r1, _08097754
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _0809777A
- .align 2, 0
-_08097750: .4byte gMain
-_08097754: .4byte 0x02000000
-_08097758:
- ldr r1, _08097760
- movs r0, 0x8
- strb r0, [r1, 0x4]
- b _0809777A
- .align 2, 0
-_08097760: .4byte 0x02000000
-_08097764:
- ldr r0, _08097780
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _0809777A
- bl sub_8098A5C
- ldr r0, _08097784
- bl sub_8096BE0
-_0809777A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097780: .4byte gMain
-_08097784: .4byte sub_8096C84
- thumb_func_end sub_8097594
-
- thumb_func_start sub_8097788
-sub_8097788: @ 8097788
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _0809779C
- ldrb r4, [r5, 0x4]
- cmp r4, 0
- beq _080977A0
- cmp r4, 0x1
- beq _080977BC
- b _080977D4
- .align 2, 0
-_0809779C: .4byte 0x02000000
-_080977A0:
- bl sub_809BC18
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _080977D4
-_080977BC:
- bl UpdatePaletteFade
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080977D4
- ldr r0, _080977DC
- strb r1, [r0]
- strb r1, [r5, 0x6]
- ldr r0, _080977E0
- bl SetMainCallback2
-_080977D4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080977DC: .4byte gUnknown_0203847F
-_080977E0: .4byte sub_8096B5C
- thumb_func_end sub_8097788
-
- thumb_func_start sub_80977E4
-sub_80977E4: @ 80977E4
- push {r4,lr}
- ldr r4, _080977F4
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080977F8
- cmp r0, 0x1
- beq _08097824
- b _0809784C
- .align 2, 0
-_080977F4: .4byte 0x02000000
-_080977F8:
- movs r0, 0xC
- bl sub_8098898
- ldr r0, _08097820
- adds r2, r4, r0
- ldrb r1, [r2]
- movs r3, 0x96
- lsls r3, 5
- adds r0, r4, r3
- strb r1, [r0]
- ldrb r0, [r2]
- movs r1, 0xB0
- movs r2, 0x10
- bl sub_80F7418
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _0809784C
- .align 2, 0
-_08097820: .4byte 0x000011f7
-_08097824:
- bl sub_80F7500
- lsls r0, 24
- cmp r0, 0
- bne _0809784C
- bl sub_80F7470
- bl sub_8098A5C
- movs r1, 0x96
- lsls r1, 5
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_809BDD8
- bl sub_809801C
- ldr r0, _08097854
- bl sub_8096BE0
-_0809784C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097854: .4byte sub_8096C84
- thumb_func_end sub_80977E4
-
- thumb_func_start sub_8097858
-sub_8097858: @ 8097858
- push {r4,lr}
- ldr r4, _08097868
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _0809786C
- cmp r0, 0x1
- beq _0809787C
- b _08097890
- .align 2, 0
-_08097868: .4byte 0x02000000
-_0809786C:
- bl party_compaction
- bl sub_8099310
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097890
-_0809787C:
- bl sub_8099374
- lsls r0, 24
- cmp r0, 0
- bne _08097890
- bl sub_80987DC
- ldr r0, _08097898
- bl sub_8096BE0
-_08097890:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097898: .4byte sub_8096C84
- thumb_func_end sub_8097858
-
- thumb_func_start sub_809789C
-sub_809789C: @ 809789C
- push {r4,lr}
- ldr r4, _080978AC
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080978B0
- cmp r0, 0x1
- beq _080978C2
- b _08097968
- .align 2, 0
-_080978AC: .4byte 0x02000000
-_080978B0:
- movs r0, 0x1
- bl sub_8098898
- bl sub_809CE84
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097968
-_080978C2:
- bl sub_809CF30
- adds r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bhi _08097968
- lsls r0, 2
- ldr r1, _080978DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080978DC: .4byte _080978E0
- .align 2, 0
-_080978E0:
- .4byte _08097914
- .4byte _08097914
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097968
- .4byte _08097958
- .4byte _08097940
- .4byte _0809792C
-_08097914:
- movs r0, 0x1
- bl sub_809A860
- bl sub_8098A5C
- ldr r0, _08097928
- bl sub_8096BE0
- b _08097968
- .align 2, 0
-_08097928: .4byte sub_8096C84
-_0809792C:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _0809793C
- bl sub_8096BE0
- b _08097968
- .align 2, 0
-_0809793C: .4byte sub_8097B44
-_08097940:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _08097954
- bl sub_8096BE0
- b _08097968
- .align 2, 0
-_08097954: .4byte sub_8097974
-_08097958:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldr r0, _08097970
- bl sub_8096BE0
-_08097968:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097970: .4byte sub_8097A64
- thumb_func_end sub_809789C
-
- thumb_func_start sub_8097974
-sub_8097974: @ 8097974
- push {r4,r5,lr}
- ldr r5, _08097988
- ldrb r0, [r5, 0x4]
- cmp r0, 0x1
- beq _080979A2
- cmp r0, 0x1
- bgt _0809798C
- cmp r0, 0
- beq _08097996
- b _08097A5A
- .align 2, 0
-_08097988: .4byte 0x02000000
-_0809798C:
- cmp r0, 0x2
- beq _080979FC
- cmp r0, 0x3
- beq _08097A44
- b _08097A5A
-_08097996:
- bl sub_8098A80
- movs r0, 0x2
- bl sub_8098898
- b _08097A3C
-_080979A2:
- bl sub_809CF30
- ldr r1, _080979CC
- adds r4, r5, r1
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080979D4
- movs r0, 0x1
- bl sub_809A860
- bl sub_8098A5C
- ldr r0, _080979D0
- bl sub_8096BE0
- b _08097A5A
- .align 2, 0
-_080979CC: .4byte 0x00000d5e
-_080979D0: .4byte sub_8096C84
-_080979D4:
- cmp r0, r1
- blt _08097A5A
- cmp r0, 0xF
- bgt _08097A5A
- cmp r0, 0xC
- blt _08097A5A
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- subs r0, 0xC
- strh r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8098AA8
- movs r0, 0x3
- bl sub_8098898
- b _08097A3C
-_080979FC:
- bl sub_809CF30
- movs r1, 0xD6
- lsls r1, 4
- adds r4, r5, r1
- strh r0, [r4]
- movs r0, 0
- ldrsh r1, [r4, r0]
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _08097A5A
- adds r0, 0x1
- cmp r1, r0
- bne _08097A24
- bl sub_8098A5C
- movs r0, 0
- strb r0, [r5, 0x4]
- b _08097A5A
-_08097A24:
- movs r0, 0x5
- bl PlaySE
- bl sub_8098A5C
- ldrh r0, [r4]
- subs r0, 0x10
- strh r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8099DCC
-_08097A3C:
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _08097A5A
-_08097A44:
- bl sub_8099E08
- lsls r0, 24
- cmp r0, 0
- bne _08097A5A
- movs r0, 0x1
- bl sub_809A860
- ldr r0, _08097A60
- bl sub_8096BE0
-_08097A5A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08097A60: .4byte sub_8096C84
- thumb_func_end sub_8097974
-
- thumb_func_start sub_8097A64
-sub_8097A64: @ 8097A64
- push {r4,r5,lr}
- ldr r5, _08097A78
- ldrb r0, [r5, 0x4]
- cmp r0, 0x1
- beq _08097AB0
- cmp r0, 0x1
- bgt _08097A7C
- cmp r0, 0
- beq _08097A86
- b _08097B32
- .align 2, 0
-_08097A78: .4byte 0x02000000
-_08097A7C:
- cmp r0, 0x2
- beq _08097B00
- cmp r0, 0x3
- beq _08097B18
- b _08097B32
-_08097A86:
- movs r0, 0x5
- bl sub_8098898
- ldr r1, _08097AA4
- adds r0, r5, r1
- ldr r2, _08097AA8
- movs r1, 0x7
- movs r3, 0x3
- bl sub_8096264
- ldr r0, _08097AAC
- ldrb r0, [r0]
- bl sub_809634C
- b _08097B0A
- .align 2, 0
-_08097AA4: .4byte 0x00002370
-_08097AA8: .4byte 0x0000daca
-_08097AAC: .4byte gPokemonStorage
-_08097AB0:
- bl sub_8096368
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08097AF4
- adds r4, r5, r2
- strh r0, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0xC8
- beq _08097B32
- bl sub_8098A5C
- bl sub_809635C
- bl sub_8096310
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0xC9
- beq _08097AE4
- adds r1, r0, 0
- ldr r0, _08097AF8
- ldrb r0, [r0]
- cmp r1, r0
- bne _08097B0A
-_08097AE4:
- movs r0, 0x1
- bl sub_809A860
- ldr r0, _08097AFC
- bl sub_8096BE0
- b _08097B32
- .align 2, 0
-_08097AF4: .4byte 0x000008b2
-_08097AF8: .4byte gPokemonStorage
-_08097AFC: .4byte sub_8096C84
-_08097B00:
- ldr r1, _08097B14
- adds r0, r5, r1
- ldrb r0, [r0]
- bl sub_8099C70
-_08097B0A:
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _08097B32
- .align 2, 0
-_08097B14: .4byte 0x000008b2
-_08097B18:
- bl sub_8099D34
- lsls r0, 24
- cmp r0, 0
- bne _08097B32
- ldr r1, _08097B38
- ldr r2, _08097B3C
- adds r0, r5, r2
- ldrh r0, [r0]
- strb r0, [r1]
- ldr r0, _08097B40
- bl sub_8096BE0
-_08097B32:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08097B38: .4byte gPokemonStorage
-_08097B3C: .4byte 0x000008b2
-_08097B40: .4byte sub_8096C84
- thumb_func_end sub_8097A64
-
- thumb_func_start sub_8097B44
-sub_8097B44: @ 8097B44
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _08097B58
- ldrb r4, [r5, 0x4]
- cmp r4, 0
- beq _08097B5C
- cmp r4, 0x1
- beq _08097B78
- b _08097B8E
- .align 2, 0
-_08097B58: .4byte 0x02000000
-_08097B5C:
- bl sub_809BB90
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrb r0, [r5, 0x4]
- adds r0, 0x1
- strb r0, [r5, 0x4]
- b _08097B8E
-_08097B78:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08097B8E
- ldr r0, _08097B98
- strb r4, [r0]
- strb r4, [r5, 0x6]
- ldr r0, _08097B9C
- bl SetMainCallback2
-_08097B8E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08097B98: .4byte gUnknown_0203847F
-_08097B9C: .4byte sub_8096B5C
- thumb_func_end sub_8097B44
-
- thumb_func_start sub_8097BA0
-sub_8097BA0: @ 8097BA0
- push {r4,lr}
- ldr r0, _08097BB8
- ldrb r1, [r0, 0x4]
- adds r4, r0, 0
- cmp r1, 0x4
- bls _08097BAE
- b _08097CB0
-_08097BAE:
- lsls r0, r1, 2
- ldr r1, _08097BBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097BB8: .4byte 0x02000000
-_08097BBC: .4byte _08097BC0
- .align 2, 0
-_08097BC0:
- .4byte _08097BD4
- .4byte _08097C18
- .4byte _08097C2C
- .4byte _08097C74
- .4byte _08097C98
-_08097BD4:
- bl sub_809BF20
- lsls r0, 24
- cmp r0, 0
- beq _08097BF8
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xF
- bl sub_8098898
- ldr r1, _08097BF4
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08097CB0
- .align 2, 0
-_08097BF4: .4byte 0x02000000
-_08097BF8:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_8098898
- movs r0, 0
- bl sub_8098A38
- ldr r1, _08097C14
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08097CB0
- .align 2, 0
-_08097C14: .4byte 0x02000000
-_08097C18:
- ldr r0, _08097C28
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08097CB0
- b _08097C4A
- .align 2, 0
-_08097C28: .4byte gMain
-_08097C2C:
- bl ProcessMenuInputNoWrap
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08097C5C
- cmp r1, 0
- bgt _08097C46
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08097C4A
- b _08097CB0
-_08097C46:
- cmp r1, 0x1
- bne _08097CB0
-_08097C4A:
- bl sub_8098A5C
- ldr r0, _08097C58
- bl sub_8096BE0
- b _08097CB0
- .align 2, 0
-_08097C58: .4byte sub_8096C84
-_08097C5C:
- movs r0, 0x3
- bl PlaySE
- bl sub_8098A5C
- ldr r1, _08097C70
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _08097CB0
- .align 2, 0
-_08097C70: .4byte 0x02000000
-_08097C74:
- movs r1, 0
- movs r0, 0xE
- strh r0, [r4, 0xC]
- ldr r0, _08097C94
- strh r0, [r4, 0xE]
- movs r0, 0x14
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- adds r0, r4, 0
- adds r0, 0xC
- bl sub_80C5E38
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097CB0
- .align 2, 0
-_08097C94: .4byte 0x0000dad0
-_08097C98:
- bl sub_80C5F98
- lsls r0, 24
- cmp r0, 0
- beq _08097CB0
- bl CalculatePlayerPartyCount
- ldr r1, _08097CB8
- strb r0, [r1]
- ldr r0, _08097CBC
- bl SetMainCallback2
-_08097CB0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097CB8: .4byte gPlayerPartyCount
-_08097CBC: .4byte sub_80961A8
- thumb_func_end sub_8097BA0
-
- thumb_func_start sub_8097CC0
-sub_8097CC0: @ 8097CC0
- push {r4,lr}
- ldr r0, _08097CD8
- ldrb r1, [r0, 0x4]
- adds r4, r0, 0
- cmp r1, 0x4
- bls _08097CCE
- b _08097DD0
-_08097CCE:
- lsls r0, r1, 2
- ldr r1, _08097CDC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08097CD8: .4byte 0x02000000
-_08097CDC: .4byte _08097CE0
- .align 2, 0
-_08097CE0:
- .4byte _08097CF4
- .4byte _08097D38
- .4byte _08097D4C
- .4byte _08097D94
- .4byte _08097DB8
-_08097CF4:
- bl sub_809BF20
- lsls r0, 24
- cmp r0, 0
- beq _08097D18
- movs r0, 0x20
- bl PlaySE
- movs r0, 0xF
- bl sub_8098898
- ldr r1, _08097D14
- movs r0, 0x1
- strb r0, [r1, 0x4]
- b _08097DD0
- .align 2, 0
-_08097D14: .4byte 0x02000000
-_08097D18:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x12
- bl sub_8098898
- movs r0, 0
- bl sub_8098A38
- ldr r1, _08097D34
- movs r0, 0x2
- strb r0, [r1, 0x4]
- b _08097DD0
- .align 2, 0
-_08097D34: .4byte 0x02000000
-_08097D38:
- ldr r0, _08097D48
- ldrh r1, [r0, 0x2E]
- movs r0, 0xF3
- ands r0, r1
- cmp r0, 0
- beq _08097DD0
- b _08097D6C
- .align 2, 0
-_08097D48: .4byte gMain
-_08097D4C:
- bl ProcessMenuInputNoWrap
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _08097D6C
- cmp r1, 0
- bgt _08097D66
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _08097D7C
- b _08097DD0
-_08097D66:
- cmp r1, 0x1
- beq _08097D7C
- b _08097DD0
-_08097D6C:
- bl sub_8098A5C
- ldr r0, _08097D78
- bl sub_8096BE0
- b _08097DD0
- .align 2, 0
-_08097D78: .4byte sub_8096C84
-_08097D7C:
- movs r0, 0x3
- bl PlaySE
- bl sub_8098A5C
- ldr r1, _08097D90
- ldrb r0, [r1, 0x4]
- adds r0, 0x1
- strb r0, [r1, 0x4]
- b _08097DD0
- .align 2, 0
-_08097D90: .4byte 0x02000000
-_08097D94:
- movs r1, 0
- movs r0, 0xE
- strh r0, [r4, 0xC]
- ldr r0, _08097DB4
- strh r0, [r4, 0xE]
- movs r0, 0x14
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- adds r0, r4, 0
- adds r0, 0xC
- bl sub_80C5E38
- ldrb r0, [r4, 0x4]
- adds r0, 0x1
- strb r0, [r4, 0x4]
- b _08097DD0
- .align 2, 0
-_08097DB4: .4byte 0x0000dad0
-_08097DB8:
- bl sub_80C5F98
- lsls r0, 24
- cmp r0, 0
- beq _08097DD0
- bl CalculatePlayerPartyCount
- ldr r1, _08097DD8
- strb r0, [r1]
- ldr r0, _08097DDC
- bl SetMainCallback2
-_08097DD0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097DD8: .4byte gPlayerPartyCount
-_08097DDC: .4byte sub_80961A8
- thumb_func_end sub_8097CC0
-
- thumb_func_start sub_8097DE0
-sub_8097DE0: @ 8097DE0
- push {lr}
- ldr r1, _08097E1C
- movs r0, 0
- strb r0, [r1, 0x7]
- strh r0, [r1, 0x8]
- strh r0, [r1, 0xA]
- ldr r1, _08097E20
- ldr r2, _08097E24
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _08097E28
- ldr r2, _08097E2C
- ldr r0, _08097E30
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _08097E34
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _08097E38
- ldr r1, _08097E3C
- bl LZ77UnCompVram
- ldr r0, _08097E40
- movs r1, 0xD0
- movs r2, 0x10
- bl LoadPalette
- pop {r0}
- bx r0
- .align 2, 0
-_08097E1C: .4byte 0x02000000
-_08097E20: .4byte REG_BG3CNT
-_08097E24: .4byte 0x00001e0f
-_08097E28: .4byte gPokemonStorageScrollingBGTile
-_08097E2C: .4byte 0x0600e000
-_08097E30: .4byte 0x040000d4
-_08097E34: .4byte 0x80000010
-_08097E38: .4byte gPokemonStorageScrollingBGTilemap
-_08097E3C: .4byte 0x0600f000
-_08097E40: .4byte gPokemonStorageScrollingBGPalette
- thumb_func_end sub_8097DE0
-
- thumb_func_start sub_8097E44
-sub_8097E44: @ 8097E44
- push {lr}
- ldr r1, _08097E6C
- ldrb r0, [r1, 0x7]
- adds r0, 0x1
- strb r0, [r1, 0x7]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _08097E66
- movs r0, 0
- strb r0, [r1, 0x7]
- ldrh r0, [r1, 0x8]
- subs r0, 0x1
- strh r0, [r1, 0x8]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
-_08097E66:
- pop {r0}
- bx r0
- .align 2, 0
-_08097E6C: .4byte 0x02000000
- thumb_func_end sub_8097E44
-
- thumb_func_start sub_8097E70
-sub_8097E70: @ 8097E70
- push {r4,lr}
- sub sp, 0x10
- ldr r0, _08097F2C
- ldr r1, _08097F30
- bl LZ77UnCompVram
- ldr r0, _08097F34
- ldr r4, _08097F38
- adds r1, r4, 0
- bl LZ77UnCompWram
- ldr r0, _08097F3C
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0xA
- str r1, [sp, 0x8]
- movs r1, 0x14
- str r1, [sp, 0xC]
- movs r1, 0
- movs r2, 0
- adds r3, r4, 0
- bl sub_809D034
- ldr r0, _08097F40
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08097F44
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08097F48
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08097F4C
- movs r1, 0xC0
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _08097F50
- adds r0, r4, 0
- movs r1, 0xF1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xF2
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0x8
- movs r1, 0xF3
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0x16
- movs r1, 0xF4
- movs r2, 0x4
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0x12
- movs r1, 0xF6
- movs r2, 0x4
- bl LoadPalette
- adds r4, 0x2
- adds r0, r4, 0
- movs r1, 0xFF
- movs r2, 0x2
- bl LoadPalette
- ldr r0, _08097F54
- bl LoadSpritePalette
- bl sub_80980D4
- bl sub_8097F58
- bl sub_8097FB8
- bl sub_809801C
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097F2C: .4byte gPSSMenuHeader_Gfx
-_08097F30: .4byte 0x06005000
-_08097F34: .4byte gPSSMenuHeader_Tilemap
-_08097F38: .4byte gUnknown_02039760
-_08097F3C: .4byte 0x06007800
-_08097F40: .4byte gPSSMenu1_Pal
-_08097F44: .4byte gPSSMenu2_Pal
-_08097F48: .4byte gUnknown_083B6D74
-_08097F4C: .4byte gUnknown_083B6D94
-_08097F50: .4byte gUnknownPalette_81E6692+0x2
-_08097F54: .4byte gWaveformSpritePalette
- thumb_func_end sub_8097E70
-
- thumb_func_start sub_8097F58
-sub_8097F58: @ 8097F58
- push {r4,lr}
- ldr r1, _08097FA4
- movs r0, 0xD
- movs r2, 0
- bl sub_80F7940
- ldr r4, _08097FA8
- ldr r1, _08097FAC
- adds r3, r4, r1
- str r0, [r3]
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- ldr r0, [r3]
- adds r0, 0x43
- movs r1, 0x1
- strb r1, [r0]
- ldr r1, [r3]
- movs r0, 0x28
- strh r0, [r1, 0x20]
- ldr r1, [r3]
- movs r0, 0x95
- strh r0, [r1, 0x22]
- movs r0, 0xD
- bl GetSpriteTileStartByTag
- ldr r1, _08097FB0
- adds r4, r1
- lsls r0, 16
- lsrs r0, 11
- ldr r1, _08097FB4
- adds r0, r1
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08097FA4: .4byte 0x0000dace
-_08097FA8: .4byte 0x02000000
-_08097FAC: .4byte 0x000012ac
-_08097FB0: .4byte 0x000012b8
-_08097FB4: .4byte 0x06010000
- thumb_func_end sub_8097F58
-
- thumb_func_start sub_8097FB8
-sub_8097FB8: @ 8097FB8
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _0809800C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- movs r4, 0
- ldr r5, _08098010
-_08097FD0:
- lsls r1, r4, 6
- subs r1, r4
- adds r1, 0x8
- lsls r1, 16
- asrs r1, 16
- ldr r0, _08098014
- movs r2, 0x9
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r4, 2
- adds r2, r5
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08098018
- adds r1, r0
- str r1, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08097FD0
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809800C: .4byte gWaveformSpriteSheet
-_08098010: .4byte 0x020012b0
-_08098014: .4byte gSpriteTemplate_83B6EFC
-_08098018: .4byte gSprites
- thumb_func_end sub_8097FB8
-
- thumb_func_start sub_809801C
-sub_809801C: @ 809801C
- push {lr}
- ldr r1, _0809803C
- ldr r2, _08098040
- adds r0, r1, r2
- ldrh r0, [r0]
- subs r2, 0x4
- adds r1, r2
- ldr r1, [r1]
- bl sub_80981F0
- bl sub_80982B4
- bl sub_8098350
- pop {r0}
- bx r0
- .align 2, 0
-_0809803C: .4byte 0x02000000
-_08098040: .4byte 0x000011f0
- thumb_func_end sub_809801C
-
- thumb_func_start BoxSetMosaic
-BoxSetMosaic: @ 8098044
- push {lr}
- bl sub_809801C
- ldr r0, _08098084
- movs r1, 0x9C
- lsls r1, 6
- adds r3, r0, r1
- ldr r2, [r3]
- cmp r2, 0
- beq _08098080
- ldrb r0, [r2, 0x1]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r1, [r3]
- movs r0, 0xA
- strh r0, [r1, 0x2E]
- ldr r1, [r3]
- movs r0, 0x1
- strh r0, [r1, 0x30]
- ldr r1, [r3]
- ldr r0, _08098088
- str r0, [r1, 0x1C]
- ldr r2, _0809808C
- ldr r0, [r3]
- ldrh r0, [r0, 0x2E]
- lsls r1, r0, 12
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
-_08098080:
- pop {r0}
- bx r0
- .align 2, 0
-_08098084: .4byte 0x02000000
-_08098088: .4byte sub_8098090
-_0809808C: .4byte REG_MOSAIC
- thumb_func_end BoxSetMosaic
-
- thumb_func_start sub_8098090
-sub_8098090: @ 8098090
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- ldrh r1, [r3, 0x30]
- subs r0, r1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bge _080980A6
- movs r0, 0
- strh r0, [r3, 0x2E]
-_080980A6:
- ldr r2, _080980CC
- ldrh r0, [r3, 0x2E]
- lsls r1, r0, 12
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080980C8
- ldrb r0, [r3, 0x1]
- movs r1, 0x11
- negs r1, r1
- ands r1, r0
- strb r1, [r3, 0x1]
- ldr r0, _080980D0
- str r0, [r3, 0x1C]
-_080980C8:
- pop {r0}
- bx r0
- .align 2, 0
-_080980CC: .4byte REG_MOSAIC
-_080980D0: .4byte SpriteCallbackDummy
- thumb_func_end sub_8098090
-
- thumb_func_start sub_80980D4
-sub_80980D4: @ 80980D4
- push {r4,r5,lr}
- sub sp, 0x28
- ldr r0, _08098150
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- ldr r0, _08098154
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- mov r1, sp
- ldr r0, _08098158
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r1, 0
- add r5, sp, 0x18
- ldr r4, _0809815C
- movs r3, 0
- ldr r2, _08098160
-_08098102:
- adds r0, r1, r4
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bls _08098102
- movs r1, 0
- ldr r3, _08098164
- movs r2, 0
-_08098116:
- lsls r0, r1, 1
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xF
- bls _08098116
- ldr r0, _08098168
- movs r1, 0x9C
- lsls r1, 6
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- adds r0, r5, 0
- bl LoadSpriteSheet
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080981C4
- add r0, sp, 0x20
- bl LoadSpritePalette
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _080981C4
- b _080981B0
- .align 2, 0
-_08098150: .4byte gUnknown_083B6DCC
-_08098154: .4byte gUnknown_083B6DD4
-_08098158: .4byte gSpriteTemplate_83B6DDC
-_0809815C: .4byte 0x02002784
-_08098160: .4byte 0x000007ff
-_08098164: .4byte 0x02002704
-_08098168: .4byte 0x02000000
-_0809816C:
- ldr r2, _0809819C
- movs r0, 0x9C
- lsls r0, 6
- adds r3, r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080981A0
- adds r0, r1
- str r0, [r3]
- lsls r0, r4, 4
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- ldr r3, _080981A4
- adds r1, r2, r3
- strh r0, [r1]
- ldr r4, _080981A8
- adds r2, r4
- lsls r0, r5, 5
- ldr r1, _080981AC
- adds r0, r1
- str r0, [r2]
- b _080981C4
- .align 2, 0
-_0809819C: .4byte 0x02000000
-_080981A0: .4byte gSprites
-_080981A4: .4byte 0x000026fa
-_080981A8: .4byte 0x000026fc
-_080981AC: .4byte 0x06010000
-_080981B0:
- mov r0, sp
- movs r1, 0x28
- movs r2, 0x30
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _0809816C
-_080981C4:
- ldr r0, _080981E8
- movs r2, 0x9C
- lsls r2, 6
- adds r0, r2
- ldr r0, [r0]
- cmp r0, 0
- bne _080981DE
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- ldr r0, _080981EC
- bl FreeSpritePaletteByTag
-_080981DE:
- add sp, 0x28
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080981E8: .4byte 0x02000000
-_080981EC: .4byte 0x0000dac7
- thumb_func_end sub_80980D4
-
- thumb_func_start sub_80981F0
-sub_80981F0: @ 80981F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r7, r1, 0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r6, _08098274
- movs r0, 0x9C
- lsls r0, 6
- adds r0, r6
- mov r8, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080982A6
- cmp r4, 0
- beq _0809829C
- lsls r0, r4, 3
- ldr r1, _08098278
- adds r0, r1
- ldr r2, _0809827C
- lsls r1, r4, 2
- adds r1, r2
- ldrb r1, [r1]
- ldr r2, _08098280
- adds r3, r6, r2
- ldr r2, _08098284
- adds r5, r6, r2
- str r5, [sp]
- str r4, [sp, 0x4]
- str r7, [sp, 0x8]
- movs r2, 0x1
- bl sub_800D334
- ldr r1, _08098288
- adds r0, r6, r1
- ldr r0, [r0]
- ldr r2, _0809828C
- adds r4, r6, r2
- adds r1, r4, 0
- bl LZ77UnCompWram
- ldr r1, _08098290
- adds r0, r6, r1
- ldr r1, [r0]
- ldr r2, _08098294
- adds r0, r5, 0
- bl CpuSet
- ldr r2, _08098298
- adds r0, r6, r2
- ldrh r1, [r0]
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- mov r0, r8
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- b _080982A6
- .align 2, 0
-_08098274: .4byte 0x02000000
-_08098278: .4byte gMonFrontPicTable
-_0809827C: .4byte gMonFrontPicCoords
-_08098280: .4byte 0x00004784
-_08098284: .4byte 0x00002784
-_08098288: .4byte 0x000011e8
-_0809828C: .4byte 0x00002704
-_08098290: .4byte 0x000026fc
-_08098294: .4byte 0x04000200
-_08098298: .4byte 0x000026fa
-_0809829C:
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080982A6:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80981F0
-
- thumb_func_start sub_80982B4
-sub_80982B4: @ 80982B4
- push {r4,lr}
- ldr r4, _080982E4
- ldr r1, _080982E8
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080982F4
- ldr r2, _080982EC
- adds r0, r4, r2
- ldrb r0, [r0]
- adds r2, 0xC1
- adds r1, r4, r2
- ldr r1, [r1]
- bl sub_80F7A10
- ldr r1, _080982F0
- adds r0, r4, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- b _08098302
- .align 2, 0
-_080982E4: .4byte 0x02000000
-_080982E8: .4byte 0x000011f0
-_080982EC: .4byte 0x000011f7
-_080982F0: .4byte 0x000012ac
-_080982F4:
- ldr r2, _08098348
- adds r0, r4, r2
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
-_08098302:
- strb r0, [r1]
- movs r0, 0
- movs r1, 0xB
- movs r2, 0x9
- movs r3, 0x11
- bl MenuZeroFillWindowRect
- ldr r4, _0809834C
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x10
- bl MenuPrint
- adds r0, r4, 0
- subs r0, 0x6B
- movs r1, 0x1
- movs r2, 0xB
- bl MenuPrint
- adds r0, r4, 0
- subs r0, 0x46
- movs r1, 0
- movs r2, 0xD
- bl MenuPrint
- subs r4, 0x21
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0xF
- bl MenuPrint
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08098348: .4byte 0x000012ac
-_0809834C: .4byte 0x0200127a
- thumb_func_end sub_80982B4
-
- thumb_func_start sub_8098350
-sub_8098350: @ 8098350
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r5, _080983A0
- ldr r1, _080983A4
- adds r0, r5, r1
- ldrh r2, [r0]
- cmp r2, 0
- beq _080983B4
- ldr r0, _080983A8
- ldr r3, _080983AC
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x8
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x1
- movs r2, 0
- bl sub_809D034
- movs r4, 0
- ldr r0, _080983B0
- adds r5, r0
-_08098382:
- lsls r0, r4, 2
- adds r0, r5
- ldr r0, [r0]
- lsls r1, r4, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnimIfDifferent
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _08098382
- b _080983EC
- .align 2, 0
-_080983A0: .4byte 0x02000000
-_080983A4: .4byte 0x000011f0
-_080983A8: .4byte 0x06007800
-_080983AC: .4byte gUnknown_02039760
-_080983B0: .4byte 0x000012b0
-_080983B4:
- ldr r0, _080983F4
- ldr r3, _080983F8
- movs r1, 0xA
- str r1, [sp]
- str r2, [sp, 0x4]
- movs r1, 0x8
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x1
- movs r2, 0
- bl sub_809D034
- movs r4, 0
- ldr r1, _080983FC
- adds r5, r1
-_080983D4:
- lsls r0, r4, 2
- adds r0, r5
- ldr r0, [r0]
- lsls r1, r4, 25
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080983D4
-_080983EC:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080983F4: .4byte 0x06007800
-_080983F8: .4byte gUnknown_02039760
-_080983FC: .4byte 0x000012b0
- thumb_func_end sub_8098350
-
- thumb_func_start sub_8098400
-sub_8098400: @ 8098400
- push {r4,r5,lr}
- sub sp, 0x14
- ldr r1, _0809847C
- ldr r2, _08098480
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08098484
- ldr r1, _08098488
- bl LZ77UnCompVram
- ldr r0, _0809848C
- ldr r5, _08098490
- adds r1, r5, 0
- bl LZ77UnCompWram
- ldr r0, _08098494
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _08098498
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _0809849C
- add r1, sp, 0x10
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080984A0
- str r1, [r0]
- str r4, [r0, 0x4]
- ldr r1, _080984A4
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl sub_8098780
- ldr r0, _080984A8
- ldrb r0, [r0]
- cmp r0, 0
- beq _080984AC
- movs r0, 0x1
- bl sub_8098690
- movs r0, 0x1
- bl sub_8099200
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0xC
- str r0, [sp, 0x8]
- movs r0, 0x16
- str r0, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0
- adds r3, r5, 0
- bl sub_809D034
- b _080984CC
- .align 2, 0
-_0809847C: .4byte REG_BG1CNT
-_08098480: .4byte 0x00000f01
-_08098484: .4byte gPSSMenuMisc_Gfx
-_08098488: .4byte 0x06006800
-_0809848C: .4byte gPSSMenuMisc_Tilemap
-_08098490: .4byte 0x020000a8
-_08098494: .4byte gPSSMenu3_Pal
-_08098498: .4byte gPSSMenu4_Pal
-_0809849C: .4byte 0x06007800
-_080984A0: .4byte 0x040000d4
-_080984A4: .4byte 0x81000400
-_080984A8: .4byte gUnknown_0203847C
-_080984AC:
- str r0, [sp]
- movs r0, 0x14
- str r0, [sp, 0x4]
- movs r0, 0xC
- str r0, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0
- adds r3, r5, 0
- bl sub_809D034
- movs r0, 0x1
- bl sub_8098690
-_080984CC:
- ldr r0, _080984E0
- ldr r1, _080984E4
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- add sp, 0x14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080984E0: .4byte 0x02000000
-_080984E4: .4byte 0x000008af
- thumb_func_end sub_8098400
-
- thumb_func_start sub_80984E8
-sub_80984E8: @ 80984E8
- push {lr}
- ldr r1, _08098510
- ldr r0, _08098514
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x14
- strh r0, [r2]
- ldr r0, _08098518
- adds r2, r1, r0
- movs r0, 0x2
- strh r0, [r2]
- ldr r0, _0809851C
- adds r1, r0
- strb r3, [r1]
- movs r0, 0
- bl sub_8099200
- pop {r0}
- bx r0
- .align 2, 0
-_08098510: .4byte 0x02000000
-_08098514: .4byte 0x000008a8
-_08098518: .4byte 0x000008aa
-_0809851C: .4byte 0x000008ad
- thumb_func_end sub_80984E8
-
- thumb_func_start sub_8098520
-sub_8098520: @ 8098520
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r3, _08098578
- ldr r0, _0809857C
- adds r5, r3, r0
- ldrb r0, [r5]
- cmp r0, 0x14
- beq _08098592
- ldr r0, _08098580
- adds r1, r3, r0
- ldrh r0, [r1]
- subs r0, 0x1
- movs r4, 0
- strh r0, [r1]
- ldr r0, _08098584
- adds r2, r3, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- ldr r0, _08098588
- adds r3, 0xA8
- str r4, [sp]
- ldrh r1, [r1]
- str r1, [sp, 0x4]
- movs r1, 0xC
- str r1, [sp, 0x8]
- ldrh r1, [r2]
- str r1, [sp, 0xC]
- movs r1, 0xA
- movs r2, 0
- bl sub_809D034
- movs r0, 0x8
- bl sub_80994A8
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x14
- beq _0809858C
- movs r0, 0x1
- b _08098594
- .align 2, 0
-_08098578: .4byte 0x02000000
-_0809857C: .4byte 0x000008ad
-_08098580: .4byte 0x000008a8
-_08098584: .4byte 0x000008aa
-_08098588: .4byte 0x06007800
-_0809858C:
- ldr r1, _0809859C
- movs r0, 0x1
- strb r0, [r1]
-_08098592:
- movs r0, 0
-_08098594:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809859C: .4byte gUnknown_0203847C
- thumb_func_end sub_8098520
-
- thumb_func_start add_to_c3_somehow
-add_to_c3_somehow: @ 80985A0
- ldr r1, _080985BC
- ldr r0, _080985C0
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0
- strh r0, [r2]
- ldr r0, _080985C4
- adds r2, r1, r0
- movs r0, 0x16
- strh r0, [r2]
- ldr r0, _080985C8
- adds r1, r0
- strb r3, [r1]
- bx lr
- .align 2, 0
-_080985BC: .4byte 0x02000000
-_080985C0: .4byte 0x000008a8
-_080985C4: .4byte 0x000008aa
-_080985C8: .4byte 0x000008ad
- thumb_func_end add_to_c3_somehow
-
- thumb_func_start sub_80985CC
-sub_80985CC: @ 80985CC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- ldr r3, _08098640
- ldr r0, _08098644
- adds r6, r3, r0
- ldrb r0, [r6]
- cmp r0, 0x14
- beq _0809867A
- ldr r2, _08098648
- adds r1, r3, r2
- ldrh r0, [r1]
- adds r0, 0x1
- movs r2, 0
- mov r9, r2
- strh r0, [r1]
- ldr r0, _0809864C
- adds r4, r3, r0
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldr r5, _08098650
- adds r3, 0xA8
- mov r8, r3
- str r2, [sp]
- ldrh r0, [r1]
- str r0, [sp, 0x4]
- movs r7, 0xC
- str r7, [sp, 0x8]
- ldrh r0, [r4]
- str r0, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0xA
- bl sub_809D034
- ldrh r2, [r4]
- movs r4, 0x1
- str r4, [sp]
- adds r0, r5, 0
- movs r1, 0xA
- movs r3, 0xC
- bl sub_809D16C
- movs r0, 0x8
- negs r0, r0
- bl sub_80994A8
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x14
- beq _08098654
- movs r0, 0x1
- b _0809867C
- .align 2, 0
-_08098640: .4byte 0x02000000
-_08098644: .4byte 0x000008ad
-_08098648: .4byte 0x000008a8
-_0809864C: .4byte 0x000008aa
-_08098650: .4byte 0x06007800
-_08098654:
- ldr r0, _0809868C
- movs r1, 0
- strb r1, [r0]
- bl sub_809954C
- bl party_compaction
- str r7, [sp]
- mov r2, r9
- str r2, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0x15
- movs r2, 0
- mov r3, r8
- bl sub_809D034
-_0809867A:
- movs r0, 0
-_0809867C:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809868C: .4byte gUnknown_0203847C
- thumb_func_end sub_80985CC
-
- thumb_func_start sub_8098690
-sub_8098690: @ 8098690
- push {lr}
- sub sp, 0x10
- lsls r0, 24
- cmp r0, 0
- beq _080986C0
- ldr r0, _080986B8
- ldr r3, _080986BC
- movs r1, 0xC
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x9
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x15
- movs r2, 0
- bl sub_809D034
- b _080986DA
- .align 2, 0
-_080986B8: .4byte 0x06007800
-_080986BC: .4byte 0x020000a8
-_080986C0:
- ldr r0, _080986E0
- ldr r3, _080986E4
- movs r1, 0xC
- str r1, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r1, 0x9
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r1, 0x15
- movs r2, 0
- bl sub_809D034
-_080986DA:
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_080986E0: .4byte 0x06007800
-_080986E4: .4byte 0x020000a8
- thumb_func_end sub_8098690
-
- thumb_func_start sub_80986E8
-sub_80986E8: @ 80986E8
- ldr r1, _08098704
- ldr r2, _08098708
- adds r0, r1, r2
- movs r3, 0x1
- strb r3, [r0]
- movs r0, 0x8B
- lsls r0, 4
- adds r2, r1, r0
- movs r0, 0x1E
- strb r0, [r2]
- ldr r2, _0809870C
- adds r1, r2
- strb r3, [r1]
- bx lr
- .align 2, 0
-_08098704: .4byte 0x02000000
-_08098708: .4byte 0x000008af
-_0809870C: .4byte 0x000008b1
- thumb_func_end sub_80986E8
-
- thumb_func_start sub_8098710
-sub_8098710: @ 8098710
- push {lr}
- ldr r0, _0809872C
- ldr r2, _08098730
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _08098728
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x1
- bl sub_8098690
-_08098728:
- pop {r0}
- bx r0
- .align 2, 0
-_0809872C: .4byte 0x02000000
-_08098730: .4byte 0x000008af
- thumb_func_end sub_8098710
-
- thumb_func_start sub_8098734
-sub_8098734: @ 8098734
- push {lr}
- ldr r2, _08098774
- ldr r1, _08098778
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _08098770
- movs r0, 0x8B
- lsls r0, 4
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bls _08098770
- movs r0, 0
- strb r0, [r1]
- movs r3, 0
- ldr r0, _0809877C
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _08098768
- movs r3, 0x1
-_08098768:
- strb r3, [r1]
- ldrb r0, [r1]
- bl sub_8098690
-_08098770:
- pop {r0}
- bx r0
- .align 2, 0
-_08098774: .4byte 0x02000000
-_08098778: .4byte 0x000008af
-_0809877C: .4byte 0x000008b1
- thumb_func_end sub_8098734
-
- thumb_func_start sub_8098780
-sub_8098780: @ 8098780
- push {r4-r6,lr}
- sub sp, 0x10
- movs r4, 0x1
- ldr r6, _080987D4
- movs r5, 0x80
- lsls r5, 9
-_0809878C:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080987D8
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _080987A0
- movs r0, 0x1
-_080987A0:
- movs r1, 0x10
- cmp r0, 0
- beq _080987A8
- movs r1, 0xC
-_080987A8:
- lsrs r2, r5, 16
- str r1, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x3
- str r0, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0x7
- adds r3, r6, 0
- bl sub_809D104
- movs r0, 0xC0
- lsls r0, 10
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x5
- ble _0809878C
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080987D4: .4byte 0x020000a8
-_080987D8: .4byte gPlayerParty
- thumb_func_end sub_8098780
-
- thumb_func_start sub_80987DC
-sub_80987DC: @ 80987DC
- push {lr}
- sub sp, 0x10
- bl sub_8098780
- ldr r0, _08098804
- ldr r3, _08098808
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0xC
- str r1, [sp, 0x8]
- movs r1, 0x16
- str r1, [sp, 0xC]
- movs r1, 0xA
- movs r2, 0
- bl sub_809D034
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_08098804: .4byte 0x06007800
-_08098808: .4byte 0x020000a8
- thumb_func_end sub_80987DC
-
- thumb_func_start sub_809880C
-sub_809880C: @ 809880C
- push {lr}
- ldr r0, _08098828
- ldr r1, _0809882C
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x6
- bl PlaySE
- bl sub_80984E8
- pop {r0}
- bx r0
- .align 2, 0
-_08098828: .4byte 0x02000000
-_0809882C: .4byte 0x000008ae
- thumb_func_end sub_809880C
-
- thumb_func_start sub_8098830
-sub_8098830: @ 8098830
- push {r4,r5,lr}
- ldr r5, _08098848
- ldr r0, _0809884C
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _08098866
- cmp r0, 0x1
- bgt _08098850
- cmp r0, 0
- beq _08098856
- b _08098890
- .align 2, 0
-_08098848: .4byte 0x02000000
-_0809884C: .4byte 0x000008ae
-_08098850:
- cmp r0, 0x2
- beq _0809888C
- b _08098890
-_08098856:
- bl sub_8098520
- lsls r0, 24
- cmp r0, 0
- bne _08098890
- bl sub_809B068
- b _0809887E
-_08098866:
- bl sub_809AC00
- lsls r0, 24
- cmp r0, 0
- bne _08098890
- ldr r1, _08098888
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809887E
- bl BoxSetMosaic
-_0809887E:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08098890
- .align 2, 0
-_08098888: .4byte 0x000011f6
-_0809888C:
- movs r0, 0
- b _08098892
-_08098890:
- movs r0, 0x1
-_08098892:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8098830
-
- thumb_func_start sub_8098898
-sub_8098898: @ 8098898
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0xA
- movs r1, 0x10
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r1, _080988C4
- lsls r0, r5, 3
- adds r0, r1
- ldrb r0, [r0, 0x4]
- cmp r0, 0x6
- bls _080988B8
- b _080989F4
-_080988B8:
- lsls r0, 2
- ldr r1, _080988C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080988C4: .4byte gUnknown_083B6DF4
-_080988C8: .4byte _080988CC
- .align 2, 0
-_080988CC:
- .4byte _080989F4
- .4byte _08098930
- .4byte _080988E8
- .4byte _08098974
- .4byte _08098954
- .4byte _08098910
- .4byte _080989B8
-_080988E8:
- ldr r4, _08098904
- ldr r1, _08098908
- lsls r0, r5, 3
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r0, _0809890C
- adds r4, r0
- adds r0, r2, 0
- adds r1, r4, 0
- b _080989FE
- .align 2, 0
-_08098904: .4byte 0x02002694
-_08098908: .4byte gUnknown_083B6DF4
-_0809890C: .4byte 0xffffeb66
-_08098910:
- ldr r4, _08098928
- ldr r1, _0809892C
- lsls r0, r5, 3
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringCopy
- adds r2, r0, 0
- adds r4, 0x50
- adds r1, r4, 0
- b _080989FE
- .align 2, 0
-_08098928: .4byte 0x02002694
-_0809892C: .4byte gUnknown_083B6DF4
-_08098930:
- ldr r0, _08098948
- ldr r2, _0809894C
- adds r1, r0, r2
- bl StringCopy
- adds r2, r0, 0
- ldr r1, _08098950
- lsls r0, r5, 3
- adds r0, r1
- ldr r1, [r0]
- adds r0, r2, 0
- b _080989FE
- .align 2, 0
-_08098948: .4byte 0x02002694
-_0809894C: .4byte 0xffffeb66
-_08098950: .4byte gUnknown_083B6DF4
-_08098954:
- ldr r0, _0809896C
- adds r1, r0, 0
- adds r1, 0x50
- bl StringCopy
- adds r2, r0, 0
- ldr r1, _08098970
- lsls r0, r5, 3
- adds r0, r1
- ldr r1, [r0]
- adds r0, r2, 0
- b _080989FE
- .align 2, 0
-_0809896C: .4byte 0x02002694
-_08098970: .4byte gUnknown_083B6DF4
-_08098974:
- ldr r1, _080989AC
- lsls r0, r5, 3
- adds r0, r1
- ldr r6, [r0]
- adds r0, r6, 0
- bl StringLength
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r4, r6, r4
- adds r4, 0x1
- ldr r5, _080989B0
- adds r0, r5, 0
- adds r1, r6, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r0, _080989B4
- adds r5, r0
- adds r0, r2, 0
- adds r1, r5, 0
- bl StringCopy
- adds r2, r0, 0
- adds r1, r4, 0
- b _080989FE
- .align 2, 0
-_080989AC: .4byte gUnknown_083B6DF4
-_080989B0: .4byte 0x02002694
-_080989B4: .4byte 0xffffeb66
-_080989B8:
- ldr r1, _080989EC
- lsls r0, r5, 3
- adds r0, r1
- ldr r6, [r0]
- adds r0, r6, 0
- bl StringLength
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r4, r6, r4
- subs r4, 0x1
- ldr r5, _080989F0
- adds r0, r5, 0
- adds r1, r6, 0
- bl StringCopy
- adds r2, r0, 0
- subs r0, r2, 0x1
- adds r5, 0x50
- adds r1, r5, 0
- bl StringCopy
- adds r2, r0, 0
- adds r1, r4, 0
- b _080989FE
- .align 2, 0
-_080989EC: .4byte gUnknown_083B6DF4
-_080989F0: .4byte 0x02002694
-_080989F4:
- ldr r0, _08098A2C
- ldr r2, _08098A30
- lsls r1, r5, 3
- adds r1, r2
- ldr r1, [r1]
-_080989FE:
- bl StringCopy
- adds r2, r0, 0
- ldr r0, _08098A34
- adds r3, r0, 0
- subs r3, 0x12
- cmp r2, r0
- bcs _08098A18
- movs r1, 0
-_08098A10:
- strb r1, [r2]
- adds r2, 0x1
- cmp r2, r0
- bcc _08098A10
-_08098A18:
- movs r0, 0xFF
- strb r0, [r2]
- adds r0, r3, 0
- movs r1, 0xB
- movs r2, 0x11
- bl MenuPrint
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08098A2C: .4byte 0x02002694
-_08098A30: .4byte gUnknown_083B6DF4
-_08098A34: .4byte 0x020026a6
- thumb_func_end sub_8098898
-
- thumb_func_start sub_8098A38
-sub_8098A38: @ 8098A38
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x17
- movs r1, 0xA
- movs r2, 0
- bl DisplayYesNoMenu
- lsls r4, 24
- asrs r4, 24
- adds r0, r4, 0
- bl MoveMenuCursor
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8098A38
-
- thumb_func_start sub_8098A5C
-sub_8098A5C: @ 8098A5C
- push {lr}
- bl sub_8072DEC
- movs r0, 0xA
- movs r1, 0x10
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0x17
- movs r1, 0xA
- movs r2, 0x1D
- movs r3, 0xF
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_8098A5C
-
- thumb_func_start sub_8098A80
-sub_8098A80: @ 8098A80
- push {lr}
- bl sub_809CDCC
- movs r0, 0xC
- bl sub_809CDEC
- movs r0, 0xD
- bl sub_809CDEC
- movs r0, 0xE
- bl sub_809CDEC
- movs r0, 0xF
- bl sub_809CDEC
- bl sub_809CE84
- pop {r0}
- bx r0
- thumb_func_end sub_8098A80
-
- thumb_func_start sub_8098AA8
-sub_8098AA8: @ 8098AA8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_809CDCC
- cmp r4, 0x1
- beq _08098AE6
- cmp r4, 0x1
- bgt _08098AC2
- cmp r4, 0
- beq _08098ACC
- b _08098B32
-_08098AC2:
- cmp r5, 0x2
- beq _08098B00
- cmp r5, 0x3
- beq _08098B1A
- b _08098B32
-_08098ACC:
- movs r0, 0x10
- bl sub_809CDEC
- movs r0, 0x11
- bl sub_809CDEC
- movs r0, 0x12
- bl sub_809CDEC
- movs r0, 0x13
- bl sub_809CDEC
- b _08098B32
-_08098AE6:
- movs r0, 0x14
- bl sub_809CDEC
- movs r0, 0x15
- bl sub_809CDEC
- movs r0, 0x16
- bl sub_809CDEC
- movs r0, 0x17
- bl sub_809CDEC
- b _08098B32
-_08098B00:
- movs r0, 0x18
- bl sub_809CDEC
- movs r0, 0x19
- bl sub_809CDEC
- movs r0, 0x1A
- bl sub_809CDEC
- movs r0, 0x1B
- bl sub_809CDEC
- b _08098B32
-_08098B1A:
- movs r0, 0x1C
- bl sub_809CDEC
- movs r0, 0x1D
- bl sub_809CDEC
- movs r0, 0x1E
- bl sub_809CDEC
- movs r0, 0x1F
- bl sub_809CDEC
-_08098B32:
- bl sub_809CE84
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8098AA8
-
- thumb_func_start get_preferred_box
-get_preferred_box: @ 8098B3C
- ldr r0, _08098B44
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08098B44: .4byte gPokemonStorage
- thumb_func_end get_preferred_box
-
- thumb_func_start sub_8098B48
-sub_8098B48: @ 8098B48
- push {r4,r5,lr}
- bl sub_809D51C
- movs r2, 0
- ldr r1, _08098BD8
- ldr r0, [r1]
- ldr r4, _08098BDC
- adds r3, r0, r4
- movs r4, 0
- adds r5, r1, 0
-_08098B5C:
- lsls r0, r2, 1
- adds r0, r3, r0
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _08098B5C
- movs r2, 0
- ldr r0, _08098BD8
- ldr r0, [r0]
- movs r1, 0x89
- lsls r1, 5
- adds r3, r0, r1
- movs r1, 0
-_08098B7A:
- lsls r0, r2, 1
- adds r0, r3, r0
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x27
- bls _08098B7A
- movs r2, 0
- ldr r0, _08098BD8
- ldr r0, [r0]
- ldr r4, _08098BE0
- adds r3, r0, r4
- movs r1, 0
-_08098B96:
- lsls r0, r2, 2
- adds r0, r3, r0
- str r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _08098B96
- movs r2, 0
- ldr r0, _08098BD8
- ldr r0, [r0]
- ldr r1, _08098BE4
- adds r3, r0, r1
- movs r1, 0
-_08098BB2:
- lsls r0, r2, 2
- adds r0, r3, r0
- str r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1D
- bls _08098BB2
- ldr r0, [r5]
- ldr r2, _08098BE8
- adds r1, r0, r2
- movs r2, 0
- str r2, [r1]
- ldr r4, _08098BEC
- adds r0, r4
- strh r2, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08098BD8: .4byte gUnknown_083B6DB4
-_08098BDC: .4byte 0x000010d0
-_08098BE0: .4byte 0x00001038
-_08098BE4: .4byte 0x00001050
-_08098BE8: .4byte 0x00001034
-_08098BEC: .4byte 0x00000d5c
- thumb_func_end sub_8098B48
-
- thumb_func_start sub_8098BF0
-sub_8098BF0: @ 8098BF0
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r0, _08098C38
- ldr r5, [r0]
- ldr r0, _08098C3C
- adds r4, r5, r0
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r6, r0, 0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x7
- str r1, [sp, 0x4]
- adds r1, r6, 0
- movs r2, 0
- movs r3, 0
- bl sub_8099AFC
- ldr r1, _08098C40
- adds r5, r1
- str r0, [r5]
- ldr r1, _08098C44
- str r1, [r0, 0x1C]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08098C38: .4byte gUnknown_083B6DB4
-_08098C3C: .4byte 0x000025b4
-_08098C40: .4byte 0x00001034
-_08098C44: .4byte sub_80999C4
- thumb_func_end sub_8098BF0
-
- thumb_func_start sub_8098C48
-sub_8098C48: @ 8098C48
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r1, _08098CCC
- adds r6, r0, r1
- movs r0, 0
- mov r8, r0
- movs r7, 0
-_08098C6A:
- movs r5, 0
- adds r1, r7, 0x1
- mov r9, r1
-_08098C70:
- adds r0, r6, 0
- movs r1, 0x41
- bl GetBoxMonData
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _08098CD8
- adds r0, r6, 0
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- lsls r2, r5, 1
- adds r2, r5
- lsls r2, 19
- movs r3, 0xC8
- lsls r3, 15
- adds r2, r3
- asrs r2, 16
- lsls r3, r7, 1
- adds r3, r7
- lsls r3, 19
- movs r0, 0xB0
- lsls r0, 14
- adds r3, r0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x12
- subs r0, r5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r4, 0
- asrs r3, 16
- bl sub_8099AFC
- ldr r1, _08098CD0
- ldr r1, [r1]
- mov r3, r8
- lsls r2, r3, 2
- ldr r3, _08098CD4
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- b _08098CE8
- .align 2, 0
-_08098CCC: .4byte gUnknown_020300A4
-_08098CD0: .4byte gUnknown_083B6DB4
-_08098CD4: .4byte 0x00001050
-_08098CD8:
- ldr r0, _08098D18
- ldr r0, [r0]
- mov r2, r8
- lsls r1, r2, 2
- ldr r3, _08098D1C
- adds r0, r3
- adds r0, r1
- str r4, [r0]
-_08098CE8:
- adds r6, 0x50
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08098C70
- mov r1, r9
- lsls r0, r1, 16
- lsrs r7, r0, 16
- cmp r7, 0x4
- bls _08098C6A
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098D18: .4byte gUnknown_083B6DB4
-_08098D1C: .4byte 0x00001050
- thumb_func_end sub_8098C48
-
- thumb_func_start sub_8098D20
-sub_8098D20: @ 8098D20
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r2, r1, 4
- subs r2, r1
- lsls r2, 5
- lsls r0, r4, 2
- mov r9, r0
- adds r0, r4
- lsls r0, 4
- ldr r1, _08098DD4
- adds r0, r1
- adds r7, r2, r0
- adds r0, r7, 0
- movs r1, 0x41
- bl GetBoxMonData
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- beq _08098DC4
- adds r0, r4, 0
- movs r1, 0x6
- bl __umodsi3
- adds r6, r0, 0
- lsls r0, r6, 24
- lsrs r0, 24
- lsls r5, r0, 1
- adds r5, r0
- lsls r5, 19
- movs r1, 0xC8
- lsls r1, 15
- adds r5, r1
- lsrs r5, 16
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 19
- movs r2, 0xB0
- lsls r2, 14
- adds r4, r2
- lsrs r4, 16
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- movs r0, 0x2
- str r0, [sp]
- movs r0, 0x12
- subs r0, r6
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- mov r0, r8
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_8099AFC
- ldr r1, _08098DD8
- ldr r1, [r1]
- ldr r2, _08098DDC
- adds r1, r2
- add r1, r9
- str r0, [r1]
-_08098DC4:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098DD4: .4byte gUnknown_020300A4
-_08098DD8: .4byte gUnknown_083B6DB4
-_08098DDC: .4byte 0x00001050
- thumb_func_end sub_8098D20
-
- thumb_func_start sub_8098DE0
-sub_8098DE0: @ 8098DE0
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r2, 0
- ldr r0, _08098E18
- ldr r0, [r0]
- ldr r1, _08098E1C
- adds r3, r0, r1
- movs r6, 0x1
- ldr r5, _08098E20
-_08098DF4:
- lsls r0, r2, 2
- adds r1, r3, r0
- ldr r0, [r1]
- cmp r0, 0
- beq _08098E08
- strh r4, [r0, 0x32]
- ldr r0, [r1]
- strh r6, [r0, 0x36]
- ldr r0, [r1]
- str r5, [r0, 0x1C]
-_08098E08:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1D
- bls _08098DF4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08098E18: .4byte gUnknown_083B6DB4
-_08098E1C: .4byte 0x00001050
-_08098E20: .4byte sub_8098E68
- thumb_func_end sub_8098DE0
-
- thumb_func_start sub_8098E24
-sub_8098E24: @ 8098E24
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08098E40
- subs r0, r1, 0x1
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- b _08098E56
-_08098E40:
- ldr r0, _08098E5C
- ldr r1, [r0]
- ldr r3, _08098E60
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrh r0, [r2, 0x34]
- strh r0, [r2, 0x20]
- ldr r0, _08098E64
- str r0, [r2, 0x1C]
-_08098E56:
- pop {r0}
- bx r0
- .align 2, 0
-_08098E5C: .4byte gUnknown_083B6DB4
-_08098E60: .4byte 0x00001178
-_08098E64: .4byte SpriteCallbackDummy
- thumb_func_end sub_8098E24
-
- thumb_func_start sub_8098E68
-sub_8098E68: @ 8098E68
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x36]
- movs r3, 0x36
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _08098E7C
- subs r0, r1, 0x1
- strh r0, [r2, 0x36]
- b _08098E98
-_08098E7C:
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x38]
- subs r0, 0x45
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB6
- bls _08098E98
- ldr r0, _08098E9C
- str r0, [r2, 0x1C]
-_08098E98:
- pop {r0}
- bx r0
- .align 2, 0
-_08098E9C: .4byte SpriteCallbackDummy
- thumb_func_end sub_8098E68
-
- thumb_func_start sub_8098EA0
-sub_8098EA0: @ 8098EA0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r0, _08098ED8
- ldr r0, [r0]
- ldr r1, _08098EDC
- adds r7, r0, r1
-_08098EB0:
- lsls r0, r5, 2
- adds r4, r7, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _08098EC2
- bl sub_8099BE0
- movs r0, 0
- str r0, [r4]
-_08098EC2:
- adds r0, r5, 0x6
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _08098EB0
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08098ED8: .4byte gUnknown_083B6DB4
-_08098EDC: .4byte 0x00001050
- thumb_func_end sub_8098EA0
-
- thumb_func_start sub_8098EE0
-sub_8098EE0: @ 8098EE0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x8]
- lsls r2, 16
- movs r0, 0x2C
- str r0, [sp, 0x10]
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 19
- movs r1, 0xC8
- lsls r1, 15
- adds r0, r1
- lsrs r0, 16
- mov r10, r0
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- lsrs r3, r2, 16
- str r3, [sp, 0xC]
- asrs r2, 16
- adds r1, r0, 0
- muls r1, r2
- mov r4, r10
- subs r1, r4, r1
- movs r0, 0x12
- subs r0, r6
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
- movs r0, 0
- str r0, [sp, 0x14]
- mov r9, r0
- ldr r0, _08098FF8
- ldr r0, [r0]
- ldr r2, _08098FFC
- adds r2, r0
- mov r8, r2
- ldr r3, _08099000
- adds r3, r0, r3
- str r3, [sp, 0x20]
- lsls r1, 16
- str r1, [sp, 0x1C]
-_08098F42:
- mov r4, r8
- ldrb r0, [r4]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r7, r6, 2
- adds r1, r7, r6
- lsls r1, 4
- ldr r2, _08099004
- adds r4, r1, r2
- adds r0, r4
- movs r1, 0x41
- bl GetBoxMonData
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _08098FC8
- mov r1, r8
- ldrb r0, [r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r0, r4
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- ldr r2, [sp, 0x10]
- lsls r3, r2, 16
- asrs r3, 16
- movs r0, 0x2
- str r0, [sp]
- ldr r4, [sp, 0x18]
- str r4, [sp, 0x4]
- adds r0, r5, 0
- ldr r4, [sp, 0x1C]
- asrs r2, r4, 16
- bl sub_8099AFC
- ldr r2, [sp, 0x20]
- adds r1, r2, r7
- str r0, [r1]
- cmp r0, 0
- beq _08098FC8
- mov r3, sp
- ldrh r3, [r3, 0x8]
- strh r3, [r0, 0x30]
- ldr r0, [r1]
- mov r4, sp
- ldrh r4, [r4, 0xC]
- strh r4, [r0, 0x32]
- ldr r0, [r1]
- mov r2, r10
- strh r2, [r0, 0x34]
- ldr r1, [r1]
- ldr r0, _08099008
- str r0, [r1, 0x1C]
- ldr r0, [sp, 0x14]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x14]
-_08098FC8:
- adds r0, r6, 0x6
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [sp, 0x10]
- adds r0, 0x18
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0x4
- bls _08098F42
- ldr r0, [sp, 0x14]
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08098FF8: .4byte gUnknown_083B6DB4
-_08098FFC: .4byte 0x0000117d
-_08099000: .4byte 0x00001050
-_08099004: .4byte gUnknown_020300A4
-_08099008: .4byte sub_8098E24
- thumb_func_end sub_8098EE0
-
- thumb_func_start sub_809900C
-sub_809900C: @ 809900C
- push {r4-r6,lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r4, _08099058
- ldr r5, [r4]
- ldr r3, _0809905C
- adds r2, r5, r3
- movs r3, 0
- strb r3, [r2]
- ldr r6, _08099060
- adds r2, r5, r6
- strb r0, [r2]
- ldr r2, _08099064
- adds r0, r5, r2
- strb r1, [r0]
- subs r6, 0xB
- adds r2, r5, r6
- movs r0, 0x20
- strh r0, [r2]
- lsls r1, 24
- asrs r1, 24
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- negs r0, r0
- adds r6, 0x4
- adds r2, r5, r6
- strh r0, [r2]
- ldr r2, _08099068
- adds r0, r5, r2
- strh r3, [r0]
- cmp r1, 0
- ble _08099070
- ldr r3, _0809906C
- adds r1, r5, r3
- movs r0, 0
- b _08099076
- .align 2, 0
-_08099058: .4byte gUnknown_083B6DB4
-_0809905C: .4byte 0x0000117c
-_08099060: .4byte 0x0000117d
-_08099064: .4byte 0x0000117b
-_08099068: .4byte 0x00001178
-_0809906C: .4byte 0x0000117a
-_08099070:
- ldr r6, _080990A0
- adds r1, r5, r6
- movs r0, 0x5
-_08099076:
- strb r0, [r1]
- ldr r2, [r4]
- ldr r1, _080990A0
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x64
- ldr r3, _080990A4
- adds r1, r2, r3
- strh r0, [r1]
- ldr r6, _080990A8
- adds r2, r6
- movs r1, 0
- ldrsh r0, [r2, r1]
- bl sub_8098DE0
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080990A0: .4byte 0x0000117a
-_080990A4: .4byte 0x00001174
-_080990A8: .4byte 0x00001176
- thumb_func_end sub_809900C
-
- thumb_func_start sub_80990AC
-sub_80990AC: @ 80990AC
- push {r4-r6,lr}
- ldr r0, _080990D4
- ldr r4, [r0]
- ldr r0, _080990D8
- adds r3, r4, r0
- ldrh r0, [r3]
- cmp r0, 0
- beq _080990C0
- subs r0, 0x1
- strh r0, [r3]
-_080990C0:
- ldr r1, _080990DC
- adds r6, r4, r1
- ldrb r0, [r6]
- cmp r0, 0x1
- beq _08099138
- cmp r0, 0x1
- bgt _080990E0
- cmp r0, 0
- beq _080990E8
- b _080991F0
- .align 2, 0
-_080990D4: .4byte gUnknown_083B6DB4
-_080990D8: .4byte 0x00001172
-_080990DC: .4byte 0x0000117c
-_080990E0:
- cmp r0, 0x2
- bne _080990E6
- b _080991E0
-_080990E6:
- b _080991F0
-_080990E8:
- ldr r2, _0809912C
- adds r5, r4, r2
- ldr r3, _08099130
- adds r0, r4, r3
- ldrh r0, [r0]
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xBA
- bhi _08099104
- b _080991F8
-_08099104:
- adds r2, 0x6
- adds r0, r4, r2
- ldrb r0, [r0]
- bl sub_8098EA0
- ldr r3, _08099134
- adds r0, r4, r3
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r5]
- ldrb r0, [r6]
- adds r0, 0x1
- strb r0, [r6]
- b _080991F8
- .align 2, 0
-_0809912C: .4byte 0x00001174
-_08099130: .4byte 0x00001176
-_08099134: .4byte 0x0000117b
-_08099138:
- ldr r2, _08099194
- adds r1, r4, r2
- ldr r5, _08099198
- adds r2, r4, r5
- ldrh r0, [r2]
- ldrh r5, [r1]
- adds r0, r5
- strh r0, [r1]
- ldr r0, _0809919C
- adds r5, r4, r0
- ldrb r0, [r5]
- ldrh r1, [r3]
- movs r3, 0
- ldrsh r2, [r2, r3]
- bl sub_8098EE0
- ldr r2, _080991A0
- adds r1, r4, r2
- lsls r0, 24
- lsrs r0, 24
- ldrh r3, [r1]
- adds r0, r3
- strh r0, [r1]
- ldr r1, _080991A4
- adds r0, r4, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- cmp r1, 0
- ble _08099178
- ldrb r0, [r5]
- cmp r0, 0x5
- beq _08099182
-_08099178:
- cmp r1, 0
- bge _080991B0
- ldrb r0, [r5]
- cmp r0, 0
- bne _080991B0
-_08099182:
- ldr r0, _080991A8
- ldr r1, [r0]
- ldr r2, _080991AC
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080991F8
- .align 2, 0
-_08099194: .4byte 0x00001174
-_08099198: .4byte 0x00001176
-_0809919C: .4byte 0x0000117a
-_080991A0: .4byte 0x00001178
-_080991A4: .4byte 0x0000117b
-_080991A8: .4byte gUnknown_083B6DB4
-_080991AC: .4byte 0x0000117c
-_080991B0:
- ldr r0, _080991D0
- ldr r1, [r0]
- ldr r5, _080991D4
- adds r3, r1, r5
- ldr r2, _080991D8
- adds r0, r1, r2
- ldrb r0, [r0]
- ldrb r5, [r3]
- adds r0, r5
- movs r2, 0
- strb r0, [r3]
- ldr r0, _080991DC
- adds r1, r0
- strb r2, [r1]
- b _080991F8
- .align 2, 0
-_080991D0: .4byte gUnknown_083B6DB4
-_080991D4: .4byte 0x0000117a
-_080991D8: .4byte 0x0000117b
-_080991DC: .4byte 0x0000117c
-_080991E0:
- ldr r1, _080991F4
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080991F8
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_080991F0:
- movs r0, 0
- b _080991FA
- .align 2, 0
-_080991F4: .4byte 0x00001178
-_080991F8:
- movs r0, 0x1
-_080991FA:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80990AC
-
- thumb_func_start sub_8099200
-sub_8099200: @ 8099200
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, _080992A0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x68
- movs r3, 0x40
- bl sub_8099AFC
- ldr r1, _080992A4
- ldr r1, [r1]
- ldr r2, _080992A8
- adds r1, r2
- str r0, [r1]
- movs r7, 0x1
- movs r6, 0x1
-_08099246:
- movs r0, 0x64
- adds r1, r6, 0
- muls r1, r0
- ldr r0, _080992A0
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080992AC
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r1, r0, 0
- subs r0, r6, 0x1
- lsls r3, r0, 1
- adds r3, r0
- lsls r3, 19
- movs r0, 0x80
- lsls r0, 13
- adds r3, r0
- asrs r3, 16
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r2, 0x98
- bl sub_8099AFC
- ldr r1, _080992A4
- ldr r1, [r1]
- lsls r2, r6, 2
- ldr r3, _080992A8
- adds r1, r3
- adds r1, r2
- str r0, [r1]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- b _080992BA
- .align 2, 0
-_080992A0: .4byte gPlayerParty
-_080992A4: .4byte gUnknown_083B6DB4
-_080992A8: .4byte 0x00001038
-_080992AC:
- ldr r0, _08099308
- ldr r0, [r0]
- lsls r1, r6, 2
- ldr r2, _0809930C
- adds r0, r2
- adds r0, r1
- str r5, [r0]
-_080992BA:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _08099246
- mov r3, r8
- cmp r3, 0
- bne _080992FA
- movs r6, 0
- cmp r6, r7
- bcs _080992FA
- ldr r0, _08099308
- ldr r0, [r0]
- ldr r1, _0809930C
- adds r3, r0, r1
- movs r4, 0x4
-_080992DA:
- lsls r1, r6, 2
- adds r1, r3, r1
- ldr r2, [r1]
- ldrh r0, [r2, 0x22]
- subs r0, 0xA0
- strh r0, [r2, 0x22]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r7
- bcc _080992DA
-_080992FA:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08099308: .4byte gUnknown_083B6DB4
-_0809930C: .4byte 0x00001038
- thumb_func_end sub_8099200
-
- thumb_func_start sub_8099310
-sub_8099310: @ 8099310
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _08099368
- ldr r2, [r0]
- ldr r0, _0809936C
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- movs r5, 0
- movs r6, 0
- mov r8, r2
- ldr r7, _0809936C
- add r7, r8
-_0809932C:
- lsls r1, r5, 2
- ldr r0, _08099370
- add r0, r8
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _08099354
- cmp r5, r6
- beq _0809934E
- adds r1, r6, 0
- bl sub_8099388
- movs r0, 0
- str r0, [r4]
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
-_0809934E:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_08099354:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _0809932C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08099368: .4byte gUnknown_083B6DB4
-_0809936C: .4byte 0x00001171
-_08099370: .4byte 0x00001038
- thumb_func_end sub_8099310
-
- thumb_func_start sub_8099374
-sub_8099374: @ 8099374
- ldr r0, _08099380
- ldr r0, [r0]
- ldr r1, _08099384
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_08099380: .4byte gUnknown_083B6DB4
-_08099384: .4byte 0x00001171
- thumb_func_end sub_8099374
-
- thumb_func_start sub_8099388
-sub_8099388: @ 8099388
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- strh r1, [r2, 0x30]
- cmp r1, 0
- bne _0809939C
- movs r3, 0x68
- movs r4, 0x40
- b _080993AE
-_0809939C:
- movs r3, 0x98
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 19
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r4, r0, 16
-_080993AE:
- ldrh r0, [r2, 0x20]
- lsls r0, 3
- strh r0, [r2, 0x32]
- ldrh r0, [r2, 0x22]
- lsls r0, 3
- strh r0, [r2, 0x34]
- lsls r1, r3, 3
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- subs r0, r1, r0
- cmp r0, 0
- bge _080993C8
- adds r0, 0x7
-_080993C8:
- asrs r0, 3
- strh r0, [r2, 0x36]
- lsls r0, r4, 16
- asrs r0, 13
- movs r3, 0x34
- ldrsh r1, [r2, r3]
- subs r0, r1
- cmp r0, 0
- bge _080993DC
- adds r0, 0x7
-_080993DC:
- asrs r0, 3
- strh r0, [r2, 0x38]
- movs r0, 0x8
- strh r0, [r2, 0x3A]
- ldr r0, _080993F0
- str r0, [r2, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080993F0: .4byte sub_80993F4
- thumb_func_end sub_8099388
-
- thumb_func_start sub_80993F4
-sub_80993F4: @ 80993F4
- push {r4,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _08099424
- ldrh r0, [r3, 0x36]
- ldrh r4, [r3, 0x32]
- adds r0, r4
- strh r0, [r3, 0x32]
- ldrh r1, [r3, 0x38]
- ldrh r4, [r3, 0x34]
- adds r1, r4
- strh r1, [r3, 0x34]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r3, 0x20]
- lsls r1, 16
- asrs r1, 19
- strh r1, [r3, 0x22]
- subs r0, r2, 0x1
- strh r0, [r3, 0x3A]
- b _08099468
-_08099424:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _08099434
- movs r0, 0x68
- strh r0, [r3, 0x20]
- movs r0, 0x40
- b _08099446
-_08099434:
- movs r0, 0x98
- strh r0, [r3, 0x20]
- movs r4, 0x30
- ldrsh r1, [r3, r4]
- subs r1, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x10
-_08099446:
- strh r0, [r3, 0x22]
- ldr r0, _08099470
- str r0, [r3, 0x1C]
- ldr r0, _08099474
- ldr r2, [r0]
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r1, 2
- ldr r4, _08099478
- adds r0, r2, r4
- adds r0, r1
- str r3, [r0]
- ldr r0, _0809947C
- adds r2, r0
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
-_08099468:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099470: .4byte SpriteCallbackDummy
-_08099474: .4byte gUnknown_083B6DB4
-_08099478: .4byte 0x00001038
-_0809947C: .4byte 0x00001171
- thumb_func_end sub_80993F4
-
- thumb_func_start sub_8099480
-sub_8099480: @ 8099480
- push {r4,lr}
- ldr r0, _080994A0
- ldr r0, [r0]
- ldr r1, _080994A4
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _08099498
- bl sub_8099BE0
- movs r0, 0
- str r0, [r4]
-_08099498:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080994A0: .4byte gUnknown_083B6DB4
-_080994A4: .4byte 0x00001034
- thumb_func_end sub_8099480
-
- thumb_func_start sub_80994A8
-sub_80994A8: @ 80994A8
- push {r4-r6,lr}
- movs r3, 0
- ldr r1, _080994FC
- ldr r1, [r1]
- ldr r2, _08099500
- adds r5, r1, r2
- lsls r0, 16
- asrs r4, r0, 16
- movs r6, 0x5
- negs r6, r6
-_080994BC:
- lsls r0, r3, 2
- adds r2, r5, r0
- ldr r1, [r2]
- cmp r1, 0
- beq _0809950E
- ldrh r0, [r1, 0x22]
- adds r0, r4, r0
- strh r0, [r1, 0x22]
- ldr r2, [r2]
- ldrh r1, [r2, 0x26]
- ldrh r0, [r2, 0x22]
- adds r1, r0
- adds r0, r2, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 13
- adds r0, r1
- lsrs r0, 16
- cmp r0, 0xC0
- bls _08099504
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0809950E
- .align 2, 0
-_080994FC: .4byte gUnknown_083B6DB4
-_08099500: .4byte 0x00001038
-_08099504:
- adds r2, 0x3E
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r2]
-_0809950E:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _080994BC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80994A8
-
- thumb_func_start sub_8099520
-sub_8099520: @ 8099520
- push {r4,lr}
- lsls r0, 24
- ldr r1, _08099544
- ldr r1, [r1]
- lsrs r0, 22
- ldr r2, _08099548
- adds r1, r2
- adds r4, r1, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _0809953E
- bl sub_8099BE0
- movs r0, 0
- str r0, [r4]
-_0809953E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099544: .4byte gUnknown_083B6DB4
-_08099548: .4byte 0x00001038
- thumb_func_end sub_8099520
-
- thumb_func_start sub_809954C
-sub_809954C: @ 809954C
- push {r4-r6,lr}
- movs r5, 0
- ldr r0, _0809957C
- ldr r0, [r0]
- ldr r1, _08099580
- adds r6, r0, r1
-_08099558:
- lsls r0, r5, 2
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _0809956A
- bl sub_8099BE0
- movs r0, 0
- str r0, [r4]
-_0809956A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _08099558
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809957C: .4byte gUnknown_083B6DB4
-_08099580: .4byte 0x00001038
- thumb_func_end sub_809954C
-
- thumb_func_start sub_8099584
-sub_8099584: @ 8099584
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r5, r1, 0
- cmp r4, 0
- bne _080995B4
- ldr r3, _080995AC
- ldr r0, [r3]
- ldr r5, _080995B0
- adds r2, r0, r5
- lsls r1, 2
- adds r5, 0x4
- adds r0, r5
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- str r4, [r0]
- b _080995D0
- .align 2, 0
-_080995AC: .4byte gUnknown_083B6DB4
-_080995B0: .4byte 0x00001034
-_080995B4:
- cmp r4, 0x1
- bne _080995F4
- ldr r3, _080995FC
- ldr r0, [r3]
- ldr r1, _08099600
- adds r2, r0, r1
- lsls r1, r5, 2
- ldr r4, _08099604
- adds r0, r4
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- movs r1, 0
- str r1, [r0]
-_080995D0:
- ldr r2, [r3]
- ldr r5, _08099600
- adds r2, r5
- ldr r1, [r2]
- ldr r0, _08099608
- str r0, [r1, 0x1C]
- ldr r3, [r2]
- ldrb r1, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r2]
- adds r0, 0x43
- movs r1, 0x7
- strb r1, [r0]
-_080995F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080995FC: .4byte gUnknown_083B6DB4
-_08099600: .4byte 0x00001034
-_08099604: .4byte 0x00001050
-_08099608: .4byte sub_80999C4
- thumb_func_end sub_8099584
-
- thumb_func_start sub_809960C
-sub_809960C: @ 809960C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r0, 0xE
- bne _08099654
- ldr r4, _08099648
- ldr r0, [r4]
- lsls r1, r6, 2
- ldr r2, _0809964C
- adds r3, r0, r2
- adds r3, r1
- ldr r1, _08099650
- adds r0, r1
- ldr r2, [r0]
- str r2, [r3]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r0, [r3]
- adds r0, 0x43
- movs r1, 0xB
- strb r1, [r0]
- b _0809968A
- .align 2, 0
-_08099648: .4byte gUnknown_083B6DB4
-_0809964C: .4byte 0x00001038
-_08099650: .4byte 0x00001034
-_08099654:
- ldr r5, _080996A0
- ldr r0, [r5]
- lsls r1, r6, 2
- ldr r2, _080996A4
- adds r3, r0, r2
- adds r3, r1
- ldr r1, _080996A8
- adds r0, r1
- ldr r2, [r0]
- str r2, [r3]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldr r4, [r3]
- adds r0, r6, 0
- movs r1, 0x6
- bl __umodsi3
- movs r1, 0x12
- subs r1, r0
- adds r4, 0x43
- strb r1, [r4]
- adds r4, r5, 0
-_0809968A:
- ldr r1, [r4]
- ldr r2, _080996A8
- adds r1, r2
- ldr r2, [r1]
- ldr r0, _080996AC
- str r0, [r2, 0x1C]
- movs r0, 0
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080996A0: .4byte gUnknown_083B6DB4
-_080996A4: .4byte 0x00001050
-_080996A8: .4byte 0x00001034
-_080996AC: .4byte SpriteCallbackDummy
- thumb_func_end sub_809960C
-
- thumb_func_start sub_80996B0
-sub_80996B0: @ 80996B0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r0, 0xE
- bne _080996D8
- ldr r3, _080996CC
- ldr r1, [r3]
- ldr r0, _080996D0
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _080996D4
- b _080996E4
- .align 2, 0
-_080996CC: .4byte gUnknown_083B6DB4
-_080996D0: .4byte 0x000010c8
-_080996D4: .4byte 0x00001038
-_080996D8:
- ldr r3, _08099704
- ldr r1, [r3]
- ldr r0, _08099708
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _0809970C
-_080996E4:
- adds r0, r4
- adds r1, r0
- str r1, [r2]
- ldr r1, [r3]
- ldr r2, _08099710
- adds r0, r1, r2
- ldr r2, [r0]
- ldr r0, _08099714
- str r0, [r2, 0x1C]
- ldr r4, _08099718
- adds r1, r4
- movs r0, 0
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099704: .4byte gUnknown_083B6DB4
-_08099708: .4byte 0x000010c8
-_0809970C: .4byte 0x00001050
-_08099710: .4byte 0x00001034
-_08099714: .4byte SpriteCallbackDummy
-_08099718: .4byte 0x00001170
- thumb_func_end sub_80996B0
-
- thumb_func_start sub_809971C
-sub_809971C: @ 809971C
- push {r4-r7,lr}
- ldr r0, _08099730
- ldr r2, [r0]
- ldr r0, _08099734
- adds r7, r2, r0
- ldrb r0, [r7]
- cmp r0, 0x10
- bne _08099738
- movs r0, 0
- b _08099800
- .align 2, 0
-_08099730: .4byte gUnknown_083B6DB4
-_08099734: .4byte 0x00001170
-_08099738:
- adds r0, 0x1
- strb r0, [r7]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809975E
- ldr r1, _08099808
- adds r0, r2, r1
- ldr r0, [r0]
- ldr r1, [r0]
- ldrh r0, [r1, 0x22]
- subs r0, 0x1
- strh r0, [r1, 0x22]
- ldr r4, _0809980C
- adds r0, r2, r4
- ldr r1, [r0]
- ldrh r0, [r1, 0x22]
- adds r0, 0x1
- strh r0, [r1, 0x22]
-_0809975E:
- ldr r0, _08099808
- adds r5, r2, r0
- ldr r0, [r5]
- ldr r1, [r0]
- ldr r3, _08099810
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r0, 0
- bge _08099778
- adds r0, 0xF
-_08099778:
- asrs r0, 4
- strh r0, [r1, 0x24]
- ldr r0, _0809980C
- adds r6, r2, r0
- ldr r1, [r6]
- ldrb r0, [r7]
- lsls r0, 4
- adds r0, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _08099792
- adds r0, 0xF
-_08099792:
- asrs r0, 4
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrb r0, [r7]
- cmp r0, 0x8
- bne _080997DE
- ldr r4, [r6]
- ldr r0, [r5]
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- movs r2, 0xC
- ands r2, r0
- ldrb r3, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- adds r0, r1, 0
- ands r0, r3
- orrs r0, r2
- strb r0, [r4, 0x5]
- ldr r2, [r6]
- ldr r0, [r5]
- ldr r0, [r0]
- adds r0, 0x43
- ldrb r0, [r0]
- adds r2, 0x43
- strb r0, [r2]
- ldr r0, [r5]
- ldr r2, [r0]
- ldrb r0, [r2, 0x5]
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r2, 0x5]
- ldr r0, [r5]
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0x7
- strb r1, [r0]
-_080997DE:
- ldrb r0, [r7]
- cmp r0, 0x10
- bne _080997FE
- ldr r1, [r6]
- ldr r0, [r5]
- ldr r0, [r0]
- str r0, [r6]
- ldr r0, [r5]
- str r1, [r0]
- ldr r1, [r6]
- ldr r0, _08099814
- str r0, [r1, 0x1C]
- ldr r0, [r5]
- ldr r1, [r0]
- ldr r0, _08099818
- str r0, [r1, 0x1C]
-_080997FE:
- movs r0, 0x1
-_08099800:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08099808: .4byte 0x000010c8
-_0809980C: .4byte 0x00001034
-_08099810: .4byte gSineTable
-_08099814: .4byte sub_80999C4
-_08099818: .4byte SpriteCallbackDummy
- thumb_func_end sub_809971C
-
- thumb_func_start sub_809981C
-sub_809981C: @ 809981C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- cmp r0, 0x1
- beq _08099858
- cmp r0, 0x1
- bgt _08099836
- cmp r0, 0
- beq _0809983C
- b _080998C0
-_08099836:
- cmp r2, 0x2
- beq _0809987C
- b _080998C0
-_0809983C:
- ldr r3, _0809984C
- ldr r1, [r3]
- ldr r0, _08099850
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _08099854
- b _08099864
- .align 2, 0
-_0809984C: .4byte gUnknown_083B6DB4
-_08099850: .4byte 0x000010cc
-_08099854: .4byte 0x00001038
-_08099858:
- ldr r3, _08099870
- ldr r1, [r3]
- ldr r0, _08099874
- adds r2, r1, r0
- lsls r0, r4, 2
- ldr r4, _08099878
-_08099864:
- adds r0, r4
- adds r1, r0
- str r1, [r2]
- adds r0, r3, 0
- b _0809988A
- .align 2, 0
-_08099870: .4byte gUnknown_083B6DB4
-_08099874: .4byte 0x000010cc
-_08099878: .4byte 0x00001050
-_0809987C:
- ldr r0, _080998C8
- ldr r1, [r0]
- ldr r3, _080998CC
- adds r2, r1, r3
- ldr r4, _080998D0
- adds r1, r4
- str r1, [r2]
-_0809988A:
- ldr r0, [r0]
- ldr r1, _080998CC
- adds r4, r0, r1
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _080998C0
- bl InitSpriteAffineAnim
- ldr r0, [r4]
- ldr r2, [r0]
- ldrb r1, [r2, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x1]
- ldr r0, [r4]
- ldr r1, [r0]
- ldr r0, _080998D4
- str r0, [r1, 0x10]
- ldr r0, [r4]
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAffineAnim
-_080998C0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080998C8: .4byte gUnknown_083B6DB4
-_080998CC: .4byte 0x000010cc
-_080998D0: .4byte 0x00001034
-_080998D4: .4byte gUnknown_083B6F5C
- thumb_func_end sub_809981C
-
- thumb_func_start sub_80998D8
-sub_80998D8: @ 80998D8
- push {lr}
- ldr r0, _080998FC
- ldr r0, [r0]
- ldr r1, _08099900
- adds r0, r1
- ldr r0, [r0]
- ldr r1, [r0]
- cmp r1, 0
- beq _080998F8
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _08099904
-_080998F8:
- movs r0, 0
- b _0809991A
- .align 2, 0
-_080998FC: .4byte gUnknown_083B6DB4
-_08099900: .4byte 0x000010cc
-_08099904:
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08099918
- movs r0, 0x4
- orrs r0, r2
- strb r0, [r3]
-_08099918:
- movs r0, 0x1
-_0809991A:
- pop {r1}
- bx r1
- thumb_func_end sub_80998D8
-
- thumb_func_start sub_8099920
-sub_8099920: @ 8099920
- push {r4,lr}
- ldr r0, _08099950
- ldr r0, [r0]
- ldr r1, _08099954
- adds r4, r0, r1
- ldr r0, [r4]
- ldr r0, [r0]
- cmp r0, 0
- beq _0809994A
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- ldr r0, [r0]
- bl sub_8099BE0
- ldr r1, [r4]
- movs r0, 0
- str r0, [r1]
-_0809994A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099950: .4byte gUnknown_083B6DB4
-_08099954: .4byte 0x000010cc
- thumb_func_end sub_8099920
-
- thumb_func_start sub_8099958
-sub_8099958: @ 8099958
- push {lr}
- ldr r0, _08099988
- ldr r0, [r0]
- ldr r1, _0809998C
- adds r3, r0, r1
- ldr r0, [r3]
- ldr r0, [r0]
- cmp r0, 0
- beq _08099982
- adds r2, r0, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_08099982:
- pop {r0}
- bx r0
- .align 2, 0
-_08099988: .4byte gUnknown_083B6DB4
-_0809998C: .4byte 0x000010cc
- thumb_func_end sub_8099958
-
- thumb_func_start sub_8099990
-sub_8099990: @ 8099990
- push {lr}
- ldr r0, _080999A4
- ldr r0, [r0]
- ldr r1, _080999A8
- adds r2, r0, r1
- ldr r0, [r2]
- cmp r0, 0
- bne _080999AC
- movs r0, 0
- b _080999C0
- .align 2, 0
-_080999A4: .4byte gUnknown_083B6DB4
-_080999A8: .4byte 0x000010cc
-_080999AC:
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080999BE
- movs r0, 0
- str r0, [r2]
-_080999BE:
- movs r0, 0x1
-_080999C0:
- pop {r1}
- bx r1
- thumb_func_end sub_8099990
-
- thumb_func_start sub_80999C4
-sub_80999C4: @ 80999C4
- ldr r1, _080999E4
- ldr r1, [r1]
- movs r2, 0x8E
- lsls r2, 5
- adds r1, r2
- ldr r2, [r1]
- ldrh r2, [r2, 0x20]
- strh r2, [r0, 0x20]
- ldr r2, [r1]
- ldrh r1, [r2, 0x26]
- ldrh r2, [r2, 0x22]
- adds r1, r2
- adds r1, 0x4
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080999E4: .4byte gUnknown_083B6DB4
- thumb_func_end sub_80999C4
-
- thumb_func_start sub_80999E8
-sub_80999E8: @ 80999E8
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r4, 0
- ldr r1, _08099A58
- ldr r0, [r1]
- movs r2, 0x89
- lsls r2, 5
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, r3
- beq _08099A20
- adds r6, r2, 0
- movs r5, 0x89
- lsls r5, 5
-_08099A08:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x27
- bhi _08099A20
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r3
- bne _08099A08
-_08099A20:
- cmp r4, 0x28
- bne _08099A60
- movs r4, 0
- ldr r0, [r2]
- movs r5, 0x89
- lsls r5, 5
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _08099A4E
- adds r6, r2, 0
-_08099A36:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x27
- bhi _08099A4E
- ldr r0, [r6]
- lsls r1, r4, 1
- adds r0, r5
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _08099A36
-_08099A4E:
- cmp r4, 0x28
- bne _08099A60
- ldr r0, _08099A5C
- b _08099A94
- .align 2, 0
-_08099A58: .4byte gUnknown_083B6DB4
-_08099A5C: .4byte 0x0000ffff
-_08099A60:
- ldr r1, [r2]
- lsls r2, r4, 1
- movs r5, 0x89
- lsls r5, 5
- adds r0, r1, r5
- adds r0, r2
- strh r3, [r0]
- ldr r0, _08099A9C
- adds r1, r0
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r4, 20
- lsrs r4, 16
- ldr r1, _08099AA0
- lsls r0, r3, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r1, r4, 5
- ldr r2, _08099AA4
- adds r1, r2
- ldr r2, _08099AA8
- bl CpuSet
- adds r0, r4, 0
-_08099A94:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08099A9C: .4byte 0x000010d0
-_08099AA0: .4byte gMonIconTable
-_08099AA4: .4byte 0x06010000
-_08099AA8: .4byte 0x04000080
- thumb_func_end sub_80999E8
-
- thumb_func_start sub_8099AAC
-sub_8099AAC: @ 8099AAC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r3, 0
- ldr r0, _08099AE4
- ldr r0, [r0]
- movs r1, 0x89
- lsls r1, 5
- adds r5, r0, r1
- subs r1, 0x50
- adds r4, r0, r1
- ldr r0, _08099AE8
- adds r7, r0, 0
-_08099AC6:
- lsls r1, r3, 1
- adds r2, r5, r1
- ldrh r0, [r2]
- cmp r0, r6
- bne _08099AEC
- adds r1, r4, r1
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ands r0, r7
- cmp r0, 0
- bne _08099AF6
- strh r0, [r2]
- b _08099AF6
- .align 2, 0
-_08099AE4: .4byte gUnknown_083B6DB4
-_08099AE8: .4byte 0x0000ffff
-_08099AEC:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x27
- bls _08099AC6
-_08099AF6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099AAC
-
- thumb_func_start sub_8099AFC
-sub_8099AFC: @ 8099AFC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r4, [sp, 0x3C]
- ldr r5, [sp, 0x40]
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0x18]
- lsls r3, 16
- lsrs r3, 16
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r9, r5
- mov r2, sp
- ldr r0, _08099BAC
- ldm r0!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- ldm r0!, {r3,r5,r7}
- stm r2!, {r3,r5,r7}
- adds r0, r6, 0
- bl mon_icon_convert_unown_species_id
- mov r10, r0
- mov r6, r10
- mov r2, sp
- ldr r1, _08099BB0
- adds r1, r6, r1
- ldr r3, _08099BB4
- adds r0, r3, 0
- ldrb r1, [r1]
- adds r0, r1
- strh r0, [r2, 0x2]
- adds r0, r6, 0
- bl sub_80999E8
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0, 0
- ldr r0, _08099BB8
- cmp r5, r0
- beq _08099BCE
- ldr r7, [sp, 0x18]
- lsls r1, r7, 16
- asrs r1, 16
- mov r0, r8
- lsls r2, r0, 16
- asrs r2, 16
- mov r0, sp
- mov r3, r9
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _08099BC8
- ldr r1, _08099BBC
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldr r2, _08099BC0
- ands r2, r5
- ldrh r3, [r0, 0x4]
- ldr r1, _08099BC4
- ands r1, r3
- orrs r1, r2
- strh r1, [r0, 0x4]
- movs r1, 0x3
- ands r4, r1
- lsls r3, r4, 2
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r3
- strb r1, [r0, 0x5]
- mov r1, r10
- strh r1, [r0, 0x2E]
- b _08099BD0
- .align 2, 0
-_08099BAC: .4byte gSpriteTemplate_83B6F14
-_08099BB0: .4byte gMonIconPaletteIndices
-_08099BB4: .4byte 0x0000dac0
-_08099BB8: .4byte 0x0000ffff
-_08099BBC: .4byte gSprites
-_08099BC0: .4byte 0x000003ff
-_08099BC4: .4byte 0xfffffc00
-_08099BC8:
- adds r0, r6, 0
- bl sub_8099AAC
-_08099BCE:
- movs r0, 0
-_08099BD0:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8099AFC
-
- thumb_func_start sub_8099BE0
-sub_8099BE0: @ 8099BE0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- bl sub_8099AAC
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8099BE0
-
- thumb_func_start sub_8099BF8
-sub_8099BF8: @ 8099BF8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08099C50
- ldr r0, [r0]
- ldr r1, _08099C54
- adds r2, r0, r1
- movs r1, 0
- strb r1, [r2]
- ldr r2, _08099C58
- adds r0, r2
- strh r1, [r0]
- str r1, [sp]
- ldr r1, _08099C5C
- mov r0, sp
- str r0, [r1]
- ldr r0, _08099C60
- str r0, [r1, 0x4]
- ldr r0, _08099C64
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r0, r4, 0
- movs r1, 0
- bl sub_8099EB0
- adds r0, r4, 0
- bl sub_809A23C
- bl sub_809A6DC
- adds r0, r4, 0
- bl sub_8098C48
- ldr r1, _08099C68
- ldr r2, _08099C6C
- adds r0, r2, 0
- strh r0, [r1]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099C50: .4byte gUnknown_083B6DB4
-_08099C54: .4byte 0x000008ba
-_08099C58: .4byte 0x000008b4
-_08099C5C: .4byte 0x040000d4
-_08099C60: .4byte 0x0600d000
-_08099C64: .4byte 0x85000400
-_08099C68: .4byte REG_BG2CNT
-_08099C6C: .4byte 0x00005a0a
- thumb_func_end sub_8099BF8
-
- thumb_func_start sub_8099C70
-sub_8099C70: @ 8099C70
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- bl sub_8099D90
- lsls r0, 24
- asrs r4, r0, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_8099EB0
- ldr r0, _08099D10
- ldr r2, [r0]
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 1
- ldr r3, _08099D14
- adds r1, r2, r3
- strh r0, [r1]
- ldr r0, _08099D18
- adds r1, r2, r0
- movs r0, 0x20
- strh r0, [r1]
- ldr r1, _08099D1C
- adds r0, r2, r1
- strb r5, [r0]
- movs r1, 0
- cmp r4, 0
- bgt _08099CAE
- movs r1, 0x5
-_08099CAE:
- ldr r3, _08099D20
- adds r0, r2, r3
- strh r1, [r0]
- ldr r1, _08099D24
- adds r0, r2, r1
- strh r4, [r0]
- movs r1, 0x38
- cmp r4, 0
- ble _08099CC6
- movs r3, 0x84
- lsls r3, 1
- adds r1, r3, 0
-_08099CC6:
- movs r3, 0x8C
- lsls r3, 4
- adds r0, r2, r3
- strh r1, [r0]
- movs r1, 0
- cmp r4, 0
- bgt _08099CD6
- movs r1, 0x5
-_08099CD6:
- ldr r3, _08099D28
- adds r0, r2, r3
- strh r1, [r0]
- ldr r1, _08099D2C
- adds r0, r2, r1
- strh r4, [r0]
- adds r3, 0x4
- adds r1, r2, r3
- movs r0, 0
- strh r0, [r1]
- ldr r0, _08099D30
- adds r1, r2, r0
- movs r0, 0x2
- strh r0, [r1]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809900C
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809A3D0
- adds r0, r4, 0
- bl sub_809A774
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08099D10: .4byte gUnknown_083B6DB4
-_08099D14: .4byte 0x000008b6
-_08099D18: .4byte 0x000008b8
-_08099D1C: .4byte 0x000008bb
-_08099D20: .4byte 0x000008bc
-_08099D24: .4byte 0x000008be
-_08099D28: .4byte 0x000008c2
-_08099D2C: .4byte 0x000008c4
-_08099D30: .4byte 0x000008c8
- thumb_func_end sub_8099C70
-
- thumb_func_start sub_8099D34
-sub_8099D34: @ 8099D34
- push {r4,lr}
- bl sub_80990AC
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08099D78
- ldr r1, [r0]
- ldr r0, _08099D7C
- adds r3, r1, r0
- ldrh r0, [r3]
- cmp r0, 0
- beq _08099D88
- ldr r4, _08099D80
- adds r2, r1, r4
- adds r4, 0x2
- adds r0, r1, r4
- ldrh r0, [r0]
- ldrh r1, [r2]
- adds r0, r1
- ldr r1, _08099D84
- ands r0, r1
- strh r0, [r2]
- ldrh r0, [r3]
- subs r0, 0x1
- strh r0, [r3]
- lsls r0, 16
- cmp r0, 0
- bne _08099D74
- bl sub_809A598
- bl sub_809A810
-_08099D74:
- movs r0, 0x1
- b _08099D8A
- .align 2, 0
-_08099D78: .4byte gUnknown_083B6DB4
-_08099D7C: .4byte 0x000008b8
-_08099D80: .4byte 0x000008b4
-_08099D84: .4byte 0x000001ff
-_08099D88:
- adds r0, r2, 0
-_08099D8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099D34
-
- thumb_func_start sub_8099D90
-sub_8099D90: @ 8099D90
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl get_preferred_box
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0
- cmp r1, r4
- beq _08099DBA
-_08099DA4:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xD
- bls _08099DB0
- movs r1, 0
-_08099DB0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r1, r4
- bne _08099DA4
-_08099DBA:
- movs r0, 0x1
- negs r0, r0
- cmp r2, 0x6
- bhi _08099DC4
- movs r0, 0x1
-_08099DC4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8099D90
-
- thumb_func_start sub_8099DCC
-sub_8099DCC: @ 8099DCC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08099DF8
- ldr r2, _08099DFC
- adds r1, r2
- adds r0, r1
- movs r1, 0
- strb r4, [r0]
- ldr r0, _08099E00
- ldr r0, [r0]
- ldr r2, _08099E04
- adds r0, r2
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08099DF8: .4byte gPokemonStorage
-_08099DFC: .4byte 0x000083c2
-_08099E00: .4byte gUnknown_083B6DB4
-_08099E04: .4byte 0x00001032
- thumb_func_end sub_8099DCC
-
- thumb_func_start sub_8099E08
-sub_8099E08: @ 8099E08
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _08099E24
- ldr r5, [r0]
- ldr r0, _08099E28
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _08099E54
- cmp r0, 0x1
- bgt _08099E2C
- cmp r0, 0
- beq _08099E36
- b _08099EA6
- .align 2, 0
-_08099E24: .4byte gUnknown_083B6DB4
-_08099E28: .4byte 0x00001032
-_08099E2C:
- cmp r0, 0x2
- beq _08099E90
- cmp r0, 0x3
- beq _08099EA2
- b _08099EA6
-_08099E36:
- ldr r1, _08099E4C
- adds r0, r5, r1
- ldr r0, [r0]
- ldr r1, _08099E50
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _08099E9A
- .align 2, 0
-_08099E4C: .4byte 0x00000d08
-_08099E50: .4byte 0x0000ffff
-_08099E54:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08099EA6
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8099EB0
- bl sub_809A654
- ldr r1, _08099E88
- adds r0, r5, r1
- ldr r0, [r0]
- ldr r1, _08099E8C
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _08099E9A
- .align 2, 0
-_08099E88: .4byte 0x00000d08
-_08099E8C: .4byte 0x0000ffff
-_08099E90:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _08099EA6
-_08099E9A:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _08099EA6
-_08099EA2:
- movs r0, 0
- b _08099EA8
-_08099EA6:
- movs r0, 0x1
-_08099EA8:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8099E08
-
- thumb_func_start sub_8099EB0
-sub_8099EB0: @ 8099EB0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- cmp r1, 0
- beq _08099ED8
- ldr r0, _08099F38
- ldr r0, [r0]
- movs r2, 0
- ldr r3, _08099F3C
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0
- bne _08099ED0
- movs r2, 0x1
-_08099ED0:
- strb r2, [r1]
- ldr r0, _08099F40
- bl sub_809A14C
-_08099ED8:
- ldr r0, _08099F44
- ldr r1, _08099F48
- adds r0, r1
- adds r0, r4, r0
- ldrb r4, [r0]
- lsls r4, 4
- ldr r0, _08099F4C
- adds r4, r0
- ldr r0, [r4, 0xC]
- ldr r1, _08099F38
- ldr r5, [r1]
- ldr r2, _08099F3C
- adds r6, r5, r2
- ldrb r2, [r6]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 20
- movs r3, 0x80
- lsls r3, 15
- adds r1, r3
- lsrs r1, 16
- movs r2, 0x60
- bl LoadPalette
- ldr r0, [r4, 0x8]
- ldr r1, _08099F50
- adds r5, r1
- adds r1, r5, 0
- bl LZ77UnCompWram
- ldr r0, _08099F40
- lsls r2, r7, 24
- asrs r2, 24
- ldrb r3, [r6]
- adds r1, r5, 0
- bl sub_8099F58
- ldr r0, [r4]
- ldrb r1, [r6]
- lsls r1, 13
- ldr r2, _08099F54
- adds r1, r2
- bl LZ77UnCompVram
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08099F38: .4byte gUnknown_083B6DB4
-_08099F3C: .4byte 0x000008ba
-_08099F40: .4byte 0x0600d000
-_08099F44: .4byte gPokemonStorage
-_08099F48: .4byte 0x000083c2
-_08099F4C: .4byte gWallpaperTable
-_08099F50: .4byte 0x00000d62
-_08099F54: .4byte 0x06008000
- thumb_func_end sub_8099EB0
-
- thumb_func_start sub_8099F58
-sub_8099F58: @ 8099F58
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r9, r0
- adds r5, r1, 0
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, r3, 8
- str r0, [sp]
- lsls r0, r3, 1
- adds r0, r3
- adds r0, 0x4
- lsls r0, 28
- lsrs r0, 16
- str r0, [sp, 0x4]
- ldr r0, _08099FB8
- ldr r0, [r0]
- ldr r1, _08099FBC
- adds r0, r1
- ldrh r1, [r0]
- lsrs r1, 3
- adds r1, 0xA
- lsrs r0, r2, 24
- mov r8, r0
- asrs r2, 24
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- movs r0, 0x3F
- ands r1, r0
- str r1, [sp, 0x8]
- adds r2, r1, 0
- cmp r2, 0xC
- bgt _08099FC0
- movs r6, 0x14
- movs r3, 0
- lsls r0, r2, 1
- adds r0, 0x80
- mov r1, r9
- adds r4, r1, r0
- movs r7, 0
- b _0809A020
- .align 2, 0
-_08099FB8: .4byte gUnknown_083B6DB4
-_08099FBC: .4byte 0x000008b4
-_08099FC0:
- cmp r2, 0x1F
- bgt _08099FE6
- movs r0, 0x20
- subs r0, r2
- lsls r0, 16
- movs r1, 0x14
- lsrs r6, r0, 16
- asrs r0, 16
- subs r1, r0
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r0, r2, 1
- adds r0, 0x80
- mov r2, r9
- adds r4, r2, r0
- movs r7, 0x88
- lsls r7, 4
- add r7, r9
- b _0809A020
-_08099FE6:
- cmp r2, 0x2C
- bgt _08099FFE
- movs r6, 0x14
- movs r3, 0
- lsls r0, r2, 1
- movs r1, 0x84
- lsls r1, 4
- adds r0, r1
- mov r2, r9
- adds r4, r2, r0
- movs r7, 0
- b _0809A020
-_08099FFE:
- movs r0, 0x40
- subs r0, r2
- lsls r0, 16
- movs r1, 0x14
- lsrs r6, r0, 16
- asrs r0, 16
- subs r1, r0
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r0, r2, 1
- movs r1, 0x84
- lsls r1, 4
- adds r0, r1
- mov r2, r9
- adds r4, r2, r0
- mov r7, r9
- adds r7, 0x80
-_0809A020:
- movs r1, 0
- mov r0, r8
- lsls r0, 24
- str r0, [sp, 0x14]
- lsls r0, r6, 16
- asrs r0, 16
- mov r8, r0
- lsls r3, 16
- str r3, [sp, 0xC]
- asrs r2, r3, 16
- str r2, [sp, 0x10]
-_0809A036:
- movs r3, 0
- adds r0, r4, 0
- adds r0, 0x40
- str r0, [sp, 0x18]
- adds r2, r7, 0
- adds r2, 0x40
- str r2, [sp, 0x1C]
- adds r1, 0x1
- mov r10, r1
- cmp r3, r8
- bge _0809A07A
- ldr r0, _0809A0D4
- mov r12, r0
- movs r6, 0xF0
- lsls r6, 8
-_0809A054:
- ldrh r2, [r5]
- mov r0, r12
- ands r0, r2
- ldr r1, [sp]
- adds r0, r1, r0
- adds r1, r6, 0
- ands r1, r2
- ldr r2, [sp, 0x4]
- adds r1, r2, r1
- orrs r1, r0
- lsls r0, r3, 1
- adds r0, r4
- strh r1, [r0]
- adds r5, 0x2
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r8
- blt _0809A054
-_0809A07A:
- movs r3, 0
- ldr r0, [sp, 0x10]
- cmp r3, r0
- bge _0809A0B4
- ldr r1, _0809A0D4
- mov r12, r1
- movs r6, 0xF0
- lsls r6, 8
- ldr r2, [sp, 0xC]
- asrs r4, r2, 16
-_0809A08E:
- ldrh r2, [r5]
- mov r0, r12
- ands r0, r2
- ldr r1, [sp]
- adds r0, r1, r0
- adds r1, r6, 0
- ands r1, r2
- ldr r2, [sp, 0x4]
- adds r1, r2, r1
- orrs r1, r0
- lsls r0, r3, 1
- adds r0, r7
- strh r1, [r0]
- adds r5, 0x2
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r4
- blt _0809A08E
-_0809A0B4:
- ldr r4, [sp, 0x18]
- ldr r7, [sp, 0x1C]
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- cmp r1, 0x11
- bls _0809A036
- ldr r0, [sp, 0x14]
- asrs r2, r0, 24
- cmp r2, 0
- beq _0809A13A
- cmp r2, 0
- ble _0809A0D8
- ldr r1, [sp, 0x8]
- adds r1, 0x14
- b _0809A0DC
- .align 2, 0
-_0809A0D4: .4byte 0x00000fff
-_0809A0D8:
- ldr r1, [sp, 0x8]
- subs r1, 0x4
-_0809A0DC:
- movs r0, 0x3F
- ands r1, r0
- adds r4, r1, 0
- adds r0, r4, 0
- cmp r0, 0x1F
- bgt _0809A0EE
- lsls r0, 1
- adds r0, 0x80
- b _0809A0F6
-_0809A0EE:
- lsls r0, 1
- movs r2, 0x84
- lsls r2, 4
- adds r0, r2
-_0809A0F6:
- mov r1, r9
- adds r2, r1, r0
- movs r3, 0
- movs r6, 0
-_0809A0FE:
- movs r1, 0
- adds r5, r3, 0x1
- lsls r3, r4, 16
-_0809A104:
- strh r6, [r2]
- adds r2, 0x40
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x11
- bls _0809A104
- asrs r0, r3, 16
- adds r4, r0, 0x1
- movs r0, 0x3F
- ands r4, r0
- adds r0, r4, 0
- cmp r0, 0x1F
- bgt _0809A126
- lsls r0, 1
- adds r0, 0x80
- b _0809A12E
-_0809A126:
- lsls r0, 1
- movs r2, 0x84
- lsls r2, 4
- adds r0, r2
-_0809A12E:
- mov r1, r9
- adds r2, r1, r0
- lsls r0, r5, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _0809A0FE
-_0809A13A:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8099F58
-
- thumb_func_start sub_809A14C
-sub_809A14C: @ 809A14C
- push {r4-r6,lr}
- adds r2, r0, 0
- ldr r0, _0809A174
- ldr r0, [r0]
- ldr r1, _0809A178
- adds r0, r1
- ldrh r0, [r0]
- lsrs r0, 3
- adds r3, r0, 0
- adds r3, 0x1E
- movs r0, 0x3F
- ands r3, r0
- adds r0, r3, 0
- cmp r0, 0x1F
- bgt _0809A17C
- lsls r0, 1
- movs r6, 0x98
- lsls r6, 3
- adds r0, r6
- b _0809A184
- .align 2, 0
-_0809A174: .4byte gUnknown_083B6DB4
-_0809A178: .4byte 0x000008b4
-_0809A17C:
- lsls r0, 1
- movs r1, 0xC8
- lsls r1, 4
- adds r0, r1
-_0809A184:
- adds r2, r0
- movs r0, 0
- movs r5, 0
- movs r4, 0x3F
-_0809A18C:
- strh r5, [r2]
- adds r2, 0x2
- adds r3, 0x1
- ands r3, r4
- adds r1, r3, 0
- cmp r1, 0
- bne _0809A19E
- ldr r6, _0809A1B8
- adds r2, r6
-_0809A19E:
- cmp r1, 0x20
- bne _0809A1A8
- movs r1, 0xF8
- lsls r1, 3
- adds r2, r1
-_0809A1A8:
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2B
- bls _0809A18C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A1B8: .4byte 0xfffff7c0
- thumb_func_end sub_809A14C
-
- thumb_func_start sub_809A1BC
-sub_809A1BC: @ 809A1BC
- push {r4-r6,lr}
- sub sp, 0x8
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _0809A228
- ldr r5, [r0]
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r4, _0809A22C
- str r1, [r4]
- str r5, [r4, 0x4]
- movs r6, 0x80
- lsls r6, 1
- ldr r0, _0809A230
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _0809A234
- adds r1, r5, 0
- str r3, [sp, 0x4]
- bl sub_8004E3C
- str r5, [r4]
- ldr r3, [sp, 0x4]
- str r3, [r4, 0x4]
- ldr r1, _0809A238
- str r1, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r0, r5, r6
- str r0, [r4]
- adds r0, r3, 0
- adds r0, 0x80
- str r0, [r4, 0x4]
- str r1, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r0, r5, 0
- adds r0, 0x80
- str r0, [r4]
- adds r6, r3, r6
- str r6, [r4, 0x4]
- str r1, [r4, 0x8]
- ldr r0, [r4, 0x8]
- movs r0, 0xC0
- lsls r0, 1
- adds r5, r0
- str r5, [r4]
- adds r3, r0
- str r3, [r4, 0x4]
- str r1, [r4, 0x8]
- ldr r0, [r4, 0x8]
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A228: .4byte gUnknown_083B6DB8
-_0809A22C: .4byte 0x040000d4
-_0809A230: .4byte 0x81000100
-_0809A234: .4byte gWindowConfig_81E6D38
-_0809A238: .4byte 0x80000040
- thumb_func_end sub_809A1BC
-
- thumb_func_start sub_809A23C
-sub_809A23C: @ 809A23C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- mov r8, r0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _0809A384
- ldr r5, [r0]
- ldr r1, _0809A388
- adds r7, r5, r1
- str r7, [sp, 0x18]
- mov r2, sp
- adds r2, 0x18
- str r2, [sp, 0x20]
- ldr r0, _0809A38C
- str r0, [r2, 0x4]
- mov r1, sp
- ldr r3, _0809A390
- adds r0, r5, r3
- str r0, [sp]
- ldr r4, _0809A394
- strh r4, [r1, 0x4]
- str r0, [sp, 0x8]
- ldr r6, _0809A398
- strh r6, [r1, 0xC]
- add r0, sp, 0x10
- movs r1, 0
- movs r2, 0x8
- bl memset
- ldr r0, _0809A39C
- mov r9, r0
- ldr r0, _0809A3A0
- add r0, r9
- add r0, r8
- ldrb r1, [r0]
- ldr r2, _0809A3A4
- lsls r1, 2
- adds r0, r1, r2
- ldrh r3, [r0]
- ldr r6, _0809A3A8
- adds r0, r5, r6
- strh r3, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrh r1, [r1]
- ldr r2, _0809A3AC
- adds r0, r5, r2
- strh r1, [r0]
- mov r0, sp
- bl LoadSpritePalettes
- ldr r3, _0809A3B0
- adds r6, r5, r3
- movs r0, 0xFC
- lsls r0, 2
- str r0, [r6]
- adds r0, r4, 0
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- movs r2, 0x87
- lsls r2, 1
- mov r10, r2
- add r1, r10
- ldr r3, _0809A3B4
- adds r2, r5, r3
- strh r1, [r2]
- movs r4, 0x80
- lsls r4, 9
- adds r1, r4, 0
- lsls r1, r0
- ldr r0, [r6]
- orrs r0, r1
- str r0, [r6]
- ldr r0, _0809A3B8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- add r1, r10
- ldr r2, _0809A3BC
- adds r5, r2
- strh r1, [r5]
- lsls r4, r0
- ldr r0, [r6]
- orrs r0, r4
- str r0, [r6]
- mov r3, r8
- lsls r4, r3, 3
- add r4, r8
- ldr r6, _0809A3C0
- add r9, r6
- add r4, r9
- adds r0, r7, 0
- adds r1, r4, 0
- bl sub_809A1BC
- ldr r0, [sp, 0x20]
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl sub_8072CA4
- lsls r0, 24
- lsrs r0, 24
- bl sub_809A6D0
- movs r4, 0
- lsls r0, 16
- asrs r6, r0, 16
-_0809A328:
- lsls r1, r4, 5
- adds r1, r6, r1
- lsls r1, 16
- asrs r1, 16
- ldr r0, _0809A3C4
- movs r2, 0x1C
- movs r3, 0x17
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _0809A384
- ldr r5, [r0]
- lsls r0, r4, 2
- movs r3, 0xCF
- lsls r3, 4
- adds r2, r5, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809A3C8
- adds r0, r1
- str r0, [r2]
- lsls r1, r4, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _0809A328
- ldr r6, _0809A3CC
- adds r1, r5, r6
- movs r0, 0
- strb r0, [r1]
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A384: .4byte gUnknown_083B6DB4
-_0809A388: .4byte 0x000008ca
-_0809A38C: .4byte 0x00030200
-_0809A390: .4byte 0x00000ccc
-_0809A394: .4byte 0x0000dac8
-_0809A398: .4byte 0xffffdac9
-_0809A39C: .4byte gPokemonStorage
-_0809A3A0: .4byte 0x000083c2
-_0809A3A4: .4byte gUnknown_083BB0A8
-_0809A3A8: .4byte 0x00000ce8
-_0809A3AC: .4byte 0x00000cea
-_0809A3B0: .4byte 0x00000d08
-_0809A3B4: .4byte 0x00000cec
-_0809A3B8: .4byte 0x0000dac9
-_0809A3BC: .4byte 0x00000cee
-_0809A3C0: .4byte 0x00008344
-_0809A3C4: .4byte gSpriteTemplate_83BB2B8
-_0809A3C8: .4byte gSprites
-_0809A3CC: .4byte 0x00000cca
- thumb_func_end sub_809A23C
-
- thumb_func_start sub_809A3D0
-sub_809A3D0: @ 809A3D0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- ldr r3, _0809A43C
- ldr r5, [r3]
- ldr r1, _0809A440
- adds r0, r5, r1
- str r0, [sp, 0x18]
- add r2, sp, 0x18
- ldr r4, _0809A444
- mov r9, r4
- movs r6, 0xC0
- lsls r6, 10
- mov r8, r6
- ldr r0, _0809A448
- str r0, [r2, 0x4]
- mov r1, sp
- ldr r0, _0809A44C
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- ldm r0!, {r4,r6,r7}
- stm r1!, {r4,r6,r7}
- movs r1, 0
- ldr r7, _0809A450
- adds r4, r5, r7
- ldrb r0, [r4]
- adds r6, r2, 0
- cmp r0, 0
- bne _0809A41E
- movs r1, 0x1
-_0809A41E:
- strb r1, [r4]
- cmp r1, 0
- bne _0809A458
- ldr r0, [r6, 0x4]
- mov r1, r9
- ands r0, r1
- mov r4, r8
- orrs r0, r4
- str r0, [r6, 0x4]
- ldr r7, _0809A454
- adds r0, r5, r7
- ldrh r0, [r0]
- mov r8, r0
- b _0809A478
- .align 2, 0
-_0809A43C: .4byte gUnknown_083B6DB4
-_0809A440: .4byte 0x000008ca
-_0809A444: .4byte 0x0000ffff
-_0809A448: .4byte 0x00030200
-_0809A44C: .4byte gSpriteTemplate_83BB2B8
-_0809A450: .4byte 0x00000cca
-_0809A454: .4byte 0x00000cec
-_0809A458:
- ldr r0, [r6, 0x4]
- mov r1, r9
- ands r0, r1
- movs r1, 0x80
- lsls r1, 11
- orrs r0, r1
- str r0, [r6, 0x4]
- ldr r4, _0809A570
- adds r0, r5, r4
- ldrh r0, [r0]
- mov r8, r0
- mov r1, sp
- movs r0, 0x4
- strh r0, [r1]
- ldr r0, _0809A574
- strh r0, [r1, 0x2]
-_0809A478:
- ldr r0, [r3]
- ldr r7, _0809A578
- adds r0, r7
- ldr r1, [sp, 0x28]
- lsls r5, r1, 3
- adds r5, r1
- ldr r4, _0809A57C
- adds r5, r4
- adds r1, r5, 0
- bl sub_809A1BC
- adds r0, r6, 0
- bl LoadSpriteSheet
- adds r4, 0x7E
- ldr r3, [sp, 0x28]
- adds r4, r3, r4
- ldrb r0, [r4]
- lsls r0, 2
- ldr r1, _0809A580
- adds r0, r1
- mov r1, r8
- movs r2, 0x4
- bl LoadPalette
- adds r0, r5, 0
- bl sub_8072CA4
- lsls r0, 24
- lsrs r0, 24
- bl sub_809A6D0
- lsls r0, 16
- mov r4, r10
- lsls r2, r4, 24
- asrs r2, 24
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 6
- lsrs r6, r0, 16
- str r6, [sp, 0x20]
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x24]
- movs r7, 0
- negs r2, r2
- mov r9, r2
- movs r0, 0x1
- mov r10, r0
-_0809A4DE:
- lsls r1, r7, 5
- mov r8, r1
- ldr r3, [sp, 0x24]
- lsls r1, r3, 16
- asrs r1, 16
- add r1, r8
- lsls r1, 16
- asrs r1, 16
- mov r0, sp
- movs r2, 0x1C
- movs r3, 0x17
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809A584
- ldr r4, [r1]
- lsls r6, r7, 2
- ldr r1, _0809A588
- adds r2, r4, r1
- adds r2, r6
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _0809A58C
- adds r1, r0
- str r1, [r2]
- mov r3, r9
- lsls r5, r3, 1
- add r5, r9
- lsls r5, 1
- strh r5, [r1, 0x2E]
- ldr r1, [r2]
- ldr r3, [sp, 0x20]
- lsls r0, r3, 16
- asrs r0, 16
- add r0, r8
- strh r0, [r1, 0x30]
- ldr r0, [r2]
- mov r1, r10
- strh r1, [r0, 0x32]
- ldr r0, [r2]
- ldr r1, _0809A590
- str r1, [r0, 0x1C]
- lsls r1, r7, 24
- lsrs r1, 24
- bl StartSpriteAnim
- movs r3, 0xCF
- lsls r3, 4
- adds r4, r3
- adds r4, r6
- ldr r0, [r4]
- strh r5, [r0, 0x2E]
- ldr r0, [r4]
- mov r6, r10
- strh r6, [r0, 0x30]
- ldr r1, [r4]
- ldr r0, _0809A594
- str r0, [r1, 0x1C]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x1
- bls _0809A4DE
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A570: .4byte 0x00000cec
-_0809A574: .4byte 0x0000dac9
-_0809A578: .4byte 0x000008ca
-_0809A57C: .4byte gUnknown_020383E4
-_0809A580: .4byte gUnknown_083BB0A8
-_0809A584: .4byte gUnknown_083B6DB4
-_0809A588: .4byte 0x00000cf8
-_0809A58C: .4byte gSprites
-_0809A590: .4byte sub_809A5E8
-_0809A594: .4byte sub_809A61C
- thumb_func_end sub_809A3D0
-
- thumb_func_start sub_809A598
-sub_809A598: @ 809A598
- push {lr}
- ldr r0, _0809A5B0
- ldr r0, [r0]
- ldr r1, _0809A5B4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809A5B8
- movs r0, 0x4
- bl FreeSpriteTilesByTag
- b _0809A5BE
- .align 2, 0
-_0809A5B0: .4byte gUnknown_083B6DB4
-_0809A5B4: .4byte 0x00000cca
-_0809A5B8:
- movs r0, 0x3
- bl FreeSpriteTilesByTag
-_0809A5BE:
- ldr r0, _0809A5E0
- ldr r0, [r0]
- movs r3, 0xCF
- lsls r3, 4
- adds r2, r0, r3
- adds r3, 0x8
- adds r1, r0, r3
- ldr r1, [r1]
- str r1, [r2]
- ldr r2, _0809A5E4
- adds r1, r0, r2
- adds r3, 0x4
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0809A5E0: .4byte gUnknown_083B6DB4
-_0809A5E4: .4byte 0x00000cf4
- thumb_func_end sub_809A598
-
- thumb_func_start sub_809A5E8
-sub_809A5E8: @ 809A5E8
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x32]
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _0809A5FC
- subs r0, r1, 0x1
- strh r0, [r2, 0x32]
- b _0809A614
-_0809A5FC:
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x30
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bne _0809A614
- ldr r0, _0809A618
- str r0, [r2, 0x1C]
-_0809A614:
- pop {r0}
- bx r0
- .align 2, 0
-_0809A618: .4byte SpriteCallbackDummy
- thumb_func_end sub_809A5E8
-
- thumb_func_start sub_809A61C
-sub_809A61C: @ 809A61C
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _0809A630
- subs r0, r1, 0x1
- strh r0, [r2, 0x30]
- b _0809A64E
-_0809A630:
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x32]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC0
- bls _0809A64E
- adds r0, r2, 0
- bl DestroySprite
-_0809A64E:
- pop {r0}
- bx r0
- thumb_func_end sub_809A61C
-
- thumb_func_start sub_809A654
-sub_809A654: @ 809A654
- push {lr}
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0809A690
- ldr r2, _0809A694
- adds r1, r2
- adds r0, r1
- ldrb r1, [r0]
- ldr r0, _0809A698
- ldr r2, [r0]
- ldr r3, _0809A69C
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809A6A8
- lsls r0, r1, 2
- ldr r1, _0809A6A0
- adds r0, r1
- adds r3, 0x22
- adds r1, r2, r3
- ldrh r1, [r1]
- lsls r1, 1
- ldr r2, _0809A6A4
- adds r1, r2
- movs r2, 0x2
- bl CpuSet
- b _0809A6C0
- .align 2, 0
-_0809A690: .4byte gPokemonStorage
-_0809A694: .4byte 0x000083c2
-_0809A698: .4byte gUnknown_083B6DB4
-_0809A69C: .4byte 0x00000cca
-_0809A6A0: .4byte gUnknown_083BB0A8
-_0809A6A4: .4byte gPlttBufferUnfaded
-_0809A6A8:
- lsls r0, r1, 2
- ldr r1, _0809A6C4
- adds r0, r1
- ldr r3, _0809A6C8
- adds r1, r2, r3
- ldrh r1, [r1]
- lsls r1, 1
- ldr r2, _0809A6CC
- adds r1, r2
- movs r2, 0x2
- bl CpuSet
-_0809A6C0:
- pop {r0}
- bx r0
- .align 2, 0
-_0809A6C4: .4byte gUnknown_083BB0A8
-_0809A6C8: .4byte 0x00000cee
-_0809A6CC: .4byte gPlttBufferUnfaded
- thumb_func_end sub_809A654
-
- thumb_func_start sub_809A6D0
-sub_809A6D0: @ 809A6D0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 25
- movs r0, 0xB0
- subs r0, r1
- bx lr
- thumb_func_end sub_809A6D0
-
- thumb_func_start sub_809A6DC
-sub_809A6DC: @ 809A6DC
- push {r4,r5,lr}
- ldr r0, _0809A760
- bl LoadSpriteSheet
- ldr r0, _0809A764
- bl LoadSpritePalette
- movs r5, 0
-_0809A6EC:
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 19
- movs r0, 0xB8
- lsls r0, 15
- adds r1, r0
- asrs r1, 16
- ldr r0, _0809A768
- movs r2, 0x1C
- movs r3, 0x15
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _0809A73E
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809A76C
- adds r4, r0, r1
- lsls r1, r5, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r0, 0x1
- cmp r5, 0
- bne _0809A72C
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_0809A72C:
- strh r0, [r4, 0x34]
- ldr r0, _0809A770
- ldr r0, [r0]
- lsls r1, r5, 2
- movs r2, 0xD0
- lsls r2, 4
- adds r0, r2
- adds r0, r1
- str r4, [r0]
-_0809A73E:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _0809A6EC
- bl sub_809BF2C
- lsls r0, 24
- cmp r0, 0
- beq _0809A758
- movs r0, 0x1
- bl sub_809A860
-_0809A758:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A760: .4byte gUnknown_083BB288
-_0809A764: .4byte gUnknown_083BB290
-_0809A768: .4byte gSpriteTemplate_83BB2F0
-_0809A76C: .4byte gSprites
-_0809A770: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809A6DC
-
- thumb_func_start sub_809A774
-sub_809A774: @ 809A774
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r2, 0
- ldr r7, _0809A7C4
- ldr r0, [r7]
- movs r1, 0xD0
- lsls r1, 4
- adds r3, r0, r1
- movs r5, 0
- movs r4, 0x2
-_0809A78A:
- lsls r1, r2, 2
- adds r1, r3, r1
- ldr r0, [r1]
- strh r5, [r0, 0x24]
- ldr r0, [r1]
- strh r4, [r0, 0x2E]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _0809A78A
- lsls r0, r6, 24
- cmp r0, 0
- bge _0809A7CC
- ldr r1, [r7]
- movs r2, 0xD0
- lsls r2, 4
- adds r3, r1, r2
- ldr r2, [r3]
- movs r0, 0x1D
- strh r0, [r2, 0x30]
- ldr r0, _0809A7C8
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x5
- strh r0, [r2, 0x30]
- ldr r0, [r3]
- movs r2, 0x48
- b _0809A7E8
- .align 2, 0
-_0809A7C4: .4byte gUnknown_083B6DB4
-_0809A7C8: .4byte 0x00000d04
-_0809A7CC:
- ldr r1, [r7]
- movs r2, 0xD0
- lsls r2, 4
- adds r3, r1, r2
- ldr r2, [r3]
- movs r0, 0x5
- strh r0, [r2, 0x30]
- ldr r0, _0809A80C
- adds r1, r0
- ldr r2, [r1]
- movs r0, 0x1D
- strh r0, [r2, 0x30]
- ldr r0, [r3]
- movs r2, 0xF8
-_0809A7E8:
- strh r2, [r0, 0x32]
- ldr r0, [r1]
- strh r2, [r0, 0x32]
- ldr r1, [r7]
- movs r2, 0xD0
- lsls r2, 4
- adds r0, r1, r2
- ldr r2, [r0]
- movs r0, 0
- strh r0, [r2, 0x3C]
- ldr r0, _0809A80C
- adds r1, r0
- ldr r1, [r1]
- movs r0, 0x1
- strh r0, [r1, 0x3C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A80C: .4byte 0x00000d04
- thumb_func_end sub_809A774
-
- thumb_func_start sub_809A810
-sub_809A810: @ 809A810
- push {r4-r6,lr}
- movs r3, 0
- ldr r0, _0809A85C
- ldr r0, [r0]
- movs r1, 0xD0
- lsls r1, 4
- adds r4, r0, r1
- movs r5, 0
- movs r6, 0x5
- negs r6, r6
-_0809A824:
- lsls r1, r3, 2
- adds r1, r4, r1
- ldr r2, [r1]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 3
- adds r0, 0x5C
- strh r0, [r2, 0x20]
- ldr r0, [r1]
- strh r5, [r0, 0x24]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x1
- bls _0809A824
- movs r0, 0x1
- bl sub_809A860
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A85C: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809A810
-
- thumb_func_start sub_809A860
-sub_809A860: @ 809A860
- push {r4,r5,lr}
- lsls r0, 24
- cmp r0, 0
- beq _0809A89C
- movs r2, 0
- ldr r0, _0809A898
- ldr r0, [r0]
- movs r1, 0xD0
- lsls r1, 4
- adds r4, r0, r1
- movs r3, 0
- movs r5, 0x1
-_0809A878:
- lsls r1, r2, 2
- adds r1, r4, r1
- ldr r0, [r1]
- strh r5, [r0, 0x2E]
- ldr r0, [r1]
- strh r3, [r0, 0x30]
- ldr r0, [r1]
- strh r3, [r0, 0x32]
- ldr r0, [r1]
- strh r3, [r0, 0x36]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _0809A878
- b _0809A8BC
- .align 2, 0
-_0809A898: .4byte gUnknown_083B6DB4
-_0809A89C:
- movs r2, 0
- ldr r0, _0809A8C4
- ldr r0, [r0]
- movs r3, 0xD0
- lsls r3, 4
- adds r1, r0, r3
- movs r3, 0
-_0809A8AA:
- lsls r0, r2, 2
- adds r0, r1, r0
- ldr r0, [r0]
- strh r3, [r0, 0x2E]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _0809A8AA
-_0809A8BC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809A8C4: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809A860
-
- thumb_func_start sub_809A8C8
-sub_809A8C8: @ 809A8C8
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x4
- bhi _0809A994
- lsls r0, 2
- ldr r1, _0809A8E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809A8E0: .4byte _0809A8E4
- .align 2, 0
-_0809A8E4:
- .4byte _0809A8F8
- .4byte _0809A8FE
- .4byte _0809A92C
- .4byte _0809A932
- .4byte _0809A984
-_0809A8F8:
- movs r0, 0
- strh r0, [r2, 0x24]
- b _0809A994
-_0809A8FE:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _0809A994
- strh r1, [r2, 0x30]
- ldrh r0, [r2, 0x34]
- ldrh r3, [r2, 0x24]
- adds r0, r3
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _0809A994
- strh r1, [r2, 0x32]
- strh r1, [r2, 0x24]
- b _0809A994
-_0809A92C:
- movs r0, 0x3
- strh r0, [r2, 0x2E]
- b _0809A994
-_0809A932:
- ldr r0, _0809A97C
- ldr r1, [r0]
- ldr r0, _0809A980
- adds r1, r0
- ldrh r0, [r2, 0x20]
- ldrh r1, [r1]
- subs r0, r1
- strh r0, [r2, 0x20]
- subs r0, 0x49
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAE
- bls _0809A958
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
-_0809A958:
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _0809A994
- ldrh r0, [r2, 0x32]
- strh r0, [r2, 0x20]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- movs r0, 0x4
- strh r0, [r2, 0x2E]
- b _0809A994
- .align 2, 0
-_0809A97C: .4byte gUnknown_083B6DB4
-_0809A980: .4byte 0x000008b6
-_0809A984:
- ldr r0, _0809A998
- ldr r0, [r0]
- ldr r1, _0809A99C
- adds r0, r1
- ldrh r1, [r2, 0x20]
- ldrh r0, [r0]
- subs r1, r0
- strh r1, [r2, 0x20]
-_0809A994:
- pop {r0}
- bx r0
- .align 2, 0
-_0809A998: .4byte gUnknown_083B6DB4
-_0809A99C: .4byte 0x000008b6
- thumb_func_end sub_809A8C8
-
- thumb_func_start sub_809A9A0
-sub_809A9A0: @ 809A9A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, [sp, 0x18]
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _0809AA0C
- lsls r5, 16
- asrs r5, 16
- lsls r6, 16
- asrs r6, 16
- adds r1, r5, 0
- adds r2, r6, 0
- adds r3, r4, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _0809AA18
- movs r1, 0x1
- ands r1, r7
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r5, _0809AA10
- adds r6, r4, r5
- adds r0, r6, 0
- bl StartSpriteAnim
- movs r0, 0x3
- mov r1, r8
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r6, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x5]
- adds r5, 0x1C
- adds r4, r5
- ldr r0, _0809AA14
- str r0, [r4]
- adds r0, r6, 0
- b _0809AA1A
- .align 2, 0
-_0809AA0C: .4byte gSpriteTemplate_83BB2F0
-_0809AA10: .4byte gSprites
-_0809AA14: .4byte SpriteCallbackDummy
-_0809AA18:
- movs r0, 0
-_0809AA1A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809A9A0
-
- thumb_func_start sub_809AA24
-sub_809AA24: @ 809AA24
- push {lr}
- ldr r0, _0809AA38
- ldr r0, [r0]
- ldrb r1, [r0, 0x5]
- cmp r1, 0x1
- beq _0809AA40
- ldr r1, _0809AA3C
- movs r0, 0
- strb r0, [r1]
- b _0809AA44
- .align 2, 0
-_0809AA38: .4byte gUnknown_083B6DB4
-_0809AA3C: .4byte gUnknown_020384E4
-_0809AA40:
- ldr r0, _0809AA78
- strb r1, [r0]
-_0809AA44:
- ldr r0, _0809AA7C
- movs r1, 0
- strb r1, [r0]
- ldr r0, _0809AA80
- strb r1, [r0]
- ldr r0, _0809AA84
- strb r1, [r0]
- ldr r0, _0809AA88
- strb r1, [r0]
- ldr r0, _0809AA8C
- strb r1, [r0]
- bl sub_809B0D4
- bl sub_809CC04
- ldr r0, _0809AA90
- ldr r0, [r0]
- ldr r1, _0809AA94
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- bl sub_809BF74
- pop {r0}
- bx r0
- .align 2, 0
-_0809AA78: .4byte gUnknown_020384E4
-_0809AA7C: .4byte gUnknown_020384E5
-_0809AA80: .4byte gUnknown_020384E6
-_0809AA84: .4byte gUnknown_020384E7
-_0809AA88: .4byte gUnknown_020384E8
-_0809AA8C: .4byte gUnknown_020384E9
-_0809AA90: .4byte gUnknown_083B6DB4
-_0809AA94: .4byte 0x000011e2
- thumb_func_end sub_809AA24
-
- thumb_func_start sub_809AA98
-sub_809AA98: @ 809AA98
- push {lr}
- bl sub_809CC04
- bl sub_809C028
- ldr r0, _0809AAC0
- ldr r0, [r0]
- ldr r1, _0809AAC4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _0809AAC8
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809AABA
- bl sub_8098BF0
-_0809AABA:
- pop {r0}
- bx r0
- .align 2, 0
-_0809AAC0: .4byte gUnknown_083B6DB4
-_0809AAC4: .4byte 0x000011e2
-_0809AAC8: .4byte gUnknown_020384E6
- thumb_func_end sub_809AA98
-
- thumb_func_start sub_809AACC
-sub_809AACC: @ 809AACC
- push {r4-r6,lr}
- adds r4, r2, 0
- adds r6, r3, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r0, 0x4
- bhi _0809AB84
- lsls r0, 2
- ldr r1, _0809AAE8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809AAE8: .4byte _0809AAEC
- .align 2, 0
-_0809AAEC:
- .4byte _0809AB00
- .4byte _0809AB2E
- .4byte _0809AB56
- .4byte _0809AB5E
- .4byte _0809AB7C
-_0809AB00:
- adds r0, r5, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x64
- strh r1, [r4]
- adds r0, r5, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- adds r1, 0x20
- strh r1, [r6]
- b _0809AB84
-_0809AB2E:
- cmp r5, 0
- bne _0809AB3A
- movs r0, 0x68
- strh r0, [r4]
- movs r0, 0x34
- b _0809AB82
-_0809AB3A:
- cmp r5, 0x6
- bne _0809AB46
- movs r0, 0x98
- strh r0, [r4]
- movs r0, 0x84
- b _0809AB82
-_0809AB46:
- movs r0, 0x98
- strh r0, [r4]
- subs r1, r5, 0x1
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r0, 0x4
- b _0809AB82
-_0809AB56:
- movs r0, 0xA2
- strh r0, [r4]
- movs r0, 0xC
- b _0809AB82
-_0809AB5E:
- ldr r0, _0809AB78
- ldrb r0, [r0]
- movs r1, 0xE
- cmp r0, 0
- beq _0809AB6A
- movs r1, 0x8
-_0809AB6A:
- strh r1, [r6]
- movs r0, 0x58
- muls r0, r5
- adds r0, 0x78
- strh r0, [r4]
- b _0809AB84
- .align 2, 0
-_0809AB78: .4byte gUnknown_020384E6
-_0809AB7C:
- movs r0, 0xA0
- strh r0, [r4]
- movs r0, 0x60
-_0809AB82:
- strh r0, [r6]
-_0809AB84:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_809AACC
-
- thumb_func_start sub_809AB8C
-sub_809AB8C: @ 809AB8C
- push {lr}
- ldr r0, _0809ABB4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _0809ABC0
- cmp r0, 0x1
- bne _0809ABF8
- ldr r0, _0809ABB8
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0809ABBC
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- b _0809ABEA
- .align 2, 0
-_0809ABB4: .4byte gUnknown_020384E4
-_0809ABB8: .4byte gUnknown_020384E5
-_0809ABBC: .4byte gPlayerParty
-_0809ABC0:
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r1, _0809ABF0
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _0809ABF4
- adds r1, r2
- adds r0, r1
- movs r1, 0xB
- bl GetBoxMonData
-_0809ABEA:
- lsls r0, 16
- lsrs r0, 16
- b _0809ABFA
- .align 2, 0
-_0809ABF0: .4byte gUnknown_020384E5
-_0809ABF4: .4byte gUnknown_020300A4
-_0809ABF8:
- movs r0, 0
-_0809ABFA:
- pop {r1}
- bx r1
- thumb_func_end sub_809AB8C
-
- thumb_func_start sub_809AC00
-sub_809AC00: @ 809AC00
- push {r4-r6,lr}
- ldr r0, _0809AC14
- ldr r4, [r0]
- ldr r0, _0809AC18
- adds r1, r4, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _0809AC1C
- movs r0, 0
- b _0809AD2C
- .align 2, 0
-_0809AC14: .4byte gUnknown_083B6DB4
-_0809AC18: .4byte 0x000011dc
-_0809AC1C:
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _0809AD0C
- ldr r1, _0809ACF4
- adds r3, r4, r1
- ldr r2, _0809ACF8
- adds r1, r4, r2
- ldr r0, [r3]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r3]
- ldr r6, _0809ACFC
- adds r2, r4, r6
- ldr r0, _0809AD00
- adds r1, r4, r0
- ldr r0, [r2]
- ldr r1, [r1]
- adds r0, r1
- str r0, [r2]
- movs r1, 0x8E
- lsls r1, 5
- adds r5, r4, r1
- ldr r1, [r5]
- ldr r0, [r3]
- asrs r0, 8
- strh r0, [r1, 0x20]
- ldr r1, [r5]
- ldr r0, [r2]
- asrs r0, 8
- strh r0, [r1, 0x22]
- ldr r1, [r5]
- ldrh r2, [r1, 0x20]
- movs r3, 0x20
- ldrsh r0, [r1, r3]
- movs r3, 0x80
- lsls r3, 1
- cmp r0, r3
- ble _0809AC78
- ldr r6, _0809AD04
- adds r0, r2, r6
- lsls r0, 16
- asrs r0, 16
- adds r0, 0x40
- strh r0, [r1, 0x20]
-_0809AC78:
- ldr r1, [r5]
- ldrh r2, [r1, 0x20]
- movs r6, 0x20
- ldrsh r0, [r1, r6]
- cmp r0, 0x3F
- bgt _0809AC90
- movs r0, 0x40
- subs r0, r2
- lsls r0, 16
- asrs r0, 16
- subs r0, r3, r0
- strh r0, [r1, 0x20]
-_0809AC90:
- ldr r1, [r5]
- ldrh r2, [r1, 0x22]
- movs r3, 0x22
- ldrsh r0, [r1, r3]
- cmp r0, 0xB0
- ble _0809ACA8
- adds r0, r2, 0
- subs r0, 0xB0
- lsls r0, 16
- asrs r0, 16
- subs r0, 0x10
- strh r0, [r1, 0x22]
-_0809ACA8:
- ldr r2, [r5]
- ldrh r3, [r2, 0x22]
- movs r6, 0x22
- ldrsh r0, [r2, r6]
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _0809ACC4
- subs r0, r1, r3
- movs r1, 0xB0
- lsls r0, 16
- asrs r0, 16
- subs r1, r0
- strh r1, [r2, 0x22]
-_0809ACC4:
- ldr r0, _0809AD08
- adds r1, r4, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0809AD2A
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bne _0809AD2A
- ldr r2, [r5]
- adds r2, 0x3F
- ldrb r3, [r2]
- lsrs r1, r3, 1
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 1
- movs r0, 0x3
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- b _0809AD2A
- .align 2, 0
-_0809ACF4: .4byte 0x000011c8
-_0809ACF8: .4byte 0x000011d0
-_0809ACFC: .4byte 0x000011cc
-_0809AD00: .4byte 0x000011d4
-_0809AD04: .4byte 0xffffff00
-_0809AD08: .4byte 0x000011e3
-_0809AD0C:
- movs r1, 0x8E
- lsls r1, 5
- adds r2, r4, r1
- ldr r1, [r2]
- ldr r3, _0809AD34
- adds r0, r4, r3
- ldrh r0, [r0]
- strh r0, [r1, 0x20]
- ldr r1, [r2]
- ldr r6, _0809AD38
- adds r0, r4, r6
- ldrh r0, [r0]
- strh r0, [r1, 0x22]
- bl sub_809AFB8
-_0809AD2A:
- movs r0, 0x1
-_0809AD2C:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809AD34: .4byte 0x000011d8
-_0809AD38: .4byte 0x000011da
- thumb_func_end sub_809AC00
-
- thumb_func_start sub_809AD3C
-sub_809AD3C: @ 809AD3C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r6, sp
- adds r6, 0x2
- adds r0, r4, 0
- adds r1, r5, 0
- mov r2, sp
- adds r3, r6, 0
- bl sub_809AACC
- ldr r0, _0809AD88
- ldr r1, [r0]
- movs r2, 0x8F
- lsls r2, 5
- adds r0, r1, r2
- strb r4, [r0]
- ldr r3, _0809AD8C
- adds r0, r1, r3
- strb r5, [r0]
- mov r0, sp
- ldrh r2, [r0]
- subs r3, 0x9
- adds r0, r1, r3
- strh r2, [r0]
- ldrh r0, [r6]
- ldr r2, _0809AD90
- adds r1, r2
- strh r0, [r1]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809AD88: .4byte gUnknown_083B6DB4
-_0809AD8C: .4byte 0x000011e1
-_0809AD90: .4byte 0x000011da
- thumb_func_end sub_809AD3C
-
- thumb_func_start sub_809AD94
-sub_809AD94: @ 809AD94
- push {r4-r7,lr}
- ldr r0, _0809ADB0
- ldr r2, [r0]
- ldr r3, _0809ADB4
- adds r1, r2, r3
- ldrh r1, [r1]
- adds r4, r0, 0
- cmp r1, 0
- beq _0809ADBC
- ldr r0, _0809ADB8
- adds r1, r2, r0
- movs r0, 0xC
- b _0809ADC2
- .align 2, 0
-_0809ADB0: .4byte gUnknown_083B6DB4
-_0809ADB4: .4byte 0x000011de
-_0809ADB8: .4byte 0x000011dc
-_0809ADBC:
- ldr r3, _0809AE04
- adds r1, r2, r3
- movs r0, 0x6
-_0809ADC2:
- strh r0, [r1]
- ldr r2, [r4]
- ldr r0, _0809AE08
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _0809ADDA
- ldr r3, _0809AE04
- adds r0, r2, r3
- ldrh r0, [r0]
- lsrs r0, 1
- strb r0, [r1]
-_0809ADDA:
- ldr r1, _0809AE0C
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809AE14
- cmp r1, 0x1
- beq _0809AE30
- ldr r3, _0809AE10
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x8E
- lsls r3, 5
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- b _0809AE46
- .align 2, 0
-_0809AE04: .4byte 0x000011dc
-_0809AE08: .4byte 0x000011e3
-_0809AE0C: .4byte 0x000011de
-_0809AE10: .4byte 0x000011da
-_0809AE14:
- ldr r3, _0809AE2C
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x8E
- lsls r3, 5
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- adds r0, 0xC0
- b _0809AE46
- .align 2, 0
-_0809AE2C: .4byte 0x000011da
-_0809AE30:
- ldr r3, _0809AE74
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x8E
- lsls r3, 5
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- subs r0, 0xC0
-_0809AE46:
- subs r7, r1, r0
- ldr r2, [r4]
- ldr r3, _0809AE78
- adds r0, r2, r3
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _0809AE80
- cmp r1, 0x1
- beq _0809AE9C
- ldr r1, _0809AE7C
- adds r0, r2, r1
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x8E
- lsls r3, 5
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- b _0809AEB2
- .align 2, 0
-_0809AE74: .4byte 0x000011da
-_0809AE78: .4byte 0x000011df
-_0809AE7C: .4byte 0x000011d8
-_0809AE80:
- ldr r3, _0809AE98
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x8E
- lsls r3, 5
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r0, 0xC0
- b _0809AEB2
- .align 2, 0
-_0809AE98: .4byte 0x000011d8
-_0809AE9C:
- ldr r3, _0809AF00
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x8E
- lsls r3, 5
- adds r0, r2, r3
- ldr r0, [r0]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- subs r0, 0xC0
-_0809AEB2:
- subs r0, r1, r0
- lsls r7, 8
- lsls r0, 8
- ldr r4, [r4]
- ldr r3, _0809AF04
- adds r6, r4, r3
- ldr r1, _0809AF08
- adds r5, r4, r1
- ldrh r1, [r5]
- bl __divsi3
- str r0, [r6]
- ldr r2, _0809AF0C
- adds r6, r4, r2
- ldrh r1, [r5]
- adds r0, r7, 0
- bl __divsi3
- str r0, [r6]
- ldr r3, _0809AF10
- adds r2, r4, r3
- movs r0, 0x8E
- lsls r0, 5
- adds r1, r4, r0
- ldr r0, [r1]
- movs r3, 0x20
- ldrsh r0, [r0, r3]
- lsls r0, 8
- str r0, [r2]
- ldr r0, _0809AF14
- adds r4, r0
- ldr r0, [r1]
- movs r1, 0x22
- ldrsh r0, [r0, r1]
- lsls r0, 8
- str r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809AF00: .4byte 0x000011d8
-_0809AF04: .4byte 0x000011d0
-_0809AF08: .4byte 0x000011dc
-_0809AF0C: .4byte 0x000011d4
-_0809AF10: .4byte 0x000011c8
-_0809AF14: .4byte 0x000011cc
- thumb_func_end sub_809AD94
-
- thumb_func_start sub_809AF18
-sub_809AF18: @ 809AF18
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_809AD3C
- bl sub_809AD94
- ldr r0, _0809AFA4
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809AF46
- ldr r0, _0809AFA8
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
-_0809AF46:
- cmp r4, 0x1
- bne _0809AF70
- ldr r0, _0809AFAC
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _0809AF70
- ldr r0, _0809AFA8
- ldr r0, [r0]
- ldr r2, _0809AFB0
- adds r1, r0, r2
- strb r4, [r1]
- ldr r1, _0809AFB4
- adds r0, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
-_0809AF70:
- cmp r4, 0
- beq _0809AF9E
- cmp r4, 0
- blt _0809AF9E
- cmp r4, 0x3
- bgt _0809AF9E
- ldr r0, _0809AFA8
- ldr r2, [r0]
- ldr r0, _0809AFB4
- adds r2, r0
- ldr r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1]
- ldr r2, [r2]
- ldrb r1, [r2, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x5]
-_0809AF9E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809AFA4: .4byte gUnknown_020384E6
-_0809AFA8: .4byte gUnknown_083B6DB4
-_0809AFAC: .4byte gUnknown_020384E4
-_0809AFB0: .4byte 0x000011e2
-_0809AFB4: .4byte 0x000011c4
- thumb_func_end sub_809AF18
-
- thumb_func_start sub_809AFB8
-sub_809AFB8: @ 809AFB8
- push {r4,r5,lr}
- ldr r5, _0809B000
- ldr r0, _0809B004
- ldr r4, [r0]
- movs r1, 0x8F
- lsls r1, 5
- adds r0, r4, r1
- ldrb r0, [r0]
- strb r0, [r5]
- ldr r1, _0809B008
- ldr r2, _0809B00C
- adds r0, r4, r2
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, _0809B010
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809AFEA
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
-_0809AFEA:
- bl sub_809BF74
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0x1
- beq _0809B020
- cmp r0, 0x1
- bgt _0809B014
- cmp r0, 0
- beq _0809B034
- b _0809B05E
- .align 2, 0
-_0809B000: .4byte gUnknown_020384E4
-_0809B004: .4byte gUnknown_083B6DB4
-_0809B008: .4byte gUnknown_020384E5
-_0809B00C: .4byte 0x000011e1
-_0809B010: .4byte gUnknown_020384E6
-_0809B014:
- cmp r0, 0x2
- bne _0809B05E
- movs r0, 0x1
- bl sub_809A860
- b _0809B05E
-_0809B020:
- ldr r2, _0809B030
- adds r0, r4, r2
- ldr r0, [r0]
- adds r0, 0x43
- movs r1, 0xC
- strb r1, [r0]
- b _0809B05E
- .align 2, 0
-_0809B030: .4byte 0x000011c4
-_0809B034:
- ldr r0, _0809B064
- adds r2, r4, r0
- ldr r3, [r2]
- ldrb r1, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r3, 0x5]
- ldr r0, [r2]
- adds r0, 0x43
- movs r1, 0x14
- strb r1, [r0]
- ldr r1, [r2]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_0809B05E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B064: .4byte 0x000011c4
- thumb_func_end sub_809AFB8
-
- thumb_func_start sub_809B068
-sub_809B068: @ 809B068
- push {lr}
- ldr r0, _0809B078
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809B07C
- movs r3, 0
- b _0809B08A
- .align 2, 0
-_0809B078: .4byte gUnknown_020384E6
-_0809B07C:
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x5
- bls _0809B08A
- movs r3, 0x5
-_0809B08A:
- ldr r0, _0809B0B8
- ldr r2, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r2, r1
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809B0AA
- ldr r0, _0809B0BC
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
-_0809B0AA:
- movs r0, 0x1
- adds r1, r3, 0
- bl sub_809AF18
- pop {r0}
- bx r0
- .align 2, 0
-_0809B0B8: .4byte gUnknown_083B6DB4
-_0809B0BC: .4byte 0x000011e3
- thumb_func_end sub_809B068
-
- thumb_func_start sub_809B0C0
-sub_809B0C0: @ 809B0C0
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_809AF18
- pop {r0}
- bx r0
- thumb_func_end sub_809B0C0
-
- thumb_func_start sub_809B0D4
-sub_809B0D4: @ 809B0D4
- ldr r1, _0809B0DC
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_0809B0DC: .4byte gUnknown_020384EA
- thumb_func_end sub_809B0D4
-
- thumb_func_start sub_809B0E0
-sub_809B0E0: @ 809B0E0
- ldr r0, _0809B0EC
- ldr r1, _0809B0F0
- ldrb r1, [r1]
- strb r1, [r0]
- bx lr
- .align 2, 0
-_0809B0EC: .4byte gUnknown_020384EA
-_0809B0F0: .4byte gUnknown_020384E5
- thumb_func_end sub_809B0E0
-
- thumb_func_start sub_809B0F4
-sub_809B0F4: @ 809B0F4
- ldr r0, _0809B0FC
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0809B0FC: .4byte gUnknown_020384EA
- thumb_func_end sub_809B0F4
-
- thumb_func_start sub_809B100
-sub_809B100: @ 809B100
- lsls r0, 24
- ldr r1, _0809B120
- ldr r1, [r1]
- ldr r2, _0809B124
- adds r3, r1, r2
- ldr r2, _0809B128
- lsrs r0, 22
- adds r0, r2
- ldr r0, [r0]
- str r0, [r3]
- ldr r0, _0809B12C
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_0809B120: .4byte gUnknown_083B6DB4
-_0809B124: .4byte 0x000012a4
-_0809B128: .4byte gUnknown_083BBBC8
-_0809B12C: .4byte 0x000012a8
- thumb_func_end sub_809B100
-
- thumb_func_start sub_809B130
-sub_809B130: @ 809B130
- push {lr}
- ldr r0, _0809B148
- ldr r0, [r0]
- ldr r1, _0809B14C
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_0809B148: .4byte gUnknown_083B6DB4
-_0809B14C: .4byte 0x000012a4
- thumb_func_end sub_809B130
-
- thumb_func_start sub_809B150
-sub_809B150: @ 809B150
- push {r4,r5,lr}
- ldr r0, _0809B16C
- ldr r5, [r0]
- ldr r0, _0809B170
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _0809B1A0
- cmp r0, 0x1
- bgt _0809B174
- cmp r0, 0
- beq _0809B17E
- b _0809B1CE
- .align 2, 0
-_0809B16C: .4byte gUnknown_083B6DB4
-_0809B170: .4byte 0x000012a8
-_0809B174:
- cmp r0, 0x2
- beq _0809B1BE
- cmp r0, 0x3
- beq _0809B186
- b _0809B1CE
-_0809B17E:
- ldr r0, _0809B18C
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809B190
-_0809B186:
- movs r0, 0
- b _0809B1D0
- .align 2, 0
-_0809B18C: .4byte gUnknown_020384E6
-_0809B190:
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- b _0809B1C8
-_0809B1A0:
- bl sub_809B324
- lsls r0, 24
- cmp r0, 0
- bne _0809B1CE
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- bl sub_809B384
- b _0809B1C8
-_0809B1BE:
- bl sub_809B358
- lsls r0, 24
- cmp r0, 0
- bne _0809B1CE
-_0809B1C8:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_0809B1CE:
- movs r0, 0x1
-_0809B1D0:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809B150
-
- thumb_func_start sub_809B1D8
-sub_809B1D8: @ 809B1D8
- push {r4,r5,lr}
- ldr r0, _0809B1F4
- ldr r4, [r0]
- ldr r0, _0809B1F8
- adds r5, r4, r0
- ldrb r0, [r5]
- cmp r0, 0x1
- beq _0809B220
- cmp r0, 0x1
- bgt _0809B1FC
- cmp r0, 0
- beq _0809B202
- b _0809B244
- .align 2, 0
-_0809B1F4: .4byte gUnknown_083B6DB4
-_0809B1F8: .4byte 0x000012a8
-_0809B1FC:
- cmp r0, 0x2
- beq _0809B240
- b _0809B244
-_0809B202:
- bl sub_809B324
- lsls r0, 24
- cmp r0, 0
- bne _0809B244
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- bl sub_809B3E0
- b _0809B238
-_0809B220:
- bl sub_809B358
- lsls r0, 24
- cmp r0, 0
- bne _0809B244
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
-_0809B238:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0809B244
-_0809B240:
- movs r0, 0
- b _0809B246
-_0809B244:
- movs r0, 0x1
-_0809B246:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809B1D8
-
- thumb_func_start sub_809B24C
-sub_809B24C: @ 809B24C
- push {r4,r5,lr}
- ldr r0, _0809B268
- ldr r4, [r0]
- ldr r0, _0809B26C
- adds r5, r4, r0
- ldrb r0, [r5]
- cmp r0, 0x1
- beq _0809B2E0
- cmp r0, 0x1
- bgt _0809B270
- cmp r0, 0
- beq _0809B276
- b _0809B31C
- .align 2, 0
-_0809B268: .4byte gUnknown_083B6DB4
-_0809B26C: .4byte 0x000012a8
-_0809B270:
- cmp r0, 0x2
- beq _0809B318
- b _0809B31C
-_0809B276:
- ldr r0, _0809B290
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _0809B298
- cmp r0, 0x1
- bne _0809B318
- ldr r2, _0809B294
- adds r1, r4, r2
- movs r0, 0xE
- b _0809B2A0
- .align 2, 0
-_0809B290: .4byte gUnknown_020384E4
-_0809B294: .4byte 0x000012a9
-_0809B298:
- bl get_preferred_box
- ldr r2, _0809B2D0
- adds r1, r4, r2
-_0809B2A0:
- strb r0, [r1]
- ldr r0, _0809B2D4
- ldr r4, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x2
- bl StartSpriteAnim
- ldr r2, _0809B2D0
- adds r0, r4, r2
- ldrb r0, [r0]
- ldr r1, _0809B2D8
- ldrb r1, [r1]
- bl sub_80996B0
- ldr r0, _0809B2DC
- adds r4, r0
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0809B31C
- .align 2, 0
-_0809B2D0: .4byte 0x000012a9
-_0809B2D4: .4byte gUnknown_083B6DB4
-_0809B2D8: .4byte gUnknown_020384E5
-_0809B2DC: .4byte 0x000012a8
-_0809B2E0:
- bl sub_809971C
- lsls r0, 24
- cmp r0, 0
- bne _0809B31C
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
- ldr r2, _0809B310
- adds r0, r4, r2
- ldrb r0, [r0]
- ldr r1, _0809B314
- ldrb r1, [r1]
- bl diegohint1
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _0809B31C
- .align 2, 0
-_0809B310: .4byte 0x000012a9
-_0809B314: .4byte gUnknown_020384E5
-_0809B318:
- movs r0, 0
- b _0809B31E
-_0809B31C:
- movs r0, 0x1
-_0809B31E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809B24C
-
- thumb_func_start sub_809B324
-sub_809B324: @ 809B324
- push {lr}
- ldr r0, _0809B348
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0809B33E
- cmp r0, 0x8
- beq _0809B34C
-_0809B33E:
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- b _0809B350
- .align 2, 0
-_0809B348: .4byte gUnknown_083B6DB4
-_0809B34C:
- movs r0, 0
- b _0809B352
-_0809B350:
- movs r0, 0x1
-_0809B352:
- pop {r1}
- bx r1
- thumb_func_end sub_809B324
-
- thumb_func_start sub_809B358
-sub_809B358: @ 809B358
- push {lr}
- ldr r0, _0809B378
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r1, [r0]
- movs r2, 0x26
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _0809B37C
- ldrh r0, [r1, 0x26]
- subs r0, 0x1
- strh r0, [r1, 0x26]
- movs r0, 0x1
- b _0809B37E
- .align 2, 0
-_0809B378: .4byte gUnknown_083B6DB4
-_0809B37C:
- movs r0, 0
-_0809B37E:
- pop {r1}
- bx r1
- thumb_func_end sub_809B358
-
- thumb_func_start sub_809B384
-sub_809B384: @ 809B384
- push {r4,lr}
- ldr r0, _0809B3AC
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _0809B3B4
- cmp r0, 0x1
- bne _0809B3D2
- ldr r4, _0809B3B0
- ldrb r1, [r4]
- movs r0, 0xE
- bl sub_809B44C
- ldrb r1, [r4]
- movs r0, 0
- bl sub_8099584
- b _0809B3CC
- .align 2, 0
-_0809B3AC: .4byte gUnknown_020384E4
-_0809B3B0: .4byte gUnknown_020384E5
-_0809B3B4:
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _0809B3D8
- ldrb r1, [r4]
- bl sub_809B44C
- ldrb r1, [r4]
- movs r0, 0x1
- bl sub_8099584
-_0809B3CC:
- ldr r1, _0809B3DC
- movs r0, 0x1
- strb r0, [r1]
-_0809B3D2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B3D8: .4byte gUnknown_020384E5
-_0809B3DC: .4byte gUnknown_020384E6
- thumb_func_end sub_809B384
-
- thumb_func_start sub_809B3E0
-sub_809B3E0: @ 809B3E0
- push {r4,r5,lr}
- ldr r0, _0809B408
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _0809B410
- cmp r0, 0x1
- bne _0809B432
- ldr r4, _0809B40C
- ldrb r1, [r4]
- movs r0, 0xE
- bl diegohint2
- ldrb r1, [r4]
- movs r0, 0xE
- bl sub_809960C
- b _0809B42C
- .align 2, 0
-_0809B408: .4byte gUnknown_020384E4
-_0809B40C: .4byte gUnknown_020384E5
-_0809B410:
- bl get_preferred_box
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _0809B438
- ldrb r1, [r5]
- adds r0, r4, 0
- bl diegohint2
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_809960C
-_0809B42C:
- ldr r1, _0809B43C
- movs r0, 0
- strb r0, [r1]
-_0809B432:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B438: .4byte gUnknown_020384E5
-_0809B43C: .4byte gUnknown_020384E6
- thumb_func_end sub_809B3E0
-
- thumb_func_start sub_809B440
-sub_809B440: @ 809B440
- push {lr}
- bl sub_809BF74
- pop {r0}
- bx r0
- thumb_func_end sub_809B440
-
- thumb_func_start sub_809B44C
-sub_809B44C: @ 809B44C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r4, 0xE
- bne _0809B488
- ldr r0, _0809B478
- ldr r0, [r0]
- ldr r1, _0809B47C
- adds r0, r1
- ldr r3, _0809B480
- ldr r1, _0809B484
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x64
- muls r1, r2
- adds r1, r3
- movs r2, 0x64
- bl memcpy
- b _0809B4AA
- .align 2, 0
-_0809B478: .4byte gUnknown_083B6DB4
-_0809B47C: .4byte 0x000025b4
-_0809B480: .4byte gPlayerParty
-_0809B484: .4byte gUnknown_020384E5
-_0809B488:
- lsls r1, r4, 2
- adds r1, r4
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 4
- ldr r2, _0809B4C0
- adds r1, r2
- adds r0, r1
- ldr r1, _0809B4C4
- ldr r1, [r1]
- ldr r2, _0809B4C8
- adds r1, r2
- bl sub_803B4B4
-_0809B4AA:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809B548
- ldr r0, _0809B4CC
- strb r4, [r0]
- ldr r0, _0809B4D0
- strb r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B4C0: .4byte gUnknown_020300A4
-_0809B4C4: .4byte gUnknown_083B6DB4
-_0809B4C8: .4byte 0x000025b4
-_0809B4CC: .4byte gUnknown_020384E7
-_0809B4D0: .4byte gUnknown_020384E8
- thumb_func_end sub_809B44C
-
- thumb_func_start diegohint2
-diegohint2: @ 809B4D4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- cmp r6, 0xE
- bne _0809B508
- ldr r1, _0809B4FC
- movs r0, 0x64
- muls r0, r5
- adds r0, r1
- ldr r1, _0809B500
- ldr r1, [r1]
- ldr r2, _0809B504
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- b _0809B536
- .align 2, 0
-_0809B4FC: .4byte gPlayerParty
-_0809B500: .4byte gUnknown_083B6DB4
-_0809B504: .4byte 0x000025b4
-_0809B508:
- ldr r0, _0809B53C
- ldr r4, [r0]
- ldr r0, _0809B540
- adds r4, r0
- adds r0, r4, 0
- bl pokemon_restore_pp
- ldr r3, _0809B544
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 4
- lsls r2, r6, 2
- adds r2, r6
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 5
- adds r0, r1
- adds r0, r3
- adds r0, 0x4
- adds r1, r4, 0
- movs r2, 0x50
- bl memcpy
-_0809B536:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B53C: .4byte gUnknown_083B6DB4
-_0809B540: .4byte 0x000025b4
-_0809B544: .4byte gPokemonStorage
- thumb_func_end diegohint2
-
- thumb_func_start sub_809B548
-sub_809B548: @ 809B548
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- cmp r0, 0xE
- bne _0809B568
- movs r0, 0x64
- muls r0, r2
- ldr r1, _0809B564
- adds r0, r1
- bl ZeroMonData
- b _0809B582
- .align 2, 0
-_0809B564: .4byte gPlayerParty
-_0809B568:
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _0809B588
- adds r1, r2
- adds r0, r1
- bl ZeroBoxMonData
-_0809B582:
- pop {r0}
- bx r0
- .align 2, 0
-_0809B588: .4byte gUnknown_020300A4
- thumb_func_end sub_809B548
-
- thumb_func_start diegohint1
-diegohint1: @ 809B58C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- cmp r5, 0xE
- bne _0809B5C0
- ldr r0, _0809B5B4
- ldr r0, [r0]
- ldr r1, _0809B5B8
- adds r0, r1
- ldr r2, _0809B5BC
- movs r1, 0x64
- muls r1, r6
- adds r1, r2
- movs r2, 0x64
- bl memcpy
- b _0809B5E2
- .align 2, 0
-_0809B5B4: .4byte gUnknown_083B6DB4
-_0809B5B8: .4byte 0x00002618
-_0809B5BC: .4byte gPlayerParty
-_0809B5C0:
- lsls r1, r5, 2
- adds r1, r5
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 4
- ldr r2, _0809B614
- adds r1, r2
- adds r0, r1
- ldr r1, _0809B618
- ldr r1, [r1]
- ldr r2, _0809B61C
- adds r1, r2
- bl sub_803B4B4
-_0809B5E2:
- adds r0, r5, 0
- adds r1, r6, 0
- bl diegohint2
- ldr r0, _0809B618
- ldr r1, [r0]
- ldr r0, _0809B620
- adds r4, r1, r0
- ldr r2, _0809B61C
- adds r1, r2
- adds r0, r4, 0
- movs r2, 0x64
- bl memcpy
- adds r0, r4, 0
- movs r1, 0
- bl sub_809C04C
- ldr r0, _0809B624
- strb r5, [r0]
- ldr r0, _0809B628
- strb r6, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B614: .4byte gUnknown_020300A4
-_0809B618: .4byte gUnknown_083B6DB4
-_0809B61C: .4byte 0x00002618
-_0809B620: .4byte 0x000025b4
-_0809B624: .4byte gUnknown_020384E7
-_0809B628: .4byte gUnknown_020384E8
- thumb_func_end diegohint1
-
- thumb_func_start sub_809B62C
-sub_809B62C: @ 809B62C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r6, 0
- bl sub_8095B24
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _0809B64A
- movs r0, 0
- b _0809B6AC
-_0809B64A:
- ldr r5, _0809B668
- ldrb r0, [r5]
- cmp r0, 0
- beq _0809B66C
- lsls r4, 24
- lsrs r1, r4, 24
- adds r0, r6, 0
- bl diegohint2
- bl sub_8099480
- movs r0, 0
- strb r0, [r5]
- b _0809B686
- .align 2, 0
-_0809B668: .4byte gUnknown_020384E6
-_0809B66C:
- ldr r5, _0809B6B4
- ldrb r1, [r5]
- movs r0, 0xE
- bl sub_809B44C
- lsls r4, 24
- lsrs r1, r4, 24
- adds r0, r6, 0
- bl diegohint2
- ldrb r0, [r5]
- bl sub_8099520
-_0809B686:
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- cmp r6, r0
- bne _0809B698
- lsrs r0, r4, 24
- bl sub_8098D20
-_0809B698:
- ldr r0, _0809B6B8
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0x1
-_0809B6AC:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809B6B4: .4byte gUnknown_020384E5
-_0809B6B8: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809B62C
-
- thumb_func_start sub_809B6BC
-sub_809B6BC: @ 809B6BC
- push {lr}
- ldr r0, _0809B6D8
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- bl sub_809BF74
- pop {r0}
- bx r0
- .align 2, 0
-_0809B6D8: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809B6BC
-
- thumb_func_start sub_809B6DC
-sub_809B6DC: @ 809B6DC
- push {lr}
- ldr r0, _0809B6EC
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809B6F0
- movs r2, 0x2
- b _0809B700
- .align 2, 0
-_0809B6EC: .4byte gUnknown_020384E6
-_0809B6F0:
- ldr r0, _0809B720
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r2, 0x1
- eors r1, r2
- negs r0, r1
- orrs r0, r1
- lsrs r2, r0, 31
-_0809B700:
- ldr r0, _0809B724
- ldrb r1, [r0]
- adds r0, r2, 0
- bl sub_809981C
- ldr r0, _0809B728
- ldr r1, [r0]
- ldr r2, _0809B72C
- adds r0, r1, r2
- ldr r2, _0809B730
- adds r1, r2
- bl StringCopy
- pop {r0}
- bx r0
- .align 2, 0
-_0809B720: .4byte gUnknown_020384E4
-_0809B724: .4byte gUnknown_020384E5
-_0809B728: .4byte gUnknown_083B6DB4
-_0809B72C: .4byte 0x000026e4
-_0809B730: .4byte 0x000011fa
- thumb_func_end sub_809B6DC
-
- thumb_func_start sub_809B734
-sub_809B734: @ 809B734
- push {lr}
- bl sub_80998D8
- lsls r0, 24
- cmp r0, 0
- beq _0809B744
- movs r0, 0x1
- b _0809B758
-_0809B744:
- ldr r0, _0809B75C
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0
-_0809B758:
- pop {r1}
- bx r1
- .align 2, 0
-_0809B75C: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809B734
-
- thumb_func_start sub_809B760
-sub_809B760: @ 809B760
- push {lr}
- bl sub_8099920
- ldr r1, _0809B774
- ldrb r0, [r1]
- cmp r0, 0
- beq _0809B778
- movs r0, 0
- strb r0, [r1]
- b _0809B79E
- .align 2, 0
-_0809B774: .4byte gUnknown_020384E6
-_0809B778:
- ldr r0, _0809B788
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809B78C
- movs r2, 0xE
- b _0809B794
- .align 2, 0
-_0809B788: .4byte gUnknown_020384E4
-_0809B78C:
- bl get_preferred_box
- lsls r0, 24
- lsrs r2, r0, 24
-_0809B794:
- ldr r0, _0809B7A8
- ldrb r1, [r0]
- adds r0, r2, 0
- bl sub_809B548
-_0809B79E:
- bl sub_809BF74
- pop {r0}
- bx r0
- .align 2, 0
-_0809B7A8: .4byte gUnknown_020384E5
- thumb_func_end sub_809B760
-
- thumb_func_start sub_809B7AC
-sub_809B7AC: @ 809B7AC
- push {lr}
- ldr r0, _0809B7CC
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809B7C8
- ldr r0, _0809B7D0
- ldr r0, [r0]
- movs r1, 0x8E
- lsls r1, 5
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x3
- bl StartSpriteAnim
-_0809B7C8:
- pop {r0}
- bx r0
- .align 2, 0
-_0809B7CC: .4byte gUnknown_020384E6
-_0809B7D0: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809B7AC
-
- thumb_func_start sub_809B7D4
-sub_809B7D4: @ 809B7D4
- push {r4-r6,lr}
- ldr r0, _0809B804
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809B81C
- ldr r0, _0809B808
- ldr r4, [r0]
- ldr r1, _0809B80C
- adds r0, r4, r1
- ldr r2, _0809B810
- adds r1, r4, r2
- movs r2, 0x64
- bl memcpy
- ldr r0, _0809B814
- adds r1, r4, r0
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, _0809B818
- adds r4, r1
- movs r0, 0x1
- negs r0, r0
- strb r0, [r4]
- b _0809B8A6
- .align 2, 0
-_0809B804: .4byte gUnknown_020384E6
-_0809B808: .4byte gUnknown_083B6DB4
-_0809B80C: .4byte 0x00002618
-_0809B810: .4byte 0x000025b4
-_0809B814: .4byte 0x00002682
-_0809B818: .4byte 0x00002683
-_0809B81C:
- ldr r0, _0809B84C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809B864
- ldr r0, _0809B850
- ldr r4, [r0]
- ldr r2, _0809B854
- adds r0, r4, r2
- ldr r3, _0809B858
- ldr r1, _0809B85C
- movs r2, 0
- ldrsb r2, [r1, r2]
- movs r1, 0x64
- muls r1, r2
- adds r1, r3
- movs r2, 0x64
- bl memcpy
- ldr r0, _0809B860
- adds r4, r0
- movs r0, 0xE
- b _0809B896
- .align 2, 0
-_0809B84C: .4byte gUnknown_020384E4
-_0809B850: .4byte gUnknown_083B6DB4
-_0809B854: .4byte 0x00002618
-_0809B858: .4byte gPlayerParty
-_0809B85C: .4byte gUnknown_020384E5
-_0809B860: .4byte 0x00002682
-_0809B864:
- ldr r5, _0809B8FC
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r1, _0809B900
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- adds r2, r5, 0x4
- adds r1, r2
- adds r0, r1
- ldr r1, _0809B904
- ldr r4, [r1]
- ldr r2, _0809B908
- adds r1, r4, r2
- bl sub_803B4B4
- ldrb r0, [r5]
- ldr r1, _0809B90C
- adds r4, r1
-_0809B896:
- strb r0, [r4]
- ldr r0, _0809B904
- ldr r0, [r0]
- ldr r1, _0809B900
- ldrb r1, [r1]
- ldr r2, _0809B910
- adds r0, r2
- strb r1, [r0]
-_0809B8A6:
- ldr r0, _0809B904
- ldr r6, [r0]
- ldr r0, _0809B914
- adds r4, r6, r0
- movs r0, 0
- strb r0, [r4]
- ldr r1, _0809B918
- adds r5, r6, r1
- strb r0, [r5]
- ldr r0, _0809B91C
- adds r2, r6, r0
- movs r0, 0x39
- strh r0, [r2]
- ldr r0, _0809B920
- adds r1, r6, r0
- ldr r0, _0809B924
- strh r0, [r1]
- ldr r0, _0809B928
- adds r1, r6, r0
- ldr r0, _0809B92C
- strh r0, [r1]
- ldr r1, _0809B908
- adds r0, r6, r1
- movs r1, 0x50
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- movs r2, 0x1
- ands r1, r2
- strb r1, [r4]
- lsrs r0, 17
- movs r1, 0x1
- ands r0, r1
- strb r0, [r5]
- ldrh r0, [r4]
- cmp r0, 0
- beq _0809B934
- ldr r2, _0809B930
- adds r1, r6, r2
- movs r0, 0
- strb r0, [r1]
- b _0809B940
- .align 2, 0
-_0809B8FC: .4byte gPokemonStorage
-_0809B900: .4byte gUnknown_020384E5
-_0809B904: .4byte gUnknown_083B6DB4
-_0809B908: .4byte 0x00002618
-_0809B90C: .4byte 0x00002682
-_0809B910: .4byte 0x00002683
-_0809B914: .4byte 0x0000267e
-_0809B918: .4byte 0x0000267f
-_0809B91C: .4byte 0x00002686
-_0809B920: .4byte 0x00002688
-_0809B924: .4byte 0x00000123
-_0809B928: .4byte 0x0000268a
-_0809B92C: .4byte 0x00000163
-_0809B930: .4byte 0x0000267d
-_0809B934:
- ldr r2, _0809B954
- adds r0, r6, r2
- strb r1, [r0]
- subs r2, 0x1
- adds r0, r6, r2
- strb r1, [r0]
-_0809B940:
- ldr r0, _0809B958
- ldr r0, [r0]
- ldr r1, _0809B95C
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809B954: .4byte 0x0000267d
-_0809B958: .4byte gUnknown_083B6DB4
-_0809B95C: .4byte 0x00002684
- thumb_func_end sub_809B7D4
-
- thumb_func_start sub_809B960
-sub_809B960: @ 809B960
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _0809B988
- ldr r2, [r0]
- ldr r3, _0809B98C
- adds r1, r2, r3
- ldrb r1, [r1]
- mov r12, r0
- cmp r1, 0
- beq _0809B994
- ldr r7, _0809B990
- adds r0, r2, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- b _0809BB5C
- .align 2, 0
-_0809B988: .4byte gUnknown_083B6DB4
-_0809B98C: .4byte 0x0000267d
-_0809B990: .4byte 0x0000267c
-_0809B994:
- ldr r1, _0809B9A4
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _0809B9A8
- cmp r0, 0x1
- beq _0809BA84
- b _0809BB58
- .align 2, 0
-_0809B9A4: .4byte 0x00002684
-_0809B9A8:
- movs r5, 0
- movs r6, 0
-_0809B9AC:
- mov r2, r12
- ldr r4, [r2]
- ldr r3, _0809BA28
- adds r0, r4, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xE
- bne _0809B9CC
- ldr r7, _0809BA2C
- adds r0, r4, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, r5
- beq _0809BA02
-_0809B9CC:
- movs r0, 0x64
- muls r0, r5
- ldr r1, _0809BA30
- adds r0, r1
- ldr r1, _0809BA34
- adds r2, r4, r1
- movs r1, 0x50
- bl GetMonData
- lsls r0, 16
- lsrs r3, r0, 16
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0809B9F0
- ldr r2, _0809BA38
- adds r0, r4, r2
- strb r6, [r0]
-_0809B9F0:
- movs r0, 0x2
- ands r3, r0
- ldr r7, _0809BA3C
- mov r12, r7
- cmp r3, 0
- beq _0809BA02
- ldr r1, _0809BA40
- adds r0, r4, r1
- strb r6, [r0]
-_0809BA02:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _0809B9AC
- mov r3, r12
- ldr r2, [r3]
- ldr r7, _0809BA38
- adds r0, r2, r7
- ldrh r0, [r0]
- cmp r0, 0
- bne _0809BA4C
- ldr r1, _0809BA44
- adds r0, r2, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r3, _0809BA48
- b _0809BB54
- .align 2, 0
-_0809BA28: .4byte 0x00002682
-_0809BA2C: .4byte 0x00002683
-_0809BA30: .4byte gPlayerParty
-_0809BA34: .4byte 0x00002686
-_0809BA38: .4byte 0x0000267e
-_0809BA3C: .4byte gUnknown_083B6DB4
-_0809BA40: .4byte 0x0000267f
-_0809BA44: .4byte 0x0000267d
-_0809BA48: .4byte 0x0000267c
-_0809BA4C:
- movs r7, 0x9A
- lsls r7, 6
- adds r0, r2, r7
- movs r1, 0
- strb r1, [r0]
- ldr r3, _0809BA68
- adds r0, r2, r3
- strb r1, [r0]
- adds r7, 0x4
- adds r1, r2, r7
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _0809BB58
- .align 2, 0
-_0809BA68: .4byte 0x00002681
-_0809BA6C:
- ldr r1, _0809BA7C
- adds r0, r2, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r7, _0809BA80
- adds r0, r2, r7
- strb r3, [r0]
- b _0809BB3C
- .align 2, 0
-_0809BA7C: .4byte 0x0000267d
-_0809BA80: .4byte 0x0000267c
-_0809BA84:
- movs r5, 0
- mov r9, r12
- adds r4, r2, 0
- movs r0, 0x9A
- lsls r0, 6
- adds r6, r4, r0
- ldr r1, _0809BB6C
- adds r1, r4
- mov r8, r1
- ldr r2, _0809BB70
- mov r10, r2
-_0809BA9A:
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r3, _0809BB74
- adds r1, r4, r3
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _0809BB78
- adds r1, r2
- adds r0, r1
- movs r1, 0x50
- ldr r7, _0809BB7C
- adds r2, r4, r7
- bl GetBoxMonData
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _0809BB00
- ldr r1, _0809BB80
- adds r0, r4, r1
- ldrh r0, [r0]
- ldrh r2, [r6]
- mov r1, r10
- ands r1, r0
- mov r0, r10
- ands r0, r2
- cmp r1, r0
- beq _0809BB00
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _0809BAF2
- ldr r2, _0809BB84
- adds r1, r4, r2
- movs r0, 0
- strb r0, [r1]
-_0809BAF2:
- movs r0, 0x2
- ands r3, r0
- cmp r3, 0
- beq _0809BB00
- movs r0, 0
- mov r3, r8
- strb r0, [r3]
-_0809BB00:
- mov r7, r9
- ldr r2, [r7]
- ldr r0, _0809BB74
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- movs r3, 0
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- ldr r7, _0809BB88
- mov r12, r7
- cmp r0, 0x1D
- ble _0809BB32
- strb r3, [r1]
- movs r0, 0x9A
- lsls r0, 6
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0xD
- bgt _0809BA6C
-_0809BB32:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _0809BA9A
-_0809BB3C:
- mov r1, r12
- ldr r2, [r1]
- ldr r3, _0809BB84
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _0809BB58
- ldr r7, _0809BB8C
- adds r0, r2, r7
- movs r1, 0x1
- strb r1, [r0]
- subs r3, 0x2
-_0809BB54:
- adds r0, r2, r3
- strb r1, [r0]
-_0809BB58:
- movs r0, 0x1
- negs r0, r0
-_0809BB5C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809BB6C: .4byte 0x0000267f
-_0809BB70: .4byte 0x0000ffff
-_0809BB74: .4byte 0x00002681
-_0809BB78: .4byte gUnknown_020300A4
-_0809BB7C: .4byte 0x00002686
-_0809BB80: .4byte 0x00002682
-_0809BB84: .4byte 0x0000267e
-_0809BB88: .4byte gUnknown_083B6DB4
-_0809BB8C: .4byte 0x0000267d
- thumb_func_end sub_809B960
-
- thumb_func_start sub_809BB90
-sub_809BB90: @ 809BB90
- push {lr}
- ldr r0, _0809BBB0
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809BBAA
- ldr r0, _0809BBB4
- ldr r1, _0809BBB8
- ldr r1, [r1]
- ldr r2, _0809BBBC
- adds r1, r2
- movs r2, 0x64
- bl memcpy
-_0809BBAA:
- pop {r0}
- bx r0
- .align 2, 0
-_0809BBB0: .4byte gUnknown_020384E6
-_0809BBB4: .4byte gUnknown_02038480
-_0809BBB8: .4byte gUnknown_083B6DB4
-_0809BBBC: .4byte 0x000025b4
- thumb_func_end sub_809BB90
-
- thumb_func_start sub_809BBC0
-sub_809BBC0: @ 809BBC0
- push {lr}
- ldr r0, _0809BBE4
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809BC08
- ldr r0, _0809BBE8
- ldrb r0, [r0]
- cmp r0, 0xE
- bne _0809BBF8
- ldr r0, _0809BBEC
- ldr r0, [r0]
- ldr r1, _0809BBF0
- adds r0, r1
- ldr r1, _0809BBF4
- movs r2, 0x64
- bl memcpy
- b _0809BC08
- .align 2, 0
-_0809BBE4: .4byte gUnknown_020384E6
-_0809BBE8: .4byte gUnknown_020384E7
-_0809BBEC: .4byte gUnknown_083B6DB4
-_0809BBF0: .4byte 0x000025b4
-_0809BBF4: .4byte gUnknown_02038480
-_0809BBF8:
- ldr r0, _0809BC0C
- ldr r0, [r0]
- ldr r1, _0809BC10
- adds r0, r1
- ldr r1, _0809BC14
- movs r2, 0x50
- bl memcpy
-_0809BC08:
- pop {r0}
- bx r0
- .align 2, 0
-_0809BC0C: .4byte gUnknown_083B6DB4
-_0809BC10: .4byte 0x000025b4
-_0809BC14: .4byte gUnknown_02038480
- thumb_func_end sub_809BBC0
-
- thumb_func_start sub_809BC18
-sub_809BC18: @ 809BC18
- push {r4,r5,lr}
- ldr r0, _0809BC48
- ldrb r5, [r0]
- cmp r5, 0
- beq _0809BC64
- bl sub_809BB90
- ldr r0, _0809BC4C
- ldr r2, [r0]
- ldr r0, _0809BC50
- adds r1, r2, r0
- ldr r0, _0809BC54
- str r0, [r1]
- ldr r1, _0809BC58
- adds r0, r2, r1
- movs r1, 0
- strb r1, [r0]
- ldr r3, _0809BC5C
- adds r0, r2, r3
- strb r1, [r0]
- ldr r0, _0809BC60
- adds r2, r0
- strb r1, [r2]
- b _0809BCF2
- .align 2, 0
-_0809BC48: .4byte gUnknown_020384E6
-_0809BC4C: .4byte gUnknown_083B6DB4
-_0809BC50: .4byte 0x00002690
-_0809BC54: .4byte gUnknown_02038480
-_0809BC58: .4byte 0x0000268d
-_0809BC5C: .4byte 0x0000268c
-_0809BC60: .4byte 0x0000268e
-_0809BC64:
- ldr r0, _0809BC9C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809BCBC
- ldr r0, _0809BCA0
- ldr r4, [r0]
- ldr r2, _0809BCA4
- adds r1, r4, r2
- ldr r0, _0809BCA8
- str r0, [r1]
- ldr r0, _0809BCAC
- ldrb r1, [r0]
- ldr r3, _0809BCB0
- adds r0, r4, r3
- strb r1, [r0]
- bl sub_8095C28
- subs r0, 0x1
- ldr r2, _0809BCB4
- adds r1, r4, r2
- strb r0, [r1]
- ldr r3, _0809BCB8
- adds r4, r3
- strb r5, [r4]
- b _0809BCF2
- .align 2, 0
-_0809BC9C: .4byte gUnknown_020384E4
-_0809BCA0: .4byte gUnknown_083B6DB4
-_0809BCA4: .4byte 0x00002690
-_0809BCA8: .4byte gPlayerParty
-_0809BCAC: .4byte gUnknown_020384E5
-_0809BCB0: .4byte 0x0000268d
-_0809BCB4: .4byte 0x0000268c
-_0809BCB8: .4byte 0x0000268e
-_0809BCBC:
- ldr r0, _0809BCF8
- ldr r3, [r0]
- ldr r0, _0809BCFC
- adds r4, r3, r0
- ldr r2, _0809BD00
- ldrb r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- adds r2, 0x4
- adds r0, r2
- str r0, [r4]
- ldr r0, _0809BD04
- ldrb r1, [r0]
- ldr r2, _0809BD08
- adds r0, r3, r2
- strb r1, [r0]
- ldr r0, _0809BD0C
- adds r1, r3, r0
- movs r0, 0x1D
- strb r0, [r1]
- ldr r1, _0809BD10
- adds r3, r1
- movs r0, 0x5
- strb r0, [r3]
-_0809BCF2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809BCF8: .4byte gUnknown_083B6DB4
-_0809BCFC: .4byte 0x00002690
-_0809BD00: .4byte gPokemonStorage
-_0809BD04: .4byte gUnknown_020384E5
-_0809BD08: .4byte 0x0000268d
-_0809BD0C: .4byte 0x0000268c
-_0809BD10: .4byte 0x0000268e
- thumb_func_end sub_809BC18
-
- thumb_func_start sub_809BD14
-sub_809BD14: @ 809BD14
- push {lr}
- ldr r0, _0809BD24
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809BD28
- bl sub_809BBC0
- b _0809BD30
- .align 2, 0
-_0809BD24: .4byte gUnknown_020384E6
-_0809BD28:
- ldr r0, _0809BD34
- ldr r1, _0809BD38
- ldrb r1, [r1, 0x9]
- strb r1, [r0]
-_0809BD30:
- pop {r0}
- bx r0
- .align 2, 0
-_0809BD34: .4byte gUnknown_020384E5
-_0809BD38: .4byte 0x02018000
- thumb_func_end sub_809BD14
-
- thumb_func_start party_compaction
-party_compaction: @ 809BD3C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r7, _0809BD88
- movs r6, 0
- movs r5, 0
- movs r0, 0x64
- mov r9, r0
- ldr r1, _0809BD8C
- mov r8, r1
- subs r0, 0x65
- mov r10, r0
-_0809BD58:
- mov r0, r9
- muls r0, r6
- mov r1, r8
- adds r4, r0, r1
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- cmp r0, 0
- beq _0809BD90
- cmp r6, r5
- beq _0809BD80
- mov r0, r9
- muls r0, r5
- add r0, r8
- adds r1, r4, 0
- movs r2, 0x64
- bl memcpy
-_0809BD80:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- b _0809BD9A
- .align 2, 0
-_0809BD88: .4byte 0x0000ffff
-_0809BD8C: .4byte gPlayerParty
-_0809BD90:
- lsls r0, r7, 16
- asrs r0, 16
- cmp r0, r10
- bne _0809BD9A
- adds r7, r6, 0
-_0809BD9A:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _0809BD58
- lsls r7, 16
- cmp r5, 0x5
- bhi _0809BDC2
- movs r6, 0x64
- ldr r4, _0809BDD4
-_0809BDAE:
- adds r0, r5, 0
- muls r0, r6
- adds r0, r4
- bl ZeroMonData
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _0809BDAE
-_0809BDC2:
- asrs r0, r7, 16
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809BDD4: .4byte gPlayerParty
- thumb_func_end party_compaction
-
- thumb_func_start sub_809BDD8
-sub_809BDD8: @ 809BDD8
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- ldr r1, _0809BE04
- ldr r2, [r1]
- ldr r3, _0809BE08
- adds r1, r2, r3
- strb r0, [r1]
- ldr r0, _0809BE0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809BE14
- ldr r1, _0809BE10
- adds r0, r2, r1
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
- b _0809BE68
- .align 2, 0
-_0809BE04: .4byte gUnknown_083B6DB4
-_0809BE08: .4byte 0x000011f7
-_0809BE0C: .4byte gUnknown_020384E6
-_0809BE10: .4byte 0x000025b4
-_0809BE14:
- ldr r4, _0809BE70
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0x1
- bne _0809BE34
- ldr r0, _0809BE74
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0809BE78
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
-_0809BE34:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _0809BE68
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r1, _0809BE74
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _0809BE7C
- adds r1, r2
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetBoxMonData
-_0809BE68:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809BE70: .4byte gUnknown_020384E4
-_0809BE74: .4byte gUnknown_020384E5
-_0809BE78: .4byte gPlayerParty
-_0809BE7C: .4byte gUnknown_020300A4
- thumb_func_end sub_809BDD8
-
- thumb_func_start sub_809BE80
-sub_809BE80: @ 809BE80
- push {lr}
- ldr r0, _0809BEA8
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809BEB4
- ldr r0, _0809BEAC
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809BEB4
- ldr r0, _0809BEB0
- ldrb r0, [r0]
- bl sub_8095BB4
- lsls r0, 24
- cmp r0, 0
- bne _0809BEB4
- movs r0, 0x1
- b _0809BEB6
- .align 2, 0
-_0809BEA8: .4byte gUnknown_020384E4
-_0809BEAC: .4byte gUnknown_020384E6
-_0809BEB0: .4byte gUnknown_020384E5
-_0809BEB4:
- movs r0, 0
-_0809BEB6:
- pop {r1}
- bx r1
- thumb_func_end sub_809BE80
-
- thumb_func_start sub_809BEBC
-sub_809BEBC: @ 809BEBC
- push {lr}
- ldr r0, _0809BF00
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809BF18
- ldr r0, _0809BF04
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809BEFC
- ldr r0, _0809BF08
- ldrb r0, [r0]
- bl sub_8095BB4
- lsls r0, 24
- cmp r0, 0
- bne _0809BEFC
- ldr r0, _0809BF0C
- ldr r1, [r0]
- ldr r2, _0809BF10
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809BF18
- ldr r2, _0809BF14
- adds r0, r1, r2
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _0809BF18
-_0809BEFC:
- movs r0, 0x1
- b _0809BF1A
- .align 2, 0
-_0809BF00: .4byte gUnknown_020384E6
-_0809BF04: .4byte gUnknown_020384E4
-_0809BF08: .4byte gUnknown_020384E5
-_0809BF0C: .4byte gUnknown_083B6DB4
-_0809BF10: .4byte 0x000011f9
-_0809BF14: .4byte 0x000025b4
-_0809BF18:
- movs r0, 0
-_0809BF1A:
- pop {r1}
- bx r1
- thumb_func_end sub_809BEBC
-
- thumb_func_start sub_809BF20
-sub_809BF20: @ 809BF20
- ldr r0, _0809BF28
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0809BF28: .4byte gUnknown_020384E6
- thumb_func_end sub_809BF20
-
- thumb_func_start sub_809BF2C
-sub_809BF2C: @ 809BF2C
- push {lr}
- movs r1, 0
- ldr r0, _0809BF44
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- bne _0809BF3E
- movs r1, 0x1
-_0809BF3E:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809BF44: .4byte gUnknown_020384E4
- thumb_func_end sub_809BF2C
-
- thumb_func_start sub_809BF48
-sub_809BF48: @ 809BF48
- push {lr}
- movs r1, 0
- ldr r0, _0809BF6C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _0809BF66
- ldr r0, _0809BF70
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809BF66
- movs r1, 0x1
-_0809BF66:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0809BF6C: .4byte gUnknown_020384E4
-_0809BF70: .4byte gUnknown_020384E5
- thumb_func_end sub_809BF48
-
- thumb_func_start sub_809BF74
-sub_809BF74: @ 809BF74
- push {r4,lr}
- ldr r0, _0809BFA8
- ldr r1, [r0]
- movs r2, 0
- ldr r3, _0809BFAC
- ldrb r0, [r3]
- cmp r0, 0
- bne _0809BF86
- movs r2, 0x1
-_0809BF86:
- ldr r4, _0809BFB0
- adds r0, r1, r4
- strb r2, [r0]
- ldrb r0, [r3]
- cmp r0, 0
- bne _0809C018
- ldr r0, _0809BFB4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _0809BFBE
- cmp r0, 0x1
- bgt _0809BFB8
- cmp r0, 0
- beq _0809BFEE
- b _0809C018
- .align 2, 0
-_0809BFA8: .4byte gUnknown_083B6DB4
-_0809BFAC: .4byte gUnknown_020384E6
-_0809BFB0: .4byte 0x000011f6
-_0809BFB4: .4byte gUnknown_020384E4
-_0809BFB8:
- cmp r0, 0x3
- bgt _0809C018
- b _0809BFE4
-_0809BFBE:
- ldr r1, _0809BFDC
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0x5
- bgt _0809BFE4
- adds r1, r0, 0
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0809BFE0
- adds r0, r1
- movs r1, 0
- bl sub_809C04C
- b _0809C018
- .align 2, 0
-_0809BFDC: .4byte gUnknown_020384E5
-_0809BFE0: .4byte gPlayerParty
-_0809BFE4:
- movs r0, 0
- movs r1, 0x2
- bl sub_809C04C
- b _0809C018
-_0809BFEE:
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldr r1, _0809C020
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _0809C024
- adds r1, r2
- adds r0, r1
- movs r1, 0x1
- bl sub_809C04C
-_0809C018:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C020: .4byte gUnknown_020384E5
-_0809C024: .4byte gUnknown_020300A4
- thumb_func_end sub_809BF74
-
- thumb_func_start sub_809C028
-sub_809C028: @ 809C028
- push {lr}
- ldr r0, _0809C03C
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809C044
- ldr r0, _0809C040
- movs r1, 0
- bl sub_809C04C
- b _0809C048
- .align 2, 0
-_0809C03C: .4byte gUnknown_020384E6
-_0809C040: .4byte gUnknown_02038480
-_0809C044:
- bl sub_809BF74
-_0809C048:
- pop {r0}
- bx r0
- thumb_func_end sub_809C028
-
- thumb_func_start sub_809C04C
-sub_809C04C: @ 809C04C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- str r0, [sp]
- ldr r0, _0809C0FC
- ldr r6, [r0]
- ldr r2, _0809C100
- adds r2, r6
- mov r8, r2
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r2]
- cmp r1, 0
- bne _0809C120
- adds r0, r7, 0
- movs r1, 0x41
- bl GetMonData
- ldr r2, _0809C104
- adds r1, r6, r2
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _0809C08C
- b _0809C1EC
-_0809C08C:
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetMonData
- ldr r2, _0809C108
- adds r1, r6, r2
- strb r0, [r1]
- ldr r0, _0809C10C
- adds r4, r6, r0
- adds r0, r7, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- adds r0, r4, 0
- bl StringGetEnd10
- adds r0, r7, 0
- movs r1, 0x38
- bl GetMonData
- ldr r2, _0809C110
- adds r1, r6, r2
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x8
- bl GetMonData
- ldr r2, _0809C114
- adds r1, r6, r2
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0
- bl GetMonData
- ldr r2, _0809C118
- adds r1, r6, r2
- str r0, [r1]
- adds r0, r7, 0
- bl pokemon_get_pal
- ldr r2, _0809C11C
- adds r1, r6, r2
- str r0, [r1]
- adds r0, r7, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0xC
- bl GetMonData
- b _0809C1B2
- .align 2, 0
-_0809C0FC: .4byte gUnknown_083B6DB4
-_0809C100: .4byte 0x000011f2
-_0809C104: .4byte 0x000011f0
-_0809C108: .4byte 0x000011f9
-_0809C10C: .4byte 0x000011fa
-_0809C110: .4byte 0x000011f8
-_0809C114: .4byte 0x000011f7
-_0809C118: .4byte 0x000011ec
-_0809C11C: .4byte 0x000011e8
-_0809C120:
- cmp r1, 0x1
- bne _0809C1D4
- adds r0, r7, 0
- movs r1, 0x41
- bl GetBoxMonData
- ldr r2, _0809C1B8
- adds r5, r6, r2
- strh r0, [r5]
- lsls r0, 16
- cmp r0, 0
- beq _0809C1EC
- adds r0, r7, 0
- movs r1, 0x1
- bl GetBoxMonData
- mov r9, r0
- adds r0, r7, 0
- movs r1, 0x2D
- bl GetBoxMonData
- ldr r2, _0809C1BC
- adds r1, r6, r2
- strb r0, [r1]
- ldr r0, _0809C1C0
- adds r4, r6, r0
- adds r0, r7, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl GetBoxMonData
- adds r0, r4, 0
- bl StringGetEnd10
- adds r0, r7, 0
- bl GetLevelFromBoxMonExp
- ldr r2, _0809C1C4
- adds r1, r6, r2
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0x8
- bl GetBoxMonData
- ldr r2, _0809C1C8
- adds r1, r6, r2
- strb r0, [r1]
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonData
- adds r2, r0, 0
- ldr r0, _0809C1CC
- adds r4, r6, r0
- str r2, [r4]
- ldrh r0, [r5]
- mov r1, r9
- bl species_and_otid_get_pal
- ldr r2, _0809C1D0
- adds r1, r6, r2
- str r0, [r1]
- ldrh r0, [r5]
- ldr r1, [r4]
- bl GetGenderFromSpeciesAndPersonality
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0xC
- bl GetBoxMonData
-_0809C1B2:
- mov r1, r8
- strh r0, [r1]
- b _0809C1DE
- .align 2, 0
-_0809C1B8: .4byte 0x000011f0
-_0809C1BC: .4byte 0x000011f9
-_0809C1C0: .4byte 0x000011fa
-_0809C1C4: .4byte 0x000011f8
-_0809C1C8: .4byte 0x000011f7
-_0809C1CC: .4byte 0x000011ec
-_0809C1D0: .4byte 0x000011e8
-_0809C1D4:
- ldr r2, _0809C220
- adds r0, r6, r2
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r0]
-_0809C1DE:
- ldr r0, _0809C224
- ldr r4, [r0]
- ldr r2, _0809C220
- adds r0, r4, r2
- ldrh r1, [r0]
- cmp r1, 0
- bne _0809C23C
-_0809C1EC:
- ldr r0, _0809C224
- ldr r1, [r0]
- ldr r0, _0809C228
- adds r2, r1, r0
- movs r0, 0xFF
- strb r0, [r2]
- ldr r0, _0809C22C
- adds r2, r1, r0
- movs r0, 0x1
- negs r0, r0
- strb r0, [r2]
- ldr r0, _0809C230
- adds r2, r1, r0
- movs r0, 0x1
- negs r0, r0
- strb r0, [r2]
- ldr r0, _0809C234
- adds r2, r1, r0
- movs r0, 0x1
- negs r0, r0
- strb r0, [r2]
- ldr r2, _0809C238
- adds r1, r2
- strb r0, [r1]
- b _0809C43E
- .align 2, 0
-_0809C220: .4byte 0x000011f0
-_0809C224: .4byte gUnknown_083B6DB4
-_0809C228: .4byte 0x000011fa
-_0809C22C: .4byte 0x0000120f
-_0809C230: .4byte 0x00001234
-_0809C234: .4byte 0x00001259
-_0809C238: .4byte 0x0000127a
-_0809C23C:
- ldr r2, _0809C28C
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809C2A4
- ldr r0, _0809C290
- adds r7, r4, r0
- movs r0, 0xFC
- strb r0, [r7]
- movs r0, 0x4
- strb r0, [r7, 0x1]
- movs r0, 0xF
- strb r0, [r7, 0x2]
- movs r0, 0
- strb r0, [r7, 0x3]
- movs r0, 0x1
- strb r0, [r7, 0x4]
- ldr r1, _0809C294
- adds r7, r4, r1
- adds r2, 0x1
- adds r1, r4, r2
- adds r0, r7, 0
- bl StringCopy
- ldr r0, _0809C298
- adds r1, r4, r0
- movs r0, 0xFF
- strb r0, [r1]
- ldr r2, _0809C29C
- adds r1, r4, r2
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1]
- ldr r0, _0809C2A0
- adds r1, r4, r0
- movs r0, 0x1
- negs r0, r0
- strb r0, [r1]
- b _0809C43E
- .align 2, 0
-_0809C28C: .4byte 0x000011f9
-_0809C290: .4byte 0x0000120f
-_0809C294: .4byte 0x00001214
-_0809C298: .4byte 0x00001234
-_0809C29C: .4byte 0x00001259
-_0809C2A0: .4byte 0x0000127a
-_0809C2A4:
- cmp r1, 0x20
- beq _0809C2AC
- cmp r1, 0x1D
- bne _0809C2B0
-_0809C2AC:
- movs r1, 0xFF
- str r1, [sp]
-_0809C2B0:
- ldr r0, _0809C388
- ldr r4, [r0]
- ldr r2, _0809C38C
- adds r7, r4, r2
- movs r0, 0xFC
- mov r9, r0
- strb r0, [r7]
- movs r1, 0x4
- mov r8, r1
- strb r1, [r7, 0x1]
- movs r2, 0xF
- strb r2, [r7, 0x2]
- movs r0, 0
- strb r0, [r7, 0x3]
- movs r6, 0x1
- strb r6, [r7, 0x4]
- ldr r1, _0809C390
- adds r7, r4, r1
- ldr r2, _0809C394
- adds r1, r4, r2
- adds r0, r7, 0
- bl StringCopy
- ldr r0, _0809C398
- adds r7, r4, r0
- mov r1, r9
- strb r1, [r7]
- mov r2, r8
- strb r2, [r7, 0x1]
- movs r0, 0xF
- strb r0, [r7, 0x2]
- movs r1, 0
- strb r1, [r7, 0x3]
- strb r6, [r7, 0x4]
- mov r2, r9
- strb r2, [r7, 0x5]
- movs r0, 0x13
- mov r10, r0
- strb r0, [r7, 0x6]
- movs r1, 0x7
- strb r1, [r7, 0x7]
- movs r0, 0xBA
- strb r0, [r7, 0x8]
- ldr r2, _0809C39C
- adds r7, r4, r2
- ldr r1, _0809C3A0
- adds r0, r4, r1
- ldrh r1, [r0]
- movs r0, 0xB
- muls r1, r0
- ldr r0, _0809C3A4
- adds r1, r0
- adds r0, r7, 0
- bl StringCopy
- adds r7, r0, 0
- mov r2, r9
- strb r2, [r7]
- mov r0, r10
- strb r0, [r7, 0x1]
- movs r0, 0x50
- strb r0, [r7, 0x2]
- movs r0, 0xFF
- strb r0, [r7, 0x3]
- ldr r1, _0809C3A8
- adds r7, r4, r1
- strb r2, [r7]
- mov r2, r8
- strb r2, [r7, 0x1]
- movs r0, 0xF
- strb r0, [r7, 0x2]
- movs r1, 0
- strb r1, [r7, 0x3]
- strb r6, [r7, 0x4]
- mov r2, r9
- strb r2, [r7, 0x5]
- mov r0, r10
- strb r0, [r7, 0x6]
- movs r6, 0x8
- strb r6, [r7, 0x7]
- ldr r1, _0809C3AC
- adds r7, r4, r1
- movs r0, 0x34
- strb r0, [r7]
- ldr r2, _0809C3B0
- adds r7, r4, r2
- ldr r0, _0809C3B4
- adds r4, r0
- ldrb r1, [r4]
- adds r0, r7, 0
- movs r2, 0x22
- movs r3, 0x1
- bl sub_8072C14
- adds r7, r0, 0
- mov r1, r9
- strb r1, [r7]
- movs r0, 0x11
- strb r0, [r7, 0x1]
- strb r6, [r7, 0x2]
- adds r7, 0x3
- ldr r2, [sp]
- cmp r2, 0
- beq _0809C3B8
- cmp r2, 0xFE
- beq _0809C3D0
- b _0809C3EA
- .align 2, 0
-_0809C388: .4byte gUnknown_083B6DB4
-_0809C38C: .4byte 0x0000120f
-_0809C390: .4byte 0x00001214
-_0809C394: .4byte 0x000011fa
-_0809C398: .4byte 0x00001234
-_0809C39C: .4byte 0x0000123d
-_0809C3A0: .4byte 0x000011f0
-_0809C3A4: .4byte gSpeciesNames
-_0809C3A8: .4byte 0x00001259
-_0809C3AC: .4byte 0x00001261
-_0809C3B0: .4byte 0x00001262
-_0809C3B4: .4byte 0x000011f8
-_0809C3B8:
- mov r0, r9
- strb r0, [r7]
- mov r1, r8
- strb r1, [r7, 0x1]
- strb r1, [r7, 0x2]
- mov r2, sp
- ldrb r2, [r2]
- strb r2, [r7, 0x3]
- movs r0, 0x5
- strb r0, [r7, 0x4]
- movs r0, 0xB5
- b _0809C3E6
-_0809C3D0:
- mov r0, r9
- strb r0, [r7]
- mov r1, r8
- strb r1, [r7, 0x1]
- movs r0, 0x6
- strb r0, [r7, 0x2]
- movs r2, 0
- strb r2, [r7, 0x3]
- movs r0, 0x7
- strb r0, [r7, 0x4]
- movs r0, 0xB6
-_0809C3E6:
- strb r0, [r7, 0x5]
- adds r7, 0x6
-_0809C3EA:
- movs r5, 0xFF
- strb r5, [r7]
- ldr r0, _0809C450
- ldr r2, [r0]
- ldr r1, _0809C454
- adds r7, r2, r1
- ldr r0, _0809C458
- adds r3, r2, r0
- ldrh r0, [r3]
- cmp r0, 0
- beq _0809C43C
- movs r4, 0xFC
- strb r4, [r7]
- movs r1, 0x4
- strb r1, [r7, 0x1]
- movs r0, 0xF
- strb r0, [r7, 0x2]
- movs r0, 0
- strb r0, [r7, 0x3]
- movs r0, 0x1
- strb r0, [r7, 0x4]
- ldr r0, _0809C45C
- adds r7, r2, r0
- strb r4, [r7]
- movs r0, 0x6
- strb r0, [r7, 0x1]
- strb r1, [r7, 0x2]
- ldr r1, _0809C460
- adds r7, r2, r1
- ldrh r0, [r3]
- bl itemid_get_item
- adds r1, r0, 0
- adds r0, r7, 0
- bl StringCopy
- adds r7, r0, 0
- strb r4, [r7]
- movs r0, 0x7
- strb r0, [r7, 0x1]
- adds r7, 0x2
-_0809C43C:
- strb r5, [r7]
-_0809C43E:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809C450: .4byte gUnknown_083B6DB4
-_0809C454: .4byte 0x0000127a
-_0809C458: .4byte 0x000011f2
-_0809C45C: .4byte 0x0000127f
-_0809C460: .4byte 0x00001282
- thumb_func_end sub_809C04C
-
- thumb_func_start sub_809C464
-sub_809C464: @ 809C464
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _0809C4D8
- ldrb r0, [r0]
- mov r8, r0
- ldr r2, _0809C4DC
- ldrb r4, [r2]
- ldr r0, _0809C4E0
- ldr r1, [r0]
- ldr r0, _0809C4E4
- adds r7, r1, r0
- movs r0, 0
- strb r0, [r7]
- ldr r3, _0809C4E8
- adds r5, r1, r3
- strb r0, [r5]
- adds r3, 0x4
- adds r6, r1, r3
- strb r0, [r6]
- ldr r0, _0809C4EC
- mov r12, r0
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0
- beq _0809C4A0
- b _0809C62A
-_0809C4A0:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809C4F0
- movs r1, 0x1
- mov r9, r1
- lsls r0, r4, 24
- movs r3, 0xC0
- lsls r3, 19
- adds r0, r3
- lsrs r4, r0, 24
- asrs r0, 24
- cmp r0, 0x1D
- bgt _0809C4BE
- b _0809C648
-_0809C4BE:
- movs r1, 0x3
- mov r8, r1
- subs r0, 0x1E
- lsls r0, 24
- asrs r0, 24
- bl __divsi3
- lsls r0, 24
- lsrs r4, r0, 24
- mov r3, r9
- strb r3, [r7]
- strb r3, [r6]
- b _0809C648
- .align 2, 0
-_0809C4D8: .4byte gUnknown_020384E4
-_0809C4DC: .4byte gUnknown_020384E5
-_0809C4E0: .4byte gUnknown_083B6DB4
-_0809C4E4: .4byte 0x000011de
-_0809C4E8: .4byte 0x000011df
-_0809C4EC: .4byte gMain
-_0809C4F0:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _0809C524
- movs r0, 0x1
- mov r9, r0
- movs r0, 0
- ldrsb r0, [r3, r0]
- movs r1, 0x6
- bl __modsi3
- lsls r0, 24
- cmp r0, 0
- beq _0809C514
- lsls r0, r4, 24
- movs r1, 0xFF
- lsls r1, 24
- b _0809C63C
-_0809C514:
- movs r0, 0xFF
- strb r0, [r5]
- lsls r0, r4, 24
- movs r3, 0xA0
- lsls r3, 19
- adds r0, r3
- lsrs r4, r0, 24
- b _0809C648
-_0809C524:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809C554
- movs r0, 0x1
- mov r9, r0
- movs r0, 0
- ldrsb r0, [r3, r0]
- adds r0, 0x1
- movs r1, 0x6
- bl __modsi3
- cmp r0, 0
- beq _0809C548
- lsls r0, r4, 24
- movs r1, 0x80
- lsls r1, 17
- b _0809C63C
-_0809C548:
- mov r3, r9
- strb r3, [r5]
- lsls r0, r4, 24
- movs r1, 0xFB
- lsls r1, 24
- b _0809C63C
-_0809C554:
- mov r3, r12
- ldrh r1, [r3, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _0809C56A
- movs r0, 0x1
- mov r9, r0
- movs r1, 0x2
- mov r8, r1
- b _0809C646
-_0809C56A:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809C5D4
- bl sub_809CAB0
- lsls r0, 24
- cmp r0, 0
- beq _0809C5D4
- ldr r0, _0809C588
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809C58C
- movs r0, 0x8
- b _0809C658
- .align 2, 0
-_0809C588: .4byte gUnknown_020384E9
-_0809C58C:
- movs r0, 0
- bl sub_809CE4C
- subs r0, 0x1
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bhi _0809C5D4
- lsls r0, 2
- ldr r1, _0809C5A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C5A8: .4byte _0809C5AC
- .align 2, 0
-_0809C5AC:
- .4byte _0809C5C0
- .4byte _0809C5C4
- .4byte _0809C5C8
- .4byte _0809C5CC
- .4byte _0809C5D0
-_0809C5C0:
- movs r0, 0xB
- b _0809C658
-_0809C5C4:
- movs r0, 0xC
- b _0809C658
-_0809C5C8:
- movs r0, 0xD
- b _0809C658
-_0809C5CC:
- movs r0, 0xE
- b _0809C658
-_0809C5D0:
- movs r0, 0xF
- b _0809C658
-_0809C5D4:
- ldr r2, _0809C5E4
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809C5E8
- movs r0, 0x10
- b _0809C658
- .align 2, 0
-_0809C5E4: .4byte gMain
-_0809C5E8:
- ldr r0, _0809C600
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0809C612
- ldrh r1, [r2, 0x2C]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _0809C604
- movs r0, 0xA
- b _0809C658
- .align 2, 0
-_0809C600: .4byte gSaveBlock2
-_0809C604:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _0809C612
- movs r0, 0x9
- b _0809C658
-_0809C612:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809C624
- bl sub_809CD88
- movs r0, 0
- b _0809C658
-_0809C624:
- movs r3, 0
- mov r9, r3
- b _0809C656
-_0809C62A:
- movs r0, 0x1
- mov r9, r0
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0x5
- ble _0809C642
- lsls r0, r4, 24
- movs r1, 0xFA
- lsls r1, 24
-_0809C63C:
- adds r0, r1
- lsrs r4, r0, 24
- b _0809C648
-_0809C642:
- movs r3, 0x2
- mov r8, r3
-_0809C646:
- movs r4, 0
-_0809C648:
- mov r0, r9
- cmp r0, 0
- beq _0809C656
- mov r0, r8
- adds r1, r4, 0
- bl sub_809AF18
-_0809C656:
- mov r0, r9
-_0809C658:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809C464
-
- thumb_func_start sub_809C664
-sub_809C664: @ 809C664
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _0809C6D8
- ldrb r0, [r0]
- mov r10, r0
- ldr r7, _0809C6DC
- ldrb r4, [r7]
- ldr r2, _0809C6E0
- ldr r5, [r2]
- ldr r1, _0809C6E4
- adds r0, r5, r1
- movs r1, 0
- strb r1, [r0]
- ldr r3, _0809C6E8
- adds r0, r5, r3
- strb r1, [r0]
- adds r3, 0x5
- adds r0, r5, r3
- strb r1, [r0]
- mov r9, r1
- mov r8, r1
- ldr r1, _0809C6EC
- ldrh r3, [r1, 0x30]
- movs r0, 0x40
- ands r0, r3
- adds r6, r7, 0
- mov r12, r2
- adds r2, r1, 0
- cmp r0, 0
- beq _0809C6A8
- b _0809C81C
-_0809C6A8:
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _0809C6F0
- lsls r0, r4, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r4, r0, 24
- asrs r0, 24
- cmp r0, 0x6
- ble _0809C6C2
- movs r4, 0
-_0809C6C2:
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r6, r1]
- cmp r0, r1
- bne _0809C6D0
- b _0809C83C
-_0809C6D0:
- movs r2, 0x1
- mov r8, r2
- b _0809C842
- .align 2, 0
-_0809C6D8: .4byte gUnknown_020384E4
-_0809C6DC: .4byte gUnknown_020384E5
-_0809C6E0: .4byte gUnknown_083B6DB4
-_0809C6E4: .4byte 0x000011df
-_0809C6E8: .4byte 0x000011de
-_0809C6EC: .4byte gMain
-_0809C6F0:
- movs r0, 0x20
- ands r0, r3
- cmp r0, 0
- beq _0809C714
- ldrb r1, [r6]
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0
- beq _0809C714
- movs r3, 0x1
- mov r8, r3
- ldr r2, _0809C710
- adds r0, r5, r2
- strb r1, [r0]
- movs r4, 0
- b _0809C83C
- .align 2, 0
-_0809C710: .4byte 0x000011e2
-_0809C714:
- ldrh r1, [r2, 0x30]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _0809C748
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0
- bne _0809C73C
- movs r3, 0x1
- mov r8, r3
- mov r1, r12
- ldr r0, [r1]
- ldr r2, _0809C738
- adds r0, r2
- ldrb r4, [r0]
- b _0809C83C
- .align 2, 0
-_0809C738: .4byte 0x000011e2
-_0809C73C:
- movs r3, 0x6
- mov r8, r3
- movs r0, 0
- mov r10, r0
- movs r4, 0
- b _0809C83C
-_0809C748:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809C7D0
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0x6
- bne _0809C76E
- mov r1, r12
- ldr r0, [r1]
- ldrb r0, [r0, 0x5]
- cmp r0, 0x1
- bne _0809C768
- movs r0, 0x4
- b _0809C84C
-_0809C768:
- movs r2, 0x1
- mov r9, r2
- b _0809C7D0
-_0809C76E:
- bl sub_809CAB0
- lsls r0, 24
- cmp r0, 0
- beq _0809C7D0
- ldr r0, _0809C784
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809C788
- movs r0, 0x8
- b _0809C84C
- .align 2, 0
-_0809C784: .4byte gUnknown_020384E9
-_0809C788:
- movs r0, 0
- bl sub_809CE4C
- subs r0, 0x1
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bhi _0809C7D0
- lsls r0, 2
- ldr r1, _0809C7A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809C7A4: .4byte _0809C7A8
- .align 2, 0
-_0809C7A8:
- .4byte _0809C7BC
- .4byte _0809C7C0
- .4byte _0809C7C4
- .4byte _0809C7C8
- .4byte _0809C7CC
-_0809C7BC:
- movs r0, 0xB
- b _0809C84C
-_0809C7C0:
- movs r0, 0xC
- b _0809C84C
-_0809C7C4:
- movs r0, 0xD
- b _0809C84C
-_0809C7C8:
- movs r0, 0xE
- b _0809C84C
-_0809C7CC:
- movs r0, 0xF
- b _0809C84C
-_0809C7D0:
- ldr r2, _0809C7EC
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809C7F8
- ldr r0, _0809C7F0
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0x1
- bne _0809C7F4
- movs r0, 0x10
- b _0809C84C
- .align 2, 0
-_0809C7EC: .4byte gMain
-_0809C7F0: .4byte gUnknown_083B6DB4
-_0809C7F4:
- movs r3, 0x1
- mov r9, r3
-_0809C7F8:
- mov r0, r9
- cmp r0, 0
- beq _0809C80A
- movs r1, 0x6
- mov r8, r1
- movs r2, 0
- mov r10, r2
- movs r4, 0
- b _0809C83C
-_0809C80A:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809C83C
- bl sub_809CD88
- movs r0, 0
- b _0809C84C
-_0809C81C:
- lsls r0, r4, 24
- movs r3, 0xFF
- lsls r3, 24
- adds r0, r3
- lsrs r4, r0, 24
- cmp r0, 0
- bge _0809C82C
- movs r4, 0x6
-_0809C82C:
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r7, r1]
- cmp r0, r1
- beq _0809C83C
- movs r0, 0x1
- mov r8, r0
-_0809C83C:
- mov r1, r8
- cmp r1, 0
- beq _0809C84A
-_0809C842:
- mov r0, r10
- adds r1, r4, 0
- bl sub_809AF18
-_0809C84A:
- mov r0, r8
-_0809C84C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809C664
-
- thumb_func_start sub_809C85C
-sub_809C85C: @ 809C85C
- push {r4-r6,lr}
- ldr r0, _0809C894
- ldr r2, [r0]
- ldr r1, _0809C898
- adds r0, r2, r1
- movs r1, 0
- strb r1, [r0]
- ldr r3, _0809C89C
- adds r0, r2, r3
- strb r1, [r0]
- ldr r0, _0809C8A0
- adds r2, r0
- strb r1, [r2]
- ldr r1, _0809C8A4
- ldrh r3, [r1, 0x30]
- movs r0, 0x40
- ands r0, r3
- cmp r0, 0
- bne _0809C91A
- movs r0, 0x80
- ands r0, r3
- cmp r0, 0
- beq _0809C8A8
- movs r4, 0x1
- movs r0, 0
- movs r5, 0x2
- b _0809C922
- .align 2, 0
-_0809C894: .4byte gUnknown_083B6DB4
-_0809C898: .4byte 0x000011df
-_0809C89C: .4byte 0x000011de
-_0809C8A0: .4byte 0x000011e3
-_0809C8A4: .4byte gMain
-_0809C8A8:
- ldrh r2, [r1, 0x2C]
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- bne _0809C8CC
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- bne _0809C8DE
- ldr r0, _0809C8D0
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _0809C8E2
- movs r0, 0x80
- lsls r0, 2
- ands r0, r2
- cmp r0, 0
- beq _0809C8D4
-_0809C8CC:
- movs r0, 0xA
- b _0809C93E
- .align 2, 0
-_0809C8D0: .4byte gSaveBlock2
-_0809C8D4:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r2
- cmp r0, 0
- beq _0809C8E2
-_0809C8DE:
- movs r0, 0x9
- b _0809C93E
-_0809C8E2:
- ldrh r1, [r1, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809C8FA
- movs r0, 0
- bl sub_809A860
- bl sub_809CA8C
- movs r0, 0x7
- b _0809C93E
-_0809C8FA:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809C906
- movs r0, 0x10
- b _0809C93E
-_0809C906:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809C916
- bl sub_809CD88
- movs r0, 0
- b _0809C93E
-_0809C916:
- movs r4, 0
- b _0809C93C
-_0809C91A:
- movs r4, 0x1
- movs r0, 0x3
- movs r5, 0
- strb r4, [r2]
-_0809C922:
- cmp r4, 0
- beq _0809C93C
- lsls r6, r0, 24
- cmp r0, 0x2
- beq _0809C932
- movs r0, 0
- bl sub_809A860
-_0809C932:
- lsrs r0, r6, 24
- lsls r1, r5, 24
- lsrs r1, 24
- bl sub_809AF18
-_0809C93C:
- adds r0, r4, 0
-_0809C93E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809C85C
-
- thumb_func_start sub_809C944
-sub_809C944: @ 809C944
- push {r4-r7,lr}
- ldr r0, _0809C988
- ldrb r0, [r0]
- mov r12, r0
- ldr r7, _0809C98C
- ldrb r3, [r7]
- ldr r0, _0809C990
- ldr r1, [r0]
- ldr r0, _0809C994
- adds r5, r1, r0
- movs r0, 0
- strb r0, [r5]
- ldr r2, _0809C998
- adds r4, r1, r2
- strb r0, [r4]
- adds r2, 0x5
- adds r1, r2
- strb r0, [r1]
- ldr r6, _0809C99C
- ldrh r2, [r6, 0x30]
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- bne _0809CA14
- movs r0, 0x88
- ands r0, r2
- cmp r0, 0
- beq _0809C9A0
- movs r6, 0x1
- movs r0, 0x2
- mov r12, r0
- movs r3, 0
- b _0809CA2A
- .align 2, 0
-_0809C988: .4byte gUnknown_020384E4
-_0809C98C: .4byte gUnknown_020384E5
-_0809C990: .4byte gUnknown_083B6DB4
-_0809C994: .4byte 0x000011df
-_0809C998: .4byte 0x000011de
-_0809C99C: .4byte gMain
-_0809C9A0:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _0809C9C0
- movs r6, 0x1
- lsls r0, r3, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r3, r0, 24
- cmp r0, 0
- bge _0809CA2C
- movs r0, 0xFF
- strb r0, [r5]
- movs r3, 0x1
- b _0809CA2C
-_0809C9C0:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _0809C9E0
- movs r6, 0x1
- lsls r0, r3, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r3, r0, 24
- asrs r0, 24
- cmp r0, 0x1
- ble _0809CA2C
- strb r6, [r5]
- movs r3, 0
- b _0809CA2C
-_0809C9E0:
- ldrh r1, [r6, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809C9F4
- movs r0, 0x4
- cmp r3, 0
- bne _0809CA3A
- movs r0, 0x5
- b _0809CA3A
-_0809C9F4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809CA00
- movs r0, 0x10
- b _0809CA3A
-_0809CA00:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _0809CA10
- bl sub_809CD88
- movs r0, 0
- b _0809CA3A
-_0809CA10:
- movs r6, 0
- b _0809CA38
-_0809CA14:
- movs r6, 0x1
- movs r0, 0
- mov r12, r0
- movs r0, 0xFF
- strb r0, [r4]
- movs r0, 0
- ldrsb r0, [r7, r0]
- movs r3, 0x1D
- cmp r0, 0
- bne _0809CA2A
- movs r3, 0x18
-_0809CA2A:
- strb r6, [r1]
-_0809CA2C:
- cmp r6, 0
- beq _0809CA38
- mov r0, r12
- adds r1, r3, 0
- bl sub_809AF18
-_0809CA38:
- adds r0, r6, 0
-_0809CA3A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809C944
-
- thumb_func_start sub_809CA40
-sub_809CA40: @ 809CA40
- push {r4,r5,lr}
- movs r3, 0
- ldr r0, _0809CA6C
- ldr r1, [r0]
- adds r4, r0, 0
- cmp r1, 0
- beq _0809CA84
- ldr r5, _0809CA70
-_0809CA50:
- lsls r0, r3, 3
- adds r2, r0, r4
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r1, r0
- bne _0809CA74
- ldr r0, [r2]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- b _0809CA86
- .align 2, 0
-_0809CA6C: .4byte gUnknown_083BBBD4
-_0809CA70: .4byte gUnknown_020384E4
-_0809CA74:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r0, r3, 3
- adds r0, r4
- ldr r0, [r0]
- cmp r0, 0
- bne _0809CA50
-_0809CA84:
- movs r0, 0
-_0809CA86:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809CA40
-
- thumb_func_start sub_809CA8C
-sub_809CA8C: @ 809CA8C
- push {lr}
- bl sub_809CDCC
- movs r0, 0x9
- bl sub_809CDEC
- movs r0, 0xA
- bl sub_809CDEC
- movs r0, 0xB
- bl sub_809CDEC
- movs r0, 0
- bl sub_809CDEC
- pop {r0}
- bx r0
- thumb_func_end sub_809CA8C
-
- thumb_func_start sub_809CAB0
-sub_809CAB0: @ 809CAB0
- push {lr}
- bl sub_809CDCC
- bl sub_809AB8C
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _0809CAD4
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0x1
- beq _0809CADE
- cmp r0, 0x1
- bgt _0809CAD8
- cmp r0, 0
- beq _0809CAEA
- b _0809CB24
- .align 2, 0
-_0809CAD4: .4byte gUnknown_083B6DB4
-_0809CAD8:
- cmp r0, 0x2
- beq _0809CAF6
- b _0809CB24
-_0809CADE:
- cmp r1, 0
- beq _0809CB24
- movs r0, 0x1
- bl sub_809CDEC
- b _0809CB28
-_0809CAEA:
- cmp r1, 0
- beq _0809CB24
- movs r0, 0x2
- bl sub_809CDEC
- b _0809CB28
-_0809CAF6:
- ldr r0, _0809CB0C
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809CB18
- cmp r1, 0
- beq _0809CB10
- movs r0, 0x4
- bl sub_809CDEC
- b _0809CB28
- .align 2, 0
-_0809CB0C: .4byte gUnknown_020384E6
-_0809CB10:
- movs r0, 0x5
- bl sub_809CDEC
- b _0809CB28
-_0809CB18:
- cmp r1, 0
- beq _0809CB24
- movs r0, 0x3
- bl sub_809CDEC
- b _0809CB28
-_0809CB24:
- movs r0, 0
- b _0809CB6E
-_0809CB28:
- movs r0, 0x6
- bl sub_809CDEC
- ldr r0, _0809CB4C
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- cmp r0, 0x2
- bne _0809CB5A
- ldr r0, _0809CB50
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _0809CB54
- movs r0, 0x2
- bl sub_809CDEC
- b _0809CB5A
- .align 2, 0
-_0809CB4C: .4byte gUnknown_083B6DB4
-_0809CB50: .4byte gUnknown_020384E4
-_0809CB54:
- movs r0, 0x1
- bl sub_809CDEC
-_0809CB5A:
- movs r0, 0x8
- bl sub_809CDEC
- movs r0, 0x7
- bl sub_809CDEC
- movs r0, 0
- bl sub_809CDEC
- movs r0, 0x1
-_0809CB6E:
- pop {r1}
- bx r1
- thumb_func_end sub_809CAB0
-
- thumb_func_start sub_809CB74
-sub_809CB74: @ 809CB74
- ldr r1, _0809CB90
- ldr r1, [r1]
- movs r2, 0x8E
- lsls r2, 5
- adds r1, r2
- ldr r2, [r1]
- ldrh r2, [r2, 0x20]
- strh r2, [r0, 0x20]
- ldr r1, [r1]
- ldrh r1, [r1, 0x22]
- adds r1, 0x14
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_0809CB90: .4byte gUnknown_083B6DB4
- thumb_func_end sub_809CB74
-
- thumb_func_start unref_sub_809CB94
-unref_sub_809CB94: @ 809CB94
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _0809CBBC
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809CBC8
- ldr r2, _0809CBC0
- ldr r0, _0809CBC4
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x64
- muls r1, r0
- adds r1, r2
- adds r0, r4, 0
- movs r2, 0x50
- bl memcpy
- b _0809CBF6
- .align 2, 0
-_0809CBBC: .4byte gUnknown_020384E4
-_0809CBC0: .4byte gPlayerParty
-_0809CBC4: .4byte gUnknown_020384E5
-_0809CBC8:
- bl get_preferred_box
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _0809CBFC
- ldr r1, _0809CC00
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- lsls r2, r0, 2
- adds r2, r0
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 5
- adds r1, r0
- adds r1, r3
- adds r1, 0x4
- adds r0, r4, 0
- movs r2, 0x50
- bl memcpy
-_0809CBF6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CBFC: .4byte gPokemonStorage
-_0809CC00: .4byte gUnknown_020384E5
- thumb_func_end unref_sub_809CB94
-
- thumb_func_start sub_809CC04
-sub_809CC04: @ 809CC04
- push {r4-r7,lr}
- sub sp, 0x34
- mov r1, sp
- ldr r0, _0809CCB0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- add r4, sp, 0x18
- adds r1, r4, 0
- ldr r0, _0809CCB4
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r0, sp
- bl LoadSpriteSheets
- adds r0, r4, 0
- bl LoadSpritePalettes
- ldr r0, _0809CCB8
- bl IndexOfSpritePaletteTag
- ldr r1, _0809CCBC
- ldr r6, [r1]
- ldr r4, _0809CCC0
- adds r7, r6, r4
- strb r0, [r7]
- ldr r0, _0809CCC4
- bl IndexOfSpritePaletteTag
- ldr r5, _0809CCC8
- adds r1, r6, r5
- strb r0, [r1]
- ldr r0, _0809CCCC
- ldrb r0, [r0]
- ldr r1, _0809CCD0
- ldrb r1, [r1]
- add r4, sp, 0x30
- mov r5, sp
- adds r5, 0x32
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_809AACC
- ldr r0, _0809CCD4
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0
- ldrsh r2, [r5, r3]
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0809CCE4
- movs r5, 0x8E
- lsls r5, 5
- adds r4, r6, r5
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r0, _0809CCD8
- adds r1, r0
- str r1, [r4]
- ldr r0, _0809CCDC
- ldrb r0, [r0]
- adds r0, r7, r0
- ldrb r2, [r0]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r0, _0809CCE0
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809CCEE
- ldr r0, [r4]
- movs r1, 0x3
- bl StartSpriteAnim
- b _0809CCEE
- .align 2, 0
-_0809CCB0: .4byte gHandCursorSpriteSheets
-_0809CCB4: .4byte gHandCursorSpritePalettes
-_0809CCB8: .4byte 0x0000dac6
-_0809CCBC: .4byte gUnknown_083B6DB4
-_0809CCC0: .4byte 0x000011e4
-_0809CCC4: .4byte 0x0000dad1
-_0809CCC8: .4byte 0x000011e5
-_0809CCCC: .4byte gUnknown_020384E4
-_0809CCD0: .4byte gUnknown_020384E5
-_0809CCD4: .4byte gSpriteTemplate_83BBC70
-_0809CCD8: .4byte gSprites
-_0809CCDC: .4byte gUnknown_020384E9
-_0809CCE0: .4byte gUnknown_020384E6
-_0809CCE4:
- movs r0, 0x8E
- lsls r0, 5
- adds r1, r6, r0
- movs r0, 0
- str r0, [r1]
-_0809CCEE:
- ldr r0, _0809CD00
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _0809CD04
- movs r3, 0xC
- movs r5, 0x1
- b _0809CD08
- .align 2, 0
-_0809CD00: .4byte gUnknown_020384E4
-_0809CD04:
- movs r3, 0x14
- movs r5, 0x2
-_0809CD08:
- ldr r0, _0809CD58
- movs r1, 0
- movs r2, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _0809CD6C
- ldr r0, _0809CD5C
- ldr r0, [r0]
- ldr r1, _0809CD60
- adds r4, r0, r1
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r0, _0809CD64
- adds r1, r0
- str r1, [r4]
- lsls r3, r5, 2
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldr r0, _0809CD68
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _0809CD78
- ldr r0, [r4]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _0809CD78
- .align 2, 0
-_0809CD58: .4byte gSpriteTemplate_83BBC88
-_0809CD5C: .4byte gUnknown_083B6DB4
-_0809CD60: .4byte 0x000011c4
-_0809CD64: .4byte gSprites
-_0809CD68: .4byte gUnknown_020384E4
-_0809CD6C:
- ldr r0, _0809CD80
- ldr r0, [r0]
- ldr r2, _0809CD84
- adds r0, r2
- movs r1, 0
- str r1, [r0]
-_0809CD78:
- add sp, 0x34
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CD80: .4byte gUnknown_083B6DB4
-_0809CD84: .4byte 0x000011c4
- thumb_func_end sub_809CC04
-
- thumb_func_start sub_809CD88
-sub_809CD88: @ 809CD88
- push {lr}
- ldr r2, _0809CDC0
- movs r1, 0
- ldrb r0, [r2]
- cmp r0, 0
- bne _0809CD96
- movs r1, 0x1
-_0809CD96:
- strb r1, [r2]
- ldr r0, _0809CDC4
- ldr r0, [r0]
- movs r3, 0x8E
- lsls r3, 5
- adds r1, r0, r3
- ldr r3, [r1]
- ldr r1, _0809CDC8
- adds r0, r1
- ldrb r2, [r2]
- adds r0, r2
- ldrb r1, [r0]
- lsls r1, 4
- ldrb r2, [r3, 0x5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r3, 0x5]
- pop {r0}
- bx r0
- .align 2, 0
-_0809CDC0: .4byte gUnknown_020384E9
-_0809CDC4: .4byte gUnknown_083B6DB4
-_0809CDC8: .4byte 0x000011e4
- thumb_func_end sub_809CD88
-
- thumb_func_start sub_809CDCC
-sub_809CDCC: @ 809CDCC
- ldr r0, _0809CDE0
- ldr r0, [r0]
- ldr r2, _0809CDE4
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r1, _0809CDE8
- adds r0, r1
- strb r2, [r0]
- bx lr
- .align 2, 0
-_0809CDE0: .4byte gUnknown_083B6DB4
-_0809CDE4: .4byte 0x000011b8
-_0809CDE8: .4byte 0x000011b9
- thumb_func_end sub_809CDCC
-
- thumb_func_start sub_809CDEC
-sub_809CDEC: @ 809CDEC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _0809CE3C
- ldr r5, [r0]
- ldr r0, _0809CE40
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x6
- bhi _0809CE36
- adds r1, r0, 0
- lsls r1, 3
- movs r2, 0x8C
- lsls r2, 5
- adds r1, r2
- adds r1, r5, r1
- ldr r2, _0809CE44
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- str r3, [r1, 0x4]
- bl sub_8072CA4
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0x7
- lsrs r1, 3
- ldr r2, _0809CE48
- adds r0, r5, r2
- ldrb r2, [r0]
- cmp r1, r2
- bls _0809CE30
- strb r1, [r0]
-_0809CE30:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_0809CE36:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CE3C: .4byte gUnknown_083B6DB4
-_0809CE40: .4byte 0x000011b8
-_0809CE44: .4byte gUnknown_083BBCA0
-_0809CE48: .4byte 0x000011b9
- thumb_func_end sub_809CDEC
-
- thumb_func_start sub_809CE4C
-sub_809CE4C: @ 809CE4C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _0809CE70
- ldr r1, [r0]
- ldr r3, _0809CE74
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r2, r0
- bcs _0809CE7C
- lsls r0, r2, 3
- ldr r2, _0809CE78
- adds r1, r2
- adds r1, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- b _0809CE80
- .align 2, 0
-_0809CE70: .4byte gUnknown_083B6DB4
-_0809CE74: .4byte 0x000011b8
-_0809CE78: .4byte 0x00001184
-_0809CE7C:
- movs r0, 0x1
- negs r0, r0
-_0809CE80:
- pop {r1}
- bx r1
- thumb_func_end sub_809CE4C
-
- thumb_func_start sub_809CE84
-sub_809CE84: @ 809CE84
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- ldr r0, _0809CF20
- ldr r4, [r0]
- ldr r0, _0809CF24
- adds r0, r4
- mov r8, r0
- ldrb r0, [r0]
- lsls r0, 1
- movs r1, 0xE
- subs r1, r0
- ldr r3, _0809CF28
- adds r6, r4, r3
- movs r0, 0
- mov r10, r0
- strh r1, [r6]
- ldr r1, _0809CF2C
- adds r1, r4
- mov r9, r1
- ldrb r1, [r1]
- movs r0, 0x1C
- subs r0, r1
- subs r3, 0x2
- adds r5, r4, r3
- strh r0, [r5]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r6]
- movs r2, 0x1D
- movs r3, 0xF
- bl MenuDrawTextWindow
- ldrb r0, [r5]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r6]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- mov r3, r8
- ldrb r2, [r3]
- movs r3, 0x8C
- lsls r3, 5
- adds r4, r3
- adds r3, r4, 0
- bl PrintMenuItems
- ldrb r1, [r5]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r6]
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- mov r4, r8
- ldrb r3, [r4]
- mov r0, r10
- str r0, [sp]
- mov r4, r9
- ldrb r0, [r4]
- str r0, [sp, 0x4]
- movs r0, 0
- bl InitMenu
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809CF20: .4byte gUnknown_083B6DB4
-_0809CF24: .4byte 0x000011b8
-_0809CF28: .4byte 0x000011bc
-_0809CF2C: .4byte 0x000011b9
- thumb_func_end sub_809CE84
-
- thumb_func_start sub_809CF30
-sub_809CF30: @ 809CF30
- push {r4,r5,lr}
- movs r5, 0x2
- negs r5, r5
- ldr r4, _0809CF6C
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0809CF86
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809CF52
- movs r0, 0x5
- bl PlaySE
- adds r5, 0x1
-_0809CF52:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809CF70
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _0809CF8E
- .align 2, 0
-_0809CF6C: .4byte gMain
-_0809CF70:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809CF8E
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _0809CF8E
-_0809CF86:
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r5, r0, 24
-_0809CF8E:
- movs r0, 0x2
- negs r0, r0
- cmp r5, r0
- beq _0809CFB2
- bl sub_8072DEC
- ldr r0, _0809CFD0
- ldr r1, [r0]
- ldr r2, _0809CFD4
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x2
- adds r1, r2
- ldrb r1, [r1]
- movs r2, 0x1D
- movs r3, 0xF
- bl MenuZeroFillWindowRect
-_0809CFB2:
- cmp r5, 0
- blt _0809CFC4
- ldr r0, _0809CFD0
- ldr r0, [r0]
- lsls r1, r5, 3
- ldr r2, _0809CFD8
- adds r0, r2
- adds r0, r1
- ldr r5, [r0]
-_0809CFC4:
- lsls r0, r5, 16
- asrs r0, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0809CFD0: .4byte gUnknown_083B6DB4
-_0809CFD4: .4byte 0x000011ba
-_0809CFD8: .4byte 0x00001184
- thumb_func_end sub_809CF30
-
- thumb_func_start sub_809CFDC
-sub_809CFDC: @ 809CFDC
- ldr r3, _0809CFEC
- str r0, [r3]
- str r1, [r0]
- movs r1, 0
- strb r2, [r0, 0x5]
- strb r1, [r0, 0x4]
- bx lr
- .align 2, 0
-_0809CFEC: .4byte gUnknown_020384EC
- thumb_func_end sub_809CFDC
-
- thumb_func_start sub_809CFF0
-sub_809CFF0: @ 809CFF0
- push {r4,r5,lr}
- ldr r2, _0809D030
- ldr r1, [r2]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _0809D02A
- movs r4, 0
- ldrb r1, [r1, 0x4]
- cmp r4, r1
- bcs _0809D022
- adds r5, r2, 0
-_0809D006:
- ldr r0, [r5]
- lsls r1, r4, 4
- ldr r0, [r0]
- adds r0, r1
- ldr r1, [r0, 0xC]
- bl _call_via_r1
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, [r5]
- ldrb r0, [r0, 0x4]
- cmp r4, r0
- bcc _0809D006
-_0809D022:
- ldr r0, _0809D030
- ldr r1, [r0]
- movs r0, 0
- strb r0, [r1, 0x4]
-_0809D02A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D030: .4byte gUnknown_020384EC
- thumb_func_end sub_809CFF0
-
- thumb_func_start sub_809D034
-sub_809D034: @ 809D034
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- mov r9, r3
- ldr r0, [sp, 0x20]
- ldr r3, [sp, 0x24]
- ldr r4, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 16
- lsrs r6, r2, 16
- lsls r0, 16
- lsrs r0, 16
- mov r12, r0
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r0, _0809D0A4
- ldr r2, [r0]
- ldrb r0, [r2, 0x4]
- adds r1, r0, 0
- ldrb r7, [r2, 0x5]
- cmp r1, r7
- bcs _0809D0AC
- adds r0, 0x1
- strb r0, [r2, 0x4]
- lsls r0, r1, 4
- ldr r2, [r2]
- adds r2, r0
- lsls r0, r4, 1
- strh r0, [r2, 0x8]
- lsls r0, r6, 6
- add r0, r8
- mov r4, r10
- lsls r1, r4, 1
- adds r0, r1
- str r0, [r2, 0x4]
- lsls r0, r3, 6
- add r0, r9
- mov r7, r12
- lsls r1, r7, 1
- adds r0, r1
- str r0, [r2]
- strh r5, [r2, 0xA]
- ldr r0, _0809D0A8
- str r0, [r2, 0xC]
- movs r0, 0x1
- b _0809D0AE
- .align 2, 0
-_0809D0A4: .4byte gUnknown_020384EC
-_0809D0A8: .4byte sub_809D0BC
-_0809D0AC:
- movs r0, 0
-_0809D0AE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809D034
-
- thumb_func_start sub_809D0BC
-sub_809D0BC: @ 809D0BC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r6, [r0]
- ldr r5, [r0, 0x4]
- ldrh r7, [r0, 0xA]
- ldrh r2, [r0, 0x8]
- movs r4, 0
- cmp r4, r7
- bcs _0809D0F2
- lsrs r2, 1
- mov r8, r2
- ldr r0, _0809D100
- mov r9, r0
-_0809D0DA:
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r9
- ands r2, r3
- bl CpuSet
- adds r5, 0x40
- adds r6, 0x40
- adds r4, 0x1
- cmp r4, r7
- bcc _0809D0DA
-_0809D0F2:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D100: .4byte 0x001fffff
- thumb_func_end sub_809D0BC
-
- thumb_func_start sub_809D104
-sub_809D104: @ 809D104
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, [sp, 0x18]
- ldr r4, [sp, 0x1C]
- ldr r6, [sp, 0x20]
- mov r8, r6
- ldr r6, [sp, 0x24]
- lsls r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r5, 16
- lsls r4, 16
- mov r7, r8
- lsls r7, 16
- lsls r6, 16
- lsrs r6, 16
- lsrs r4, 10
- adds r3, r4
- lsrs r5, 15
- adds r5, r3, r5
- lsls r3, r2, 6
- adds r3, r0, r3
- lsrs r1, 15
- adds r4, r3, r1
- adds r2, r6
- lsls r2, 6
- adds r6, r0, r2
- lsrs r2, r7, 15
- cmp r4, r6
- bcs _0809D15C
- lsrs r7, r2, 1
- ldr r0, _0809D168
- mov r8, r0
-_0809D148:
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, r8
- ands r2, r7
- bl CpuSet
- adds r4, 0x40
- adds r5, 0x40
- cmp r4, r6
- bcc _0809D148
-_0809D15C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D168: .4byte 0x001fffff
- thumb_func_end sub_809D104
-
- thumb_func_start sub_809D16C
-sub_809D16C: @ 809D16C
- push {r4-r7,lr}
- mov r12, r0
- ldr r0, [sp, 0x14]
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- lsls r3, 16
- lsrs r3, 16
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _0809D1B4
- ldr r1, [r0]
- ldrb r0, [r1, 0x4]
- adds r2, r0, 0
- ldrb r7, [r1, 0x5]
- cmp r2, r7
- bcs _0809D1BC
- adds r0, 0x1
- strb r0, [r1, 0x4]
- lsls r0, r2, 4
- ldr r1, [r1]
- adds r1, r0
- lsls r0, r3, 1
- strh r0, [r1, 0x8]
- lsls r0, r4, 5
- adds r0, r6
- lsls r0, 1
- add r0, r12
- str r0, [r1, 0x4]
- strh r5, [r1, 0xA]
- ldr r0, _0809D1B8
- str r0, [r1, 0xC]
- movs r0, 0x1
- b _0809D1BE
- .align 2, 0
-_0809D1B4: .4byte gUnknown_020384EC
-_0809D1B8: .4byte sub_809D1C4
-_0809D1BC:
- movs r0, 0
-_0809D1BE:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809D16C
-
- thumb_func_start sub_809D1C4
-sub_809D1C4: @ 809D1C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r6, r0, 0
- movs r0, 0
- ldrh r1, [r6, 0xA]
- cmp r0, r1
- bcs _0809D252
- movs r7, 0x80
- lsls r7, 5
- mov r5, sp
- ldr r2, _0809D210
- mov r8, r2
- movs r1, 0x81
- lsls r1, 24
- mov r10, r1
-_0809D1EA:
- ldr r2, [r6, 0x4]
- ldrh r3, [r6, 0x8]
- mov r12, r2
- adds r0, 0x1
- mov r9, r0
- cmp r3, r7
- bhi _0809D214
- movs r0, 0
- strh r0, [r5]
- mov r2, sp
- mov r0, r8
- str r2, [r0]
- mov r1, r12
- str r1, [r0, 0x4]
- lsrs r0, r3, 1
- mov r2, r10
- orrs r0, r2
- mov r1, r8
- b _0809D23C
- .align 2, 0
-_0809D210: .4byte 0x040000d4
-_0809D214:
- movs r4, 0
- strh r4, [r5]
- ldr r1, _0809D264
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _0809D268
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r7
- subs r3, r7
- cmp r3, r7
- bhi _0809D214
- strh r4, [r5]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r10
- orrs r0, r2
-_0809D23C:
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, r12
- adds r0, 0x40
- str r0, [r6, 0x4]
- mov r1, r9
- lsls r0, r1, 16
- lsrs r0, 16
- ldrh r2, [r6, 0xA]
- cmp r0, r2
- bcc _0809D1EA
-_0809D252:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D264: .4byte 0x040000d4
-_0809D268: .4byte 0x81000800
- thumb_func_end sub_809D1C4
-
- thumb_func_start unref_sub_809D26C
-unref_sub_809D26C: @ 809D26C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- adds r6, r3, 0
- ldr r3, [sp, 0x2C]
- lsls r0, 16
- lsrs r0, 16
- lsls r3, 24
- lsrs r3, 24
- mov r8, sp
- ldr r4, _0809D2E0
- str r4, [sp]
- ldr r5, _0809D2E4
- lsls r4, r0, 2
- adds r4, r5
- ldr r4, [r4]
- str r4, [sp, 0x4]
- ldr r4, _0809D2E8
- str r4, [sp, 0x8]
- ldr r4, _0809D2EC
- str r4, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r1, _0809D2F0
- adds r0, r1
- ldr r4, _0809D2F4
- adds r1, r4, 0
- ldrb r0, [r0]
- adds r1, r0
- mov r0, r8
- strh r1, [r0, 0x14]
- lsls r2, 16
- asrs r2, 16
- lsls r6, 16
- asrs r6, 16
- mov r0, sp
- adds r1, r2, 0
- adds r2, r6, 0
- bl sub_809D710
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _0809D2F8
- adds r0, r1
- bl sub_809D638
- adds r0, r4, 0
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D2E0: .4byte gOamData_83BC5E8
-_0809D2E4: .4byte gMonIconTable
-_0809D2E8: .4byte gSpriteAnimTable_83BC62C
-_0809D2EC: .4byte gSpriteAffineAnimTable_83BC660
-_0809D2F0: .4byte gMonIconPaletteIndices
-_0809D2F4: .4byte 0x0000dac0
-_0809D2F8: .4byte gSprites
- thumb_func_end unref_sub_809D26C
-
- thumb_func_start sub_809D2FC
-sub_809D2FC: @ 809D2FC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x30
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, [sp, 0x48]
- ldr r1, [sp, 0x4C]
- lsls r4, 16
- lsrs r4, 16
- lsls r2, 16
- lsrs r7, r2, 16
- lsls r3, 16
- lsrs r6, r3, 16
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _0809D38C
- str r0, [sp, 0x18]
- adds r0, r4, 0
- bl sub_809D4F4
- str r0, [sp, 0x1C]
- ldr r0, _0809D390
- str r0, [sp, 0x20]
- ldr r0, _0809D394
- str r0, [sp, 0x24]
- str r5, [sp, 0x28]
- ldr r0, _0809D398
- adds r0, r4, r0
- ldr r1, _0809D39C
- adds r5, r1, 0
- ldrb r0, [r0]
- adds r1, r5, r0
- add r0, sp, 0x2C
- strh r1, [r0]
- add r1, sp, 0x18
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r0, 0xCE
- lsls r0, 1
- cmp r4, r0
- bls _0809D35A
- mov r0, sp
- strh r5, [r0, 0x14]
-_0809D35A:
- lsls r1, r7, 16
- asrs r1, 16
- lsls r2, r6, 16
- asrs r2, 16
- mov r0, sp
- mov r3, r8
- bl sub_809D710
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _0809D3A0
- adds r0, r1
- bl sub_809D638
- adds r0, r4, 0
- add sp, 0x30
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D38C: .4byte gOamData_83BC5E8
-_0809D390: .4byte gSpriteAnimTable_83BC62C
-_0809D394: .4byte gSpriteAffineAnimTable_83BC660
-_0809D398: .4byte gMonIconPaletteIndices
-_0809D39C: .4byte 0x0000dac0
-_0809D3A0: .4byte gSprites
- thumb_func_end sub_809D2FC
-
- thumb_func_start sub_809D3A4
-sub_809D3A4: @ 809D3A4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- adds r6, r3, 0
- ldr r3, [sp, 0x2C]
- lsls r0, 16
- lsrs r0, 16
- lsls r3, 24
- lsrs r3, 24
- mov r8, sp
- ldr r4, _0809D418
- str r4, [sp]
- ldr r5, _0809D41C
- lsls r4, r0, 2
- adds r4, r5
- ldr r4, [r4]
- str r4, [sp, 0x4]
- ldr r4, _0809D420
- str r4, [sp, 0x8]
- ldr r4, _0809D424
- str r4, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r1, _0809D428
- adds r0, r1
- ldr r4, _0809D42C
- adds r1, r4, 0
- ldrb r0, [r0]
- adds r1, r0
- mov r0, r8
- strh r1, [r0, 0x14]
- lsls r2, 16
- asrs r2, 16
- lsls r6, 16
- asrs r6, 16
- mov r0, sp
- adds r1, r2, 0
- adds r2, r6, 0
- bl sub_809D710
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _0809D430
- adds r0, r1
- bl sub_809D638
- adds r0, r4, 0
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D418: .4byte gOamData_83BC5E8
-_0809D41C: .4byte gMonIconTable
-_0809D420: .4byte gSpriteAnimTable_83BC62C
-_0809D424: .4byte gSpriteAffineAnimTable_83BC660
-_0809D428: .4byte gMonIconPaletteIndices
-_0809D42C: .4byte 0x0000dac0
-_0809D430: .4byte gSprites
- thumb_func_end sub_809D3A4
-
- thumb_func_start mon_icon_convert_unown_species_id
-mon_icon_convert_unown_species_id: @ 809D434
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, SPECIES_UNOWN
- bne _0809D45E
- adds r0, r1, 0
- bl sub_809D474
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- bne _0809D450
- movs r0, SPECIES_UNOWN
- b _0809D45A
-_0809D450:
- movs r1, 0xCE
- lsls r1, 1
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
-_0809D45A:
- adds r1, r0, 0
- b _0809D46C
-_0809D45E:
- movs r0, 0xCE
- lsls r0, 1
- adds r1, r2, 0
- cmp r1, r0
- bls _0809D46C
- movs r1, 0x82
- lsls r1, 1
-_0809D46C:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end mon_icon_convert_unown_species_id
-
- thumb_func_start sub_809D474
-sub_809D474: @ 809D474
- push {lr}
- adds r2, r0, 0
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r2
- lsrs r0, 18
- movs r1, 0xC0
- lsls r1, 10
- ands r1, r2
- lsrs r1, 12
- orrs r0, r1
- movs r1, 0xC0
- lsls r1, 2
- ands r1, r2
- lsrs r1, 6
- orrs r0, r1
- movs r1, 0x3
- ands r1, r2
- orrs r0, r1
- movs r1, 0x1C
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_809D474
-
- thumb_func_start sub_809D4A8
-sub_809D4A8: @ 809D4A8
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- mov r1, sp
- bl sub_80A2D64
- lsls r0, 16
- lsrs r0, 16
- cmp r0, SPECIES_UNOWN
- bne _0809D4DE
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0
- bne _0809D4CE
- mov r1, sp
- adds r0, SPECIES_UNOWN
- b _0809D4D6
-_0809D4CE:
- mov r1, sp
- movs r2, 0xCE
- lsls r2, 1
- adds r0, r2
-_0809D4D6:
- strh r0, [r1]
- mov r0, sp
- ldrh r0, [r0]
- b _0809D4EA
-_0809D4DE:
- adds r0, r4, 0
- movs r1, 0
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- lsrs r0, 16
-_0809D4EA:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809D4A8
-
- thumb_func_start sub_809D4F4
-sub_809D4F4: @ 809D4F4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- ldr r1, _0809D50C
- lsrs r0, 14
- adds r0, r1
- ldr r0, [r0]
- pop {r1}
- bx r1
- .align 2, 0
-_0809D50C: .4byte gMonIconTable
- thumb_func_end sub_809D4F4
-
- thumb_func_start sub_809D510
-sub_809D510: @ 809D510
- push {lr}
- bl sub_809D7E8
- pop {r0}
- bx r0
- thumb_func_end sub_809D510
-
- thumb_func_start sub_809D51C
-sub_809D51C: @ 809D51C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0809D53C
-_0809D522:
- lsls r0, r4, 3
- adds r0, r5
- bl LoadSpritePalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0809D522
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D53C: .4byte gMonIconPaletteTable
- thumb_func_end sub_809D51C
-
- thumb_func_start unref_sub_809D540
-unref_sub_809D540: @ 809D540
- push {r4,lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _0809D552
- movs r1, 0x82
- lsls r1, 1
-_0809D552:
- ldr r0, _0809D578
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r1, _0809D57C
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0809D572
- adds r0, r4, 0
- bl LoadSpritePalette
-_0809D572:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D578: .4byte gMonIconPaletteIndices
-_0809D57C: .4byte gMonIconPaletteTable
- thumb_func_end unref_sub_809D540
-
- thumb_func_start sub_809D580
-sub_809D580: @ 809D580
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0809D5AC
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _0809D5B0
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0809D5A6
- adds r0, r4, 0
- bl LoadSpritePalette
-_0809D5A6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D5AC: .4byte gMonIconPaletteIndices
-_0809D5B0: .4byte gMonIconPaletteTable
- thumb_func_end sub_809D580
-
- thumb_func_start unref_sub_809D5B4
-unref_sub_809D5B4: @ 809D5B4
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0809D5D4
-_0809D5BA:
- lsls r0, r4, 3
- adds r0, r5
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x5
- bls _0809D5BA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D5D4: .4byte gMonIconPaletteTable
- thumb_func_end unref_sub_809D5B4
-
- thumb_func_start unref_sub_809D5D8
-unref_sub_809D5D8: @ 809D5D8
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bls _0809D5EA
- movs r1, 0x82
- lsls r1, 1
-_0809D5EA:
- ldr r0, _0809D600
- adds r0, r1, r0
- ldrb r0, [r0]
- ldr r1, _0809D604
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_0809D600: .4byte gMonIconPaletteIndices
-_0809D604: .4byte gMonIconPaletteTable
- thumb_func_end unref_sub_809D5D8
-
- thumb_func_start sub_809D608
-sub_809D608: @ 809D608
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _0809D624
- adds r0, r1
- ldrb r0, [r0]
- ldr r1, _0809D628
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x4]
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_0809D624: .4byte gMonIconPaletteIndices
-_0809D628: .4byte gMonIconPaletteTable
- thumb_func_end sub_809D608
-
- thumb_func_start sub_809D62C
-sub_809D62C: @ 809D62C
- push {lr}
- bl sub_809D638
- pop {r0}
- bx r0
- thumb_func_end sub_809D62C
-
- thumb_func_start sub_809D638
-sub_809D638: @ 809D638
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- movs r7, 0
- adds r6, r4, 0
- adds r6, 0x2C
- ldrb r2, [r6]
- movs r0, 0x3F
- mov r9, r0
- ands r0, r2
- cmp r0, 0
- bne _0809D6EC
- movs r1, 0x2A
- adds r1, r4
- mov r8, r1
- ldrb r1, [r1]
- ldr r0, [r4, 0x8]
- lsls r1, 2
- adds r1, r0
- adds r5, r4, 0
- adds r5, 0x2B
- ldrb r0, [r5]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- movs r1, 0
- ldrsh r3, [r0, r1]
- movs r0, 0x2
- negs r0, r0
- cmp r3, r0
- beq _0809D682
- adds r0, 0x1
- cmp r3, r0
- bne _0809D686
- b _0809D700
-_0809D682:
- strb r7, [r5]
- b _0809D700
-_0809D686:
- ldr r2, _0809D6E4
- ldrb r1, [r4, 0x3]
- lsrs r1, 6
- lsls r1, 1
- ldrb r0, [r4, 0x1]
- lsrs r0, 6
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrh r2, [r1]
- adds r1, r2, 0
- muls r1, r3
- ldr r0, [r4, 0xC]
- adds r0, r1
- ldrh r1, [r4, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r3, _0809D6E8
- adds r1, r3
- bl RequestSpriteCopy
- mov r0, r8
- ldrb r1, [r0]
- ldr r0, [r4, 0x8]
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r5]
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r0, 10
- lsrs r0, 26
- mov r1, r9
- ands r1, r0
- ldrb r2, [r6]
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ldrb r7, [r5]
- b _0809D700
- .align 2, 0
-_0809D6E4: .4byte gSpriteImageSizes
-_0809D6E8: .4byte 0x06010000
-_0809D6EC:
- lsls r0, r2, 26
- lsrs r0, 26
- subs r0, 0x1
- movs r1, 0x3F
- ands r0, r1
- movs r1, 0x40
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r6]
-_0809D700:
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809D638
-
- thumb_func_start sub_809D710
-sub_809D710: @ 809D710
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x38
- mov r9, r0
- adds r4, r1, 0
- adds r5, r2, 0
- mov r8, r3
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r0, 0
- str r0, [sp, 0x30]
- ldr r2, _0809D7D8
- mov r0, r9
- ldr r6, [r0]
- ldrb r1, [r6, 0x3]
- lsrs r1, 6
- lsls r1, 1
- ldrb r0, [r6, 0x1]
- lsrs r0, 6
- lsls r0, 3
- adds r1, r0
- adds r1, r2
- ldrh r2, [r1]
- ldr r1, _0809D7DC
- add r3, sp, 0x30
- ldr r0, [r3, 0x4]
- ands r0, r1
- orrs r0, r2
- str r0, [r3, 0x4]
- add r1, sp, 0x18
- ldr r0, _0809D7E0
- strh r0, [r1]
- mov r0, r9
- ldrh r2, [r0, 0x14]
- mov r0, sp
- adds r0, 0x1A
- strh r2, [r0]
- str r6, [sp, 0x1C]
- mov r2, r9
- ldr r0, [r2, 0x8]
- str r0, [sp, 0x20]
- str r3, [sp, 0x24]
- ldr r0, [r2, 0xC]
- str r0, [sp, 0x28]
- ldr r0, [r2, 0x10]
- str r0, [sp, 0x2C]
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- mov r3, r8
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _0809D7E4
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r4, r3, r6
- adds r5, r4, 0
- adds r5, 0x2C
- ldrb r1, [r5]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r5]
- adds r4, 0x3F
- ldrb r2, [r4]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r4]
- adds r6, 0xC
- adds r3, r6
- mov r2, r9
- ldr r1, [r2, 0x4]
- str r1, [r3]
- add sp, 0x38
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_0809D7D8: .4byte gSpriteImageSizes
-_0809D7DC: .4byte 0xffff0000
-_0809D7E0: .4byte 0x0000ffff
-_0809D7E4: .4byte gSprites
- thumb_func_end sub_809D710
-
- thumb_func_start sub_809D7E8
-sub_809D7E8: @ 809D7E8
- push {lr}
- sub sp, 0x8
- movs r1, 0
- str r1, [sp]
- ldr r3, _0809D81C
- ldrb r2, [r0, 0x3]
- lsrs r2, 6
- lsls r2, 1
- ldrb r1, [r0, 0x1]
- lsrs r1, 6
- lsls r1, 3
- adds r2, r1
- adds r2, r3
- ldrh r3, [r2]
- ldr r2, _0809D820
- ldr r1, [sp, 0x4]
- ands r1, r2
- orrs r1, r3
- str r1, [sp, 0x4]
- mov r1, sp
- str r1, [r0, 0xC]
- bl DestroySprite
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_0809D81C: .4byte gSpriteImageSizes
-_0809D820: .4byte 0xffff0000
- thumb_func_end sub_809D7E8
-
- thumb_func_start sub_809D824
-sub_809D824: @ 809D824
- mov r12, r0
- adds r0, 0x2A
- movs r3, 0
- strb r1, [r0]
- mov r2, r12
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x40
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- mov r0, r12
- adds r0, 0x2B
- strb r3, [r0]
- bx lr
- thumb_func_end sub_809D824
-
- thumb_func_start sub_809D844
-sub_809D844: @ 809D844
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_809D844
-
- thumb_func_start sub_809D85C
-sub_809D85C: @ 809D85C
- push {lr}
- ldr r1, _0809D8A0
- ldr r0, _0809D8A4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _0809D8A8
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _0809D8AC
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _0809D8B0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _0809D8B4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _0809D8B8
- ldrh r0, [r0]
- strh r0, [r1]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_0809D8A0: .4byte REG_BG1HOFS
-_0809D8A4: .4byte gUnknown_030042C0
-_0809D8A8: .4byte gUnknown_030041B4
-_0809D8AC: .4byte gUnknown_03004288
-_0809D8B0: .4byte gUnknown_03004280
-_0809D8B4: .4byte gUnknown_030041B0
-_0809D8B8: .4byte gUnknown_030041B8
- thumb_func_end sub_809D85C
-
- thumb_func_start sub_809D8BC
-sub_809D8BC: @ 809D8BC
- push {r4-r7,lr}
- ldr r4, [sp, 0x14]
- lsls r4, 24
- lsrs r7, r4, 24
- ldr r6, _0809D904
- ldrb r4, [r6, 0x8]
- movs r5, 0x80
- orrs r4, r5
- strb r4, [r6, 0x8]
- ldr r5, _0809D908
- str r0, [r5]
- movs r4, 0
- strb r7, [r5, 0x8]
- strb r1, [r5, 0x9]
- strb r2, [r5, 0xA]
- str r3, [r5, 0x4]
- adds r0, r5, 0
- adds r0, 0x74
- strb r4, [r0]
- adds r1, r5, 0
- adds r1, 0x79
- movs r0, 0x4
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x7C
- movs r1, 0
- strh r4, [r0]
- adds r0, 0x4
- strb r1, [r0]
- subs r0, 0x5
- strb r1, [r0]
- cmp r7, 0x4
- bls _0809D90C
- movs r0, 0x1
- strb r0, [r5, 0xE]
- b _0809D90E
- .align 2, 0
-_0809D904: .4byte gPaletteFade
-_0809D908: .4byte 0x02018000
-_0809D90C:
- strb r1, [r5, 0xE]
-_0809D90E:
- cmp r7, 0x6
- bhi _0809D9D6
- lsls r0, r7, 2
- ldr r1, _0809D91C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809D91C: .4byte _0809D920
- .align 2, 0
-_0809D920:
- .4byte _0809D93C
- .4byte _0809D9BC
- .4byte _0809D992
- .4byte _0809D9D6
- .4byte _0809D966
- .4byte _0809D93C
- .4byte _0809D9BC
-_0809D93C:
- adds r0, r5, 0
- adds r0, 0x75
- movs r1, 0
- strb r1, [r0]
- adds r2, r5, 0
- adds r2, 0x76
- movs r0, 0x3
- strb r0, [r2]
- adds r0, r5, 0
- adds r0, 0x77
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r5, 0
- adds r1, 0x7E
- movs r0, 0x1
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x7
- strb r0, [r1]
- b _0809D9D6
-_0809D966:
- adds r0, r5, 0
- adds r0, 0x75
- movs r1, 0
- strb r1, [r0]
- adds r2, r5, 0
- adds r2, 0x76
- movs r0, 0x3
- strb r0, [r2]
- adds r0, r5, 0
- adds r0, 0x77
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r0, 0x6
- movs r1, 0x1
- strb r1, [r0]
- adds r2, 0x9
- movs r0, 0x7
- strb r0, [r2]
- adds r0, r5, 0
- adds r0, 0x7B
- b _0809D9D4
-_0809D992:
- adds r1, r5, 0
- adds r1, 0x75
- movs r3, 0
- movs r0, 0x2
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x76
- movs r2, 0x3
- strb r2, [r0]
- adds r0, 0x1
- movs r1, 0x1
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r0, 0x6
- strb r2, [r0]
- adds r0, 0x1
- strb r3, [r0]
- subs r0, 0x6
- strb r3, [r0]
- b _0809D9D6
-_0809D9BC:
- adds r1, r5, 0
- adds r1, 0x75
- movs r0, 0x2
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x3
- strb r0, [r1]
- adds r0, r5, 0
- adds r0, 0x77
- movs r1, 0x1
- strb r1, [r0]
- adds r0, 0x1
-_0809D9D4:
- strb r1, [r0]
-_0809D9D6:
- adds r0, r5, 0
- adds r0, 0x75
- ldrb r0, [r0]
- strb r0, [r5, 0xB]
- ldr r0, _0809D9EC
- bl SetMainCallback2
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809D9EC: .4byte sub_809DE44
- thumb_func_end sub_809D8BC
-
- thumb_func_start sub_809D9F0
-sub_809D9F0: @ 809D9F0
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, [sp, 0x10]
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r5, 16
- lsrs r5, 16
- movs r4, 0x2
- str r4, [sp]
- bl sub_809D8BC
- ldr r0, _0809DA18
- adds r0, 0x7C
- strh r5, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809DA18: .4byte 0x02018000
- thumb_func_end sub_809D9F0
-
- thumb_func_start sub_809DA1C
-sub_809DA1C: @ 809DA1C
- push {lr}
- ldr r0, _0809DA30
- ldrb r0, [r0, 0x8]
- cmp r0, 0x6
- bhi _0809DA78
- lsls r0, 2
- ldr r1, _0809DA34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809DA30: .4byte 0x02018000
-_0809DA34: .4byte _0809DA38
- .align 2, 0
-_0809DA38:
- .4byte _0809DA54
- .4byte _0809DA6C
- .4byte _0809DA64
- .4byte _0809DA64
- .4byte _0809DA5C
- .4byte _0809DA54
- .4byte _0809DA6C
-_0809DA54:
- ldr r0, _0809DA58
- b _0809DA6E
- .align 2, 0
-_0809DA58: .4byte sub_809E19C
-_0809DA5C:
- ldr r0, _0809DA60
- b _0809DA6E
- .align 2, 0
-_0809DA60: .4byte sub_809E19C
-_0809DA64:
- ldr r0, _0809DA68
- b _0809DA6E
- .align 2, 0
-_0809DA68: .4byte sub_809EB40
-_0809DA6C:
- ldr r0, _0809DA7C
-_0809DA6E:
- movs r1, 0
- bl CreateTask
- ldr r1, _0809DA80
- strb r0, [r1, 0xF]
-_0809DA78:
- pop {r0}
- bx r0
- .align 2, 0
-_0809DA7C: .4byte sub_809E3FC
-_0809DA80: .4byte 0x02018000
- thumb_func_end sub_809DA1C
-
- thumb_func_start sub_809DA84
-sub_809DA84: @ 809DA84
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r1, _0809DAA4
- ldr r2, _0809DAA8
- adds r0, r1, r2
- ldrb r0, [r0]
- mov r12, r1
- cmp r0, 0x16
- bls _0809DA98
- b _0809DE00
-_0809DA98:
- lsls r0, 2
- ldr r1, _0809DAAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809DAA4: .4byte gMain
-_0809DAA8: .4byte 0x0000043c
-_0809DAAC: .4byte _0809DAB0
- .align 2, 0
-_0809DAB0:
- .4byte _0809DB0C
- .4byte _0809DB18
- .4byte _0809DB2C
- .4byte _0809DB32
- .4byte _0809DB80
- .4byte _0809DB94
- .4byte _0809DBA0
- .4byte _0809DBBC
- .4byte _0809DBC8
- .4byte _0809DBDC
- .4byte _0809DC2C
- .4byte _0809DC48
- .4byte _0809DC5C
- .4byte _0809DC90
- .4byte _0809DCB0
- .4byte _0809DCC4
- .4byte _0809DCF8
- .4byte _0809DD02
- .4byte _0809DD30
- .4byte _0809DD3C
- .4byte _0809DD68
- .4byte _0809DD98
- .4byte _0809DDE0
-_0809DB0C:
- movs r0, 0
- bl SetVBlankCallback
- bl ResetSpriteData
- b _0809DDE8
-_0809DB18:
- bl remove_some_task
- ldr r1, _0809DB24
- ldr r2, _0809DB28
- adds r1, r2
- b _0809DDEE
- .align 2, 0
-_0809DB24: .4byte gMain
-_0809DB28: .4byte 0x0000043c
-_0809DB2C:
- bl FreeAllSpritePalettes
- b _0809DDE8
-_0809DB32:
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0x80
- lsls r3, 9
- movs r5, 0
- ldr r1, _0809DB74
- movs r4, 0x80
- lsls r4, 5
- ldr r6, _0809DB78
- movs r7, 0x85
- lsls r7, 24
-_0809DB48:
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- str r2, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _0809DB48
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _0809DB7C
- add r1, r12
- b _0809DDEE
- .align 2, 0
-_0809DB74: .4byte 0x040000d4
-_0809DB78: .4byte 0x85000400
-_0809DB7C: .4byte 0x0000043c
-_0809DB80:
- bl sub_809DE64
- ldr r1, _0809DB8C
- ldr r2, _0809DB90
- adds r1, r2
- b _0809DDEE
- .align 2, 0
-_0809DB8C: .4byte gMain
-_0809DB90: .4byte 0x0000043c
-_0809DB94:
- ldr r0, _0809DB9C
- bl SetUpWindowConfig
- b _0809DDE8
- .align 2, 0
-_0809DB9C: .4byte gWindowConfig_81E6E6C
-_0809DBA0:
- ldr r0, _0809DBB0
- bl MultistepInitMenuWindowBegin
- ldr r1, _0809DBB4
- ldr r2, _0809DBB8
- adds r1, r2
- b _0809DDEE
- .align 2, 0
-_0809DBB0: .4byte gWindowConfig_81E6E6C
-_0809DBB4: .4byte gMain
-_0809DBB8: .4byte 0x0000043c
-_0809DBBC:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- bne _0809DBC6
- b _0809DE38
-_0809DBC6:
- b _0809DDE8
-_0809DBC8:
- bl sub_809DA1C
- ldr r1, _0809DBD4
- ldr r2, _0809DBD8
- adds r1, r2
- b _0809DDEE
- .align 2, 0
-_0809DBD4: .4byte gMain
-_0809DBD8: .4byte 0x0000043c
-_0809DBDC:
- ldr r1, _0809DC08
- ldr r2, _0809DC0C
- ldr r0, _0809DC10
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0809DC14
- str r1, [r0, 0x8]
- ldr r1, [r0, 0x8]
- ldr r1, _0809DC18
- ldr r2, _0809DC1C
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _0809DC20
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _0809DC24
- adds r0, 0x74
- movs r1, 0
- strb r1, [r0]
- ldr r1, _0809DC28
- add r1, r12
- b _0809DDEE
- .align 2, 0
-_0809DC08: .4byte gSummaryScreenTextTiles
-_0809DC0C: .4byte 0x0600d000
-_0809DC10: .4byte 0x040000d4
-_0809DC14: .4byte 0x800000a0
-_0809DC18: .4byte gSummaryScreenButtonTiles
-_0809DC1C: .4byte 0x0600d140
-_0809DC20: .4byte 0x80000080
-_0809DC24: .4byte 0x02018000
-_0809DC28: .4byte 0x0000043c
-_0809DC2C:
- bl sub_809DF00
- lsls r0, 24
- cmp r0, 0
- bne _0809DC38
- b _0809DE38
-_0809DC38:
- ldr r0, _0809DC44
- adds r0, 0x74
- movs r1, 0
- strb r1, [r0]
- b _0809DDE8
- .align 2, 0
-_0809DC44: .4byte 0x02018000
-_0809DC48:
- bl sub_80A18C4
- ldr r1, _0809DC54
- ldr r2, _0809DC58
- adds r1, r2
- b _0809DDEE
- .align 2, 0
-_0809DC54: .4byte gMain
-_0809DC58: .4byte 0x0000043c
-_0809DC5C:
- ldr r4, _0809DC78
- adds r0, r4, 0
- bl sub_809F678
- adds r0, r4, 0
- bl sub_80A1CD8
- lsls r0, 24
- cmp r0, 0
- bne _0809DC7C
- movs r0, 0
- bl sub_80A12D0
- b _0809DC82
- .align 2, 0
-_0809DC78: .4byte 0x02018010
-_0809DC7C:
- movs r0, 0xA
- bl sub_80A12D0
-_0809DC82:
- ldr r0, _0809DC8C
- bl sub_80A0EA4
- b _0809DDE8
- .align 2, 0
-_0809DC8C: .4byte 0x02018010
-_0809DC90:
- bl sub_80A1950
- ldr r0, _0809DCA4
- bl sub_80A1D84
- ldr r1, _0809DCA8
- ldr r2, _0809DCAC
- adds r1, r2
- b _0809DDEE
- .align 2, 0
-_0809DCA4: .4byte 0x02018010
-_0809DCA8: .4byte gMain
-_0809DCAC: .4byte 0x0000043c
-_0809DCB0:
- ldr r4, _0809DCC0
- adds r0, r4, 0
- bl sub_80A1DE8
- adds r4, 0x64
- movs r0, 0
- strb r0, [r4]
- b _0809DDE8
- .align 2, 0
-_0809DCC0: .4byte 0x02018010
-_0809DCC4:
- ldr r4, _0809DCEC
- adds r5, r4, 0
- adds r5, 0x64
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809F6B4
- subs r4, 0x10
- strb r0, [r4, 0xC]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0809DCE0
- b _0809DE38
-_0809DCE0:
- movs r0, 0
- strb r0, [r5]
- ldr r1, _0809DCF0
- ldr r2, _0809DCF4
- adds r1, r2
- b _0809DDEE
- .align 2, 0
-_0809DCEC: .4byte 0x02018010
-_0809DCF0: .4byte gMain
-_0809DCF4: .4byte 0x0000043c
-_0809DCF8:
- bl sub_809E044
- bl sub_80A0EE8
- b _0809DDE8
-_0809DD02:
- ldr r1, _0809DD20
- ldrb r0, [r1, 0xB]
- cmp r0, 0x1
- bhi _0809DD18
- ldr r0, _0809DD24
- ldrb r1, [r1, 0xB]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
-_0809DD18:
- ldr r1, _0809DD28
- ldr r2, _0809DD2C
- adds r1, r2
- b _0809DDEE
- .align 2, 0
-_0809DD20: .4byte 0x02018000
-_0809DD24: .4byte gUnknown_083C1580
-_0809DD28: .4byte gMain
-_0809DD2C: .4byte 0x0000043c
-_0809DD30:
- ldr r0, _0809DD38
- bl sub_809FAC8
- b _0809DDE8
- .align 2, 0
-_0809DD38: .4byte 0x02018010
-_0809DD3C:
- ldr r2, _0809DD58
- ldr r0, _0809DD5C
- ldrb r1, [r0, 0xB]
- lsls r1, 2
- adds r1, r2
- adds r0, 0x10
- ldr r1, [r1]
- bl _call_via_r1
- ldr r1, _0809DD60
- ldr r2, _0809DD64
- adds r1, r2
- b _0809DDEE
- .align 2, 0
-_0809DD58: .4byte gUnknown_083C1598
-_0809DD5C: .4byte 0x02018000
-_0809DD60: .4byte gMain
-_0809DD64: .4byte 0x0000043c
-_0809DD68:
- ldr r0, _0809DD84
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- beq _0809DD8C
- ldr r1, _0809DD88
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- b _0809DDE8
- .align 2, 0
-_0809DD84: .4byte 0x02018010
-_0809DD88: .4byte gUnknown_030041B0
-_0809DD8C:
- ldr r0, _0809DD94
- strh r1, [r0]
- b _0809DDE8
- .align 2, 0
-_0809DD94: .4byte gUnknown_030041B0
-_0809DD98:
- bl sub_809EBC4
- ldr r0, _0809DDB8
- adds r0, 0x79
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809DDBC
- movs r0, 0
- movs r1, 0
- bl sub_80A1488
- movs r0, 0
- movs r1, 0
- bl sub_80A1654
- b _0809DDCC
- .align 2, 0
-_0809DDB8: .4byte 0x02018000
-_0809DDBC:
- movs r0, 0xA
- movs r1, 0
- bl sub_80A1488
- movs r0, 0xA
- movs r1, 0
- bl sub_80A1654
-_0809DDCC:
- bl sub_80A0DD0
- ldr r1, _0809DDD8
- ldr r2, _0809DDDC
- adds r1, r2
- b _0809DDEE
- .align 2, 0
-_0809DDD8: .4byte gMain
-_0809DDDC: .4byte 0x0000043c
-_0809DDE0:
- bl sub_8055870
- cmp r0, 0x1
- beq _0809DE38
-_0809DDE8:
- ldr r1, _0809DDF8
- ldr r0, _0809DDFC
- adds r1, r0
-_0809DDEE:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0809DE38
- .align 2, 0
-_0809DDF8: .4byte gMain
-_0809DDFC: .4byte 0x0000043c
-_0809DE00:
- ldr r0, _0809DE2C
- bl SetVBlankCallback
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginHardwarePaletteFade
- ldr r0, _0809DE30
- bl SetMainCallback2
- ldr r2, _0809DE34
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- movs r0, 0x1
- b _0809DE3A
- .align 2, 0
-_0809DE2C: .4byte sub_809D85C
-_0809DE30: .4byte sub_809D844
-_0809DE34: .4byte gPaletteFade
-_0809DE38:
- movs r0, 0
-_0809DE3A:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809DA84
-
- thumb_func_start sub_809DE44
-sub_809DE44: @ 809DE44
- push {lr}
-_0809DE46:
- bl sub_809DA84
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809DE5E
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809DE46
-_0809DE5E:
- pop {r0}
- bx r0
- thumb_func_end sub_809DE44
-
- thumb_func_start sub_809DE64
-sub_809DE64: @ 809DE64
- ldr r1, _0809DED0
- ldr r2, _0809DED4
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0809DED8
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0809DEDC
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _0809DEE0
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _0809DEE4
- movs r0, 0
- strh r0, [r1]
- ldr r1, _0809DEE8
- strh r0, [r1]
- ldr r1, _0809DEEC
- strh r0, [r1]
- ldr r1, _0809DEF0
- strh r0, [r1]
- ldr r1, _0809DEF4
- strh r0, [r1]
- ldr r1, _0809DEF8
- strh r0, [r1]
- ldr r1, _0809DEFC
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- adds r1, 0x2
- strh r0, [r1]
- adds r1, 0x32
- strh r0, [r1]
- subs r1, 0x50
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_0809DED0: .4byte REG_BG0CNT
-_0809DED4: .4byte 0x00001e08
-_0809DED8: .4byte 0x00004801
-_0809DEDC: .4byte 0x00004a02
-_0809DEE0: .4byte 0x00005c03
-_0809DEE4: .4byte gUnknown_030042C0
-_0809DEE8: .4byte gUnknown_030041B4
-_0809DEEC: .4byte gUnknown_03004288
-_0809DEF0: .4byte gUnknown_03004280
-_0809DEF4: .4byte gUnknown_030041B0
-_0809DEF8: .4byte gUnknown_030041B8
-_0809DEFC: .4byte REG_BG0HOFS
- thumb_func_end sub_809DE64
-
- thumb_func_start sub_809DF00
-sub_809DF00: @ 809DF00
- push {lr}
- ldr r0, _0809DF18
- adds r0, 0x74
- ldrb r0, [r0]
- cmp r0, 0xC
- bls _0809DF0E
- b _0809E030
-_0809DF0E:
- lsls r0, 2
- ldr r1, _0809DF1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809DF18: .4byte 0x02018000
-_0809DF1C: .4byte _0809DF20
- .align 2, 0
-_0809DF20:
- .4byte _0809DF54
- .4byte _0809DF64
- .4byte _0809DF74
- .4byte _0809DF88
- .4byte _0809DF9C
- .4byte _0809DFAC
- .4byte _0809DFC4
- .4byte _0809DFD4
- .4byte _0809DFE0
- .4byte _0809DFEC
- .4byte _0809DFF8
- .4byte _0809E004
- .4byte _0809E010
-_0809DF54:
- ldr r0, _0809DF60
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- b _0809E030
- .align 2, 0
-_0809DF60: .4byte gStatusScreen_Gfx
-_0809DF64:
- ldr r0, _0809DF6C
- ldr r1, _0809DF70
- b _0809DFB0
- .align 2, 0
-_0809DF6C: .4byte gUnknown_08E73508
-_0809DF70: .4byte 0x0600e000
-_0809DF74:
- ldr r0, _0809DF80
- ldr r1, _0809DF84
- bl LZDecompressVram
- b _0809E030
- .align 2, 0
-_0809DF80: .4byte gUnknown_08E74E88
-_0809DF84: .4byte 0x0600e800
-_0809DF88:
- ldr r0, _0809DF94
- ldr r1, _0809DF98
- bl LZDecompressVram
- b _0809E030
- .align 2, 0
-_0809DF94: .4byte gStatusScreen_Tilemap
-_0809DF98: .4byte 0x06004800
-_0809DF9C:
- ldr r0, _0809DFA4
- ldr r1, _0809DFA8
- b _0809DFB0
- .align 2, 0
-_0809DFA4: .4byte gUnknown_08E73E88
-_0809DFA8: .4byte 0x06005800
-_0809DFAC:
- ldr r0, _0809DFBC
- ldr r1, _0809DFC0
-_0809DFB0:
- movs r2, 0x80
- lsls r2, 3
- bl CpuSet
- b _0809E030
- .align 2, 0
-_0809DFBC: .4byte gUnknown_08E74688
-_0809DFC0: .4byte 0x06006800
-_0809DFC4:
- ldr r0, _0809DFD0
- movs r1, 0
- movs r2, 0xA0
- bl LoadCompressedPalette
- b _0809E030
- .align 2, 0
-_0809DFD0: .4byte gStatusScreen_Pal
-_0809DFD4:
- ldr r0, _0809DFDC
- bl LoadCompressedObjectPic
- b _0809E030
- .align 2, 0
-_0809DFDC: .4byte gUnknown_083C11B8
-_0809DFE0:
- ldr r0, _0809DFE8
- bl LoadCompressedObjectPic
- b _0809E030
- .align 2, 0
-_0809DFE8: .4byte gUnknown_083C1270
-_0809DFEC:
- ldr r0, _0809DFF4
- bl LoadCompressedObjectPic
- b _0809E030
- .align 2, 0
-_0809DFF4: .4byte gUnknown_083C12F4
-_0809DFF8:
- ldr r0, _0809E000
- bl LoadCompressedObjectPalette
- b _0809E030
- .align 2, 0
-_0809E000: .4byte gUnknown_083C12FC
-_0809E004:
- ldr r0, _0809E00C
- bl LoadCompressedObjectPalette
- b _0809E030
- .align 2, 0
-_0809E00C: .4byte gUnknown_083C1278
-_0809E010:
- ldr r0, _0809E028
- movs r1, 0xE8
- lsls r1, 1
- movs r2, 0x60
- bl LoadCompressedPalette
- ldr r0, _0809E02C
- adds r0, 0x74
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _0809E03C
- .align 2, 0
-_0809E028: .4byte gMoveTypes_Pal
-_0809E02C: .4byte 0x02018000
-_0809E030:
- ldr r1, _0809E040
- adds r1, 0x74
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
-_0809E03C:
- pop {r1}
- bx r1
- .align 2, 0
-_0809E040: .4byte 0x02018000
- thumb_func_end sub_809DF00
-
- thumb_func_start sub_809E044
-sub_809E044: @ 809E044
- push {r4,r5,lr}
- ldr r4, _0809E0F4
- adds r0, r4, 0
- movs r1, 0x81
- movs r2, 0x2
- bl LoadPalette
- adds r5, r4, 0x2
- adds r0, r5, 0
- movs r1, 0x88
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0x8F
- movs r2, 0x2
- bl LoadPalette
- adds r0, r5, 0
- movs r1, 0x89
- movs r2, 0x2
- bl LoadPalette
- subs r5, 0x12
- adds r0, r5, 0
- movs r1, 0xD1
- movs r2, 0x4
- bl LoadPalette
- adds r0, r4, 0
- subs r0, 0x8
- movs r1, 0xD3
- movs r2, 0x4
- bl LoadPalette
- adds r0, r4, 0
- movs r1, 0xD5
- movs r2, 0x4
- bl LoadPalette
- adds r0, r5, 0
- movs r1, 0xD7
- movs r2, 0x4
- bl LoadPalette
- adds r0, r4, 0
- subs r0, 0x14
- movs r1, 0xD9
- movs r2, 0x4
- bl LoadPalette
- adds r0, r4, 0
- subs r0, 0xC
- movs r1, 0xDB
- movs r2, 0x4
- bl LoadPalette
- adds r0, r4, 0
- subs r0, 0x18
- movs r1, 0xDD
- movs r2, 0x2
- bl LoadPalette
- subs r5, 0x6
- adds r0, r5, 0
- movs r1, 0xDE
- movs r2, 0x2
- bl LoadPalette
- subs r4, 0x1A
- adds r0, r4, 0
- movs r1, 0xDF
- movs r2, 0x2
- bl LoadPalette
- ldr r0, _0809E0F8
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r5, 0
- movs r1, 0xF9
- movs r2, 0x2
- bl LoadPalette
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E0F4: .4byte gUnknownPalette_81E6692+0x1C
-_0809E0F8: .4byte gFontDefaultPalette
- thumb_func_end sub_809E044
-
- thumb_func_start sub_809E0FC
-sub_809E0FC: @ 809E0FC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _0809E134
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809E138
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E134: .4byte gTasks
-_0809E138: .4byte sub_809E13C
- thumb_func_end sub_809E0FC
-
- thumb_func_start sub_809E13C
-sub_809E13C: @ 809E13C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_8055870
- cmp r0, 0x1
- beq _0809E182
- ldr r0, _0809E188
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0809E182
- ldr r1, _0809E18C
- ldr r4, _0809E190
- ldrb r0, [r4, 0x9]
- strb r0, [r1]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl StopCryAndClearCrySongs
- ldr r0, _0809E194
- ldr r1, _0809E198
- movs r2, 0x80
- lsls r2, 1
- bl m4aMPlayVolumeControl
- ldr r0, [r4, 0x4]
- bl SetMainCallback2
- adds r0, r5, 0
- bl DestroyTask
-_0809E182:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E188: .4byte gPaletteFade
-_0809E18C: .4byte gUnknown_020384F0
-_0809E190: .4byte 0x02018000
-_0809E194: .4byte gMPlay_BGM
-_0809E198: .4byte 0x0000ffff
- thumb_func_end sub_809E13C
-
- thumb_func_start sub_809E19C
-sub_809E19C: @ 809E19C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0809E1C8
- ldrb r1, [r0, 0x7]
- movs r2, 0x80
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0809E25A
- ldr r5, _0809E1CC
- ldrh r1, [r5, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809E1D0
- movs r1, 0x1
- negs r1, r1
- adds r0, r4, 0
- bl sub_809F1B8
- b _0809E25A
- .align 2, 0
-_0809E1C8: .4byte gPaletteFade
-_0809E1CC: .4byte gMain
-_0809E1D0:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0809E1E2
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_809F1B8
- b _0809E25A
-_0809E1E2:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0809E1F6
- bl sub_80F9284
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809E202
-_0809E1F6:
- movs r1, 0x1
- negs r1, r1
- adds r0, r4, 0
- bl sub_809F134
- b _0809E25A
-_0809E202:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0809E218
- bl sub_80F9284
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0809E222
-_0809E218:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_809F134
- b _0809E25A
-_0809E222:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809E24C
- ldr r5, _0809E248
- ldrb r0, [r5, 0xB]
- cmp r0, 0x1
- bls _0809E23A
- adds r0, r4, 0
- bl sub_809EA50
-_0809E23A:
- ldrb r0, [r5, 0xB]
- cmp r0, 0
- bne _0809E25A
- adds r0, r4, 0
- bl sub_809E0FC
- b _0809E25A
- .align 2, 0
-_0809E248: .4byte 0x02018000
-_0809E24C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809E25A
- adds r0, r4, 0
- bl sub_809E0FC
-_0809E25A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_809E19C
-
- thumb_func_start sub_809E260
-sub_809E260: @ 809E260
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0809E29C
- ldrb r1, [r0, 0x7]
- movs r2, 0x80
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0809E276
- b _0809E3EE
-_0809E276:
- ldr r5, _0809E2A0
- ldrh r1, [r5, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809E2AC
- ldr r1, _0809E2A4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0, 0x8]
- subs r1, 0x5
- ldr r2, _0809E2A8
- adds r0, r4, 0
- bl sub_809E8F0
- b _0809E3EE
- .align 2, 0
-_0809E29C: .4byte gPaletteFade
-_0809E2A0: .4byte gMain
-_0809E2A4: .4byte gTasks
-_0809E2A8: .4byte 0x02018079
-_0809E2AC:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0809E2D8
- ldr r1, _0809E2D0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0, 0x8]
- ldr r2, _0809E2D4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_809E8F0
- b _0809E3EE
- .align 2, 0
-_0809E2D0: .4byte gTasks
-_0809E2D4: .4byte 0x02018079
-_0809E2D8:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0809E2EC
- bl sub_80F9284
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809E324
-_0809E2EC:
- ldr r1, _0809E320
- ldrb r0, [r1, 0xB]
- cmp r0, 0x3
- bne _0809E314
- adds r0, r1, 0
- adds r0, 0x79
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0809E308
- adds r0, r1, 0
- adds r0, 0x7C
- ldrh r0, [r0]
- cmp r0, 0
- beq _0809E314
-_0809E308:
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x9
- movs r3, 0x12
- bl MenuZeroFillWindowRect
-_0809E314:
- movs r1, 0x1
- negs r1, r1
- adds r0, r4, 0
- bl sub_809F134
- b _0809E3EE
- .align 2, 0
-_0809E320: .4byte 0x02018000
-_0809E324:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0809E33A
- bl sub_80F9284
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0809E37C
-_0809E33A:
- ldr r1, _0809E378
- adds r2, r1, 0
- adds r2, 0x76
- ldrb r0, [r1, 0xB]
- ldrb r2, [r2]
- cmp r0, r2
- beq _0809E3EE
- cmp r0, 0x2
- bne _0809E36C
- adds r0, r1, 0
- adds r0, 0x79
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0809E360
- adds r0, r1, 0
- adds r0, 0x7C
- ldrh r0, [r0]
- cmp r0, 0
- beq _0809E36C
-_0809E360:
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x9
- movs r3, 0x12
- bl MenuZeroFillWindowRect
-_0809E36C:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_809F134
- b _0809E3EE
- .align 2, 0
-_0809E378: .4byte 0x02018000
-_0809E37C:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809E3D4
- adds r0, r4, 0
- bl sub_809F7D0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _0809E3A0
- ldr r0, _0809E3BC
- adds r5, r0, 0
- adds r5, 0x79
- ldrb r0, [r5]
- cmp r0, 0x4
- bne _0809E3C4
-_0809E3A0:
- ldr r0, _0809E3BC
- adds r1, r0, 0
- adds r1, 0x79
- ldrb r1, [r1]
- adds r0, 0x7A
- strb r1, [r0]
- ldr r1, _0809E3C0
- ldrb r0, [r0]
- strh r0, [r1]
- adds r0, r4, 0
- bl sub_809E0FC
- b _0809E3EE
- .align 2, 0
-_0809E3BC: .4byte 0x02018000
-_0809E3C0: .4byte gUnknown_0202E8CE
-_0809E3C4:
- movs r0, 0x20
- bl PlaySE
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_809F9D0
- b _0809E3EE
-_0809E3D4:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809E3EE
- ldr r0, _0809E3F4
- adds r0, 0x7A
- movs r1, 0x4
- strb r1, [r0]
- ldr r0, _0809E3F8
- strh r1, [r0]
- adds r0, r4, 0
- bl sub_809E0FC
-_0809E3EE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E3F4: .4byte 0x02018000
-_0809E3F8: .4byte gUnknown_0202E8CE
- thumb_func_end sub_809E260
-
- thumb_func_start sub_809E3FC
-sub_809E3FC: @ 809E3FC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r5, 0
- ldr r0, _0809E438
- ldrb r1, [r0, 0x7]
- movs r2, 0x80
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _0809E502
- ldr r0, _0809E43C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809E448
- ldr r1, _0809E440
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0, 0x8]
- subs r1, 0x5
- ldr r2, _0809E444
- adds r0, r5, 0
- bl sub_809E8F0
- b _0809E502
- .align 2, 0
-_0809E438: .4byte gPaletteFade
-_0809E43C: .4byte gMain
-_0809E440: .4byte gTasks
-_0809E444: .4byte 0x02018079
-_0809E448:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _0809E474
- ldr r1, _0809E46C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0, 0x8]
- ldr r2, _0809E470
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_809E8F0
- b _0809E502
- .align 2, 0
-_0809E46C: .4byte gTasks
-_0809E470: .4byte 0x02018079
-_0809E474:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809E4EE
- ldr r4, _0809E4A8
- adds r6, r4, 0
- adds r6, 0x79
- ldrb r0, [r6]
- cmp r0, 0x4
- beq _0809E4E0
- adds r0, r4, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809E4E0
- adds r0, r4, 0
- adds r0, 0x10
- bl sub_809E508
- lsls r0, 24
- cmp r0, 0
- bne _0809E4AC
- movs r0, 0x20
- bl PlaySE
- b _0809E502
- .align 2, 0
-_0809E4A8: .4byte 0x02018000
-_0809E4AC:
- movs r0, 0x5
- bl PlaySE
- ldrb r1, [r6]
- adds r0, r4, 0
- adds r0, 0x7A
- strb r1, [r0]
- movs r0, 0x1
- bl sub_80A1B40
- movs r0, 0x13
- bl sub_80A1A30
- ldr r1, _0809E4D8
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809E4DC
- str r1, [r0]
- b _0809E502
- .align 2, 0
-_0809E4D8: .4byte gTasks
-_0809E4DC: .4byte sub_809E534
-_0809E4E0:
- movs r0, 0x5
- bl PlaySE
- adds r0, r7, 0
- bl sub_809EAC8
- b _0809E502
-_0809E4EE:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809E502
- movs r0, 0x5
- bl PlaySE
- adds r0, r7, 0
- bl sub_809EAC8
-_0809E502:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_809E3FC
-
- thumb_func_start sub_809E508
-sub_809E508: @ 809E508
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0x1
-_0809E50E:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_809F760
- lsls r0, 16
- cmp r0, 0
- beq _0809E520
- movs r0, 0x1
- b _0809E52C
-_0809E520:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _0809E50E
- movs r0, 0
-_0809E52C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809E508
-
- thumb_func_start sub_809E534
-sub_809E534: @ 809E534
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r2, r3, 0
- ldr r0, _0809E564
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809E570
- ldr r1, _0809E568
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3
- strh r1, [r0, 0x8]
- subs r1, 0x4
- ldr r2, _0809E56C
- adds r0, r3, 0
- bl sub_809E8F0
- b _0809E5C0
- .align 2, 0
-_0809E564: .4byte gMain
-_0809E568: .4byte gTasks
-_0809E56C: .4byte 0x0201807a
-_0809E570:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809E59C
- ldr r1, _0809E594
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3
- strh r1, [r0, 0x8]
- ldr r2, _0809E598
- adds r0, r3, 0
- movs r1, 0x1
- bl sub_809E8F0
- b _0809E5C0
- .align 2, 0
-_0809E594: .4byte gTasks
-_0809E598: .4byte 0x0201807a
-_0809E59C:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0809E5AE
- adds r0, r3, 0
- movs r1, 0x1
- bl sub_809E83C
- b _0809E5C0
-_0809E5AE:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809E5C0
- movs r1, 0x1
- negs r1, r1
- adds r0, r2, 0
- bl sub_809E83C
-_0809E5C0:
- pop {r0}
- bx r0
- thumb_func_end sub_809E534
-
- thumb_func_start sub_809E5C4
-sub_809E5C4: @ 809E5C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r1, _0809E6D0
- ldr r5, [r1]
- ldrb r2, [r1, 0x9]
- movs r0, 0x64
- muls r0, r2
- adds r5, r0
- adds r0, r1, 0
- adds r0, 0x79
- ldrb r0, [r0]
- mov r8, r0
- adds r1, 0x7A
- ldrb r6, [r1]
- adds r0, 0xD
- str r0, [sp, 0x8]
- adds r0, r5, 0
- ldr r1, [sp, 0x8]
- bl GetMonData
- mov r1, sp
- adds r1, 0x2
- str r1, [sp, 0x14]
- strh r0, [r1]
- adds r2, r6, 0
- adds r2, 0xD
- str r2, [sp, 0xC]
- adds r0, r5, 0
- adds r1, r2, 0
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- mov r3, r8
- adds r3, 0x11
- str r3, [sp, 0x10]
- adds r0, r5, 0
- adds r1, r3, 0
- bl GetMonData
- mov r7, sp
- adds r7, 0x5
- str r7, [sp, 0x18]
- strb r0, [r7]
- adds r0, r6, 0
- adds r0, 0x11
- str r0, [sp, 0x1C]
- adds r0, r5, 0
- ldr r1, [sp, 0x1C]
- bl GetMonData
- add r1, sp, 0x4
- mov r10, r1
- strb r0, [r1]
- adds r0, r5, 0
- movs r1, 0x15
- bl GetMonData
- mov r4, sp
- adds r4, 0x6
- strb r0, [r4]
- ldr r1, _0809E6D4
- mov r2, r8
- adds r0, r2, r1
- ldrb r0, [r0]
- mov r9, r0
- ldrb r0, [r4]
- adds r2, r0, 0
- mov r3, r9
- ands r2, r3
- mov r7, r8
- lsls r7, 1
- mov r8, r7
- asrs r2, r7
- lsls r2, 24
- lsrs r2, 24
- adds r1, r6, r1
- ldrb r3, [r1]
- adds r1, r0, 0
- ands r1, r3
- lsls r6, 1
- asrs r1, r6
- lsls r1, 24
- lsrs r1, 24
- mov r7, r9
- bics r0, r7
- strb r0, [r4]
- ldrb r0, [r4]
- bics r0, r3
- strb r0, [r4]
- lsls r2, r6
- mov r0, r8
- lsls r1, r0
- adds r2, r1
- ldrb r0, [r4]
- orrs r0, r2
- strb r0, [r4]
- adds r0, r5, 0
- ldr r1, [sp, 0x8]
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x14]
- bl SetMonData
- adds r0, r5, 0
- ldr r1, [sp, 0x10]
- mov r2, r10
- bl SetMonData
- adds r0, r5, 0
- ldr r1, [sp, 0x1C]
- ldr r2, [sp, 0x18]
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0x15
- adds r2, r4, 0
- bl SetMonData
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E6D0: .4byte 0x02018000
-_0809E6D4: .4byte gUnknown_08208238
- thumb_func_end sub_809E5C4
-
- thumb_func_start sub_809E6D8
-sub_809E6D8: @ 809E6D8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- ldr r2, _0809E7E8
- ldr r5, [r2]
- ldrb r1, [r2, 0x9]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 4
- adds r5, r0
- adds r0, r2, 0
- adds r0, 0x79
- ldrb r0, [r0]
- mov r8, r0
- adds r2, 0x7A
- ldrb r6, [r2]
- adds r0, 0xD
- str r0, [sp, 0x8]
- adds r0, r5, 0
- ldr r1, [sp, 0x8]
- bl GetBoxMonData
- mov r1, sp
- adds r1, 0x2
- str r1, [sp, 0x14]
- strh r0, [r1]
- adds r2, r6, 0
- adds r2, 0xD
- str r2, [sp, 0xC]
- adds r0, r5, 0
- adds r1, r2, 0
- bl GetBoxMonData
- mov r1, sp
- strh r0, [r1]
- mov r3, r8
- adds r3, 0x11
- str r3, [sp, 0x10]
- adds r0, r5, 0
- adds r1, r3, 0
- bl GetBoxMonData
- mov r7, sp
- adds r7, 0x5
- str r7, [sp, 0x18]
- strb r0, [r7]
- adds r0, r6, 0
- adds r0, 0x11
- str r0, [sp, 0x1C]
- adds r0, r5, 0
- ldr r1, [sp, 0x1C]
- bl GetBoxMonData
- add r1, sp, 0x4
- mov r10, r1
- strb r0, [r1]
- adds r0, r5, 0
- movs r1, 0x15
- bl GetBoxMonData
- mov r4, sp
- adds r4, 0x6
- strb r0, [r4]
- ldr r1, _0809E7EC
- mov r2, r8
- adds r0, r2, r1
- ldrb r0, [r0]
- mov r9, r0
- ldrb r0, [r4]
- adds r2, r0, 0
- mov r3, r9
- ands r2, r3
- mov r7, r8
- lsls r7, 1
- mov r8, r7
- asrs r2, r7
- lsls r2, 24
- lsrs r2, 24
- adds r1, r6, r1
- ldrb r3, [r1]
- adds r1, r0, 0
- ands r1, r3
- lsls r6, 1
- asrs r1, r6
- lsls r1, 24
- lsrs r1, 24
- mov r7, r9
- bics r0, r7
- strb r0, [r4]
- ldrb r0, [r4]
- bics r0, r3
- strb r0, [r4]
- lsls r2, r6
- mov r0, r8
- lsls r1, r0
- adds r2, r1
- ldrb r0, [r4]
- orrs r0, r2
- strb r0, [r4]
- adds r0, r5, 0
- ldr r1, [sp, 0x8]
- mov r2, sp
- bl SetBoxMonData
- adds r0, r5, 0
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x14]
- bl SetBoxMonData
- adds r0, r5, 0
- ldr r1, [sp, 0x10]
- mov r2, r10
- bl SetBoxMonData
- adds r0, r5, 0
- ldr r1, [sp, 0x1C]
- ldr r2, [sp, 0x18]
- bl SetBoxMonData
- adds r0, r5, 0
- movs r1, 0x15
- adds r2, r4, 0
- bl SetBoxMonData
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E7E8: .4byte 0x02018000
-_0809E7EC: .4byte gUnknown_08208238
- thumb_func_end sub_809E6D8
-
- thumb_func_start sub_809E7F0
-sub_809E7F0: @ 809E7F0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_809F5F8
- lsls r0, 24
- cmp r0, 0
- beq _0809E828
- ldr r1, _0809E830
- adds r2, r1, 0
- adds r2, 0x74
- movs r0, 0
- strb r0, [r2]
- adds r0, r1, 0
- adds r0, 0x10
- adds r1, 0x79
- bl sub_80A0428
- ldr r1, _0809E834
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809E838
- str r1, [r0]
- adds r0, r4, 0
- bl BgFrame_FillTileMap
-_0809E828:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E830: .4byte 0x02018000
-_0809E834: .4byte gTasks
-_0809E838: .4byte sub_809E3FC
- thumb_func_end sub_809E7F0
-
- thumb_func_start sub_809E83C
-sub_809E83C: @ 809E83C
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x13
- bl sub_80A1B1C
- movs r0, 0
- bl sub_80A1B40
- cmp r4, 0x1
- bne _0809E8C0
- ldr r1, _0809E87C
- adds r0, r1, 0
- adds r0, 0x79
- adds r2, r1, 0
- adds r2, 0x7A
- ldrb r0, [r0]
- ldrb r2, [r2]
- cmp r0, r2
- beq _0809E8CA
- ldrb r0, [r1, 0xE]
- cmp r0, 0
- bne _0809E880
- bl sub_809E5C4
- b _0809E884
- .align 2, 0
-_0809E87C: .4byte 0x02018000
-_0809E880:
- bl sub_809E6D8
-_0809E884:
- ldr r4, _0809E8B4
- adds r0, r4, 0
- adds r0, 0x7A
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x79
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x10
- bl sub_809F678
- adds r1, r4, 0
- adds r1, 0x74
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _0809E8B8
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809E8BC
- str r1, [r0]
- b _0809E8DE
- .align 2, 0
-_0809E8B4: .4byte 0x02018000
-_0809E8B8: .4byte gTasks
-_0809E8BC: .4byte sub_809E7F0
-_0809E8C0:
- ldr r0, _0809E8E4
- adds r1, r0, 0
- adds r1, 0x69
- bl sub_80A0428
-_0809E8CA:
- ldr r0, _0809E8E8
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _0809E8EC
- str r0, [r1]
- adds r0, r5, 0
- bl BgFrame_FillTileMap
-_0809E8DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809E8E4: .4byte 0x02018010
-_0809E8E8: .4byte gTasks
-_0809E8EC: .4byte sub_809E3FC
- thumb_func_end sub_809E83C
-
- thumb_func_start sub_809E8F0
-sub_809E8F0: @ 809E8F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r1, 0
- mov r9, r2
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0x5
- bl PlaySE
- mov r1, r9
- ldrb r6, [r1]
- ldr r1, _0809E944
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x8]
- movs r2, 0
- lsls r4, 24
- asrs r4, 24
- mov r10, r4
- lsls r7, r0, 24
-_0809E930:
- lsls r0, r6, 24
- asrs r0, 24
- add r0, r10
- lsls r0, 24
- lsrs r6, r0, 24
- asrs r1, r0, 24
- cmp r0, r7
- ble _0809E948
- movs r6, 0
- b _0809E94E
- .align 2, 0
-_0809E944: .4byte gTasks
-_0809E948:
- cmp r1, 0
- bge _0809E94E
- lsrs r6, r7, 24
-_0809E94E:
- lsls r4, r6, 24
- lsrs r1, r4, 24
- ldr r0, _0809EA10
- str r2, [sp, 0x4]
- bl sub_809F760
- lsls r0, 16
- adds r5, r4, 0
- ldr r2, [sp, 0x4]
- cmp r0, 0
- bne _0809E97A
- asrs r0, r5, 24
- cmp r0, 0x4
- beq _0809E97A
- lsls r0, r2, 24
- movs r3, 0x80
- lsls r3, 17
- adds r0, r3
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _0809E930
-_0809E97A:
- mov r1, r9
- ldrb r0, [r1]
- cmp r0, 0x4
- bne _0809E996
- asrs r0, r5, 24
- cmp r0, 0x4
- beq _0809E996
- ldr r0, _0809EA14
- adds r0, 0x7C
- ldrh r0, [r0]
- mov r2, r8
- lsls r7, r2, 2
- cmp r0, 0
- beq _0809E9AC
-_0809E996:
- ldr r2, _0809EA18
- mov r3, r8
- lsls r1, r3, 2
- adds r0, r1, r3
- lsls r0, 3
- adds r0, r2
- movs r2, 0x22
- ldrsh r0, [r0, r2]
- adds r7, r1, 0
- cmp r0, 0x1
- bne _0809E9D0
-_0809E9AC:
- lsrs r4, r5, 24
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_80A1488
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_80A1654
- ldr r1, _0809EA18
- mov r3, r8
- adds r0, r7, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x22]
- movs r0, 0
- str r0, [sp]
-_0809E9D0:
- mov r1, r9
- ldrb r0, [r1]
- cmp r0, 0x4
- beq _0809E9FE
- asrs r0, r5, 24
- cmp r0, 0x4
- bne _0809E9FE
- ldr r0, _0809EA14
- adds r0, 0x7C
- ldrh r0, [r0]
- cmp r0, 0
- bne _0809E9FE
- movs r4, 0x2
- negs r4, r4
- lsrs r5, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80A1488
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80A1654
-_0809E9FE:
- mov r2, r9
- strb r6, [r2]
- ldr r0, _0809EA1C
- cmp r9, r0
- bne _0809EA20
- movs r0, 0
- bl sub_80A1C30
- b _0809EA26
- .align 2, 0
-_0809EA10: .4byte 0x02018010
-_0809EA14: .4byte 0x02018000
-_0809EA18: .4byte gTasks
-_0809EA1C: .4byte 0x02018079
-_0809EA20:
- movs r0, 0x1
- bl sub_80A1C30
-_0809EA26:
- ldr r3, [sp]
- cmp r3, 0
- beq _0809EA34
- ldr r0, _0809EA4C
- mov r1, r9
- bl sub_80A0428
-_0809EA34:
- mov r0, r8
- bl BgFrame_FillTileMap
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EA4C: .4byte 0x02018010
- thumb_func_end sub_809E8F0
-
- thumb_func_start sub_809EA50
-sub_809EA50: @ 809EA50
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r4, _0809EABC
- adds r1, r4, 0
- adds r1, 0x79
- movs r0, 0
- strb r0, [r1]
- movs r0, 0x2
- movs r1, 0
- bl sub_80A1488
- movs r0, 0x2
- movs r1, 0
- bl sub_80A1654
- adds r0, r4, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809EA8C
- adds r1, r4, 0
- adds r1, 0x7F
- movs r0, 0x5
- strb r0, [r1]
- bl sub_80A0DD0
-_0809EA8C:
- movs r0, 0
- bl sub_80A16CC
- adds r0, r4, 0
- adds r0, 0x10
- bl sub_80A029C
- movs r0, 0x9
- bl sub_80A1A30
- ldr r1, _0809EAC0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809EAC4
- str r1, [r0]
- adds r0, r5, 0
- bl BgFrame_FillTileMap
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EABC: .4byte 0x02018000
-_0809EAC0: .4byte gTasks
-_0809EAC4: .4byte sub_809E3FC
- thumb_func_end sub_809EA50
-
- thumb_func_start sub_809EAC8
-sub_809EAC8: @ 809EAC8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, _0809EB34
- adds r0, r6, 0
- adds r0, 0x79
- ldrb r0, [r0]
- cmp r0, 0x4
- beq _0809EAEE
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A1488
- adds r0, r4, 0
- movs r1, 0
- bl sub_80A1654
-_0809EAEE:
- movs r0, 0x9
- bl sub_80A1B1C
- movs r0, 0x1
- bl sub_80A16CC
- movs r0, 0xF
- movs r1, 0xC
- movs r2, 0x1C
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- movs r0, 0xB
- movs r1, 0xF
- movs r2, 0x1C
- movs r3, 0x12
- bl MenuZeroFillWindowRect
- adds r1, r6, 0
- adds r1, 0x7F
- movs r0, 0x6
- strb r0, [r1]
- bl sub_80A0DD0
- ldr r1, _0809EB38
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809EB3C
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EB34: .4byte 0x02018000
-_0809EB38: .4byte gTasks
-_0809EB3C: .4byte sub_809E19C
- thumb_func_end sub_809EAC8
-
- thumb_func_start sub_809EB40
-sub_809EB40: @ 809EB40
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _0809EB6C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _0809EB74
- cmp r0, 0x5
- bne _0809EBA4
- movs r0, 0x9
- bl sub_80A1A30
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, _0809EB70
- str r0, [r4]
- b _0809EBB4
- .align 2, 0
-_0809EB6C: .4byte gTasks
-_0809EB70: .4byte sub_809E260
-_0809EB74:
- ldr r4, _0809EBBC
- adds r6, r4, 0
- adds r6, 0x79
- strb r0, [r6]
- adds r0, r4, 0
- adds r0, 0x7C
- ldrh r0, [r0]
- cmp r0, 0
- beq _0809EB96
- movs r0, 0xA
- movs r1, 0
- bl sub_80A1488
- ldrb r1, [r6]
- movs r0, 0xA
- bl sub_80A1654
-_0809EB96:
- movs r0, 0
- bl sub_80A16CC
- adds r0, r4, 0
- adds r0, 0x10
- bl sub_80A029C
-_0809EBA4:
- ldr r0, _0809EBC0
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_0809EBB4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EBBC: .4byte 0x02018000
-_0809EBC0: .4byte gTasks
- thumb_func_end sub_809EB40
-
- thumb_func_start sub_809EBC4
-sub_809EBC4: @ 809EBC4
- push {r4,lr}
- ldr r4, _0809EC28
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- beq _0809EC22
- bl sub_80A0EE8
- ldr r0, _0809EC2C
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- strh r1, [r0]
- ldrb r0, [r4, 0xB]
- cmp r0, 0x1
- bne _0809EBF4
- ldr r2, _0809EC30
- ldrh r1, [r2]
- ldr r0, _0809EC34
- ands r0, r1
- movs r3, 0x80
- lsls r3, 4
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r2]
-_0809EBF4:
- ldrb r3, [r4, 0xB]
- cmp r3, 0x2
- bne _0809EC0C
- ldr r2, _0809EC30
- ldrh r1, [r2]
- ldr r0, _0809EC34
- ands r0, r1
- movs r4, 0xA0
- lsls r4, 4
- adds r1, r4, 0
- adds r0, r1
- strh r0, [r2]
-_0809EC0C:
- cmp r3, 0x3
- bne _0809EC22
- ldr r2, _0809EC30
- ldrh r1, [r2]
- ldr r0, _0809EC34
- ands r0, r1
- movs r3, 0xC0
- lsls r3, 4
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r2]
-_0809EC22:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EC28: .4byte 0x02018000
-_0809EC2C: .4byte gUnknown_030042C0
-_0809EC30: .4byte REG_BG1CNT
-_0809EC34: .4byte 0x0000e0ff
- thumb_func_end sub_809EBC4
-
- thumb_func_start sub_809EC38
-sub_809EC38: @ 809EC38
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _0809EC5C
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x5
- bls _0809EC52
- b _0809EE64
-_0809EC52:
- lsls r0, 2
- ldr r1, _0809EC60
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809EC5C: .4byte gUnknown_03004B28
-_0809EC60: .4byte _0809EC64
- .align 2, 0
-_0809EC64:
- .4byte _0809EC7C
- .4byte _0809ED14
- .4byte _0809ED98
- .4byte _0809EE12
- .4byte _0809EE1C
- .4byte _0809EE4C
-_0809EC7C:
- ldr r1, _0809ECB8
- adds r0, r1, 0
- adds r0, 0x80
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809ECC8
- ldrb r3, [r1, 0xB]
- cmp r3, 0
- beq _0809EC98
- ldr r1, _0809ECBC
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
-_0809EC98:
- cmp r3, 0x1
- bne _0809ECAE
- ldr r2, _0809ECC0
- ldrh r1, [r2]
- ldr r0, _0809ECC4
- ands r0, r1
- movs r4, 0x80
- lsls r4, 4
- adds r1, r4, 0
- adds r0, r1
- strh r0, [r2]
-_0809ECAE:
- cmp r3, 0x2
- beq _0809ECB4
- b _0809EE3A
-_0809ECB4:
- ldr r2, _0809ECC0
- b _0809ECF6
- .align 2, 0
-_0809ECB8: .4byte 0x02018000
-_0809ECBC: .4byte gUnknown_03004288
-_0809ECC0: .4byte REG_BG2CNT
-_0809ECC4: .4byte 0x0000e0ff
-_0809ECC8:
- ldrb r3, [r1, 0xB]
- cmp r3, 0
- beq _0809ECD8
- ldr r1, _0809ED08
- movs r4, 0x80
- lsls r4, 1
- adds r0, r4, 0
- strh r0, [r1]
-_0809ECD8:
- cmp r3, 0x1
- bne _0809ECEE
- ldr r2, _0809ED0C
- ldrh r1, [r2]
- ldr r0, _0809ED10
- ands r0, r1
- movs r4, 0x80
- lsls r4, 4
- adds r1, r4, 0
- adds r0, r1
- strh r0, [r2]
-_0809ECEE:
- cmp r3, 0x2
- beq _0809ECF4
- b _0809EE3A
-_0809ECF4:
- ldr r2, _0809ED0C
-_0809ECF6:
- ldrh r1, [r2]
- ldr r0, _0809ED10
- ands r0, r1
- movs r3, 0xA0
- lsls r3, 4
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r2]
- b _0809EE3A
- .align 2, 0
-_0809ED08: .4byte gUnknown_030042C0
-_0809ED0C: .4byte REG_BG1CNT
-_0809ED10: .4byte 0x0000e0ff
-_0809ED14:
- ldr r0, _0809ED48
- adds r0, 0x80
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809ED5C
- ldr r1, _0809ED4C
- ldrh r0, [r1]
- subs r0, 0x20
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _0809ED2E
- b _0809EE64
-_0809ED2E:
- ldr r3, _0809ED50
- ldrh r2, [r3]
- ldr r1, _0809ED54
- adds r0, r1, 0
- ands r0, r2
- adds r0, 0x2
- strh r0, [r3]
- ldr r2, _0809ED58
- ldrh r0, [r2]
- ands r1, r0
- adds r1, 0x1
- strh r1, [r2]
- b _0809EE3A
- .align 2, 0
-_0809ED48: .4byte 0x02018000
-_0809ED4C: .4byte gUnknown_030042C0
-_0809ED50: .4byte REG_BG1CNT
-_0809ED54: .4byte 0x0000fffc
-_0809ED58: .4byte REG_BG2CNT
-_0809ED5C:
- ldr r1, _0809ED88
- ldrh r0, [r1]
- subs r0, 0x20
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _0809ED6C
- b _0809EE64
-_0809ED6C:
- ldr r3, _0809ED8C
- ldrh r2, [r3]
- ldr r1, _0809ED90
- adds r0, r1, 0
- ands r0, r2
- adds r0, 0x1
- strh r0, [r3]
- ldr r2, _0809ED94
- ldrh r0, [r2]
- ands r1, r0
- adds r1, 0x2
- strh r1, [r2]
- b _0809EE3A
- .align 2, 0
-_0809ED88: .4byte gUnknown_03004288
-_0809ED8C: .4byte REG_BG1CNT
-_0809ED90: .4byte 0x0000fffc
-_0809ED94: .4byte REG_BG2CNT
-_0809ED98:
- ldr r1, _0809EDD4
- ldrb r3, [r1, 0xB]
- adds r0, r3, 0x1
- adds r2, r1, 0
- adds r2, 0x7E
- strb r0, [r2]
- ldrb r2, [r1, 0x8]
- subs r0, r2, 0x2
- lsls r0, 24
- lsrs r0, 24
- adds r5, r1, 0
- cmp r0, 0x1
- bhi _0809EDD8
- adds r1, 0x7F
- movs r0, 0
- strb r0, [r1]
- adds r4, r5, 0
- adds r4, 0x10
- adds r0, r4, 0
- bl sub_80A029C
- adds r5, 0x79
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80A0428
- ldrb r0, [r5]
- bl sub_80A00F4
- b _0809EE3A
- .align 2, 0
-_0809EDD4: .4byte 0x02018000
-_0809EDD8:
- lsls r0, r3, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0809EDFA
- adds r0, r5, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809EDF2
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0809EDFA
-_0809EDF2:
- adds r1, r5, 0
- adds r1, 0x7F
- movs r0, 0x6
- b _0809EE0E
-_0809EDFA:
- ldrb r0, [r5, 0xB]
- cmp r0, 0
- bne _0809EE08
- adds r1, r5, 0
- adds r1, 0x7F
- movs r0, 0x7
- b _0809EE0E
-_0809EE08:
- adds r1, r5, 0
- adds r1, 0x7F
- movs r0, 0
-_0809EE0E:
- strb r0, [r1]
- b _0809EE3A
-_0809EE12:
- bl sub_80A0EE8
- bl sub_80A0DD0
- b _0809EE3A
-_0809EE1C:
- ldr r0, _0809EE44
- ldr r4, _0809EE48
- ldrb r1, [r4, 0xB]
- lsls r1, 2
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x10
- ldr r1, [r1]
- bl _call_via_r1
- adds r4, 0x80
- ldrb r0, [r4]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r4]
-_0809EE3A:
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- b _0809EE64
- .align 2, 0
-_0809EE44: .4byte gUnknown_083C1598
-_0809EE48: .4byte 0x02018000
-_0809EE4C:
- bl sub_8055870
- cmp r0, 0x1
- beq _0809EE64
- ldr r1, _0809EE6C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809EE70
- ldr r1, [r1]
- str r1, [r0]
-_0809EE64:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809EE6C: .4byte gTasks
-_0809EE70: .4byte gUnknown_03005CF0
- thumb_func_end sub_809EC38
-
- thumb_func_start sub_809EE74
-sub_809EE74: @ 809EE74
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _0809EE98
- adds r6, r0, r1
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x6
- bls _0809EE8E
- b _0809F0C0
-_0809EE8E:
- lsls r0, 2
- ldr r1, _0809EE9C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809EE98: .4byte gUnknown_03004B28
-_0809EE9C: .4byte _0809EEA0
- .align 2, 0
-_0809EEA0:
- .4byte _0809EEBC
- .4byte _0809EEE0
- .4byte _0809EFB4
- .4byte _0809EFF4
- .4byte _0809F06E
- .4byte _0809F078
- .4byte _0809F0A8
-_0809EEBC:
- ldr r0, _0809EECC
- adds r0, 0x80
- ldrb r1, [r0]
- cmp r1, 0
- bne _0809EED4
- ldr r0, _0809EED0
- strh r1, [r0]
- b _0809F096
- .align 2, 0
-_0809EECC: .4byte 0x02018000
-_0809EED0: .4byte gUnknown_03004288
-_0809EED4:
- ldr r1, _0809EEDC
- movs r0, 0
- strh r0, [r1]
- b _0809F096
- .align 2, 0
-_0809EEDC: .4byte gUnknown_030042C0
-_0809EEE0:
- ldr r1, _0809EF30
- adds r0, r1, 0
- adds r0, 0x80
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809EF4C
- ldrb r3, [r1, 0xB]
- cmp r3, 0x1
- bne _0809EF02
- ldr r2, _0809EF34
- ldrh r1, [r2]
- ldr r0, _0809EF38
- ands r0, r1
- ldr r4, _0809EF3C
- adds r1, r4, 0
- adds r0, r1
- strh r0, [r2]
-_0809EF02:
- cmp r3, 0x2
- bne _0809EF16
- ldr r2, _0809EF34
- ldrh r1, [r2]
- ldr r0, _0809EF38
- ands r0, r1
- ldr r4, _0809EF40
- adds r1, r4, 0
- adds r0, r1
- strh r0, [r2]
-_0809EF16:
- cmp r3, 0x3
- bne _0809EF2A
- ldr r2, _0809EF34
- ldrh r1, [r2]
- ldr r0, _0809EF38
- ands r0, r1
- ldr r3, _0809EF44
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r2]
-_0809EF2A:
- ldr r2, _0809EF48
- b _0809EF8C
- .align 2, 0
-_0809EF30: .4byte 0x02018000
-_0809EF34: .4byte REG_BG2CNT
-_0809EF38: .4byte 0x0000e0fc
-_0809EF3C: .4byte 0x00000801
-_0809EF40: .4byte 0x00000a01
-_0809EF44: .4byte 0x00000c01
-_0809EF48: .4byte REG_BG1CNT
-_0809EF4C:
- ldrb r3, [r1, 0xB]
- cmp r3, 0x1
- bne _0809EF62
- ldr r2, _0809EF98
- ldrh r1, [r2]
- ldr r0, _0809EF9C
- ands r0, r1
- ldr r4, _0809EFA0
- adds r1, r4, 0
- adds r0, r1
- strh r0, [r2]
-_0809EF62:
- cmp r3, 0x2
- bne _0809EF76
- ldr r2, _0809EF98
- ldrh r1, [r2]
- ldr r0, _0809EF9C
- ands r0, r1
- ldr r4, _0809EFA4
- adds r1, r4, 0
- adds r0, r1
- strh r0, [r2]
-_0809EF76:
- cmp r3, 0x3
- bne _0809EF8A
- ldr r2, _0809EF98
- ldrh r1, [r2]
- ldr r0, _0809EF9C
- ands r0, r1
- ldr r3, _0809EFA8
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r2]
-_0809EF8A:
- ldr r2, _0809EFAC
-_0809EF8C:
- ldrh r1, [r2]
- ldr r0, _0809EFB0
- ands r0, r1
- adds r0, 0x2
- strh r0, [r2]
- b _0809F096
- .align 2, 0
-_0809EF98: .4byte REG_BG1CNT
-_0809EF9C: .4byte 0x0000e0fc
-_0809EFA0: .4byte 0x00000801
-_0809EFA4: .4byte 0x00000a01
-_0809EFA8: .4byte 0x00000c01
-_0809EFAC: .4byte REG_BG2CNT
-_0809EFB0: .4byte 0x0000fffc
-_0809EFB4:
- ldr r0, _0809EFD4
- adds r0, 0x80
- ldrb r0, [r0]
- cmp r0, 0
- bne _0809EFDC
- ldr r0, _0809EFD8
- ldrh r1, [r0]
- adds r1, 0x20
- strh r1, [r0]
- lsls r1, 16
- movs r0, 0x80
- lsls r0, 17
- cmp r1, r0
- bne _0809F0C0
- b _0809F096
- .align 2, 0
-_0809EFD4: .4byte 0x02018000
-_0809EFD8: .4byte gUnknown_03004288
-_0809EFDC:
- ldr r0, _0809EFF0
- ldrh r1, [r0]
- adds r1, 0x20
- strh r1, [r0]
- lsls r1, 16
- movs r0, 0x80
- lsls r0, 17
- cmp r1, r0
- bne _0809F0C0
- b _0809F096
- .align 2, 0
-_0809EFF0: .4byte gUnknown_030042C0
-_0809EFF4:
- ldr r1, _0809F030
- ldrb r3, [r1, 0xB]
- adds r0, r3, 0x1
- adds r2, r1, 0
- adds r2, 0x7E
- strb r0, [r2]
- ldrb r2, [r1, 0x8]
- subs r0, r2, 0x2
- lsls r0, 24
- lsrs r0, 24
- adds r5, r1, 0
- cmp r0, 0x1
- bhi _0809F034
- adds r1, 0x7F
- movs r0, 0
- strb r0, [r1]
- adds r4, r5, 0
- adds r4, 0x10
- adds r0, r4, 0
- bl sub_80A029C
- adds r5, 0x79
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80A0428
- ldrb r0, [r5]
- bl sub_80A00F4
- b _0809F096
- .align 2, 0
-_0809F030: .4byte 0x02018000
-_0809F034:
- lsls r0, r3, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _0809F056
- adds r0, r5, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- cmp r0, 0
- beq _0809F04E
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0809F056
-_0809F04E:
- adds r1, r5, 0
- adds r1, 0x7F
- movs r0, 0x6
- b _0809F06A
-_0809F056:
- ldrb r0, [r5, 0xB]
- cmp r0, 0
- bne _0809F064
- adds r1, r5, 0
- adds r1, 0x7F
- movs r0, 0x7
- b _0809F06A
-_0809F064:
- adds r1, r5, 0
- adds r1, 0x7F
- movs r0, 0
-_0809F06A:
- strb r0, [r1]
- b _0809F096
-_0809F06E:
- bl sub_80A0EE8
- bl sub_80A0DD0
- b _0809F096
-_0809F078:
- ldr r0, _0809F0A0
- ldr r4, _0809F0A4
- ldrb r1, [r4, 0xB]
- lsls r1, 2
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x10
- ldr r1, [r1]
- bl _call_via_r1
- adds r4, 0x80
- ldrb r0, [r4]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r4]
-_0809F096:
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- b _0809F0C0
- .align 2, 0
-_0809F0A0: .4byte gUnknown_083C1598
-_0809F0A4: .4byte 0x02018000
-_0809F0A8:
- bl sub_8055870
- cmp r0, 0x1
- beq _0809F0C0
- ldr r1, _0809F0C8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809F0CC
- ldr r1, [r1]
- str r1, [r0]
-_0809F0C0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F0C8: .4byte gTasks
-_0809F0CC: .4byte gUnknown_03005CF0
- thumb_func_end sub_809EE74
-
- thumb_func_start sub_809F0D0
-sub_809F0D0: @ 809F0D0
- push {r4-r7,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0809F110
- ldrb r0, [r1, 0xB]
- adds r0, r4
- movs r5, 0
- strb r0, [r1, 0xB]
- ldr r2, _0809F114
- ldr r1, _0809F118
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r6, r0, r1
- ldr r0, [r6]
- str r0, [r2]
- bl sub_809FBE4
- strh r5, [r6, 0x8]
- lsls r4, 24
- asrs r4, 24
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _0809F120
- ldr r0, _0809F11C
- str r0, [r6]
- b _0809F12A
- .align 2, 0
-_0809F110: .4byte 0x02018000
-_0809F114: .4byte gUnknown_03005CF0
-_0809F118: .4byte gTasks
-_0809F11C: .4byte sub_809EC38
-_0809F120:
- ldr r1, _0809F130
- str r1, [r6]
- adds r0, r7, 0
- bl _call_via_r1
-_0809F12A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F130: .4byte sub_809EE74
- thumb_func_end sub_809F0D0
-
- thumb_func_start sub_809F134
-sub_809F134: @ 809F134
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r4, _0809F1AC
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0809F1A6
- lsls r0, r5, 24
- asrs r5, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r5, r0
- bne _0809F168
- adds r0, r4, 0
- subs r0, 0x10
- adds r1, r4, 0
- adds r1, 0x65
- ldrb r0, [r0, 0xB]
- ldrb r1, [r1]
- cmp r0, r1
- beq _0809F1A6
-_0809F168:
- cmp r5, 0x1
- bne _0809F17C
- adds r0, r4, 0
- subs r0, 0x10
- adds r1, r4, 0
- adds r1, 0x66
- ldrb r0, [r0, 0xB]
- ldrb r1, [r1]
- cmp r0, r1
- beq _0809F1A6
-_0809F17C:
- ldr r0, _0809F1B0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0809F1A6
- ldr r0, _0809F1B4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _0809F1A6
- movs r0, 0x5
- bl PlaySE
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_809F0D0
-_0809F1A6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F1AC: .4byte 0x02018010
-_0809F1B0: .4byte sub_80A1334
-_0809F1B4: .4byte sub_80A1500
- thumb_func_end sub_809F134
-
- thumb_func_start sub_809F1B8
-sub_809F1B8: @ 809F1B8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, _0809F1E4
- ldrb r1, [r0, 0xE]
- adds r2, r0, 0
- cmp r1, 0x1
- bne _0809F202
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- beq _0809F1E8
- lsls r1, r4, 24
- asrs r1, 24
- movs r4, 0x1
- eors r1, r4
- negs r0, r1
- orrs r0, r1
- lsrs r4, r0, 31
- b _0809F1F4
- .align 2, 0
-_0809F1E4: .4byte 0x02018000
-_0809F1E8:
- lsls r0, r4, 24
- asrs r0, 24
- movs r4, 0x3
- cmp r0, 0x1
- bne _0809F1F4
- movs r4, 0x2
-_0809F1F4:
- ldr r0, [r2]
- ldrb r1, [r2, 0x9]
- ldrb r2, [r2, 0xA]
- adds r3, r4, 0
- bl sub_8095DCC
- b _0809F22C
-_0809F202:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809F224
- bl sub_806B528
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809F224
- lsls r0, r4, 24
- asrs r0, 24
- bl sub_809F3CC
- b _0809F22C
-_0809F224:
- lsls r0, r4, 24
- asrs r0, 24
- bl sub_809F284
-_0809F22C:
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _0809F270
- movs r0, 0x5
- bl PlaySE
- ldr r5, _0809F278
- adds r0, r5, 0
- bl sub_80A1CD8
- lsls r0, 24
- cmp r0, 0
- beq _0809F258
- movs r0, 0x2
- negs r0, r0
- bl sub_80A12D0
-_0809F258:
- adds r0, r5, 0
- subs r0, 0x10
- strb r4, [r0, 0x9]
- ldr r1, _0809F27C
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, [r0]
- str r1, [r5, 0x74]
- ldr r1, _0809F280
- str r1, [r0]
-_0809F270:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F278: .4byte 0x02018010
-_0809F27C: .4byte gTasks
-_0809F280: .4byte sub_809F43C
- thumb_func_end sub_809F1B8
-
- thumb_func_start sub_809F284
-sub_809F284: @ 809F284
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _0809F2C0
- ldr r7, [r0]
- movs r6, 0
- ldrb r1, [r0, 0xB]
- adds r4, r0, 0
- cmp r1, 0
- bne _0809F2C4
- lsls r0, r3, 24
- asrs r2, r0, 24
- movs r1, 0x1
- negs r1, r1
- adds r5, r0, 0
- cmp r2, r1
- bne _0809F2AC
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- beq _0809F2E4
-_0809F2AC:
- asrs r0, r5, 24
- cmp r0, 0x1
- bne _0809F2BA
- ldrb r0, [r4, 0x9]
- ldrb r1, [r4, 0xA]
- cmp r0, r1
- bcs _0809F2E4
-_0809F2BA:
- ldrb r0, [r4, 0x9]
- adds r0, r3
- b _0809F304
- .align 2, 0
-_0809F2C0: .4byte 0x02018000
-_0809F2C4:
- lsls r5, r3, 24
-_0809F2C6:
- lsls r0, r6, 24
- asrs r0, 24
- asrs r1, r5, 24
- adds r0, r1
- lsls r0, 24
- ldr r4, _0809F2EC
- lsrs r6, r0, 24
- asrs r0, 24
- ldrb r2, [r4, 0x9]
- adds r1, r0, r2
- cmp r1, 0
- blt _0809F2E4
- ldrb r0, [r4, 0xA]
- cmp r1, r0
- ble _0809F2F0
-_0809F2E4:
- movs r0, 0x1
- negs r0, r0
- b _0809F308
- .align 2, 0
-_0809F2EC: .4byte 0x02018000
-_0809F2F0:
- movs r0, 0x64
- muls r0, r1
- adds r0, r7, r0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0809F2C6
- ldrb r0, [r4, 0x9]
- adds r0, r6
-_0809F304:
- lsls r0, 24
- asrs r0, 24
-_0809F308:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809F284
-
- thumb_func_start sub_809F310
-sub_809F310: @ 809F310
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _0809F33C
- ldr r0, _0809F338
- ldrb r0, [r0, 0xB]
- cmp r0, 0
- bne _0809F332
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _0809F33C
-_0809F332:
- movs r0, 0x1
- b _0809F33E
- .align 2, 0
-_0809F338: .4byte 0x02018000
-_0809F33C:
- movs r0, 0
-_0809F33E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809F310
-
- thumb_func_start sub_809F344
-sub_809F344: @ 809F344
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
-_0809F34A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- beq _0809F37C
- ldr r0, _0809F374
- adds r5, r4, r0
- ldrb r1, [r5]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0809F378
- adds r0, r1
- bl sub_809F310
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809F34A
- movs r0, 0
- ldrsb r0, [r5, r0]
- b _0809F380
- .align 2, 0
-_0809F374: .4byte gUnknown_083C15A8
-_0809F378: .4byte gPlayerParty
-_0809F37C:
- movs r0, 0x1
- negs r0, r0
-_0809F380:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809F344
-
- thumb_func_start sub_809F388
-sub_809F388: @ 809F388
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
-_0809F38E:
- cmp r4, 0
- beq _0809F3C0
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0809F3B8
- adds r5, r4, r0
- ldrb r1, [r5]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _0809F3BC
- adds r0, r1
- bl sub_809F310
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809F38E
- movs r0, 0
- ldrsb r0, [r5, r0]
- b _0809F3C4
- .align 2, 0
-_0809F3B8: .4byte gUnknown_083C15A8
-_0809F3BC: .4byte gPlayerParty
-_0809F3C0:
- movs r0, 0x1
- negs r0, r0
-_0809F3C4:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_809F388
-
- thumb_func_start sub_809F3CC
-sub_809F3CC: @ 809F3CC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r2, 0
- movs r1, 0
- ldr r3, _0809F41C
- ldr r4, _0809F420
- ldrb r0, [r3]
- ldrb r5, [r4, 0x9]
- cmp r0, r5
- beq _0809F3FC
- adds r5, r3, 0
- adds r3, r4, 0
-_0809F3E6:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x5
- bhi _0809F3FC
- adds r0, r1, r5
- ldrb r0, [r0]
- ldrb r4, [r3, 0x9]
- cmp r0, r4
- bne _0809F3E6
- adds r2, r1, 0
-_0809F3FC:
- lsls r0, r6, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _0809F40C
- cmp r2, 0
- beq _0809F414
-_0809F40C:
- cmp r1, 0x1
- bne _0809F424
- cmp r2, 0x5
- bne _0809F42C
-_0809F414:
- movs r0, 0x1
- negs r0, r0
- b _0809F436
- .align 2, 0
-_0809F41C: .4byte gUnknown_083C15A8
-_0809F420: .4byte 0x02018000
-_0809F424:
- adds r0, r2, 0
- bl sub_809F388
- b _0809F432
-_0809F42C:
- adds r0, r2, 0
- bl sub_809F344
-_0809F432:
- lsls r0, 24
- asrs r0, 24
-_0809F436:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_809F3CC
-
- thumb_func_start sub_809F43C
-sub_809F43C: @ 809F43C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0809F45C
- ldr r1, _0809F460
- adds r5, r0, r1
- ldrb r2, [r5]
- adds r3, r0, 0
- cmp r2, 0x8
- bls _0809F452
- b _0809F5CC
-_0809F452:
- lsls r0, r2, 2
- ldr r1, _0809F464
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_0809F45C: .4byte gMain
-_0809F460: .4byte 0x0000043c
-_0809F464: .4byte _0809F468
- .align 2, 0
-_0809F468:
- .4byte _0809F48C
- .4byte _0809F492
- .4byte _0809F4BC
- .4byte _0809F4D8
- .4byte _0809F4F4
- .4byte _0809F51C
- .4byte _0809F578
- .4byte _0809F584
- .4byte _0809F5A0
-_0809F48C:
- bl StopCryAndClearCrySongs
- b _0809F5B2
-_0809F492:
- ldr r0, _0809F4AC
- ldrb r1, [r0, 0xC]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809F4B0
- adds r0, r1
- bl DestroySpriteAndFreeResources
- ldr r1, _0809F4B4
- ldr r0, _0809F4B8
- adds r1, r0
- b _0809F5B8
- .align 2, 0
-_0809F4AC: .4byte 0x02018000
-_0809F4B0: .4byte gSprites
-_0809F4B4: .4byte gMain
-_0809F4B8: .4byte 0x0000043c
-_0809F4BC:
- ldr r0, _0809F4D0
- ldrb r1, [r0, 0xD]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0809F4D4
- adds r0, r1
- bl DestroySpriteAndFreeResources
- b _0809F5B2
- .align 2, 0
-_0809F4D0: .4byte 0x02018000
-_0809F4D4: .4byte gSprites
-_0809F4D8:
- ldr r0, _0809F4EC
- adds r1, r0, 0
- adds r1, 0x74
- movs r2, 0
- strb r2, [r1]
- adds r0, 0x79
- strb r2, [r0]
- ldr r0, _0809F4F0
- adds r1, r3, r0
- b _0809F5B8
- .align 2, 0
-_0809F4EC: .4byte 0x02018000
-_0809F4F0: .4byte 0x0000043c
-_0809F4F4:
- ldr r4, _0809F518
- adds r0, r4, 0
- bl sub_809F678
- adds r0, r4, 0
- bl sub_80A1CD8
- lsls r0, 24
- cmp r0, 0
- beq _0809F50E
- movs r0, 0x2
- bl sub_80A12D0
-_0809F50E:
- adds r0, r4, 0
- bl sub_80A0EA4
- b _0809F5B2
- .align 2, 0
-_0809F518: .4byte 0x02018010
-_0809F51C:
- ldr r4, _0809F558
- adds r5, r4, 0
- adds r5, 0x64
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_809F6B4
- adds r1, r4, 0
- subs r1, 0x10
- strb r0, [r1, 0xC]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _0809F5EA
- movs r0, 0
- strb r0, [r5]
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- adds r1, r0, 0
- cmp r1, 0
- beq _0809F560
- ldr r1, _0809F55C
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- b _0809F564
- .align 2, 0
-_0809F558: .4byte 0x02018010
-_0809F55C: .4byte gUnknown_030041B0
-_0809F560:
- ldr r0, _0809F56C
- strh r1, [r0]
-_0809F564:
- ldr r1, _0809F570
- ldr r0, _0809F574
- adds r1, r0
- b _0809F5B8
- .align 2, 0
-_0809F56C: .4byte gUnknown_030041B0
-_0809F570: .4byte gMain
-_0809F574: .4byte 0x0000043c
-_0809F578:
- ldr r0, _0809F580
- bl sub_80A1DCC
- b _0809F5B2
- .align 2, 0
-_0809F580: .4byte 0x02018010
-_0809F584:
- ldr r0, _0809F594
- bl sub_80A1DE8
- ldr r1, _0809F598
- ldr r0, _0809F59C
- adds r1, r0
- b _0809F5B8
- .align 2, 0
-_0809F594: .4byte 0x02018010
-_0809F598: .4byte gMain
-_0809F59C: .4byte 0x0000043c
-_0809F5A0:
- bl sub_809F5F8
- lsls r0, 24
- cmp r0, 0
- beq _0809F5EA
- ldr r0, _0809F5C0
- adds r0, 0x74
- movs r1, 0
- strb r1, [r0]
-_0809F5B2:
- ldr r1, _0809F5C4
- ldr r2, _0809F5C8
- adds r1, r2
-_0809F5B8:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0809F5EA
- .align 2, 0
-_0809F5C0: .4byte 0x02018000
-_0809F5C4: .4byte gMain
-_0809F5C8: .4byte 0x0000043c
-_0809F5CC:
- bl sub_8055870
- cmp r0, 0x1
- beq _0809F5EA
- movs r0, 0
- strb r0, [r5]
- ldr r0, _0809F5F0
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _0809F5F4
- adds r0, 0x84
- ldr r0, [r0]
- str r0, [r1]
-_0809F5EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F5F0: .4byte gTasks
-_0809F5F4: .4byte 0x02018000
- thumb_func_end sub_809F43C
-
- thumb_func_start sub_809F5F8
-sub_809F5F8: @ 809F5F8
- push {r4,lr}
- ldr r2, _0809F61C
- adds r4, r2, 0
- adds r4, 0x74
- ldrb r0, [r4]
- cmp r0, 0
- beq _0809F624
- ldr r0, _0809F620
- ldrb r1, [r2, 0xB]
- lsls r1, 2
- adds r1, r0
- adds r0, r2, 0
- adds r0, 0x10
- ldr r1, [r1]
- bl _call_via_r1
- movs r0, 0x1
- b _0809F634
- .align 2, 0
-_0809F61C: .4byte 0x02018000
-_0809F620: .4byte gUnknown_083C1588
-_0809F624:
- adds r0, r2, 0
- adds r0, 0x10
- bl sub_809FAC8
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0
-_0809F634:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809F5F8
-
- thumb_func_start sub_809F63C
-sub_809F63C: @ 809F63C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_809FE80
- adds r0, r4, 0
- bl sub_809FC34
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_809F63C
-
- thumb_func_start sub_809F650
-sub_809F650: @ 809F650
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A00A4
- adds r0, r4, 0
- bl sub_809FF64
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_809F650
-
- thumb_func_start sub_809F664
-sub_809F664: @ 809F664
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80A0390
- adds r0, r4, 0
- bl sub_80A015C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_809F664
-
- thumb_func_start sub_809F678
-sub_809F678: @ 809F678
- push {lr}
- adds r3, r0, 0
- ldr r1, _0809F698
- ldrb r0, [r1, 0xE]
- cmp r0, 0
- bne _0809F69C
- ldr r2, [r1]
- ldrb r1, [r1, 0x9]
- movs r0, 0x64
- muls r1, r0
- adds r1, r2
- adds r0, r3, 0
- movs r2, 0x64
- bl memcpy
- b _0809F6AE
- .align 2, 0
-_0809F698: .4byte 0x02018000
-_0809F69C:
- ldr r0, [r1]
- ldrb r2, [r1, 0x9]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- adds r0, r1
- adds r1, r3, 0
- bl sub_803B4B4
-_0809F6AE:
- pop {r0}
- bx r0
- thumb_func_end sub_809F678
-
- thumb_func_start sub_809F6B4
-sub_809F6B4: @ 809F6B4
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r0, 0
- adds r7, r1, 0
- ldrb r0, [r7]
- cmp r0, 0
- beq _0809F6D2
- cmp r0, 0x1
- beq _0809F718
- adds r0, r4, 0
- bl sub_80A1808
- lsls r0, 24
- lsrs r0, 24
- b _0809F756
-_0809F6D2:
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r6, r0, 0
- lsls r0, r5, 3
- ldr r1, _0809F70C
- adds r0, r1
- ldr r1, _0809F710
- lsls r2, r5, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _0809F714
- ldr r4, [r4, 0x4]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- bl sub_800D334
- b _0809F74E
- .align 2, 0
-_0809F70C: .4byte gMonFrontPicTable
-_0809F710: .4byte gMonFrontPicCoords
-_0809F714: .4byte gUnknown_081FAF4C
-_0809F718:
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- adds r6, r0, 0
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- adds r1, r0, 0
- adds r0, r5, 0
- adds r2, r6, 0
- bl sub_80409C8
- adds r4, r0, 0
- bl LoadCompressedObjectPalette
- ldrh r0, [r4, 0x4]
- movs r1, 0x1
- bl GetMonSpriteTemplate_803C56C
-_0809F74E:
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
- movs r0, 0xFF
-_0809F756:
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_809F6B4
-
- thumb_func_start sub_809F760
-sub_809F760: @ 809F760
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0x1
- beq _0809F780
- cmp r1, 0x1
- bgt _0809F776
- cmp r1, 0
- beq _0809F77C
- b _0809F788
-_0809F776:
- cmp r2, 0x2
- beq _0809F784
- b _0809F788
-_0809F77C:
- movs r1, 0xD
- b _0809F78A
-_0809F780:
- movs r1, 0xE
- b _0809F78A
-_0809F784:
- movs r1, 0xF
- b _0809F78A
-_0809F788:
- movs r1, 0x10
-_0809F78A:
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_809F760
-
- thumb_func_start sub_809F798
-sub_809F798: @ 809F798
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0x1
- beq _0809F7B8
- cmp r1, 0x1
- bgt _0809F7AE
- cmp r1, 0
- beq _0809F7B4
- b _0809F7C0
-_0809F7AE:
- cmp r2, 0x2
- beq _0809F7BC
- b _0809F7C0
-_0809F7B4:
- movs r1, 0x11
- b _0809F7C2
-_0809F7B8:
- movs r1, 0x12
- b _0809F7C2
-_0809F7BC:
- movs r1, 0x13
- b _0809F7C2
-_0809F7C0:
- movs r1, 0x14
-_0809F7C2:
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_809F798
-
- thumb_func_start sub_809F7D0
-sub_809F7D0: @ 809F7D0
- push {r4,lr}
- sub sp, 0x64
- mov r0, sp
- bl sub_809F678
- ldr r4, _0809F804
- adds r0, r4, 0
- adds r0, 0x79
- ldrb r1, [r0]
- mov r0, sp
- bl sub_809F760
- lsls r0, 16
- lsrs r0, 16
- bl sub_806F7B8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809F808
- ldrb r0, [r4, 0x8]
- cmp r0, 0x3
- beq _0809F808
- movs r0, 0
- b _0809F80A
- .align 2, 0
-_0809F804: .4byte 0x02018000
-_0809F808:
- movs r0, 0x1
-_0809F80A:
- add sp, 0x64
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_809F7D0
-
- thumb_func_start sub_809F814
-sub_809F814: @ 809F814
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r0, _0809F83C
- mov r8, r0
- adds r4, r6, r0
- ldrh r1, [r4, 0x1C]
- movs r2, 0x1C
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- bgt _0809F840
- adds r0, r1, 0x1
- strh r0, [r4, 0x1C]
- b _0809F9C0
- .align 2, 0
-_0809F83C: .4byte gUnknown_03004B28
-_0809F840:
- ldr r7, _0809F874
- ldrh r1, [r7, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0809F880
- mov r0, r8
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _0809F878
- str r1, [r0]
- movs r0, 0x4
- strh r0, [r4]
- movs r0, 0x1
- strh r0, [r4, 0x1A]
- ldr r2, _0809F87C
- ldrh r0, [r4, 0x1E]
- adds r2, 0x79
- strb r0, [r2]
- movs r1, 0x1
- negs r1, r1
- adds r0, r5, 0
- bl sub_809E8F0
- b _0809F9C0
- .align 2, 0
-_0809F874: .4byte gMain
-_0809F878: .4byte sub_809E260
-_0809F87C: .4byte 0x02018000
-_0809F880:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0809F8B4
- mov r0, r8
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _0809F8AC
- str r1, [r0]
- movs r0, 0x4
- strh r0, [r4]
- movs r0, 0x1
- strh r0, [r4, 0x1A]
- ldr r2, _0809F8B0
- ldrh r0, [r4, 0x1E]
- adds r2, 0x79
- strb r0, [r2]
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_809E8F0
- b _0809F9C0
- .align 2, 0
-_0809F8AC: .4byte sub_809E260
-_0809F8B0: .4byte 0x02018000
-_0809F8B4:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- bne _0809F8C8
- bl sub_80F9284
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _0809F918
-_0809F8C8:
- ldr r1, _0809F90C
- ldrb r0, [r1, 0xB]
- cmp r0, 0x2
- beq _0809F9C0
- cmp r0, 0x3
- bne _0809F8F4
- adds r0, r1, 0
- adds r0, 0x79
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0809F8E8
- adds r0, r1, 0
- adds r0, 0x7C
- ldrh r0, [r0]
- cmp r0, 0
- beq _0809F8F4
-_0809F8E8:
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x9
- movs r3, 0x12
- bl MenuZeroFillWindowRect
-_0809F8F4:
- ldr r1, _0809F910
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809F914
- str r1, [r0]
- movs r1, 0x1
- negs r1, r1
- adds r0, r5, 0
- b _0809F972
- .align 2, 0
-_0809F90C: .4byte 0x02018000
-_0809F910: .4byte gTasks
-_0809F914: .4byte sub_809E260
-_0809F918:
- ldrh r1, [r7, 0x2E]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _0809F92E
- bl sub_80F9284
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _0809F994
-_0809F92E:
- ldr r1, _0809F988
- adds r2, r1, 0
- adds r2, 0x76
- ldrb r0, [r1, 0xB]
- ldrb r2, [r2]
- cmp r0, r2
- beq _0809F9C0
- cmp r0, 0x2
- bne _0809F960
- adds r0, r1, 0
- adds r0, 0x79
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _0809F954
- adds r0, r1, 0
- adds r0, 0x7C
- ldrh r0, [r0]
- cmp r0, 0
- beq _0809F960
-_0809F954:
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x9
- movs r3, 0x12
- bl MenuZeroFillWindowRect
-_0809F960:
- ldr r1, _0809F98C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _0809F990
- str r1, [r0]
- adds r0, r5, 0
- movs r1, 0x1
-_0809F972:
- bl sub_809F134
- ldrb r1, [r4, 0x1E]
- movs r0, 0x1
- bl sub_80A1488
- ldrb r1, [r4, 0x1E]
- movs r0, 0x1
- bl sub_80A1654
- b _0809F9C0
- .align 2, 0
-_0809F988: .4byte 0x02018000
-_0809F98C: .4byte gTasks
-_0809F990: .4byte sub_809E260
-_0809F994:
- ldrh r1, [r7, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0809F9A6
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _0809F9C0
-_0809F9A6:
- ldrb r1, [r4, 0x1E]
- movs r0, 0x2
- bl sub_80A1488
- ldrb r1, [r4, 0x1E]
- movs r0, 0x2
- bl sub_80A1654
- mov r0, r8
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _0809F9CC
- str r1, [r0]
-_0809F9C0:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0809F9CC: .4byte sub_809E260
- thumb_func_end sub_809F814
-
- thumb_func_start sub_809F9D0
-sub_809F9D0: @ 809F9D0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r6, _0809FA24
- adds r2, r4, r6
- movs r0, 0
- strh r0, [r2, 0x1C]
- strh r1, [r2, 0x1E]
- movs r5, 0x2
- negs r5, r5
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_80A1488
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_80A1654
- movs r0, 0xB
- movs r1, 0xF
- movs r2, 0x1C
- movs r3, 0x12
- bl MenuZeroFillWindowRect
- ldr r0, _0809FA28
- movs r1, 0xB
- movs r2, 0xF
- bl MenuPrint
- subs r6, 0x8
- adds r4, r6
- ldr r0, _0809FA2C
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FA24: .4byte gUnknown_03004B28
-_0809FA28: .4byte gOtherText_CantForgetHMs
-_0809FA2C: .4byte sub_809F814
- thumb_func_end sub_809F9D0
-
- thumb_func_start sub_809FA30
-sub_809FA30: @ 809FA30
- ldr r0, _0809FA38
- adds r0, 0x7A
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_0809FA38: .4byte 0x02018000
- thumb_func_end sub_809FA30
-
- thumb_func_start GetStringCenterAlignXOffsetWithLetterSpacing
-GetStringCenterAlignXOffsetWithLetterSpacing: @ 809FA3C
- push {r4,lr}
- lsls r0, 24
- lsls r1, 24
- lsls r2, 24
- lsls r3, 24
- lsrs r2, 23
- lsrs r3, 18
- ldr r4, _0809FA70
- adds r3, r4
- adds r2, r3
- lsrs r1, 12
- lsrs r0, 23
- movs r4, 0x80
- lsls r4, 2
- adds r3, r4, 0
- adds r0, r3
- adds r1, r0
- adds r0, r1, 0
- adds r0, 0x80
- strh r0, [r2]
- adds r2, 0x40
- adds r1, 0x81
- strh r1, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FA70: .4byte 0x0600f000
- thumb_func_end GetStringCenterAlignXOffsetWithLetterSpacing
-
- thumb_func_start GetStringCenterAlignXOffset
-GetStringCenterAlignXOffset: @ 809FA74
- push {r4,lr}
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- movs r1, 0xF
- adds r2, r4, 0
- bl GetStringCenterAlignXOffsetWithLetterSpacing
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetStringCenterAlignXOffset
-
- thumb_func_start sub_809FA94
-sub_809FA94: @ 809FA94
- push {lr}
- bl sub_8040CB4
- lsls r0, 24
- cmp r0, 0
- beq _0809FAB4
- ldr r0, _0809FAB0
- movs r1, 0x4
- movs r2, 0x2
- bl LoadPalette
- movs r0, 0x1
- b _0809FAC0
- .align 2, 0
-_0809FAB0: .4byte gUnknown_083C157E
-_0809FAB4:
- ldr r0, _0809FAC4
- movs r1, 0x4
- movs r2, 0x2
- bl LoadPalette
- movs r0, 0
-_0809FAC0:
- pop {r1}
- bx r1
- .align 2, 0
-_0809FAC4: .4byte gUnknown_083C157C
- thumb_func_end sub_809FA94
-
- thumb_func_start sub_809FAC8
-sub_809FAC8: @ 809FAC8
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _0809FB28
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0x4
- movs r3, 0x3
- bl MenuZeroFillWindowRect
- movs r0, 0x3
- movs r1, 0x10
- movs r2, 0x9
- movs r3, 0x11
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0xC
- movs r2, 0xB
- movs r3, 0xF
- bl MenuZeroFillWindowRect
- ldr r4, _0809FB20
- adds r0, r5, 0
- adds r1, r4, 0
- bl GetMonNickname
- adds r0, r4, 0
- movs r1, 0xD
- movs r2, 0x3
- movs r3, 0x10
- bl sub_80A1FF8
- ldr r0, _0809FB24
- movs r1, 0x4
- movs r2, 0x2
- bl LoadPalette
- b _0809FBD6
- .align 2, 0
-_0809FB20: .4byte gStringVar1
-_0809FB24: .4byte gUnknown_083C157C
-_0809FB28:
- adds r0, r5, 0
- bl sub_809FA94
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl sub_80406D8
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _0809FB6C
- cmp r4, r0
- beq _0809FB96
- cmp r6, 0
- bne _0809FB70
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x2
- bl GetStringCenterAlignXOffset
- movs r0, 0x11
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0xD
- b _0809FB8C
- .align 2, 0
-_0809FB6C: .4byte 0x0000ffff
-_0809FB70:
- movs r0, 0x2
- movs r1, 0x8
- movs r2, 0x1
- movs r3, 0x2
- bl GetStringCenterAlignXOffsetWithLetterSpacing
- movs r0, 0x11
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r1, 0x8
-_0809FB8C:
- movs r2, 0x3
- movs r3, 0x2
- bl sub_80A1F98
- b _0809FBA2
-_0809FB96:
- movs r0, 0x1
- movs r1, 0x2
- movs r2, 0x4
- movs r3, 0x3
- bl MenuZeroFillWindowRect
-_0809FBA2:
- ldr r1, _0809FBE0
- adds r0, r1, 0
- movs r1, 0xD
- bl sub_80A1E58
- adds r1, r0, 0
- adds r0, r5, 0
- bl GetMonNickname
- adds r1, r0, 0
- movs r0, 0xFC
- strb r0, [r1]
- movs r0, 0x13
- strb r0, [r1, 0x1]
- movs r0, 0x3C
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- ldr r0, _0809FBE0
- movs r1, 0x1
- movs r2, 0xC
- bl MenuPrint
- adds r0, r5, 0
- bl sub_80A0958
-_0809FBD6:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FBE0: .4byte gStringVar1
- thumb_func_end sub_809FAC8
-
- thumb_func_start sub_809FBE4
-sub_809FBE4: @ 809FBE4
- push {r4,lr}
- movs r4, 0
-_0809FBE8:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A1918
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1B
- bls _0809FBE8
- movs r0, 0xB
- movs r1, 0x4
- movs r2, 0x1D
- movs r3, 0x12
- bl MenuZeroFillWindowRect
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_809FBE4
-
- thumb_func_start sub_809FC0C
-sub_809FC0C: @ 809FC0C
- push {lr}
- ldr r0, _0809FC30
- movs r1, 0xB
- movs r2, 0x6
- bl MenuPrint
- movs r0, 0
- movs r1, 0x16
- movs r2, 0x4
- bl GetStringCenterAlignXOffset
- movs r0, 0x2
- movs r1, 0x17
- movs r2, 0x4
- bl GetStringCenterAlignXOffset
- pop {r0}
- bx r0
- .align 2, 0
-_0809FC30: .4byte gOtherText_Type2
- thumb_func_end sub_809FC0C
-
- thumb_func_start sub_809FC34
-sub_809FC34: @ 809FC34
- push {r4-r6,lr}
- sub sp, 0xC
- adds r6, r0, 0
- movs r4, 0
-_0809FC3C:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A1918
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _0809FC3C
- movs r0, 0xB
- movs r1, 0x9
- movs r2, 0x1C
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- adds r0, r6, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _0809FD1C
- ldr r5, _0809FCD0
- adds r0, r5, 0
- movs r1, 0xD
- bl sub_80A1E58
- adds r5, r0, 0
- ldr r1, _0809FCD4
- bl StringCopy
- adds r5, r0, 0
- ldr r4, _0809FCD8
- adds r1, r4, 0
- bl StringCopy
- adds r5, r0, 0
- movs r0, 0xFC
- strb r0, [r5]
- movs r0, 0x13
- strb r0, [r5, 0x1]
- movs r0, 0x4E
- strb r0, [r5, 0x2]
- movs r0, 0xFF
- strb r0, [r5, 0x3]
- ldr r0, _0809FCD0
- movs r1, 0xB
- movs r2, 0x4
- bl MenuPrint
- movs r0, 0x1
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0xD
- movs r2, 0xC1
- movs r3, 0x20
- bl sub_80A1EF8
- movs r0, 0x9
- movs r1, 0x78
- movs r2, 0x30
- movs r3, 0
- bl sub_80A198C
- adds r0, r6, 0
- movs r1, 0x20
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, 0x5
- bhi _0809FCE0
- ldr r0, _0809FCDC
- b _0809FCF2
- .align 2, 0
-_0809FCD0: .4byte gStringVar1
-_0809FCD4: .4byte gOtherText_OriginalTrainer
-_0809FCD8: .4byte gOtherText_FiveQuestionsAndSlash
-_0809FCDC: .4byte gOtherText_EggAbout
-_0809FCE0:
- cmp r0, 0xA
- bhi _0809FCEC
- ldr r0, _0809FCE8
- b _0809FCF2
- .align 2, 0
-_0809FCE8: .4byte gOtherText_EggSoon
-_0809FCEC:
- cmp r1, 0x28
- bhi _0809FD00
- ldr r0, _0809FCFC
-_0809FCF2:
- movs r1, 0xB
- movs r2, 0x9
- bl MenuPrint
- b _0809FD0A
- .align 2, 0
-_0809FCFC: .4byte gOtherText_EggSomeTime
-_0809FD00:
- ldr r0, _0809FD18
- movs r1, 0xB
- movs r2, 0x9
- bl MenuPrint
-_0809FD0A:
- adds r0, r6, 0
- movs r1, 0xB
- movs r2, 0xE
- bl sub_80A0708
- b _0809FE4C
- .align 2, 0
-_0809FD18: .4byte gOtherText_EggLongTime
-_0809FD1C:
- ldr r4, _0809FD64
- adds r0, r6, 0
- movs r1, 0x7
- adds r2, r4, 0
- bl GetMonData
- adds r0, r6, 0
- movs r1, 0x3
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ConvertInternationalString
- ldr r5, _0809FD68
- adds r0, r5, 0
- movs r1, 0xD
- bl sub_80A1E58
- adds r5, r0, 0
- ldr r1, _0809FD6C
- bl StringCopy
- adds r5, r0, 0
- adds r0, r6, 0
- movs r1, 0x31
- bl GetMonData
- cmp r0, 0
- bne _0809FD70
- adds r0, r5, 0
- movs r1, 0x9
- b _0809FD74
- .align 2, 0
-_0809FD64: .4byte gStringVar2
-_0809FD68: .4byte gStringVar1
-_0809FD6C: .4byte gOtherText_OriginalTrainer
-_0809FD70:
- adds r0, r5, 0
- movs r1, 0xA
-_0809FD74:
- bl sub_80A1E58
- adds r5, r0, 0
- ldr r1, _0809FE54
- adds r0, r5, 0
- bl StringCopy
- adds r5, r0, 0
- movs r0, 0xFC
- strb r0, [r5]
- movs r0, 0x13
- strb r0, [r5, 0x1]
- movs r0, 0x4E
- strb r0, [r5, 0x2]
- movs r0, 0xFF
- strb r0, [r5, 0x3]
- ldr r0, _0809FE58
- movs r1, 0xB
- movs r2, 0x4
- bl MenuPrint
- adds r0, r6, 0
- movs r1, 0x1
- bl GetMonData
- ldr r1, _0809FE5C
- ands r1, r0
- movs r0, 0xC1
- str r0, [sp]
- movs r0, 0x20
- str r0, [sp, 0x4]
- movs r0, 0x1
- str r0, [sp, 0x8]
- adds r0, r1, 0
- movs r1, 0xD
- movs r2, 0x5
- movs r3, 0x2
- bl sub_80A1F98
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _0809FE60
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r5, r1, r2
- ldrb r4, [r5, 0x6]
- adds r0, r4, 0
- movs r1, 0x78
- movs r2, 0x30
- movs r3, 0
- bl sub_80A198C
- ldrb r0, [r5, 0x7]
- cmp r4, r0
- beq _0809FDF8
- ldrb r0, [r5, 0x7]
- movs r1, 0xA0
- movs r2, 0x30
- movs r3, 0x1
- bl sub_80A198C
-_0809FDF8:
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r6, 0
- movs r1, 0x2E
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl GetAbilityBySpecies
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xD
- muls r0, r4
- ldr r1, _0809FE64
- adds r0, r1
- movs r1, 0xD
- movs r2, 0xB
- movs r3, 0x9
- bl sub_80A1FF8
- ldr r0, _0809FE68
- lsls r4, 2
- adds r4, r0
- ldr r0, [r4]
- movs r1, 0xB
- movs r2, 0xB
- bl MenuPrint
- adds r0, r6, 0
- movs r1, 0xB
- movs r2, 0xE
- bl sub_80A0798
-_0809FE4C:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FE54: .4byte gStringVar2
-_0809FE58: .4byte gStringVar1
-_0809FE5C: .4byte 0x0000ffff
-_0809FE60: .4byte gBaseStats
-_0809FE64: .4byte gAbilityNames
-_0809FE68: .4byte gAbilityDescriptions
- thumb_func_end sub_809FC34
-
- thumb_func_start sub_809FE6C
-sub_809FE6C: @ 809FE6C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_809FC0C
- adds r0, r4, 0
- bl sub_809FC34
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_809FE6C
-
- thumb_func_start sub_809FE80
-sub_809FE80: @ 809FE80
- push {lr}
- movs r0, 0xE
- movs r1, 0x4
- movs r2, 0x12
- movs r3, 0x5
- bl MenuZeroFillWindowRect
- movs r0, 0x19
- movs r1, 0x4
- movs r2, 0x1E
- movs r3, 0x5
- bl MenuZeroFillWindowRect
- movs r0, 0xB
- movs r1, 0x9
- movs r2, 0x1C
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- movs r0, 0xB
- movs r1, 0xE
- movs r2, 0x1C
- movs r3, 0x11
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_809FE80
-
- thumb_func_start sub_809FEB8
-sub_809FEB8: @ 809FEB8
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _0809FF40
- movs r1, 0xD
- movs r2, 0xB
- movs r3, 0xE
- bl sub_80A1FF8
- ldr r0, _0809FF44
- movs r1, 0xD
- movs r2, 0xB
- movs r3, 0x10
- bl sub_80A1FF8
- ldr r0, _0809FF48
- movs r1, 0x15
- movs r2, 0x10
- bl MenuPrint
- ldr r0, _0809FF4C
- movs r4, 0x2A
- str r4, [sp]
- movs r1, 0xD
- movs r2, 0xB
- movs r3, 0x7
- bl sub_80A1F48
- ldr r0, _0809FF50
- str r4, [sp]
- movs r1, 0xD
- movs r2, 0xB
- movs r3, 0x9
- bl sub_80A1F48
- ldr r0, _0809FF54
- str r4, [sp]
- movs r1, 0xD
- movs r2, 0xB
- movs r3, 0xB
- bl sub_80A1F48
- ldr r0, _0809FF58
- movs r4, 0x24
- str r4, [sp]
- movs r1, 0xD
- movs r2, 0x16
- movs r3, 0x7
- bl sub_80A1F48
- ldr r0, _0809FF5C
- str r4, [sp]
- movs r1, 0xD
- movs r2, 0x16
- movs r3, 0x9
- bl sub_80A1F48
- ldr r0, _0809FF60
- str r4, [sp]
- movs r1, 0xD
- movs r2, 0x16
- movs r3, 0xB
- bl sub_80A1F48
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0809FF40: .4byte gOtherText_ExpPoints
-_0809FF44: .4byte gOtherText_NextLv
-_0809FF48: .4byte gOtherText_Terminator18
-_0809FF4C: .4byte gOtherText_HP
-_0809FF50: .4byte gOtherText_Attack
-_0809FF54: .4byte gOtherText_Defense
-_0809FF58: .4byte gOtherText_SpAtk
-_0809FF5C: .4byte gOtherText_SpDef
-_0809FF60: .4byte gOtherText_Speed
- thumb_func_end sub_809FEB8
-
- thumb_func_start sub_809FF64
-sub_809FF64: @ 809FF64
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
-_0809FF6A:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80A1918
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _0809FF6A
- adds r0, r5, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB
- movs r2, 0x4
- bl sub_80A0BF4
- adds r0, r5, 0
- bl sub_80A0B88
- ldr r4, _080A008C
- adds r0, r5, 0
- movs r1, 0x19
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- bl ConvertIntToDecimalString
- adds r0, r4, 0
- movs r1, 0x1D
- movs r2, 0xE
- bl sub_8072B4C
- adds r0, r5, 0
- movs r1, 0x17
- movs r2, 0x10
- bl sub_80A0C80
- adds r0, r5, 0
- movs r1, 0x3B
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- bl ConvertIntToDecimalString
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x9
- movs r3, 0x32
- bl sub_8072BD8
- adds r0, r5, 0
- movs r1, 0x3C
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- bl ConvertIntToDecimalString
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0xB
- movs r3, 0x32
- bl sub_8072BD8
- adds r0, r5, 0
- movs r1, 0x3E
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- bl ConvertIntToDecimalString
- adds r0, r4, 0
- movs r1, 0x1B
- movs r2, 0x7
- movs r3, 0x12
- bl sub_8072BD8
- adds r0, r5, 0
- movs r1, 0x3F
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- bl ConvertIntToDecimalString
- adds r0, r4, 0
- movs r1, 0x1B
- movs r2, 0x9
- movs r3, 0x12
- bl sub_8072BD8
- adds r0, r5, 0
- movs r1, 0x3D
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- bl ConvertIntToDecimalString
- adds r0, r4, 0
- movs r1, 0x1B
- movs r2, 0xB
- movs r3, 0x12
- bl sub_8072BD8
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x18
- movs r3, 0x1
- bl sub_8072C14
- adds r4, r0, 0
- movs r0, 0xBA
- strb r0, [r4]
- adds r4, 0x1
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x30
- movs r3, 0x1
- bl sub_8072C14
- ldr r0, _080A008C
- movs r1, 0x7E
- movs r2, 0x38
- movs r3, 0x1
- bl sub_80729D8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A008C: .4byte gStringVar1
- thumb_func_end sub_809FF64
-
- thumb_func_start sub_80A0090
-sub_80A0090: @ 80A0090
- push {r4,lr}
- adds r4, r0, 0
- bl sub_809FEB8
- adds r0, r4, 0
- bl sub_809FF64
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A0090
-
- thumb_func_start sub_80A00A4
-sub_80A00A4: @ 80A00A4
- push {lr}
- movs r0, 0xB
- movs r1, 0x4
- movs r2, 0x13
- movs r3, 0x5
- bl MenuZeroFillWindowRect
- movs r0, 0x10
- movs r1, 0x7
- movs r2, 0x15
- movs r3, 0x8
- bl MenuZeroFillWindowRect
- movs r0, 0x11
- movs r1, 0x9
- movs r2, 0x15
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- movs r0, 0x1B
- movs r1, 0x7
- movs r2, 0x1D
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- movs r0, 0x16
- movs r1, 0xE
- movs r2, 0x1C
- movs r3, 0xF
- bl MenuZeroFillWindowRect
- movs r0, 0x17
- movs r1, 0x10
- movs r2, 0x1C
- movs r3, 0x11
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_80A00A4
-
- thumb_func_start sub_80A00F4
-sub_80A00F4: @ 80A00F4
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r2, _080A012C
- adds r0, r2, 0
- adds r0, 0x7C
- ldrh r0, [r0]
- cmp r0, 0
- bne _080A010A
- cmp r1, 0x4
- beq _080A0150
-_080A010A:
- ldrb r0, [r2, 0xB]
- cmp r0, 0x2
- bne _080A0138
- ldr r0, _080A0130
- movs r1, 0xD
- movs r2, 0x1
- movs r3, 0xF
- bl sub_80A1FF8
- ldr r0, _080A0134
- movs r1, 0xD
- movs r2, 0x1
- movs r3, 0x11
- bl sub_80A1FF8
- b _080A0150
- .align 2, 0
-_080A012C: .4byte 0x02018000
-_080A0130: .4byte gOtherText_Power2
-_080A0134: .4byte gOtherText_Accuracy2
-_080A0138:
- ldr r0, _080A0154
- movs r1, 0xD
- movs r2, 0x1
- movs r3, 0xF
- bl sub_80A1FF8
- ldr r0, _080A0158
- movs r1, 0xD
- movs r2, 0x1
- movs r3, 0x11
- bl sub_80A1FF8
-_080A0150:
- pop {r0}
- bx r0
- .align 2, 0
-_080A0154: .4byte gOtherText_Appeal2
-_080A0158: .4byte gOtherText_Jam2
- thumb_func_end sub_80A00F4
-
- thumb_func_start sub_80A015C
-sub_80A015C: @ 80A015C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- movs r7, 0
-_080A0168:
- mov r0, r8
- adds r1, r7, 0
- bl sub_809F760
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r8
- adds r1, r7, 0
- bl sub_809F798
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r6, 0
- bne _080A01B8
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_80A1918
- lsls r4, r7, 25
- movs r0, 0x80
- lsls r0, 19
- adds r4, r0
- lsrs r4, 24
- ldr r0, _080A01B0
- movs r1, 0xD
- movs r2, 0xF
- adds r3, r4, 0
- bl sub_80A1FF8
- ldr r0, _080A01B4
- movs r1, 0x1A
- adds r2, r4, 0
- bl MenuPrint
- b _080A0276
- .align 2, 0
-_080A01B0: .4byte gOtherText_OneDash
-_080A01B4: .4byte gOtherText_TwoDashes
-_080A01B8:
- ldr r0, _080A01E0
- ldrb r0, [r0, 0xB]
- cmp r0, 0x2
- bne _080A01E8
- ldr r1, _080A01E4
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
- lsls r4, r7, 1
- adds r2, r4, 0x4
- lsls r2, 27
- lsrs r2, 24
- movs r1, 0x57
- adds r3, r7, 0
- bl sub_80A198C
- b _080A020C
- .align 2, 0
-_080A01E0: .4byte 0x02018000
-_080A01E4: .4byte gBattleMoves
-_080A01E8:
- ldr r1, _080A0290
- lsls r0, r6, 3
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 5
- movs r1, 0x90
- lsls r1, 21
- adds r0, r1
- lsrs r0, 24
- lsls r4, r7, 1
- adds r2, r4, 0x4
- lsls r2, 27
- lsrs r2, 24
- movs r1, 0x57
- adds r3, r7, 0
- bl sub_80A198C
-_080A020C:
- movs r0, 0xD
- muls r0, r6
- ldr r1, _080A0294
- adds r0, r1
- adds r5, r4, 0x4
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0xD
- movs r2, 0xF
- adds r3, r5, 0
- bl sub_80A1FF8
- movs r0, 0x1
- movs r1, 0x18
- adds r2, r5, 0
- bl GetStringCenterAlignXOffset
- mov r0, r8
- movs r1, 0x15
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- adds r2, r7, 0
- bl CalculatePPWithBonus
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A0298
- adds r0, r1, 0
- mov r1, r9
- movs r2, 0xE
- movs r3, 0x1
- bl sub_8072C14
- adds r1, r0, 0
- movs r0, 0xBA
- strb r0, [r1]
- adds r1, 0x1
- adds r0, r1, 0
- adds r1, r4, 0
- movs r2, 0x20
- movs r3, 0x1
- bl sub_8072C14
- ldr r0, _080A0298
- movs r1, 0x19
- adds r2, r5, 0
- bl MenuPrint
-_080A0276:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bhi _080A0282
- b _080A0168
-_080A0282:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0290: .4byte gContestMoves
-_080A0294: .4byte gMoveNames
-_080A0298: .4byte gStringVar1
- thumb_func_end sub_80A015C
-
- thumb_func_start sub_80A029C
-sub_80A029C: @ 80A029C
- push {r4,r5,lr}
- ldr r1, _080A02B8
- adds r4, r1, 0
- adds r4, 0x7C
- ldrh r0, [r4]
- cmp r0, 0
- bne _080A02C0
- ldr r0, _080A02BC
- movs r1, 0xD
- movs r2, 0xF
- movs r3, 0xC
- bl sub_80A1FF8
- b _080A037E
- .align 2, 0
-_080A02B8: .4byte 0x02018000
-_080A02BC: .4byte gOtherText_CancelNoTerminator
-_080A02C0:
- ldrh r5, [r4]
- ldrb r0, [r1, 0xB]
- cmp r0, 0x2
- bne _080A02E4
- ldr r1, _080A02E0
- lsls r4, r5, 1
- adds r0, r4, r5
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x2]
- movs r1, 0x57
- movs r2, 0x60
- movs r3, 0x4
- bl sub_80A198C
- b _080A0304
- .align 2, 0
-_080A02E0: .4byte gBattleMoves
-_080A02E4:
- ldr r1, _080A0320
- lsls r0, r5, 3
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 5
- movs r1, 0x90
- lsls r1, 21
- adds r0, r1
- lsrs r0, 24
- movs r1, 0x57
- movs r2, 0x60
- movs r3, 0x4
- bl sub_80A198C
- lsls r4, r5, 1
-_080A0304:
- ldr r0, _080A0324
- ldrb r0, [r0, 0xB]
- cmp r0, 0x2
- bne _080A032C
- movs r0, 0xD
- muls r0, r5
- ldr r1, _080A0328
- adds r0, r1
- movs r1, 0xA
- movs r2, 0xF
- movs r3, 0xC
- bl sub_80A1FF8
- b _080A033E
- .align 2, 0
-_080A0320: .4byte gContestMoves
-_080A0324: .4byte 0x02018000
-_080A0328: .4byte gMoveNames
-_080A032C:
- movs r0, 0xD
- muls r0, r5
- ldr r1, _080A0384
- adds r0, r1
- movs r1, 0x9
- movs r2, 0xF
- movs r3, 0xC
- bl sub_80A1FF8
-_080A033E:
- movs r0, 0x1
- movs r1, 0x18
- movs r2, 0xC
- bl GetStringCenterAlignXOffset
- ldr r2, _080A0388
- ldr r1, _080A038C
- adds r0, r4, r5
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x4]
- adds r0, r2, 0
- adds r1, r4, 0
- movs r2, 0xE
- movs r3, 0x1
- bl sub_8072C14
- adds r2, r0, 0
- movs r0, 0xBA
- strb r0, [r2]
- adds r2, 0x1
- adds r0, r2, 0
- adds r1, r4, 0
- movs r2, 0x20
- movs r3, 0x1
- bl sub_8072C14
- ldr r0, _080A0388
- movs r1, 0x19
- movs r2, 0xC
- bl MenuPrint
-_080A037E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0384: .4byte gMoveNames
-_080A0388: .4byte gStringVar1
-_080A038C: .4byte gBattleMoves
- thumb_func_end sub_80A029C
-
- thumb_func_start sub_80A0390
-sub_80A0390: @ 80A0390
- push {r4,lr}
- movs r4, 0
-_080A0394:
- lsls r3, r4, 1
- adds r1, r3, 0x4
- lsls r1, 24
- lsrs r1, 24
- adds r3, 0x5
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0xF
- movs r2, 0x1C
- bl MenuZeroFillWindowRect
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080A0394
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A0390
-
- thumb_func_start sub_80A03BC
-sub_80A03BC: @ 80A03BC
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x4
- beq _080A03D0
- bl sub_809F760
- lsls r0, 16
- lsrs r1, r0, 16
- b _080A03E0
-_080A03D0:
- ldr r0, _080A03E8
- adds r2, r0, 0
- adds r2, 0x7C
- ldrh r0, [r2]
- ldr r1, _080A03EC
- cmp r0, 0
- beq _080A03E0
- adds r1, r0, 0
-_080A03E0:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A03E8: .4byte 0x02018000
-_080A03EC: .4byte 0x0000ffff
- thumb_func_end sub_80A03BC
-
- thumb_func_start sub_80A03F0
-sub_80A03F0: @ 80A03F0
- push {lr}
- ldrb r1, [r1]
- bl sub_80A03BC
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _080A0414
- ldrb r0, [r0, 0xB]
- cmp r0, 0x2
- bne _080A041C
- adds r0, r1, 0
- bl sub_80A04CC
- ldr r0, _080A0418
- bl sub_80A057C
- b _080A0422
- .align 2, 0
-_080A0414: .4byte 0x02018000
-_080A0418: .4byte 0x0000ffff
-_080A041C:
- adds r0, r1, 0
- bl sub_80A057C
-_080A0422:
- pop {r0}
- bx r0
- thumb_func_end sub_80A03F0
-
- thumb_func_start sub_80A0428
-sub_80A0428: @ 80A0428
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldrb r1, [r6]
- bl sub_80A03BC
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0xB
- movs r1, 0xF
- movs r2, 0x1C
- movs r3, 0x12
- bl MenuZeroFillWindowRect
- ldr r0, _080A0454
- ldrb r0, [r0, 0xB]
- cmp r0, 0x2
- bne _080A0458
- adds r0, r4, 0
- bl sub_80A046C
- b _080A045E
- .align 2, 0
-_080A0454: .4byte 0x02018000
-_080A0458:
- adds r0, r4, 0
- bl sub_80A0498
-_080A045E:
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80A03F0
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A0428
-
- thumb_func_start sub_80A046C
-sub_80A046C: @ 80A046C
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _080A0490
- cmp r1, r0
- beq _080A048A
- ldr r0, _080A0494
- subs r1, 0x1
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- movs r1, 0xB
- movs r2, 0xF
- bl MenuPrint
-_080A048A:
- pop {r0}
- bx r0
- .align 2, 0
-_080A0490: .4byte 0x0000ffff
-_080A0494: .4byte gMoveDescriptions
- thumb_func_end sub_80A046C
-
- thumb_func_start sub_80A0498
-sub_80A0498: @ 80A0498
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, _080A04C0
- cmp r3, r0
- beq _080A04BC
- ldr r2, _080A04C4
- ldr r1, _080A04C8
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0xB
- movs r2, 0xF
- bl MenuPrint
-_080A04BC:
- pop {r0}
- bx r0
- .align 2, 0
-_080A04C0: .4byte 0x0000ffff
-_080A04C4: .4byte gUnknown_083CADD4
-_080A04C8: .4byte gContestMoves
- thumb_func_end sub_80A0498
-
- thumb_func_start sub_80A04CC
-sub_80A04CC: @ 80A04CC
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _080A0504
- cmp r4, r0
- beq _080A0572
- ldr r2, _080A0508
- lsls r1, r4, 1
- adds r0, r1, r4
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2, 0x1]
- adds r5, r1, 0
- cmp r0, 0x1
- bhi _080A0514
- ldr r0, _080A050C
- ldr r1, _080A0510
- movs r2, 0x15
- movs r3, 0x1
- bl sub_8072C74
- ldr r0, _080A050C
- movs r1, 0x7
- movs r2, 0xF
- bl MenuPrint
- b _080A052A
- .align 2, 0
-_080A0504: .4byte 0x0000ffff
-_080A0508: .4byte gBattleMoves
-_080A050C: .4byte gStringVar1
-_080A0510: .4byte gOtherText_ThreeDashes2
-_080A0514:
- ldr r0, _080A0550
- ldrb r1, [r2, 0x1]
- movs r2, 0x15
- movs r3, 0x1
- bl sub_8072C14
- ldr r0, _080A0550
- movs r1, 0x7
- movs r2, 0xF
- bl MenuPrint
-_080A052A:
- ldr r0, _080A0554
- adds r1, r5, r4
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x3]
- cmp r0, 0
- bne _080A055C
- ldr r0, _080A0550
- ldr r1, _080A0558
- movs r2, 0x15
- movs r3, 0x1
- bl sub_8072C74
- ldr r0, _080A0550
- movs r1, 0x7
- movs r2, 0x11
- bl MenuPrint
- b _080A0572
- .align 2, 0
-_080A0550: .4byte gStringVar1
-_080A0554: .4byte gBattleMoves
-_080A0558: .4byte gOtherText_ThreeDashes2
-_080A055C:
- ldr r0, _080A0578
- ldrb r1, [r1, 0x3]
- movs r2, 0x15
- movs r3, 0x1
- bl sub_8072C14
- ldr r0, _080A0578
- movs r1, 0x7
- movs r2, 0x11
- bl MenuPrint
-_080A0572:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0578: .4byte gStringVar1
- thumb_func_end sub_80A04CC
-
- thumb_func_start sub_80A057C
-sub_80A057C: @ 80A057C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _080A0648
- mov r8, r0
- ldr r0, _080A064C
- cmp r5, r0
- beq _080A063A
- ldr r1, _080A0650
- ldr r2, _080A0654
- lsls r3, r5, 3
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- mov r10, r2
- mov r9, r3
- cmp r4, 0xFF
- beq _080A05B8
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r4, r0, 24
-_080A05B8:
- movs r2, 0
- movs r7, 0x3
- movs r6, 0xF3
- lsls r6, 2
-_080A05C0:
- ldr r3, _080A0658
- cmp r4, 0xFF
- beq _080A05CC
- cmp r2, r4
- bcs _080A05CC
- adds r3, 0x1
-_080A05CC:
- lsrs r0, r2, 2
- lsls r0, 5
- adds r1, r2, 0
- ands r1, r7
- adds r1, r0
- lsls r1, 1
- add r1, r8
- adds r1, r6
- strh r3, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _080A05C0
- ldr r0, _080A064C
- cmp r5, r0
- beq _080A063A
- mov r0, r9
- add r0, r10
- ldrb r0, [r0]
- lsls r0, 2
- ldr r1, _080A0650
- adds r0, r1
- ldrb r4, [r0, 0x2]
- cmp r4, 0xFF
- beq _080A060C
- adds r0, r4, 0
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r4, r0, 24
-_080A060C:
- movs r2, 0
- movs r6, 0x3
- ldr r5, _080A065C
-_080A0612:
- ldr r3, _080A0660
- cmp r4, 0xFF
- beq _080A061E
- cmp r2, r4
- bcs _080A061E
- subs r3, 0x1
-_080A061E:
- lsrs r0, r2, 2
- lsls r0, 5
- adds r1, r2, 0
- ands r1, r6
- adds r1, r0
- lsls r1, 1
- add r1, r8
- adds r1, r5
- strh r3, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _080A0612
-_080A063A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0648: .4byte 0x06006800
-_080A064C: .4byte 0x0000ffff
-_080A0650: .4byte gContestEffects
-_080A0654: .4byte gContestMoves
-_080A0658: .4byte 0x00001039
-_080A065C: .4byte 0x0000044c
-_080A0660: .4byte 0x0000103d
- thumb_func_end sub_80A057C
-
- thumb_func_start sub_80A0664
-sub_80A0664: @ 80A0664
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, _080A06A0
- ldr r1, [r0]
- ldr r0, _080A06A4
- cmp r1, r0
- bne _080A06B0
- bl GetMultiplayerId
- movs r1, 0x1
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A06A8
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r0, r2, 0x4
- adds r0, r1, r0
- ldrh r5, [r0]
- ldr r4, _080A06AC
- adds r2, 0x8
- adds r1, r2
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- bl SkipExtCtrlCodes
- b _080A06C2
- .align 2, 0
-_080A06A0: .4byte 0x02018000
-_080A06A4: .4byte gEnemyParty
-_080A06A8: .4byte gLinkPlayers
-_080A06AC: .4byte gStringVar1
-_080A06B0:
- bl sub_80BFB94
- adds r5, r0, 0
- ldr r0, _080A06F0
- ands r5, r0
- ldr r0, _080A06F4
- ldr r1, _080A06F8
- bl StringCopy
-_080A06C2:
- adds r0, r6, 0
- movs r1, 0x1
- bl GetMonData
- ldr r1, _080A06F0
- ands r1, r0
- cmp r5, r1
- bne _080A06EA
- ldr r4, _080A06FC
- adds r0, r6, 0
- movs r1, 0x7
- adds r2, r4, 0
- bl GetMonData
- ldr r0, _080A06F4
- adds r1, r4, 0
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- beq _080A0700
-_080A06EA:
- movs r0, 0
- b _080A0702
- .align 2, 0
-_080A06F0: .4byte 0x0000ffff
-_080A06F4: .4byte gStringVar1
-_080A06F8: .4byte gSaveBlock2
-_080A06FC: .4byte gStringVar2
-_080A0700:
- movs r0, 0x1
-_080A0702:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A0664
-
- thumb_func_start sub_80A0708
-sub_80A0708: @ 80A0708
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- mov r9, r5
- lsls r2, 24
- lsrs r6, r2, 24
- mov r8, r6
- movs r1, 0x25
- bl GetMonData
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x2
- bls _080A073C
- ldr r0, _080A0738
- b _080A076E
- .align 2, 0
-_080A0738: .4byte gOtherText_EggObtainedInTrade
-_080A073C:
- adds r0, r4, 0
- movs r1, 0x23
- bl GetMonData
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xFF
- bne _080A0754
- ldr r0, _080A0750
- b _080A076E
- .align 2, 0
-_080A0750: .4byte gOtherText_EggNicePlace
-_080A0754:
- adds r0, r4, 0
- bl sub_80A0664
- lsls r0, 24
- cmp r0, 0
- bne _080A0768
- ldr r0, _080A0764
- b _080A076E
- .align 2, 0
-_080A0764: .4byte gOtherText_EggObtainedInTrade
-_080A0768:
- cmp r7, 0xFD
- bne _080A077C
- ldr r0, _080A0778
-_080A076E:
- adds r1, r5, 0
- adds r2, r6, 0
- bl MenuPrint
- b _080A0786
- .align 2, 0
-_080A0778: .4byte gOtherText_EggHotSprings
-_080A077C:
- ldr r0, _080A0794
- mov r1, r9
- mov r2, r8
- bl MenuPrint
-_080A0786:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0794: .4byte gOtherText_EggDayCare
- thumb_func_end sub_80A0708
-
- thumb_func_start sub_80A0798
-sub_80A0798: @ 80A0798
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- ldr r5, _080A0838
- bl GetNature
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080A083C
- lsls r0, r4, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- movs r2, 0xE
- bl sub_80A1E9C
- adds r5, r0, 0
- cmp r4, 0x5
- beq _080A07DA
- cmp r4, 0x15
- beq _080A07DA
- ldr r1, _080A0840
- bl StringCopy
- adds r5, r0, 0
-_080A07DA:
- ldr r1, _080A0844
- adds r0, r5, 0
- bl StringCopy
- adds r5, r0, 0
- adds r0, r7, 0
- bl sub_80A0664
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A0898
- adds r0, r7, 0
- movs r1, 0x23
- bl GetMonData
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r7, 0
- movs r1, 0x24
- bl GetMonData
- cmp r0, 0
- bne _080A0850
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_80A203C
- adds r5, r0, 0
- movs r0, 0xFE
- strb r0, [r5]
- adds r5, 0x1
- ldr r4, _080A0848
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80FC02C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0xE
- bl sub_80A1E9C
- adds r5, r0, 0
- ldr r1, _080A084C
- bl StringCopy
- b _080A0934
- .align 2, 0
-_080A0838: .4byte gStringVar4
-_080A083C: .4byte gNatureNames
-_080A0840: .4byte gOtherText_Terminator4
-_080A0844: .4byte gOtherText_Nature
-_080A0848: .4byte gStringVar1
-_080A084C: .4byte gOtherText_Egg2
-_080A0850:
- cmp r6, 0x57
- bhi _080A08E8
- adds r0, r7, 0
- movs r1, 0x24
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_80A203C
- adds r5, r0, 0
- movs r0, 0xFE
- strb r0, [r5]
- adds r5, 0x1
- ldr r4, _080A0890
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80FC02C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0xE
- bl sub_80A1E9C
- adds r5, r0, 0
- ldr r1, _080A0894
- bl StringCopy
- b _080A0934
- .align 2, 0
-_080A0890: .4byte gStringVar1
-_080A0894: .4byte gOtherText_Met
-_080A0898:
- adds r0, r7, 0
- movs r1, 0x25
- bl GetMonData
- lsls r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x2
- bhi _080A08E8
- adds r0, r7, 0
- movs r1, 0x23
- bl GetMonData
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xFF
- bne _080A08E4
- adds r0, r7, 0
- movs r1, 0x24
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_80A203C
- adds r5, r0, 0
- movs r0, 0xFE
- strb r0, [r5]
- adds r5, 0x1
- ldr r1, _080A08E0
- b _080A08F0
- .align 2, 0
-_080A08E0: .4byte gOtherText_FatefulEncounter
-_080A08E4:
- cmp r6, 0x57
- bls _080A08FC
-_080A08E8:
- movs r0, 0xFE
- strb r0, [r5]
- adds r5, 0x1
- ldr r1, _080A08F8
-_080A08F0:
- adds r0, r5, 0
- bl StringCopy
- b _080A0934
- .align 2, 0
-_080A08F8: .4byte gOtherText_ObtainedInTrade
-_080A08FC:
- adds r0, r7, 0
- movs r1, 0x24
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl sub_80A203C
- adds r5, r0, 0
- movs r0, 0xFE
- strb r0, [r5]
- adds r5, 0x1
- ldr r4, _080A094C
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80FC02C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0xE
- bl sub_80A1E9C
- adds r5, r0, 0
- ldr r1, _080A0950
- bl StringCopy
-_080A0934:
- ldr r0, _080A0954
- mov r1, r9
- mov r2, r8
- bl MenuPrint
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A094C: .4byte gStringVar1
-_080A0950: .4byte gOtherText_Met2
-_080A0954: .4byte gStringVar4
- thumb_func_end sub_80A0798
-
- thumb_func_start sub_80A0958
-sub_80A0958: @ 80A0958
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- mov r8, r0
- movs r1, 0xB
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r2, _080A0A24
- adds r0, r2, 0
- movs r1, 0xD
- bl sub_80A1E58
- adds r2, r0, 0
- movs r6, 0xFC
- strb r6, [r2]
- movs r0, 0x11
- strb r0, [r2, 0x1]
- movs r0, 0x7
- strb r0, [r2, 0x2]
- movs r0, 0xBA
- strb r0, [r2, 0x3]
- adds r2, 0x4
- movs r0, 0xB
- adds r1, r4, 0
- muls r1, r0
- ldr r0, _080A0A28
- adds r1, r0
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- strb r6, [r2]
- movs r0, 0x13
- mov r10, r0
- strb r0, [r2, 0x1]
- movs r0, 0x50
- strb r0, [r2, 0x2]
- movs r0, 0xFF
- mov r9, r0
- strb r0, [r2, 0x3]
- ldr r5, _080A0A24
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0xE
- bl MenuPrint
- movs r0, 0x3
- movs r1, 0x10
- movs r2, 0x9
- movs r3, 0x11
- bl MenuZeroFillWindowRect
- mov r0, r8
- movs r1, 0x38
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0xD
- bl sub_80A1E58
- adds r2, r0, 0
- movs r0, 0x34
- strb r0, [r2]
- adds r2, 0x1
- adds r0, r2, 0
- adds r1, r4, 0
- bl ConvertIntToDecimalString
- adds r2, r0, 0
- strb r6, [r2]
- mov r0, r10
- strb r0, [r2, 0x1]
- movs r0, 0x20
- strb r0, [r2, 0x2]
- mov r0, r9
- strb r0, [r2, 0x3]
- adds r0, r5, 0
- movs r1, 0x3
- movs r2, 0x10
- bl MenuPrint
- mov r0, r8
- movs r1, 0x7
- movs r2, 0x10
- bl sub_80A0A2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0A24: .4byte gStringVar1
-_080A0A28: .4byte gSpeciesNames
- thumb_func_end sub_80A0958
-
- thumb_func_start sub_80A0A2C
-sub_80A0A2C: @ 80A0A2C
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x20
- beq _080A0A84
- cmp r0, 0x1D
- beq _080A0A84
- adds r0, r6, 0
- bl GetMonGender
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080A0A6E
- cmp r0, 0xFE
- beq _080A0A78
- adds r3, r4, 0x1
- lsls r3, 24
- lsrs r3, 24
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl MenuZeroFillWindowRect
- b _080A0A84
-_080A0A6E:
- ldr r0, _080A0A74
- movs r1, 0xB
- b _080A0A7C
- .align 2, 0
-_080A0A74: .4byte gOtherText_MaleSymbol2
-_080A0A78:
- ldr r0, _080A0A8C
- movs r1, 0xC
-_080A0A7C:
- adds r2, r5, 0
- adds r3, r4, 0
- bl sub_80A1FF8
-_080A0A84:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0A8C: .4byte gOtherText_FemaleSymbolAndLv
- thumb_func_end sub_80A0A2C
-
- thumb_func_start sub_80A0A90
-sub_80A0A90: @ 80A0A90
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x32
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x33
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x34
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x35
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x36
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x43
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x44
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x45
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x46
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x47
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x48
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x49
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x4A
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x4B
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x4C
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x4D
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x4E
- bl GetMonData
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A0A90
-
- thumb_func_start sub_80A0B88
-sub_80A0B88: @ 80A0B88
- push {r4,r5,lr}
- bl sub_80A0A90
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080A0BA8
- ldr r0, _080A0BA0
- ldr r1, _080A0BA4
- bl StringCopy
- b _080A0BD8
- .align 2, 0
-_080A0BA0: .4byte gStringVar1
-_080A0BA4: .4byte gOtherText_None
-_080A0BA8:
- ldr r4, _080A0BE8
- ldr r1, _080A0BEC
- adds r0, r4, 0
- bl StringCopy
- adds r0, r4, 0
- bl StringLength
- lsls r0, 24
- lsrs r0, 24
- subs r4, 0x2
- adds r0, r4
- movs r1, 0xFC
- strb r1, [r0]
- movs r1, 0x14
- strb r1, [r0, 0x1]
- movs r1, 0x6
- strb r1, [r0, 0x2]
- adds r0, 0x3
- adds r1, r5, 0
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
-_080A0BD8:
- ldr r0, _080A0BF0
- movs r1, 0x15
- movs r2, 0x4
- bl MenuPrint
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0BE8: .4byte gStringVar1
-_080A0BEC: .4byte gOtherText_Ribbons00
-_080A0BF0: .4byte gUnknown_083C15AE
- thumb_func_end sub_80A0B88
-
- thumb_func_start sub_80A0BF4
-sub_80A0BF4: @ 80A0BF4
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- cmp r5, 0xAF
- bne _080A0C48
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A0C48
- bl sub_806B528
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A0C48
- ldr r0, _080A0C40
- ldrb r0, [r0, 0x9]
- cmp r0, 0x1
- beq _080A0C2E
- cmp r0, 0x4
- beq _080A0C2E
- cmp r0, 0x5
- bne _080A0C48
-_080A0C2E:
- ldr r4, _080A0C44
- adds r0, r5, 0
- bl itemid_get_item
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- b _080A0C68
- .align 2, 0
-_080A0C40: .4byte 0x02018000
-_080A0C44: .4byte gStringVar1
-_080A0C48:
- cmp r5, 0
- bne _080A0C60
- ldr r0, _080A0C58
- ldr r1, _080A0C5C
- bl StringCopy
- b _080A0C68
- .align 2, 0
-_080A0C58: .4byte gStringVar1
-_080A0C5C: .4byte gOtherText_None
-_080A0C60:
- ldr r1, _080A0C78
- adds r0, r5, 0
- bl itemid_copy_name
-_080A0C68:
- ldr r0, _080A0C7C
- adds r1, r7, 0
- adds r2, r6, 0
- bl MenuPrint
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0C78: .4byte gStringVar1
-_080A0C7C: .4byte gUnknown_083C15B4
- thumb_func_end sub_80A0BF4
-
- thumb_func_start sub_80A0C80
-sub_80A0C80: @ 80A0C80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- movs r0, 0
- mov r9, r0
- movs r6, 0
- movs r7, 0
- adds r0, r4, 0
- movs r1, 0x19
- bl GetMonData
- mov r8, r0
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r5, 0x63
- bhi _080A0D14
- ldr r3, _080A0D4C
- adds r1, r5, 0x1
- lsls r1, 2
- ldr r2, _080A0D50
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0, 0x13]
- movs r0, 0xCA
- lsls r0, 1
- muls r2, r0
- adds r1, r2
- adds r1, r3
- ldr r1, [r1]
- mov r0, r8
- subs r0, r1, r0
- mov r9, r0
- lsls r0, r5, 2
- adds r0, r2
- adds r0, r3
- ldr r0, [r0]
- subs r1, r0
- mov r2, r8
- subs r4, r2, r0
- lsls r0, r4, 6
- bl __udivsi3
- adds r6, r0, 0
- movs r7, 0
- adds r0, r7, 0
- orrs r0, r6
- cmp r0, 0
- bne _080A0D14
- cmp r4, 0
- beq _080A0D14
- movs r6, 0x1
- movs r7, 0
-_080A0D14:
- ldr r4, _080A0D54
- adds r0, r4, 0
- mov r1, r9
- bl ConvertIntToDecimalString
- mov r1, r10
- adds r1, 0x6
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- ldr r2, [sp]
- bl sub_8072B4C
- ldr r0, _080A0D58
- mov r9, r0
- movs r2, 0
- mov r12, r2
- ldr r0, _080A0D5C
- mov r8, r0
-_080A0D3A:
- cmp r7, 0
- bgt _080A0D46
- cmp r7, 0
- bne _080A0D64
- cmp r6, 0x7
- bls _080A0D64
-_080A0D46:
- ldr r1, _080A0D60
- b _080A0D96
- .align 2, 0
-_080A0D4C: .4byte gExperienceTables
-_080A0D50: .4byte gBaseStats
-_080A0D54: .4byte gStringVar1
-_080A0D58: .4byte 0x06004caa
-_080A0D5C: .4byte 0x00002062
-_080A0D60: .4byte 0x0000206a
-_080A0D64:
- adds r5, r7, 0
- adds r4, r6, 0
- cmp r7, 0
- bge _080A0D74
- movs r4, 0x7
- movs r5, 0
- adds r4, r6
- adcs r5, r7
-_080A0D74:
- lsls r3, r5, 29
- lsrs r2, r4, 3
- adds r0, r3, 0
- orrs r0, r2
- asrs r1, r5, 3
- lsrs r5, r0, 29
- lsls r4, r1, 3
- adds r3, r5, 0
- orrs r3, r4
- lsls r2, r0, 3
- adds r1, r7, 0
- adds r0, r6, 0
- subs r0, r2
- sbcs r1, r3
- add r0, r8
- lsls r0, 16
- lsrs r1, r0, 16
-_080A0D96:
- mov r2, r12
- lsls r0, r2, 1
- add r0, r9
- strh r1, [r0]
- movs r0, 0x8
- negs r0, r0
- asrs r1, r0, 31
- adds r6, r0
- adcs r7, r1
- cmp r7, 0
- bge _080A0DB0
- movs r6, 0
- movs r7, 0
-_080A0DB0:
- mov r0, r12
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- cmp r0, 0x7
- bls _080A0D3A
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A0C80
-
- thumb_func_start sub_80A0DD0
-sub_80A0DD0: @ 80A0DD0
- push {r4,r5,lr}
- ldr r2, _080A0E3C
- movs r5, 0xFC
- strb r5, [r2]
- movs r0, 0x12
- strb r0, [r2, 0x1]
- movs r0, 0x2
- strb r0, [r2, 0x2]
- adds r2, 0x3
- adds r0, r2, 0
- movs r1, 0xD
- bl sub_80A1E58
- adds r2, r0, 0
- ldr r1, _080A0E40
- ldr r4, _080A0E44
- adds r0, r4, 0
- adds r0, 0x7E
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- strb r5, [r2]
- movs r0, 0x13
- strb r0, [r2, 0x1]
- movs r0, 0x58
- strb r0, [r2, 0x2]
- movs r0, 0xFF
- strb r0, [r2, 0x3]
- ldr r0, _080A0E3C
- movs r1, 0
- movs r2, 0
- bl MenuPrint
- adds r4, 0x7F
- ldrb r0, [r4]
- cmp r0, 0
- beq _080A0E48
- movs r0, 0x5
- movs r1, 0x17
- movs r2, 0
- bl GetStringCenterAlignXOffset
- movs r0, 0x6
- movs r1, 0x18
- movs r2, 0
- bl GetStringCenterAlignXOffset
- b _080A0E54
- .align 2, 0
-_080A0E3C: .4byte gStringVar1
-_080A0E40: .4byte gUnknown_083C1068
-_080A0E44: .4byte 0x02018000
-_080A0E48:
- movs r0, 0x17
- movs r1, 0
- movs r2, 0x18
- movs r3, 0x1
- bl MenuZeroFillWindowRect
-_080A0E54:
- ldr r2, _080A0E98
- adds r0, r2, 0
- movs r1, 0xD
- bl sub_80A1E58
- adds r2, r0, 0
- ldr r1, _080A0E9C
- ldr r0, _080A0EA0
- adds r0, 0x7F
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x13
- strb r0, [r2, 0x1]
- movs r0, 0x28
- strb r0, [r2, 0x2]
- movs r0, 0xFF
- strb r0, [r2, 0x3]
- ldr r0, _080A0E98
- movs r1, 0x19
- movs r2, 0
- bl MenuPrint
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0E98: .4byte gStringVar1
-_080A0E9C: .4byte gUnknown_083C1068
-_080A0EA0: .4byte 0x02018000
- thumb_func_end sub_80A0DD0
-
- thumb_func_start sub_80A0EA4
-sub_80A0EA4: @ 80A0EA4
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, _080A0ECC
- ldr r6, _080A0ED0
- movs r1, 0
- bl sub_8040110
- lsls r0, 24
- cmp r0, 0
- bne _080A0ED4
- adds r0, r4, 0
- movs r1, 0
- bl sub_8040178
- lsls r0, 24
- cmp r0, 0
- beq _080A0ED4
- movs r0, 0x2C
- b _080A0ED8
- .align 2, 0
-_080A0ECC: .4byte 0x0600e444
-_080A0ED0: .4byte 0x0600ec44
-_080A0ED4:
- ldr r1, _080A0EE4
- adds r0, r1, 0
-_080A0ED8:
- strh r0, [r5]
- strh r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A0EE4: .4byte 0x0000081a
- thumb_func_end sub_80A0EA4
-
- thumb_func_start sub_80A0EE8
-sub_80A0EE8: @ 80A0EE8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- movs r3, 0
- ldr r6, _080A0F24
- adds r5, r6, 0
- ldr r1, _080A0F28
- mov r8, r1
- ldr r2, _080A0F2C
- mov r10, r2
-_080A0F02:
- adds r0, r5, 0
- adds r0, 0x75
- ldrb r0, [r0]
- cmp r3, r0
- bcs _080A0F30
- lsls r1, r3, 1
- lsls r0, r3, 2
- add r0, sp
- mov r4, r8
- strh r4, [r0]
- adds r1, 0x1
- lsls r1, 1
- mov r7, sp
- adds r0, r7, r1
- strh r4, [r0]
- b _080A0FE2
- .align 2, 0
-_080A0F24: .4byte 0x02018000
-_080A0F28: .4byte 0x00004040
-_080A0F2C: .4byte 0x0000404a
-_080A0F30:
- movs r0, 0x76
- adds r0, r6
- mov r12, r0
- ldrb r1, [r0]
- cmp r3, r1
- bls _080A0F52
- lsls r1, r3, 1
- lsls r0, r3, 2
- add r0, sp
- mov r2, r10
- strh r2, [r0]
- adds r1, 0x1
- lsls r1, 1
- mov r4, sp
- adds r0, r4, r1
- strh r2, [r0]
- b _080A0FE2
-_080A0F52:
- ldrb r4, [r5, 0xB]
- cmp r3, r4
- bcs _080A0F6E
- lsls r1, r3, 1
- lsls r0, r3, 2
- mov r7, sp
- adds r2, r7, r0
- ldr r0, _080A0F88
- strh r0, [r2]
- adds r1, 0x1
- lsls r1, 1
- add r1, sp
- adds r0, 0x1
- strh r0, [r1]
-_080A0F6E:
- cmp r3, r4
- bne _080A0FA6
- mov r0, r12
- ldrb r0, [r0]
- cmp r3, r0
- beq _080A0F90
- lsls r1, r3, 1
- lsls r0, r3, 2
- mov r4, sp
- adds r2, r4, r0
- ldr r0, _080A0F8C
- b _080A0F9A
- .align 2, 0
-_080A0F88: .4byte 0x00004046
-_080A0F8C: .4byte 0x00004041
-_080A0F90:
- lsls r1, r3, 1
- lsls r0, r3, 2
- mov r7, sp
- adds r2, r7, r0
- ldr r0, _080A0FC4
-_080A0F9A:
- strh r0, [r2]
- adds r1, 0x1
- lsls r1, 1
- add r1, sp
- adds r0, 0x1
- strh r0, [r1]
-_080A0FA6:
- ldrb r0, [r5, 0xB]
- cmp r3, r0
- bls _080A0FE2
- adds r0, r6, 0
- adds r0, 0x76
- ldrb r0, [r0]
- cmp r3, r0
- beq _080A0FCC
- lsls r1, r3, 1
- lsls r0, r3, 2
- mov r4, sp
- adds r2, r4, r0
- ldr r0, _080A0FC8
- b _080A0FD6
- .align 2, 0
-_080A0FC4: .4byte 0x0000404b
-_080A0FC8: .4byte 0x00004043
-_080A0FCC:
- lsls r1, r3, 1
- lsls r0, r3, 2
- mov r7, sp
- adds r2, r7, r0
- ldr r0, _080A1034
-_080A0FD6:
- strh r0, [r2]
- adds r1, 0x1
- lsls r1, 1
- add r1, sp
- adds r0, 0x1
- strh r0, [r1]
-_080A0FE2:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080A0F02
- ldr r1, _080A1038
- ldr r0, _080A103C
- mov r2, sp
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080A1040
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- movs r3, 0
-_080A0FFE:
- lsls r0, r3, 1
- mov r4, sp
- adds r1, r4, r0
- ldrh r0, [r1]
- adds r0, 0x10
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x7
- bls _080A0FFE
- ldr r1, _080A1044
- ldr r0, _080A103C
- str r4, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080A1040
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1034: .4byte 0x00004048
-_080A1038: .4byte 0x0600e016
-_080A103C: .4byte 0x040000d4
-_080A1040: .4byte 0x80000008
-_080A1044: .4byte 0x0600e056
- thumb_func_end sub_80A0EE8
-
- thumb_func_start sub_80A1048
-sub_80A1048: @ 80A1048
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, _080A10A0
- adds r6, r0, r1
- ldrh r0, [r6]
- ldrh r1, [r6, 0x2]
- adds r0, r1
- strh r0, [r6, 0x2]
- lsls r0, 16
- cmp r0, 0
- bne _080A106E
- b _080A1224
-_080A106E:
- movs r5, 0x2
- ldrsh r2, [r6, r5]
- ldr r0, _080A10A4
- subs r0, r2
- lsls r0, 1
- ldr r1, _080A10A8
- adds r4, r0, r1
- ldr r5, _080A10AC
- lsls r2, 1
- movs r0, 0x80
- lsls r0, 5
- adds r7, r1, 0
- cmp r2, r0
- bhi _080A10B4
- ldr r0, _080A10B0
- str r4, [r0]
- str r5, [r0, 0x4]
- lsrs r1, r2, 1
- movs r2, 0x80
- lsls r2, 24
- orrs r1, r2
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080A10E0
- .align 2, 0
-_080A10A0: .4byte gUnknown_03004B28
-_080A10A4: .4byte 0x0000024a
-_080A10A8: .4byte gUnknown_08E73508
-_080A10AC: .4byte 0x0600e480
-_080A10B0: .4byte 0x040000d4
-_080A10B4:
- ldr r3, _080A110C
- str r4, [r3]
- str r5, [r3, 0x4]
- ldr r0, _080A1110
- str r0, [r3, 0x8]
- ldr r0, [r3, 0x8]
- movs r0, 0x80
- lsls r0, 5
- adds r4, r0
- adds r5, r0
- ldr r1, _080A1114
- adds r2, r1
- cmp r2, r0
- bhi _080A10B4
- str r4, [r3]
- str r5, [r3, 0x4]
- lsrs r0, r2, 1
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- str r0, [r3, 0x8]
- ldr r0, [r3, 0x8]
-_080A10E0:
- movs r5, 0x2
- ldrsh r0, [r6, r5]
- ldr r1, _080A1118
- subs r1, r0
- lsls r1, 1
- adds r3, r1, r7
- ldr r4, _080A111C
- lsls r1, r0, 1
- movs r0, 0x80
- lsls r0, 5
- cmp r1, r0
- bhi _080A1120
- ldr r0, _080A110C
- str r3, [r0]
- str r4, [r0, 0x4]
- lsrs r1, 1
- movs r2, 0x80
- lsls r2, 24
- orrs r1, r2
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080A114C
- .align 2, 0
-_080A110C: .4byte 0x040000d4
-_080A1110: .4byte 0x80000800
-_080A1114: .4byte 0xfffff000
-_080A1118: .4byte 0x0000026a
-_080A111C: .4byte 0x0600e4c0
-_080A1120:
- ldr r2, _080A1178
- str r3, [r2]
- str r4, [r2, 0x4]
- ldr r0, _080A117C
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0x80
- lsls r0, 5
- adds r3, r0
- adds r4, r0
- ldr r5, _080A1180
- adds r1, r5
- cmp r1, r0
- bhi _080A1120
- str r3, [r2]
- str r4, [r2, 0x4]
- lsrs r0, r1, 1
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
-_080A114C:
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- ldr r1, _080A1184
- subs r1, r0
- lsls r1, 1
- adds r3, r1, r7
- ldr r4, _080A1188
- lsls r1, r0, 1
- movs r0, 0x80
- lsls r0, 5
- cmp r1, r0
- bhi _080A118C
- ldr r0, _080A1178
- str r3, [r0]
- str r4, [r0, 0x4]
- lsrs r1, 1
- movs r2, 0x80
- lsls r2, 24
- orrs r1, r2
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080A11B8
- .align 2, 0
-_080A1178: .4byte 0x040000d4
-_080A117C: .4byte 0x80000800
-_080A1180: .4byte 0xfffff000
-_080A1184: .4byte 0x0000024a
-_080A1188: .4byte 0x0600ec80
-_080A118C:
- ldr r2, _080A11E4
- str r3, [r2]
- str r4, [r2, 0x4]
- ldr r0, _080A11E8
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0x80
- lsls r0, 5
- adds r3, r0
- adds r4, r0
- ldr r5, _080A11EC
- adds r1, r5
- cmp r1, r0
- bhi _080A118C
- str r3, [r2]
- str r4, [r2, 0x4]
- lsrs r0, r1, 1
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
-_080A11B8:
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- ldr r1, _080A11F0
- subs r1, r0
- lsls r1, 1
- adds r3, r1, r7
- ldr r4, _080A11F4
- lsls r1, r0, 1
- movs r0, 0x80
- lsls r0, 5
- cmp r1, r0
- bhi _080A11F8
- ldr r0, _080A11E4
- str r3, [r0]
- str r4, [r0, 0x4]
- lsrs r1, 1
- movs r2, 0x80
- lsls r2, 24
- orrs r1, r2
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080A1224
- .align 2, 0
-_080A11E4: .4byte 0x040000d4
-_080A11E8: .4byte 0x80000800
-_080A11EC: .4byte 0xfffff000
-_080A11F0: .4byte 0x0000026a
-_080A11F4: .4byte 0x0600ecc0
-_080A11F8:
- ldr r2, _080A12B0
- str r3, [r2]
- str r4, [r2, 0x4]
- ldr r0, _080A12B4
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r0, 0x80
- lsls r0, 5
- adds r3, r0
- adds r4, r0
- ldr r5, _080A12B8
- adds r1, r5
- cmp r1, r0
- bhi _080A11F8
- str r3, [r2]
- str r4, [r2, 0x4]
- lsrs r0, r1, 1
- movs r1, 0x80
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
-_080A1224:
- ldrb r4, [r6, 0x2]
- ldrh r7, [r6, 0x2]
- ldrh r0, [r6]
- mov r12, r0
- cmp r4, 0x9
- bhi _080A1272
- adds r3, r6, 0x4
- ldr r2, _080A12B0
- ldr r5, _080A12BC
-_080A1236:
- lsls r1, r4, 1
- ldr r6, _080A12C0
- adds r0, r1, r6
- str r3, [r2]
- str r0, [r2, 0x4]
- str r5, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r6, 0x40
- adds r0, r1, r6
- str r3, [r2]
- str r0, [r2, 0x4]
- str r5, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r6, _080A12C4
- adds r0, r1, r6
- str r3, [r2]
- str r0, [r2, 0x4]
- str r5, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, _080A12C8
- adds r1, r0
- str r3, [r2]
- str r1, [r2, 0x4]
- str r5, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080A1236
-_080A1272:
- mov r1, r12
- lsls r0, r1, 16
- cmp r0, 0
- beq _080A1286
- lsls r0, r7, 16
- asrs r0, 16
- cmp r0, 0
- ble _080A1286
- cmp r0, 0x9
- ble _080A12A4
-_080A1286:
- lsls r0, r7, 16
- asrs r0, 16
- cmp r0, 0x9
- ble _080A129A
- ldr r0, _080A12CC
- movs r1, 0xD
- movs r2, 0x1
- movs r3, 0x12
- bl sub_80A1FF8
-_080A129A:
- bl sub_80A1D18
- mov r0, r8
- bl DestroyTask
-_080A12A4:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A12B0: .4byte 0x040000d4
-_080A12B4: .4byte 0x80000800
-_080A12B8: .4byte 0xfffff000
-_080A12BC: .4byte 0x80000001
-_080A12C0: .4byte 0x0600e480
-_080A12C4: .4byte 0x0600ec80
-_080A12C8: .4byte 0x0600ecc0
-_080A12CC: .4byte gOtherText_Status
- thumb_func_end sub_80A1048
-
- thumb_func_start sub_80A12D0
-sub_80A12D0: @ 80A12D0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0x12
- movs r2, 0x5
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0x1D
- bl sub_80A18E4
- ldr r0, _080A1310
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080A1314
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- lsls r4, 24
- asrs r4, 24
- strh r4, [r1, 0x8]
- cmp r4, 0
- bge _080A1318
- movs r0, 0xA
- b _080A131A
- .align 2, 0
-_080A1310: .4byte sub_80A1048
-_080A1314: .4byte gTasks
-_080A1318:
- movs r0, 0
-_080A131A:
- strh r0, [r1, 0xA]
- ldr r0, _080A1330
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0xC]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1330: .4byte gTasks
- thumb_func_end sub_80A12D0
-
- thumb_func_start sub_80A1334
-sub_80A1334: @ 80A1334
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- ldr r1, _080A13E4
- adds r7, r0, r1
- ldrh r0, [r7]
- ldrh r1, [r7, 0x2]
- adds r0, r1
- strh r0, [r7, 0x2]
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0
- cmp r1, 0
- blt _080A136A
- movs r0, 0xA
- cmp r1, 0xA
- bgt _080A136A
- ldrh r0, [r7, 0x2]
-_080A136A:
- lsls r0, 16
- asrs r2, r0, 16
- mov r9, r0
- cmp r2, 0
- ble _080A13A6
- movs r0, 0xA
- subs r0, r2
- lsls r0, 1
- ldr r1, _080A13E8
- adds r4, r0, r1
- movs r5, 0
- adds r6, r2, 0
- ldr r0, _080A13EC
- mov r8, r0
-_080A1386:
- adds r0, r5, 0
- adds r0, 0xD
- lsls r0, 6
- ldr r1, _080A13F0
- adds r0, r1
- adds r1, r4, 0
- mov r2, r8
- ands r2, r6
- bl CpuSet
- adds r4, 0x40
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x6
- bls _080A1386
-_080A13A6:
- mov r1, r9
- asrs r2, r1, 16
- cmp r2, 0x9
- bgt _080A13F4
- ldr r4, _080A13E8
- movs r5, 0
- mov r8, sp
- movs r0, 0xA
- subs r6, r0, r2
- ldr r0, _080A13EC
- ands r6, r0
- movs r0, 0x80
- lsls r0, 17
- mov r9, r0
-_080A13C2:
- ldrh r0, [r7, 0x4]
- mov r1, r8
- strh r0, [r1]
- mov r0, sp
- adds r1, r4, 0
- mov r2, r9
- orrs r2, r6
- bl CpuSet
- adds r4, 0x40
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x6
- bls _080A13C2
- b _080A1400
- .align 2, 0
-_080A13E4: .4byte gUnknown_03004B28
-_080A13E8: .4byte 0x06005b40
-_080A13EC: .4byte 0x001fffff
-_080A13F0: .4byte gUnknown_08E73E88
-_080A13F4:
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x9
- movs r3, 0x13
- bl MenuZeroFillWindowRect
-_080A1400:
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _080A1410
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bge _080A144A
-_080A1410:
- ldr r4, _080A1480
- ldrb r0, [r4, 0xB]
- cmp r0, 0x2
- bne _080A1444
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x9
- movs r3, 0x12
- bl MenuZeroFillWindowRect
- adds r4, 0x10
- adds r0, r4, 0
- bl sub_80A0958
- adds r0, r4, 0
- bl sub_80A1CD8
- lsls r0, 24
- cmp r0, 0
- beq _080A1444
- ldr r0, _080A1484
- movs r1, 0xD
- movs r2, 0x1
- movs r3, 0x12
- bl sub_80A1FF8
-_080A1444:
- mov r0, r10
- bl DestroyTask
-_080A144A:
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- cmp r0, 0x9
- ble _080A1470
- ldr r4, _080A1480
- ldrb r0, [r4, 0xB]
- cmp r0, 0x2
- bne _080A1460
- ldrb r0, [r7, 0x6]
- bl sub_80A00F4
-_080A1460:
- adds r0, r4, 0
- adds r0, 0x10
- adds r1, r7, 0x6
- bl sub_80A0428
- mov r0, r10
- bl DestroyTask
-_080A1470:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1480: .4byte 0x02018000
-_080A1484: .4byte gOtherText_Status
- thumb_func_end sub_80A1334
-
- thumb_func_start sub_80A1488
-sub_80A1488: @ 80A1488
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _080A14DC
- ldrb r0, [r0, 0xB]
- cmp r0, 0x2
- bne _080A14A6
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x9
- movs r3, 0x13
- bl MenuZeroFillWindowRect
-_080A14A6:
- ldr r5, _080A14E0
- adds r0, r5, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- bne _080A14C2
- adds r0, r5, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
-_080A14C2:
- ldr r1, _080A14E4
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r1
- lsls r0, r6, 24
- asrs r0, 24
- strh r0, [r3, 0x8]
- cmp r0, 0
- bge _080A14E8
- movs r0, 0xA
- b _080A14EA
- .align 2, 0
-_080A14DC: .4byte 0x02018000
-_080A14E0: .4byte sub_80A1334
-_080A14E4: .4byte gTasks
-_080A14E8:
- movs r0, 0
-_080A14EA:
- strh r0, [r3, 0xA]
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- strh r7, [r0, 0xE]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A1488
-
- thumb_func_start sub_80A1500
-sub_80A1500: @ 80A1500
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- ldr r1, _080A15B0
- adds r7, r0, r1
- ldrh r0, [r7]
- ldrh r1, [r7, 0x2]
- adds r0, r1
- strh r0, [r7, 0x2]
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0
- cmp r1, 0
- blt _080A1536
- movs r0, 0xA
- cmp r1, 0xA
- bgt _080A1536
- ldrh r0, [r7, 0x2]
-_080A1536:
- lsls r0, 16
- asrs r2, r0, 16
- mov r9, r0
- cmp r2, 0
- ble _080A1572
- movs r0, 0xA
- subs r0, r2
- lsls r0, 1
- ldr r1, _080A15B4
- adds r4, r0, r1
- movs r5, 0
- adds r6, r2, 0
- ldr r0, _080A15B8
- mov r8, r0
-_080A1552:
- adds r0, r5, 0
- adds r0, 0xD
- lsls r0, 6
- ldr r1, _080A15BC
- adds r0, r1
- adds r1, r4, 0
- mov r2, r8
- ands r2, r6
- bl CpuSet
- adds r4, 0x40
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x6
- bls _080A1552
-_080A1572:
- mov r1, r9
- asrs r2, r1, 16
- cmp r2, 0x9
- bgt _080A15C0
- ldr r4, _080A15B4
- movs r5, 0
- mov r8, sp
- movs r0, 0xA
- subs r6, r0, r2
- ldr r0, _080A15B8
- ands r6, r0
- movs r0, 0x80
- lsls r0, 17
- mov r9, r0
-_080A158E:
- ldrh r0, [r7, 0x4]
- mov r1, r8
- strh r0, [r1]
- mov r0, sp
- adds r1, r4, 0
- mov r2, r9
- orrs r2, r6
- bl CpuSet
- adds r4, 0x40
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x6
- bls _080A158E
- b _080A15CC
- .align 2, 0
-_080A15B0: .4byte gUnknown_03004B28
-_080A15B4: .4byte 0x06006b40
-_080A15B8: .4byte 0x001fffff
-_080A15BC: .4byte gUnknown_08E74688
-_080A15C0:
- movs r0, 0
- movs r1, 0x13
- movs r2, 0x9
- movs r3, 0x13
- bl MenuZeroFillWindowRect
-_080A15CC:
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _080A15DC
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bge _080A1616
-_080A15DC:
- ldr r4, _080A164C
- ldrb r0, [r4, 0xB]
- cmp r0, 0x3
- bne _080A1610
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x9
- movs r3, 0x12
- bl MenuZeroFillWindowRect
- adds r4, 0x10
- adds r0, r4, 0
- bl sub_80A0958
- adds r0, r4, 0
- bl sub_80A1CD8
- lsls r0, 24
- cmp r0, 0
- beq _080A1610
- ldr r0, _080A1650
- movs r1, 0xD
- movs r2, 0x1
- movs r3, 0x12
- bl sub_80A1FF8
-_080A1610:
- mov r0, r10
- bl DestroyTask
-_080A1616:
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- cmp r0, 0x9
- ble _080A163C
- ldr r4, _080A164C
- ldrb r0, [r4, 0xB]
- cmp r0, 0x3
- bne _080A162C
- ldrb r0, [r7, 0x6]
- bl sub_80A00F4
-_080A162C:
- adds r0, r4, 0
- adds r0, 0x10
- adds r1, r7, 0x6
- bl sub_80A0428
- mov r0, r10
- bl DestroyTask
-_080A163C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A164C: .4byte 0x02018000
-_080A1650: .4byte gOtherText_Status
- thumb_func_end sub_80A1500
-
- thumb_func_start sub_80A1654
-sub_80A1654: @ 80A1654
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _080A16A8
- ldrb r0, [r0, 0xB]
- cmp r0, 0x3
- bne _080A1672
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x9
- movs r3, 0x13
- bl MenuZeroFillWindowRect
-_080A1672:
- ldr r5, _080A16AC
- adds r0, r5, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- bne _080A168E
- adds r0, r5, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r4, r0, 24
-_080A168E:
- ldr r1, _080A16B0
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r1
- lsls r0, r6, 24
- asrs r0, 24
- strh r0, [r3, 0x8]
- cmp r0, 0
- bge _080A16B4
- movs r0, 0xA
- b _080A16B6
- .align 2, 0
-_080A16A8: .4byte 0x02018000
-_080A16AC: .4byte sub_80A1500
-_080A16B0: .4byte gTasks
-_080A16B4:
- movs r0, 0
-_080A16B6:
- strh r0, [r3, 0xA]
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- strh r7, [r0, 0xE]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A1654
-
- thumb_func_start sub_80A16CC
-sub_80A16CC: @ 80A16CC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _080A1724
- mov r12, r0
- mov r1, r9
- cmp r1, 0
- bne _080A172C
- movs r5, 0
- ldr r7, _080A1728
- movs r0, 0x80
- lsls r0, 5
- adds r6, r0, 0
- movs r1, 0x40
- adds r1, r7
- mov r8, r1
-_080A16F4:
- lsls r2, r5, 1
- mov r0, r12
- adds r3, r2, r0
- adds r4, r2, r7
- ldrh r1, [r4]
- adds r0, r6, r1
- strh r0, [r3]
- adds r1, r3, 0
- adds r1, 0x40
- ldrh r4, [r4]
- adds r0, r6, r4
- strh r0, [r1]
- adds r3, 0x80
- add r2, r8
- ldrh r2, [r2]
- adds r0, r6, r2
- strh r0, [r3]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080A16F4
- b _080A1768
- .align 2, 0
-_080A1724: .4byte 0x06006ad4
-_080A1728: .4byte gUnknown_08E94510
-_080A172C:
- movs r5, 0
- ldr r6, _080A17B0
- movs r7, 0x80
- lsls r7, 5
- adds r4, r7, 0
- movs r0, 0x40
- adds r0, r6
- mov r8, r0
-_080A173C:
- lsls r1, r5, 1
- mov r7, r12
- adds r2, r1, r7
- adds r0, r1, r6
- ldrh r0, [r0]
- adds r0, r4, r0
- strh r0, [r2]
- adds r3, r2, 0
- adds r3, 0x40
- add r1, r8
- ldrh r7, [r1]
- adds r0, r4, r7
- strh r0, [r3]
- adds r2, 0x80
- ldrh r1, [r1]
- adds r0, r4, r1
- strh r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080A173C
-_080A1768:
- ldr r0, _080A17B4
- mov r12, r0
- mov r1, r9
- cmp r1, 0
- bne _080A17BC
- movs r5, 0
- ldr r7, _080A17B8
- movs r0, 0xC0
- lsls r0, 6
- adds r6, r0, 0
- movs r1, 0x40
- adds r1, r7
- mov r8, r1
-_080A1782:
- lsls r2, r5, 1
- mov r0, r12
- adds r3, r2, r0
- adds r4, r2, r7
- ldrh r1, [r4]
- adds r0, r6, r1
- strh r0, [r3]
- adds r1, r3, 0
- adds r1, 0x40
- ldrh r4, [r4]
- adds r0, r6, r4
- strh r0, [r1]
- adds r3, 0x80
- add r2, r8
- ldrh r2, [r2]
- adds r0, r6, r2
- strh r0, [r3]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080A1782
- b _080A17F8
- .align 2, 0
-_080A17B0: .4byte gUnknown_08E94550
-_080A17B4: .4byte 0x06005ad4
-_080A17B8: .4byte gUnknown_08E94510
-_080A17BC:
- movs r5, 0
- ldr r6, _080A1804
- movs r7, 0xC0
- lsls r7, 6
- adds r4, r7, 0
- movs r0, 0x40
- adds r0, r6
- mov r8, r0
-_080A17CC:
- lsls r1, r5, 1
- mov r7, r12
- adds r2, r1, r7
- adds r0, r1, r6
- ldrh r0, [r0]
- adds r0, r4, r0
- strh r0, [r2]
- adds r3, r2, 0
- adds r3, 0x40
- add r1, r8
- ldrh r7, [r1]
- adds r0, r4, r7
- strh r0, [r3]
- adds r2, 0x80
- ldrh r1, [r1]
- adds r0, r4, r1
- strh r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080A17CC
-_080A17F8:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1804: .4byte gUnknown_08E94550
- thumb_func_end sub_80A16CC
-
- thumb_func_start sub_80A1808
-sub_80A1808: @ 80A1808
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r1, 0x41
- bl GetMonData
- adds r6, r0, 0
- lsls r6, 16
- lsrs r6, 16
- ldr r0, _080A1860
- movs r1, 0x28
- movs r2, 0x40
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, r0, 4
- add r4, r8
- lsls r4, 2
- ldr r5, _080A1864
- adds r7, r4, r5
- adds r0, r7, 0
- bl FreeSpriteOamMatrix
- strh r6, [r7, 0x2E]
- adds r5, 0x1C
- adds r4, r5
- ldr r0, _080A1868
- str r0, [r4]
- adds r0, r6, 0
- bl sub_8040A3C
- lsls r0, 24
- cmp r0, 0
- bne _080A186C
- adds r0, r7, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0]
- b _080A187A
- .align 2, 0
-_080A1860: .4byte gUnknown_02024E8C
-_080A1864: .4byte gSprites
-_080A1868: .4byte sub_80A1888
-_080A186C:
- adds r2, r7, 0
- adds r2, 0x3F
- ldrb r1, [r2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080A187A:
- mov r0, r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A1808
-
- thumb_func_start sub_80A1888
-sub_80A1888: @ 80A1888
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080A18B8
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A18B0
- ldr r0, _080A18BC
- str r0, [r4, 0x1C]
- ldr r0, _080A18C0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _080A18B0
- ldrh r0, [r4, 0x2E]
- movs r1, 0
- bl PlayCry1
-_080A18B0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A18B8: .4byte gPaletteFade
-_080A18BC: .4byte SpriteCallbackDummy
-_080A18C0: .4byte 0x02018010
- thumb_func_end sub_80A1888
-
- thumb_func_start sub_80A18C4
-sub_80A18C4: @ 80A18C4
- push {lr}
- movs r1, 0
- ldr r3, _080A18E0
- movs r2, 0xFF
-_080A18CC:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1D
- bls _080A18CC
- pop {r0}
- bx r0
- .align 2, 0
-_080A18E0: .4byte 0x0201a000
- thumb_func_end sub_80A18C4
-
- thumb_func_start sub_80A18E4
-sub_80A18E4: @ 80A18E4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A1910
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080A1908
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A1914
- adds r0, r1
- bl DestroySprite
- movs r0, 0xFF
- strb r0, [r4]
-_080A1908:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1910: .4byte 0x0201a000
-_080A1914: .4byte gSprites
- thumb_func_end sub_80A18E4
-
- thumb_func_start sub_80A1918
-sub_80A1918: @ 80A1918
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _080A1948
- ldr r2, _080A194C
- adds r0, r2
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- adds r2, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- bx lr
- .align 2, 0
-_080A1948: .4byte gSprites
-_080A194C: .4byte 0x0201a000
- thumb_func_end sub_80A1918
-
- thumb_func_start sub_80A1950
-sub_80A1950: @ 80A1950
- push {r4,r5,lr}
- movs r5, 0
-_080A1954:
- ldr r0, _080A1984
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _080A196C
- ldr r0, _080A1988
- movs r1, 0
- movs r2, 0
- movs r3, 0x2
- bl CreateSprite
- strb r0, [r4]
-_080A196C:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80A1918
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _080A1954
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1984: .4byte 0x0201a000
-_080A1988: .4byte gSpriteTemplate_83C11C0
- thumb_func_end sub_80A1950
-
- thumb_func_start sub_80A198C
-sub_80A198C: @ 80A198C
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r10, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r10
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r1, _080A1A24
- mov r8, r1
- add r8, r10
- mov r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A1A28
- mov r9, r1
- add r0, r9
- adds r1, r4, 0
- bl StartSpriteAnim
- mov r1, r8
- ldrb r0, [r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- ldr r0, _080A1A2C
- adds r4, r0
- ldrb r2, [r4]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- mov r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r5, 0x10
- strh r5, [r0, 0x20]
- mov r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r6, 0x8
- strh r6, [r0, 0x22]
- mov r0, r10
- movs r1, 0
- bl sub_80A1918
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1A24: .4byte 0x0201a000
-_080A1A28: .4byte gSprites
-_080A1A2C: .4byte gUnknown_083C11D8
- thumb_func_end sub_80A198C
-
- thumb_func_start sub_80A1A30
-sub_80A1A30: @ 80A1A30
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- mov r9, r0
- ldr r1, _080A1A98
- ldrb r0, [r1, 0xB]
- cmp r0, 0x1
- bls _080A1B0A
- cmp r4, 0x9
- bne _080A1A52
- movs r3, 0x1
- mov r9, r3
-_080A1A52:
- movs r5, 0
- movs r0, 0x80
- lsls r0, 6
- adds r0, r1
- mov r8, r0
- ldr r6, _080A1A9C
- mov r10, r5
-_080A1A60:
- lsls r1, r5, 20
- movs r3, 0xB0
- lsls r3, 15
- adds r1, r3
- asrs r1, 16
- ldr r0, _080A1AA0
- movs r2, 0x28
- mov r3, r9
- bl CreateSprite
- adds r1, r4, r5
- mov r3, r8
- adds r2, r1, r3
- strb r0, [r2]
- adds r7, r1, 0
- cmp r5, 0
- bne _080A1AA4
- adds r0, r4, r3
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x4
- bl StartSpriteAnim
- b _080A1AD0
- .align 2, 0
-_080A1A98: .4byte 0x02018000
-_080A1A9C: .4byte gSprites
-_080A1AA0: .4byte gSpriteTemplate_83C1280
-_080A1AA4:
- cmp r5, 0x9
- bne _080A1AC0
- adds r0, r4, 0
- adds r0, 0x9
- add r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x5
- bl StartSpriteAnim
- b _080A1AD0
-_080A1AC0:
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x6
- bl StartSpriteAnim
-_080A1AD0:
- mov r0, r8
- adds r2, r7, r0
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _080A1B18
- str r1, [r0]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r4, [r0, 0x2E]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- mov r1, r10
- strh r1, [r0, 0x30]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x9
- bls _080A1A60
-_080A1B0A:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1B18: .4byte sub_80A1BC0
- thumb_func_end sub_80A1A30
-
- thumb_func_start sub_80A1B1C
-sub_80A1B1C: @ 80A1B1C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
-_080A1B24:
- adds r0, r5, r4
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A18E4
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080A1B24
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A1B1C
-
- thumb_func_start sub_80A1B40
-sub_80A1B40: @ 80A1B40
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, r7, 1
- adds r1, r7
- lsls r1, 24
- ldr r0, _080A1BB4
- ldrb r2, [r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- ldr r2, _080A1BB8
- adds r0, r2
- lsrs r7, r1, 24
- movs r2, 0x80
- lsls r2, 19
- adds r1, r2
- lsrs r1, 24
- bl StartSpriteAnim
- movs r4, 0
- adds r0, r7, 0x6
- lsls r0, 24
- mov r8, r0
-_080A1B74:
- ldr r6, _080A1BBC
- adds r0, r4, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _080A1BB8
- adds r0, r5
- mov r2, r8
- lsrs r1, r2, 24
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _080A1B74
- ldrb r1, [r6, 0x8]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r1, r7, 0x5
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1BB4: .4byte 0x0201a009
-_080A1BB8: .4byte gSprites
-_080A1BBC: .4byte 0x0201a00a
- thumb_func_end sub_80A1B40
-
- thumb_func_start sub_80A1BC0
-sub_80A1BC0: @ 80A1BC0
- push {lr}
- adds r2, r0, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _080A1BF8
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- movs r1, 0x1F
- ands r0, r1
- strh r0, [r2, 0x30]
- cmp r0, 0x18
- ble _080A1BEC
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- b _080A1C06
-_080A1BEC:
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- b _080A1C04
-_080A1BF8:
- movs r0, 0
- strh r0, [r2, 0x30]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- subs r0, 0x5
-_080A1C04:
- ands r0, r1
-_080A1C06:
- strb r0, [r3]
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x9
- bne _080A1C1C
- ldr r0, _080A1C18
- adds r0, 0x79
- b _080A1C20
- .align 2, 0
-_080A1C18: .4byte 0x02018000
-_080A1C1C:
- ldr r0, _080A1C2C
- adds r0, 0x7A
-_080A1C20:
- ldrb r0, [r0]
- lsls r0, 4
- strh r0, [r2, 0x26]
- pop {r0}
- bx r0
- .align 2, 0
-_080A1C2C: .4byte 0x02018000
- thumb_func_end sub_80A1BC0
-
- thumb_func_start sub_80A1C30
-sub_80A1C30: @ 80A1C30
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 25
- lsrs r3, r0, 24
- adds r4, r3, 0
- adds r0, r3, 0
- adds r0, 0xA
- cmp r3, r0
- bge _080A1C82
- ldr r5, _080A1C88
- movs r7, 0x5
- negs r7, r7
- ldr r6, _080A1C8C
-_080A1C50:
- adds r2, r3, r6
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0
- strh r1, [r0, 0x30]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r4, 0
- adds r0, 0xA
- cmp r3, r0
- blt _080A1C50
-_080A1C82:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1C88: .4byte gSprites
-_080A1C8C: .4byte 0x0201a009
- thumb_func_end sub_80A1C30
-
- thumb_func_start pokemon_ailments_get_primary
-pokemon_ailments_get_primary: @ 80A1C90
- push {lr}
- adds r1, r0, 0
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- beq _080A1CA0
- movs r0, 0x1
- b _080A1CD2
-_080A1CA0:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080A1CAC
- movs r0, 0x2
- b _080A1CD2
-_080A1CAC:
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _080A1CB8
- movs r0, 0x3
- b _080A1CD2
-_080A1CB8:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080A1CC4
- movs r0, 0x4
- b _080A1CD2
-_080A1CC4:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080A1CD0
- movs r0, 0
- b _080A1CD2
-_080A1CD0:
- movs r0, 0x5
-_080A1CD2:
- pop {r1}
- bx r1
- thumb_func_end pokemon_ailments_get_primary
-
- thumb_func_start sub_80A1CD8
-sub_80A1CD8: @ 80A1CD8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _080A1CEA
- movs r0, 0x7
- b _080A1D12
-_080A1CEA:
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080A1D12
- adds r0, r4, 0
- movs r1, 0
- bl sub_8040110
- lsls r0, 24
- cmp r0, 0
- bne _080A1D10
- movs r0, 0
- b _080A1D12
-_080A1D10:
- movs r0, 0x6
-_080A1D12:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A1CD8
-
- thumb_func_start sub_80A1D18
-sub_80A1D18: @ 80A1D18
- push {r4,r5,lr}
- sub sp, 0x64
- mov r0, sp
- bl sub_809F678
- mov r0, sp
- bl sub_80A1CD8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080A1D58
- subs r0, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080A1D50
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _080A1D60
- ldr r0, _080A1D54
- movs r1, 0x40
- movs r2, 0x98
- movs r3, 0
- bl CreateSprite
- strb r0, [r4]
- b _080A1D60
- .align 2, 0
-_080A1D50: .4byte 0x0201a01d
-_080A1D54: .4byte gSpriteTemplate_83C1304
-_080A1D58:
- movs r0, 0x1D
- bl sub_80A18E4
- b _080A1D74
-_080A1D60:
- ldr r0, _080A1D7C
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A1D80
- adds r0, r1
- adds r1, r5, 0
- bl StartSpriteAnim
-_080A1D74:
- add sp, 0x64
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1D7C: .4byte 0x0201a01d
-_080A1D80: .4byte gSprites
- thumb_func_end sub_80A1D18
-
- thumb_func_start sub_80A1D84
-sub_80A1D84: @ 80A1D84
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r1, _080A1DC0
- ldr r2, _080A1DC4
- adds r0, r1, 0
- bl sub_80F7920
- adds r4, r0, 0
- ldr r6, _080A1DC8
- str r4, [r6]
- cmp r4, 0
- beq _080A1DBA
- adds r0, r5, 0
- movs r1, 0x8
- bl GetMonData
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r1, [r6]
- movs r0, 0x3C
- strh r0, [r1, 0x20]
- movs r0, 0x1A
- strh r0, [r1, 0x22]
-_080A1DBA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1DC0: .4byte 0x00007533
-_080A1DC4: .4byte gSummaryScreenMonMarkingsPalette
-_080A1DC8: .4byte gUnknown_020384F4
- thumb_func_end sub_80A1D84
-
- thumb_func_start sub_80A1DCC
-sub_80A1DCC: @ 80A1DCC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080A1DE4
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0
- bl sub_80A1D84
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1DE4: .4byte gUnknown_020384F4
- thumb_func_end sub_80A1DCC
-
- thumb_func_start sub_80A1DE8
-sub_80A1DE8: @ 80A1DE8
- push {r4,lr}
- movs r1, 0x26
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl ball_number_to_ball_processing_index
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80478DC
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- ldr r1, _080A1E48
- adds r0, r1
- movs r1, 0x6
- movs r2, 0x88
- movs r3, 0
- bl CreateSprite
- ldr r2, _080A1E4C
- strb r0, [r2, 0xD]
- ldr r3, _080A1E50
- ldrb r1, [r2, 0xD]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _080A1E54
- str r1, [r0]
- ldrb r1, [r2, 0xD]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1E48: .4byte gSpriteTemplate_820AAB4
-_080A1E4C: .4byte 0x02018000
-_080A1E50: .4byte gSprites
-_080A1E54: .4byte SpriteCallbackDummy
- thumb_func_end sub_80A1DE8
-
- thumb_func_start sub_80A1E58
-sub_80A1E58: @ 80A1E58
- push {r4,lr}
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0xFF
- beq _080A1E92
- ldr r3, _080A1E6C
- ldrb r0, [r3]
- adds r4, r2, 0x5
- b _080A1E74
- .align 2, 0
-_080A1E6C: .4byte gUnknown_083C15BC
-_080A1E70:
- adds r3, 0x4
- ldrb r0, [r3]
-_080A1E74:
- cmp r0, 0xFF
- beq _080A1E7C
- cmp r0, r1
- bne _080A1E70
-_080A1E7C:
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x4
- strb r0, [r2, 0x1]
- ldrb r0, [r3, 0x1]
- strb r0, [r2, 0x2]
- ldrb r0, [r3, 0x2]
- strb r0, [r2, 0x3]
- ldrb r0, [r3, 0x3]
- strb r0, [r2, 0x4]
- adds r2, r4, 0
-_080A1E92:
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A1E58
-
- thumb_func_start sub_80A1E9C
-sub_80A1E9C: @ 80A1E9C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- lsls r4, r2, 24
- lsrs r4, 24
- mov r1, sp
- adds r1, 0x1
- mov r2, sp
- adds r2, 0x2
- mov r0, sp
- bl sub_8072CD4
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80A1E58
- adds r6, r0, 0
- adds r1, r5, 0
- bl StringCopy
- adds r6, r0, 0
- cmp r4, 0xFF
- beq _080A1EEC
- movs r0, 0xFC
- strb r0, [r6]
- movs r0, 0x4
- strb r0, [r6, 0x1]
- mov r0, sp
- ldrb r0, [r0]
- strb r0, [r6, 0x2]
- mov r0, sp
- ldrb r0, [r0, 0x1]
- strb r0, [r6, 0x3]
- mov r0, sp
- ldrb r0, [r0, 0x2]
- strb r0, [r6, 0x4]
- movs r0, 0xFF
- strb r0, [r6, 0x5]
- adds r6, 0x5
-_080A1EEC:
- adds r0, r6, 0
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A1E9C
-
- thumb_func_start sub_80A1EF8
-sub_80A1EF8: @ 80A1EF8
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r9, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r3, [sp, 0x1C]
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 16
- lsrs r6, 16
- ldr r0, _080A1F44
- mov r8, r0
- mov r1, r9
- adds r2, r4, 0
- str r3, [sp]
- bl sub_80A1E9C
- ldr r3, [sp]
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_80729D8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1F44: .4byte gStringVar4
- thumb_func_end sub_80A1EF8
-
- thumb_func_start sub_80A1F48
-sub_80A1F48: @ 80A1F48
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r9, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r3, [sp, 0x1C]
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 16
- lsrs r3, 16
- ldr r0, _080A1F94
- mov r8, r0
- mov r1, r9
- adds r2, r4, 0
- str r3, [sp]
- bl sub_80A1E9C
- mov r0, r8
- adds r1, r5, 0
- adds r2, r6, 0
- ldr r3, [sp]
- bl sub_8072BD8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1F94: .4byte gStringVar4
- thumb_func_end sub_80A1F48
-
- thumb_func_start sub_80A1F98
-sub_80A1F98: @ 80A1F98
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r10, r0
- mov r8, r1
- adds r4, r2, 0
- adds r2, r3, 0
- ldr r5, [sp, 0x24]
- ldr r6, [sp, 0x28]
- ldr r7, [sp, 0x2C]
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 16
- lsrs r6, 16
- ldr r0, _080A1FF4
- mov r9, r0
- mov r1, r10
- adds r3, r4, 0
- bl ConvertIntToDecimalStringN
- str r7, [sp]
- mov r0, r9
- mov r1, r8
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80A1EF8
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A1FF4: .4byte gStringVar1
- thumb_func_end sub_80A1F98
-
- thumb_func_start sub_80A1FF8
-sub_80A1FF8: @ 80A1FF8
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- mov r9, r0
- adds r4, r1, 0
- adds r5, r2, 0
- adds r6, r3, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r0, _080A2038
- mov r8, r0
- mov r1, r9
- adds r2, r4, 0
- bl sub_80A1E9C
- mov r0, r8
- adds r1, r5, 0
- adds r2, r6, 0
- bl MenuPrint
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2038: .4byte gStringVar4
- thumb_func_end sub_80A1FF8
-
- thumb_func_start sub_80A203C
-sub_80A203C: @ 80A203C
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x34
- strb r0, [r4]
- adds r4, 0x1
- cmp r1, 0
- bne _080A2052
- movs r1, 0x5
-_080A2052:
- mov r0, sp
- bl ConvertIntToDecimalString
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0xE
- bl sub_80A1E9C
- adds r4, r0, 0
- ldr r1, _080A2074
- bl StringCopy
- adds r4, r0, 0
- add sp, 0xC
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A2074: .4byte gOtherText_Comma
- thumb_func_end sub_80A203C
-
- thumb_func_start BgFrame_FillTileMap
-BgFrame_FillTileMap: @ 80A2078
- push {lr}
- ldr r3, _080A209C
- ldr r2, _080A20A0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, [r1]
- str r2, [r3]
- ldr r2, _080A20A4
- str r2, [r1]
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_080A209C: .4byte gUnknown_03005CF0
-_080A20A0: .4byte gTasks
-_080A20A4: .4byte sub_80A20A8
- thumb_func_end BgFrame_FillTileMap
-
- thumb_func_start sub_80A20A8
-sub_80A20A8: @ 80A20A8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8055870
- cmp r0, 0x1
- beq _080A20C6
- ldr r1, _080A20CC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A20D0
- ldr r1, [r1]
- str r1, [r0]
-_080A20C6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A20CC: .4byte gTasks
-_080A20D0: .4byte gUnknown_03005CF0
- thumb_func_end sub_80A20A8
-
- thumb_func_start exec_movement
-exec_movement: @ 80A20D4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r3, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- beq _080A20F6
- movs r0, 0x1
- b _080A211E
-_080A20F6:
- ldr r0, _080A2128
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- bne _080A2108
- movs r0, 0x32
- bl sub_80A2198
-_080A2108:
- bl sub_80A21E0
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- ldrb r1, [r1]
- adds r2, r4, 0
- bl sub_80A21F4
- lsls r0, 24
- lsrs r0, 24
-_080A211E:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A2128: .4byte sub_80A244C
- thumb_func_end exec_movement
-
- thumb_func_start sub_80A212C
-sub_80A212C: @ 80A212C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r3, sp
- bl TryGetFieldObjectIdByLocalIdAndMap
- lsls r0, 24
- cmp r0, 0
- bne _080A216E
- bl sub_80A21E0
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, sp
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80A2260
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x10
- beq _080A216E
- adds r0, r4, 0
- bl sub_80A2370
- lsls r0, 24
- lsrs r0, 24
- b _080A2170
-_080A216E:
- movs r0, 0x1
-_080A2170:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A212C
-
- thumb_func_start sub_80A2178
-sub_80A2178: @ 80A2178
- push {r4,lr}
- bl sub_80A21E0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xFF
- beq _080A2192
- adds r0, r4, 0
- bl sub_80A2408
- adds r0, r4, 0
- bl DestroyTask
-_080A2192:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A2178
-
- thumb_func_start sub_80A2198
-sub_80A2198: @ 80A2198
- push {r4,r5,lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _080A21D4
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1
- lsls r1, r0, 2
- adds r1, r0
- lsls r3, r1, 3
- ldr r5, _080A21D8
- ldr r0, _080A21DC
- adds r4, r0, 0
-_080A21B8:
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r5
- ldrh r1, [r0]
- orrs r1, r4
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _080A21B8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A21D4: .4byte sub_80A244C
-_080A21D8: .4byte gUnknown_03004B28
-_080A21DC: .4byte 0x0000ffff
- thumb_func_end sub_80A2198
-
- thumb_func_start sub_80A21E0
-sub_80A21E0: @ 80A21E0
- push {lr}
- ldr r0, _080A21F0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080A21F0: .4byte sub_80A244C
- thumb_func_end sub_80A21E0
-
- thumb_func_start sub_80A21F4
-sub_80A21F4: @ 80A21F4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r5, 0
- lsls r1, 24
- lsrs r6, r1, 24
- mov r8, r6
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80A2260
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x10
- beq _080A2230
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A2370
- lsls r0, 24
- cmp r0, 0
- beq _080A2250
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- b _080A2246
-_080A2230:
- adds r0, r7, 0
- movs r1, 0xFF
- bl sub_80A2260
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x10
- beq _080A2250
- adds r0, r7, 0
- adds r1, r4, 0
- mov r2, r8
-_080A2246:
- mov r3, r9
- bl sub_80A23C8
- movs r0, 0
- b _080A2252
-_080A2250:
- movs r0, 0x1
-_080A2252:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A21F4
-
- thumb_func_start sub_80A2260
-sub_80A2260: @ 80A2260
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080A2284
- adds r1, r0
- adds r1, 0x2
- movs r2, 0
-_080A2278:
- ldrb r0, [r1]
- cmp r0, r3
- bne _080A2288
- adds r0, r2, 0
- b _080A2296
- .align 2, 0
-_080A2284: .4byte gUnknown_03004B28
-_080A2288:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, 0x1
- cmp r2, 0xF
- bls _080A2278
- movs r0, 0x10
-_080A2296:
- pop {r1}
- bx r1
- thumb_func_end sub_80A2260
-
- thumb_func_start sub_80A229C
-sub_80A229C: @ 80A229C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080A22CC
- adds r1, r0
- adds r1, 0x2
- str r1, [r2]
- movs r0, 0
- cmp r0, r3
- bcs _080A22C8
-_080A22BA:
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- adds r1, 0x1
- cmp r0, r3
- bcc _080A22BA
- str r1, [r2]
-_080A22C8:
- pop {r0}
- bx r0
- .align 2, 0
-_080A22CC: .4byte gUnknown_03004B28
- thumb_func_end sub_80A229C
-
- thumb_func_start sub_80A22D0
-sub_80A22D0: @ 80A22D0
- push {r4,lr}
- sub sp, 0x4
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r4, 24
- lsrs r4, 24
- mov r2, sp
- bl sub_80A229C
- ldr r0, [sp]
- strb r4, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A22D0
-
- thumb_func_start sub_80A22F4
-sub_80A22F4: @ 80A22F4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r2, sp
- bl sub_80A229C
- ldr r0, [sp]
- ldrb r0, [r0]
- strb r0, [r4]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A22F4
-
- thumb_func_start sub_80A2318
-sub_80A2318: @ 80A2318
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r2, _080A2340
- lsrs r1, 22
- adds r1, r2
- ldr r2, [r1]
- mvns r2, r2
- lsls r2, 16
- lsrs r2, 16
- ldr r3, _080A2344
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- ldrh r0, [r1, 0x8]
- ands r2, r0
- strh r2, [r1, 0x8]
- bx lr
- .align 2, 0
-_080A2340: .4byte gBitTable
-_080A2344: .4byte gTasks
- thumb_func_end sub_80A2318
-
- thumb_func_start sub_80A2348
-sub_80A2348: @ 80A2348
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, _080A2368
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldr r0, _080A236C
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldrh r1, [r2, 0x8]
- orrs r0, r1
- strh r0, [r2, 0x8]
- bx lr
- .align 2, 0
-_080A2368: .4byte gTasks
-_080A236C: .4byte gBitTable
- thumb_func_end sub_80A2348
-
- thumb_func_start sub_80A2370
-sub_80A2370: @ 80A2370
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, _080A2398
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldr r0, _080A239C
- lsrs r1, 22
- adds r1, r0
- ldr r0, [r1]
- ldrh r1, [r2, 0x8]
- ands r0, r1
- cmp r0, 0
- bne _080A23A0
- movs r0, 0
- b _080A23A2
- .align 2, 0
-_080A2398: .4byte gTasks
-_080A239C: .4byte gBitTable
-_080A23A0:
- movs r0, 0x1
-_080A23A2:
- pop {r1}
- bx r1
- thumb_func_end sub_80A2370
-
- thumb_func_start npc_obj_offscreen_culling_and_flag_update
-npc_obj_offscreen_culling_and_flag_update: @ 80A23A8
- lsls r0, 24
- ldr r2, _080A23B4
- lsrs r0, 22
- adds r0, r2
- str r1, [r0]
- bx lr
- .align 2, 0
-_080A23B4: .4byte gUnknown_020384F8
- thumb_func_end npc_obj_offscreen_culling_and_flag_update
-
- thumb_func_start sub_80A23B8
-sub_80A23B8: @ 80A23B8
- lsls r0, 24
- ldr r1, _080A23C4
- lsrs r0, 22
- adds r0, r1
- ldr r0, [r0]
- bx lr
- .align 2, 0
-_080A23C4: .4byte gUnknown_020384F8
- thumb_func_end sub_80A23B8
-
- thumb_func_start sub_80A23C8
-sub_80A23C8: @ 80A23C8
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r4, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A2318
- adds r0, r4, 0
- mov r1, r8
- bl npc_obj_offscreen_culling_and_flag_update
- adds r0, r5, 0
- adds r1, r4, 0
- adds r2, r6, 0
- bl sub_80A22D0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A23C8
-
- thumb_func_start sub_80A2408
-sub_80A2408: @ 80A2408
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080A2444
- adds r1, r0
- adds r4, r1, 0x2
- movs r5, 0
-_080A241C:
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080A2432
- adds r1, r0, 0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A2448
- adds r0, r1
- bl npc_sync_anim_pause_bits
-_080A2432:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x1
- cmp r5, 0xF
- bls _080A241C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2444: .4byte gUnknown_03004B28
-_080A2448: .4byte gMapObjects
- thumb_func_end sub_80A2408
-
- thumb_func_start sub_80A244C
-sub_80A244C: @ 80A244C
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- movs r5, 0
- mov r6, sp
-_080A2458:
- adds r0, r7, 0
- adds r1, r5, 0
- mov r2, sp
- bl sub_80A22F4
- ldrb r0, [r6]
- cmp r0, 0xFF
- beq _080A247C
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_80A23B8
- adds r3, r0, 0
- adds r0, r7, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80A2490
-_080A247C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _080A2458
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A244C
-
- thumb_func_start sub_80A2490
-sub_80A2490: @ 80A2490
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r3, 0
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- mov r8, r6
- lsls r2, 24
- lsrs r2, 24
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- ldr r1, _080A24E0
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080A24C8
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080A24FA
-_080A24C8:
- ldrb r1, [r5]
- cmp r1, 0xFE
- bne _080A24E4
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80A2348
- adds r0, r4, 0
- bl sub_80643A4
- b _080A24FA
- .align 2, 0
-_080A24E0: .4byte gMapObjects
-_080A24E4:
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- lsls r0, 24
- cmp r0, 0
- bne _080A24FA
- adds r5, 0x1
- mov r0, r8
- adds r1, r5, 0
- bl npc_obj_offscreen_culling_and_flag_update
-_080A24FA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A2490
-
- thumb_func_start sub_80A2504
-sub_80A2504: @ 80A2504
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0x52
- bl npc_before_player_of_type
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A2534
- ldr r1, _080A2524
- ldr r0, _080A2528
- str r0, [r1]
- ldr r1, _080A252C
- ldr r0, _080A2530
- b _080A25A8
- .align 2, 0
-_080A2524: .4byte gUnknown_0300485C
-_080A2528: .4byte sub_808AB90
-_080A252C: .4byte gUnknown_03005CE4
-_080A2530: .4byte sub_80A2634
-_080A2534:
- ldr r4, _080A25B0
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl PlayerGetDestCoords
- movs r7, 0
- mov r8, r4
-_080A2542:
- ldr r1, _080A25B4
- adds r0, r7, r1
- mov r2, r8
- ldrh r2, [r2, 0x2]
- adds r0, r2
- movs r6, 0
- lsls r0, 16
- asrs r5, r0, 16
-_080A2552:
- ldr r1, _080A25B4
- adds r0, r6, r1
- mov r2, r8
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- mov r2, r8
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- cmp r0, r1
- bne _080A25C8
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8056E14
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A259E
- adds r0, r4, 0
- bl MetatileBehavior_IsAsh
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A25C8
-_080A259E:
- ldr r1, _080A25B8
- ldr r0, _080A25BC
- str r0, [r1]
- ldr r1, _080A25C0
- ldr r0, _080A25C4
-_080A25A8:
- str r0, [r1]
- movs r0, 0x1
- b _080A25DE
- .align 2, 0
-_080A25B0: .4byte gUnknown_0203923C
-_080A25B4: .4byte 0x0000ffff
-_080A25B8: .4byte gUnknown_0300485C
-_080A25BC: .4byte sub_808AB90
-_080A25C0: .4byte gUnknown_03005CE4
-_080A25C4: .4byte sub_80A25E8
-_080A25C8:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _080A2552
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bls _080A2542
- movs r0, 0
-_080A25DE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2504
-
- thumb_func_start sub_80A25E8
-sub_80A25E8: @ 80A25E8
- push {lr}
- movs r0, 0x1
- bl FieldEffectStart
- ldr r0, _080A25FC
- ldr r1, _080A2600
- ldrb r1, [r1]
- str r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080A25FC: .4byte gUnknown_0202FF84
-_080A2600: .4byte gUnknown_03005CE0
- thumb_func_end sub_80A25E8
-
- thumb_func_start sub_80A2604
-sub_80A2604: @ 80A2604
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A262C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080A2630
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x12
- bl sav12_xor_increment
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A262C: .4byte gTasks
-_080A2630: .4byte sub_80A2684
- thumb_func_end sub_80A2604
-
- thumb_func_start sub_80A2634
-sub_80A2634: @ 80A2634
- push {lr}
- ldr r1, _080A2648
- ldr r0, _080A264C
- ldrb r0, [r0]
- str r0, [r1]
- ldr r0, _080A2650
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_080A2648: .4byte gUnknown_0202FF84
-_080A264C: .4byte gUnknown_03005CE0
-_080A2650: .4byte UseCutScript
- thumb_func_end sub_80A2634
-
- thumb_func_start sub_80A2654
-sub_80A2654: @ 80A2654
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A267C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080A2680
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0x12
- bl sav12_xor_increment
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A267C: .4byte gTasks
-_080A2680: .4byte sub_80A2B00
- thumb_func_end sub_80A2654
-
- thumb_func_start sub_80A2684
-sub_80A2684: @ 80A2684
- push {lr}
- movs r0, 0x1
- bl FieldEffectActiveListRemove
- movs r0, 0x3A
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80A2684
-
- thumb_func_start sub_80A2698
-sub_80A2698: @ 80A2698
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- movs r0, 0x80
- bl PlaySE
- ldr r4, _080A2790
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl PlayerGetDestCoords
- mov r8, r4
-_080A26B2:
- ldr r1, _080A2794
- adds r0, r7, r1
- mov r2, r8
- ldrh r2, [r2, 0x2]
- adds r0, r2
- movs r6, 0
- lsls r0, 16
- asrs r5, r0, 16
-_080A26C2:
- ldr r1, _080A2794
- adds r0, r6, r1
- mov r2, r8
- ldrh r2, [r2]
- adds r0, r2
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetZCoordAt
- lsls r0, 24
- lsrs r0, 24
- mov r2, r8
- movs r1, 0x4
- ldrsb r1, [r2, r1]
- cmp r0, r1
- bne _080A270E
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl sub_80578F8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A270E
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80A27A8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_805BCC0
-_080A270E:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x2
- bls _080A26C2
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bls _080A26B2
- ldr r1, _080A2790
- ldrh r0, [r1]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r1, 0x2]
- subs r1, 0x2
- lsls r1, 16
- asrs r1, 16
- bl sub_80A28F4
- bl DrawWholeMapView
- movs r7, 0
- ldr r4, _080A2798
-_080A2740:
- ldr r0, _080A279C
- ldrb r1, [r0, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r0, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r2, 0x80
- lsls r2, 12
- adds r1, r2
- asrs r1, 16
- ldrb r2, [r0]
- adds r2, 0x14
- ldr r0, _080A27A0
- movs r3, 0
- bl CreateSprite
- ldr r1, _080A27A4
- adds r1, r7, r1
- strb r0, [r1]
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- lsls r1, r7, 5
- strh r1, [r0, 0x32]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x7
- bls _080A2740
- movs r0, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A2790: .4byte gUnknown_0203923C
-_080A2794: .4byte 0x0000ffff
-_080A2798: .4byte gSprites
-_080A279C: .4byte gPlayerAvatar
-_080A27A0: .4byte gSpriteTemplate_CutGrass
-_080A27A4: .4byte 0x0201fff0
- thumb_func_end sub_80A2698
-
- thumb_func_start sub_80A27A8
-sub_80A27A8: @ 80A27A8
- push {r4-r7,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r6, r0, 16
- asrs r4, r0, 16
- lsrs r7, r1, 16
- asrs r5, r1, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, _080A27E0
- cmp r1, r0
- bgt _080A27F4
- subs r0, 0x1
- cmp r1, r0
- bge _080A286C
- cmp r1, 0x25
- beq _080A288E
- cmp r1, 0x25
- bgt _080A27E4
- cmp r1, 0xD
- beq _080A2834
- cmp r1, 0x15
- beq _080A2834
- b _080A2898
- .align 2, 0
-_080A27E0: .4byte 0x00000207
-_080A27E4:
- movs r0, 0xE3
- lsls r0, 1
- cmp r1, r0
- beq _080A2844
- adds r0, 0x1
- cmp r1, r0
- beq _080A284A
- b _080A2898
-_080A27F4:
- ldr r0, _080A280C
- cmp r1, r0
- beq _080A287C
- cmp r1, r0
- bgt _080A2810
- subs r0, 0xA
- cmp r1, r0
- beq _080A2834
- adds r0, 0x2
- cmp r1, r0
- beq _080A287C
- b _080A2898
- .align 2, 0
-_080A280C: .4byte 0x00000212
-_080A2810:
- ldr r0, _080A2824
- cmp r1, r0
- beq _080A285C
- cmp r1, r0
- bgt _080A2828
- subs r0, 0x1
- cmp r1, r0
- beq _080A2854
- b _080A2898
- .align 2, 0
-_080A2824: .4byte 0x00000282
-_080A2828:
- ldr r0, _080A2830
- cmp r1, r0
- beq _080A2864
- b _080A2898
- .align 2, 0
-_080A2830: .4byte 0x00000283
-_080A2834:
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r7, 16
- asrs r1, 16
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
- b _080A2898
-_080A2844:
- movs r2, 0xE7
- lsls r2, 1
- b _080A286E
-_080A284A:
- ldr r2, _080A2850
- b _080A286E
- .align 2, 0
-_080A2850: .4byte 0x000001cf
-_080A2854:
- ldr r2, _080A2858
- b _080A286E
- .align 2, 0
-_080A2858: .4byte 0x00000279
-_080A285C:
- ldr r2, _080A2860
- b _080A286E
- .align 2, 0
-_080A2860: .4byte 0x0000027a
-_080A2864:
- ldr r2, _080A2868
- b _080A286E
- .align 2, 0
-_080A2868: .4byte 0x0000027b
-_080A286C:
- ldr r2, _080A2878
-_080A286E:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridSetMetatileIdAt
- b _080A2898
- .align 2, 0
-_080A2878: .4byte 0x00000271
-_080A287C:
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r7, 16
- asrs r1, 16
- movs r2, 0x86
- lsls r2, 2
- bl MapGridSetMetatileIdAt
- b _080A2898
-_080A288E:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0xE
- bl MapGridSetMetatileIdAt
-_080A2898:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A27A8
-
- thumb_func_start sub_80A28A0
-sub_80A28A0: @ 80A28A0
- push {lr}
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- cmp r1, 0x1
- bne _080A28BC
- movs r0, 0x1
- b _080A28EE
-_080A28BC:
- ldr r0, _080A28C8
- cmp r1, r0
- bne _080A28CC
- movs r0, 0x2
- b _080A28EE
- .align 2, 0
-_080A28C8: .4byte 0x00000279
-_080A28CC:
- ldr r0, _080A28D8
- cmp r1, r0
- bne _080A28DC
- movs r0, 0x3
- b _080A28EE
- .align 2, 0
-_080A28D8: .4byte 0x0000027a
-_080A28DC:
- ldr r0, _080A28E8
- cmp r2, r0
- beq _080A28EC
- movs r0, 0
- b _080A28EE
- .align 2, 0
-_080A28E8: .4byte 0x0000027b
-_080A28EC:
- movs r0, 0x4
-_080A28EE:
- pop {r1}
- bx r1
- thumb_func_end sub_80A28A0
-
- thumb_func_start sub_80A28F4
-sub_80A28F4: @ 80A28F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r1, 16
- movs r2, 0xC0
- lsls r2, 10
- adds r0, r1, r2
- lsrs r0, 16
- mov r9, r0
- movs r4, 0
- asrs r7, r1, 16
-_080A2914:
- mov r1, r10
- lsls r0, r1, 16
- asrs r0, 16
- lsls r4, 16
- asrs r1, r4, 16
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- asrs r5, r0, 16
- adds r0, r5, 0
- adds r1, r7, 0
- bl MapGridGetMetatileIdAt
- mov r8, r4
- cmp r0, 0x15
- bne _080A2996
- adds r4, r7, 0x1
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_80A28A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080A296A
- cmp r0, 0x2
- bgt _080A2952
- cmp r0, 0x1
- beq _080A295C
- b _080A2996
-_080A2952:
- cmp r0, 0x3
- beq _080A297C
- cmp r0, 0x4
- beq _080A298C
- b _080A2996
-_080A295C:
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x82
- lsls r2, 2
- bl MapGridSetMetatileIdAt
- b _080A2996
-_080A296A:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2978
- bl MapGridSetMetatileIdAt
- b _080A2996
- .align 2, 0
-_080A2978: .4byte 0x00000281
-_080A297C:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2988
- bl MapGridSetMetatileIdAt
- b _080A2996
- .align 2, 0
-_080A2988: .4byte 0x00000282
-_080A298C:
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2A30
- bl MapGridSetMetatileIdAt
-_080A2996:
- lsls r0, r6, 16
- asrs r5, r0, 16
- mov r2, r9
- lsls r0, r2, 16
- asrs r4, r0, 16
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- cmp r0, 0x1
- bne _080A2A10
- adds r4, 0x1
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x82
- lsls r1, 2
- cmp r0, r1
- bne _080A29C8
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl MapGridSetMetatileIdAt
-_080A29C8:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, _080A2A34
- cmp r0, r1
- bne _080A29E0
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2A38
- bl MapGridSetMetatileIdAt
-_080A29E0:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, _080A2A3C
- cmp r0, r1
- bne _080A29F8
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2A40
- bl MapGridSetMetatileIdAt
-_080A29F8:
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridGetMetatileIdAt
- ldr r1, _080A2A30
- cmp r0, r1
- bne _080A2A10
- adds r0, r5, 0
- adds r1, r4, 0
- ldr r2, _080A2A44
- bl MapGridSetMetatileIdAt
-_080A2A10:
- movs r0, 0x80
- lsls r0, 9
- add r0, r8
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bgt _080A2A20
- b _080A2914
-_080A2A20:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2A30: .4byte 0x00000283
-_080A2A34: .4byte 0x00000281
-_080A2A38: .4byte 0x00000279
-_080A2A3C: .4byte 0x00000282
-_080A2A40: .4byte 0x0000027a
-_080A2A44: .4byte 0x0000027b
- thumb_func_end sub_80A28F4
-
- thumb_func_start sub_80A2A48
-sub_80A2A48: @ 80A2A48
- movs r2, 0
- movs r1, 0x8
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x34]
- ldr r1, _080A2A58
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080A2A58: .4byte objc_8097BBC
- thumb_func_end sub_80A2A48
-
- thumb_func_start objc_8097BBC
-objc_8097BBC: @ 80A2A5C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x2E]
- adds r1, 0x1
- ldrh r2, [r4, 0x34]
- lsls r0, r2, 16
- asrs r0, 18
- adds r1, r0
- strh r1, [r4, 0x2E]
- adds r2, 0x1
- strh r2, [r4, 0x34]
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x1C
- beq _080A2AA8
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _080A2AAC
-_080A2AA8:
- ldr r0, _080A2AB4
- str r0, [r4, 0x1C]
-_080A2AAC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2AB4: .4byte sub_80A2AB8
- thumb_func_end objc_8097BBC
-
- thumb_func_start sub_80A2AB8
-sub_80A2AB8: @ 80A2AB8
- push {r4-r6,lr}
- movs r4, 0x1
-_080A2ABC:
- ldr r6, _080A2AF8
- adds r0, r4, r6
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _080A2AFC
- adds r0, r5
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _080A2ABC
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x3A
- bl FieldEffectStop
- bl sub_8064E2C
- bl ScriptContext2_Disable
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2AF8: .4byte 0x0201fff0
-_080A2AFC: .4byte gSprites
- thumb_func_end sub_80A2AB8
-
- thumb_func_start sub_80A2B00
-sub_80A2B00: @ 80A2B00
- push {lr}
- movs r0, 0x80
- bl PlaySE
- movs r0, 0x2
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80A2B00
-
- thumb_func_start sub_80A2B18
-sub_80A2B18: @ 80A2B18
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080A2B3C
-_080A2B1E:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r0, r5
- bl sub_80A2B40
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _080A2B1E
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2B3C: .4byte gSaveBlock1 + 0x2B4C
- thumb_func_end sub_80A2B18
-
- thumb_func_start sub_80A2B40
-sub_80A2B40: @ 80A2B40
- push {r4-r6,lr}
- adds r3, r0, 0
- ldr r0, _080A2B90
- adds r4, r0, 0
- adds r1, r3, 0
- movs r2, 0x8
-_080A2B4C:
- ldrh r0, [r1]
- orrs r0, r4
- strh r0, [r1]
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080A2B4C
- movs r2, 0
- adds r6, r3, 0
- adds r6, 0x1A
- adds r4, r3, 0
- adds r4, 0x12
- movs r5, 0xFF
-_080A2B66:
- adds r1, r4, r2
- ldrb r0, [r1]
- orrs r0, r5
- strb r0, [r1]
- adds r2, 0x1
- cmp r2, 0x7
- ble _080A2B66
- adds r1, r6, 0
- movs r2, 0
- adds r0, r1, 0x3
-_080A2B7A:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _080A2B7A
- movs r1, 0
- movs r0, 0x1
- strh r0, [r3, 0x1E]
- strh r1, [r3, 0x20]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2B90: .4byte 0x0000ffff
- thumb_func_end sub_80A2B40
-
- thumb_func_start sub_80A2B94
-sub_80A2B94: @ 80A2B94
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- bl itemid_is_mail
- lsls r0, 24
- cmp r0, 0
- beq _080A2BBC
- adds r0, r4, 0
- movs r1, 0x40
- bl GetMonData
- cmp r0, 0xFF
- beq _080A2BBC
- movs r0, 0x1
- b _080A2BBE
-_080A2BBC:
- movs r0, 0
-_080A2BBE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2B94
-
- thumb_func_start sub_80A2BC4
-sub_80A2BC4: @ 80A2BC4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r7, r0, 0
- lsls r1, 16
- lsrs r0, r1, 16
- str r0, [sp, 0x8]
- mov r0, sp
- movs r2, 0
- ldrb r3, [r0, 0x8]
- strb r3, [r0]
- lsrs r1, 24
- strb r1, [r0, 0x1]
- add r3, sp, 0x4
- strb r2, [r3]
- mov r10, r3
- ldr r4, _080A2D00
- mov r9, r4
- mov r8, r3
- adds r2, r3, 0
-_080A2BF2:
- ldrb r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- ldr r5, _080A2D04
- adds r0, r5
- ldrh r0, [r0]
- cmp r0, 0
- beq _080A2C08
- b _080A2D24
-_080A2C08:
- movs r3, 0
- ldr r0, _080A2D08
- mov r12, r0
- mov r4, r10
- ldr r6, _080A2D0C
- ldr r1, _080A2D10
- adds r5, r1, 0
-_080A2C16:
- lsls r2, r3, 1
- ldrb r1, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r2, r0
- adds r2, r6
- ldrh r0, [r2]
- orrs r0, r5
- strh r0, [r2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x8
- bls _080A2C16
- movs r3, 0
- mov r2, r10
- ldr r4, _080A2D14
-_080A2C3A:
- ldrb r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r4
- mov r5, r12
- adds r1, r3, r5
- ldrb r1, [r1]
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x6
- bls _080A2C3A
- mov r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3, r0
- ldr r1, _080A2D14
- adds r0, r1
- movs r1, 0xFF
- strb r1, [r0]
- mov r2, r8
- ldrb r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r3, _080A2D14
- adds r0, r3
- movs r1, 0
- bl sub_814A518
- movs r3, 0
- mov r2, r10
- ldr r5, _080A2D18
- ldr r4, _080A2D1C
-_080A2C88:
- ldrb r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r5
- adds r1, r3, r4
- ldrb r1, [r1]
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080A2C88
- adds r0, r7, 0
- movs r1, 0xB
- bl GetBoxMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r7, 0
- movs r1, 0
- bl GetBoxMonData
- adds r1, r0, 0
- adds r0, r4, 0
- bl sub_80A2D44
- mov r4, r8
- ldrb r2, [r4]
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- add r1, r9
- ldr r5, _080A2D20
- adds r1, r5
- strh r0, [r1]
- ldrb r1, [r4]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- add r0, r9
- ldr r1, _080A2D04
- adds r0, r1
- mov r2, sp
- ldrh r2, [r2, 0x8]
- strh r2, [r0]
- adds r0, r7, 0
- movs r1, 0x40
- mov r2, r8
- bl SetMonData
- adds r0, r7, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- ldrb r0, [r4]
- b _080A2D32
- .align 2, 0
-_080A2D00: .4byte gSaveBlock1
-_080A2D04: .4byte 0x00002b6c
-_080A2D08: .4byte gSaveBlock2
-_080A2D0C: .4byte gSaveBlock1 + 0x2B4C
-_080A2D10: .4byte 0x0000ffff
-_080A2D14: .4byte gSaveBlock1 + 0x2B5E
-_080A2D18: .4byte gSaveBlock1 + 0x2B66
-_080A2D1C: .4byte gSaveBlock2 + 0xA
-_080A2D20: .4byte 0x00002b6a
-_080A2D24:
- adds r0, r1, 0x1
- strb r0, [r3]
- ldrb r0, [r2]
- cmp r0, 0x5
- bhi _080A2D30
- b _080A2BF2
-_080A2D30:
- movs r0, 0xFF
-_080A2D32:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2BC4
-
- thumb_func_start sub_80A2D44
-sub_80A2D44: @ 80A2D44
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC9
- bne _080A2D5C
- adds r0, r1, 0
- bl sub_809D474
- lsls r0, 16
- ldr r1, _080A2D60
- adds r0, r1
- lsrs r0, 16
-_080A2D5C:
- pop {r1}
- bx r1
- .align 2, 0
-_080A2D60: .4byte 0x75300000
- thumb_func_end sub_80A2D44
-
- thumb_func_start sub_80A2D64
-sub_80A2D64: @ 80A2D64
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, _080A2D7C
- adds r2, r3, r0
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0x1B
- bhi _080A2D80
- movs r0, 0xC9
- strh r2, [r1]
- b _080A2D82
- .align 2, 0
-_080A2D7C: .4byte 0xffff8ad0
-_080A2D80:
- adds r0, r3, 0
-_080A2D82:
- pop {r1}
- bx r1
- thumb_func_end sub_80A2D64
-
- thumb_func_start sub_80A2D88
-sub_80A2D88: @ 80A2D88
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r0, 0
- adds r7, r1, 0
- ldrh r5, [r7, 0x20]
- adds r1, r5, 0
- bl sub_80A2BC4
- add r4, sp, 0x4
- strb r0, [r4]
- ldrb r2, [r4]
- cmp r2, 0xFF
- beq _080A2DE8
- ldr r0, _080A2DE0
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldr r0, _080A2DE4
- adds r1, r0
- adds r0, r7, 0
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- ldm r0!, {r2,r3,r7}
- stm r1!, {r2,r3,r7}
- adds r0, r6, 0
- movs r1, 0x40
- adds r2, r4, 0
- bl SetMonData
- mov r0, sp
- strb r5, [r0]
- mov r1, sp
- lsrs r0, r5, 8
- strb r0, [r1, 0x1]
- adds r0, r6, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- ldrb r0, [r4]
- b _080A2DEA
- .align 2, 0
-_080A2DE0: .4byte gSaveBlock1
-_080A2DE4: .4byte 0x00002b4c
-_080A2DE8:
- movs r0, 0xFF
-_080A2DEA:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2D88
-
- thumb_func_start unref_sub_80A2DF4
-unref_sub_80A2DF4: @ 80A2DF4
- movs r0, 0
- bx lr
- thumb_func_end unref_sub_80A2DF4
-
- thumb_func_start sub_80A2DF8
-sub_80A2DF8: @ 80A2DF8
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- bl sub_80A2B94
- lsls r0, 24
- cmp r0, 0
- beq _080A2E46
- adds r0, r4, 0
- movs r1, 0x40
- bl GetMonData
- add r2, sp, 0x4
- strb r0, [r2]
- ldr r3, _080A2E50
- ldrb r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, _080A2E54
- adds r0, r1
- movs r3, 0
- movs r1, 0
- strh r1, [r0]
- movs r0, 0xFF
- strb r0, [r2]
- mov r0, sp
- strb r3, [r0]
- strb r3, [r0, 0x1]
- adds r0, r4, 0
- movs r1, 0x40
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
-_080A2E46:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2E50: .4byte gSaveBlock1
-_080A2E54: .4byte 0x00002b6c
- thumb_func_end sub_80A2DF8
-
- thumb_func_start unref_sub_80A2E58
-unref_sub_80A2E58: @ 80A2E58
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A2E70
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r0, _080A2E74
- adds r1, r0
- movs r0, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080A2E70: .4byte gSaveBlock1
-_080A2E74: .4byte 0x00002b6c
- thumb_func_end unref_sub_80A2E58
-
- thumb_func_start sub_80A2E78
-sub_80A2E78: @ 80A2E78
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- adds r5, r0, 0
- mov r0, sp
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0, 0x1]
- add r1, sp, 0x4
- movs r0, 0xFF
- strb r0, [r1]
- movs r7, 0x6
- mov r9, r1
- ldr r0, _080A2F04
- mov r8, r0
- ldr r2, _080A2F08
- add r2, r8
-_080A2E9E:
- lsls r0, r7, 3
- adds r0, r7
- lsls r4, r0, 2
- mov r1, r8
- adds r0, r4, r1
- ldr r3, _080A2F0C
- adds r0, r3
- ldrh r6, [r0]
- cmp r6, 0
- bne _080A2F10
- adds r4, r2
- adds r0, r5, 0
- movs r1, 0x40
- str r2, [sp, 0x8]
- bl GetMonData
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r2, [sp, 0x8]
- adds r1, r2
- ldm r1!, {r0,r2,r3}
- stm r4!, {r0,r2,r3}
- ldm r1!, {r0,r2,r3}
- stm r4!, {r0,r2,r3}
- ldm r1!, {r0,r2,r3}
- stm r4!, {r0,r2,r3}
- adds r0, r5, 0
- movs r1, 0x40
- bl GetMonData
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- add r1, r8
- ldr r0, _080A2F0C
- adds r1, r0
- strh r6, [r1]
- adds r0, r5, 0
- movs r1, 0x40
- mov r2, r9
- bl SetMonData
- adds r0, r5, 0
- movs r1, 0xC
- mov r2, sp
- bl SetMonData
- adds r0, r7, 0
- b _080A2F1C
- .align 2, 0
-_080A2F04: .4byte gSaveBlock1
-_080A2F08: .4byte 0x00002b4c
-_080A2F0C: .4byte 0x00002b6c
-_080A2F10:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0xF
- bls _080A2E9E
- movs r0, 0xFF
-_080A2F1C:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A2E78
-
- thumb_func_start itemid_is_mail
-itemid_is_mail: @ 80A2F2C
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x84
- bgt _080A2F3E
- cmp r0, 0x79
- blt _080A2F3E
- movs r0, 0x1
- b _080A2F40
-_080A2F3E:
- movs r0, 0
-_080A2F40:
- pop {r1}
- bx r1
- thumb_func_end itemid_is_mail
-
- thumb_func_start unref_sub_80A2F44
-unref_sub_80A2F44: @ 80A2F44
- push {lr}
- bl sub_8071C20
- bl AddMapNamePopUpWindowTask
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80A2F44
-
- thumb_func_start AddMapNamePopUpWindowTask
-AddMapNamePopUpWindowTask: @ 80A2F54
- push {r4,r5,lr}
- movs r0, 0x80
- lsls r0, 7
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A2FE4
- ldr r4, _080A2FAC
- adds r0, r4, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080A2FBC
- adds r0, r4, 0
- movs r1, 0x5A
- bl CreateTask
- ldr r4, _080A2FB0
- strb r0, [r4]
- ldr r1, _080A2FB4
- movs r0, 0x20
- strh r0, [r1]
- bl sub_80A30E0
- ldr r2, _080A2FB8
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- strh r5, [r0, 0x8]
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x20
- strh r1, [r0, 0xC]
- b _080A2FE4
- .align 2, 0
-_080A2FAC: .4byte sub_80A2FF4
-_080A2FB0: .4byte gUnknown_02038538
-_080A2FB4: .4byte REG_BG0VOFS
-_080A2FB8: .4byte gTasks
-_080A2FBC:
- ldr r3, _080A2FEC
- ldr r2, _080A2FF0
- ldrb r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r4, 0x8
- ldrsh r0, [r1, r4]
- cmp r0, 0x2
- beq _080A2FD6
- movs r0, 0x2
- strh r0, [r1, 0x8]
-_080A2FD6:
- ldrb r0, [r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_080A2FE4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A2FEC: .4byte gTasks
-_080A2FF0: .4byte gUnknown_02038538
- thumb_func_end AddMapNamePopUpWindowTask
-
- thumb_func_start sub_80A2FF4
-sub_80A2FF4: @ 80A2FF4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r3, _080A3018
- adds r4, r1, r3
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- cmp r2, 0x1
- beq _080A304C
- cmp r2, 0x1
- bgt _080A301C
- cmp r2, 0
- beq _080A3026
- b _080A3092
- .align 2, 0
-_080A3018: .4byte gTasks
-_080A301C:
- cmp r2, 0x2
- beq _080A3064
- cmp r2, 0x4
- beq _080A308C
- b _080A3092
-_080A3026:
- ldrh r0, [r4, 0xC]
- subs r0, 0x2
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bgt _080A3092
- movs r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, _080A3048
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- strh r2, [r0, 0xA]
- b _080A3092
- .align 2, 0
-_080A3048: .4byte gUnknown_02038538
-_080A304C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- ble _080A3092
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080A3092
-_080A3064:
- ldrh r0, [r4, 0xC]
- adds r0, 0x2
- movs r5, 0
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- ble _080A3092
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A3086
- bl sub_80A30E0
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xE]
- b _080A3092
-_080A3086:
- movs r0, 0x4
- strh r0, [r4, 0x8]
- b _080A3098
-_080A308C:
- bl HideMapNamePopUpWindow
- b _080A3098
-_080A3092:
- ldr r1, _080A30A0
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
-_080A3098:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A30A0: .4byte REG_BG0VOFS
- thumb_func_end sub_80A2FF4
-
- thumb_func_start HideMapNamePopUpWindow
-HideMapNamePopUpWindow: @ 80A30A4
- push {lr}
- ldr r0, _080A30D4
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _080A30D0
- bl MenuLoadTextWindowGraphics
- movs r0, 0
- movs r1, 0
- movs r2, 0xD
- movs r3, 0x3
- bl MenuZeroFillWindowRect
- ldr r1, _080A30D8
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080A30DC
- ldrb r0, [r0]
- bl DestroyTask
-_080A30D0:
- pop {r0}
- bx r0
- .align 2, 0
-_080A30D4: .4byte sub_80A2FF4
-_080A30D8: .4byte REG_BG0VOFS
-_080A30DC: .4byte gUnknown_02038538
- thumb_func_end HideMapNamePopUpWindow
-
- thumb_func_start sub_80A30E0
-sub_80A30E0: @ 80A30E0
- push {lr}
- sub sp, 0x14
- movs r0, 0
- bl MenuLoadTextWindowGraphics_OverrideFrameType
- ldr r0, _080A3114
- ldrb r1, [r0, 0x14]
- mov r0, sp
- movs r2, 0
- bl sub_80FBFB4
- movs r0, 0
- movs r1, 0
- movs r2, 0xD
- movs r3, 0x3
- bl MenuDrawTextWindow
- mov r0, sp
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x60
- bl sub_8072BD8
- add sp, 0x14
- pop {r0}
- bx r0
- .align 2, 0
-_080A3114: .4byte gMapHeader
- thumb_func_end sub_80A30E0
-
- thumb_func_start sub_80A3118
-sub_80A3118: @ 80A3118
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl sub_80A740C
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80A3118
-
- thumb_func_start sub_80A3134
-sub_80A3134: @ 80A3134
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r1, _080A3168
- ldr r2, _080A316C
- ldr r0, _080A3170
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r3, _080A3174
- str r3, [r0, 0x8]
- ldr r2, [r0, 0x8]
- movs r2, 0x80
- lsls r2, 4
- adds r1, r2
- ldr r2, _080A3178
- str r1, [r0]
- str r2, [r0, 0x4]
- str r3, [r0, 0x8]
- ldr r0, [r0, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_080A3168: .4byte gBG1TilemapBuffer
-_080A316C: .4byte 0x06002000
-_080A3170: .4byte 0x040000d4
-_080A3174: .4byte 0x80000400
-_080A3178: .4byte 0x06006000
- thumb_func_end sub_80A3134
-
- thumb_func_start sub_80A317C
-sub_80A317C: @ 80A317C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _080A3198
- ldr r1, _080A319C
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x10
- bls _080A318E
- b _080A34A8
-_080A318E:
- lsls r0, 2
- ldr r1, _080A31A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A3198: .4byte gMain
-_080A319C: .4byte 0x0000043c
-_080A31A0: .4byte _080A31A4
- .align 2, 0
-_080A31A4:
- .4byte _080A31E8
- .4byte _080A31F2
- .4byte _080A3208
- .4byte _080A320E
- .4byte _080A3228
- .4byte _080A324C
- .4byte _080A3252
- .4byte _080A3270
- .4byte _080A327C
- .4byte _080A3298
- .4byte _080A32A4
- .4byte _080A3328
- .4byte _080A338C
- .4byte _080A33F4
- .4byte _080A3404
- .4byte _080A345C
- .4byte _080A347C
-_080A31E8:
- bl sub_80F9438
- bl sub_80A34E8
- b _080A3464
-_080A31F2:
- bl remove_some_task
- ldr r1, _080A3200
- ldr r0, _080A3204
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A3200: .4byte gMain
-_080A3204: .4byte 0x0000043c
-_080A3208:
- bl gpu_pal_allocator_reset__manage_upper_four
- b _080A3464
-_080A320E:
- bl sub_80F9020
- ldr r0, _080A3220
- ldr r1, _080A3224
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _080A3464
- .align 2, 0
-_080A3220: .4byte 0x02000000
-_080A3224: .4byte 0x0001ffff
-_080A3228:
- bl ResetPaletteFade
- ldr r2, _080A3240
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _080A3244
- ldr r0, _080A3248
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A3240: .4byte gPaletteFade
-_080A3244: .4byte gMain
-_080A3248: .4byte 0x0000043c
-_080A324C:
- bl ResetSpriteData
- b _080A3464
-_080A3252:
- bl sub_80A3520
- lsls r0, 24
- cmp r0, 0
- bne _080A325E
- b _080A34A8
-_080A325E:
- ldr r1, _080A3268
- ldr r0, _080A326C
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A3268: .4byte gMain
-_080A326C: .4byte 0x0000043c
-_080A3270:
- ldr r0, _080A3278
- bl SetUpWindowConfig
- b _080A3464
- .align 2, 0
-_080A3278: .4byte gWindowConfig_81E6DFC
-_080A327C:
- ldr r0, _080A328C
- bl MultistepInitMenuWindowBegin
- ldr r1, _080A3290
- ldr r0, _080A3294
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A328C: .4byte gWindowConfig_81E6DFC
-_080A3290: .4byte gMain
-_080A3294: .4byte 0x0000043c
-_080A3298:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- bne _080A32A2
- b _080A34A8
-_080A32A2:
- b _080A3464
-_080A32A4:
- bl sub_80F944C
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- movs r0, 0
- movs r1, 0xAC
- movs r2, 0xC
- bl sub_80F953C
- movs r0, 0x1
- movs r1, 0xAC
- movs r2, 0x94
- bl sub_80F953C
- movs r0, 0x2
- movs r1, 0x1C
- movs r2, 0x58
- bl sub_80F953C
- movs r0, 0x3
- movs r1, 0x64
- movs r2, 0x58
- bl sub_80F953C
- movs r0, 0
- movs r1, 0x2
- bl sub_80F9988
- movs r0, 0x1
- movs r1, 0x2
- bl sub_80F9988
- movs r0, 0x2
- movs r1, 0x2
- bl sub_80F9988
- movs r0, 0x3
- movs r1, 0x2
- bl sub_80F9988
- ldr r0, _080A331C
- ldrb r0, [r0]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A3312
- movs r0, 0x2
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0x3
- movs r1, 0x1
- bl sub_80F979C
-_080A3312:
- ldr r1, _080A3320
- ldr r0, _080A3324
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A331C: .4byte gUnknown_03000701
-_080A3320: .4byte gMain
-_080A3324: .4byte 0x0000043c
-_080A3328:
- ldr r1, _080A3378
- movs r0, 0x10
- strb r0, [r1]
- ldr r4, _080A337C
- ldr r5, _080A3380
- ldrb r1, [r5]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80A39B8
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_80A3AC0
- bl sub_80A3D08
- ldr r4, _080A3384
- ldr r0, [r4, 0x10]
- ldr r1, [r4, 0x14]
- bl sub_80A3C34
- ldr r0, [r4, 0x18]
- ldr r1, [r4, 0x1C]
- bl sub_80A3C34
- bl sub_80A3D40
- ldr r1, _080A3388
- movs r0, 0
- ldrsb r0, [r5, r0]
- lsls r0, 3
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- bl sub_80A362C
- b _080A3464
- .align 2, 0
-_080A3378: .4byte gUnknown_0203855A
-_080A337C: .4byte gBG2TilemapBuffer
-_080A3380: .4byte gUnknown_02038559
-_080A3384: .4byte gUnknown_083C1618
-_080A3388: .4byte gUnknown_03005D24
-_080A338C:
- ldr r0, _080A33D4
- movs r1, 0
- movs r2, 0x7
- bl sub_80A48E8
- ldr r1, _080A33D8
- ldr r4, _080A33DC
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A33E0
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl sub_80A490C
- bl sub_80A736C
- ldr r1, _080A33E4
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r1]
- ldr r1, _080A33E8
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080A33EC
- ldr r0, _080A33F0
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A33D4: .4byte 0x0000ffff
-_080A33D8: .4byte gUnknown_03005D10
-_080A33DC: .4byte gUnknown_02038559
-_080A33E0: .4byte gUnknown_03005D24
-_080A33E4: .4byte gUnknown_0203855B
-_080A33E8: .4byte gUnknown_0203855C
-_080A33EC: .4byte gMain
-_080A33F0: .4byte 0x0000043c
-_080A33F4:
- bl sub_80A7B10
- movs r0, 0
- bl sub_80A7C20
- bl sub_80A3740
- b _080A3464
-_080A3404:
- ldr r3, _080A3444
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _080A3448
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _080A344C
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _080A3450
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _080A3454
- ldr r0, _080A3458
- adds r1, r0
- b _080A346A
- .align 2, 0
-_080A3444: .4byte 0x04000208
-_080A3448: .4byte 0x04000200
-_080A344C: .4byte REG_DISPSTAT
-_080A3450: .4byte gPaletteFade
-_080A3454: .4byte gMain
-_080A3458: .4byte 0x0000043c
-_080A345C:
- bl sub_8055870
- cmp r0, 0x1
- beq _080A34A8
-_080A3464:
- ldr r1, _080A3474
- ldr r2, _080A3478
- adds r1, r2
-_080A346A:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080A34A8
- .align 2, 0
-_080A3474: .4byte gMain
-_080A3478: .4byte 0x0000043c
-_080A347C:
- ldr r0, _080A34A0
- bl SetVBlankCallback
- ldr r0, _080A34A4
- bl SetMainCallback2
- bl sub_80A751C
- bl sub_80A7630
- bl sub_80A770C
- bl sub_80A7828
- bl sub_80A78B8
- movs r0, 0x1
- b _080A34AA
- .align 2, 0
-_080A34A0: .4byte sub_80A3134
-_080A34A4: .4byte sub_80A3118
-_080A34A8:
- movs r0, 0
-_080A34AA:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A317C
-
- thumb_func_start sub_80A34B4
-sub_80A34B4: @ 80A34B4
- push {lr}
-_080A34B6:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A34D2
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A34B6
- movs r0, 0
- b _080A34DE
-_080A34D2:
- ldr r1, _080A34E4
- movs r0, 0
- strb r0, [r1]
- bl ResetTasks
- movs r0, 0x1
-_080A34DE:
- pop {r1}
- bx r1
- .align 2, 0
-_080A34E4: .4byte gUnknown_03000700
- thumb_func_end sub_80A34B4
-
- thumb_func_start sub_80A34E8
-sub_80A34E8: @ 80A34E8
- push {lr}
- bl sub_80F9368
- ldr r1, _080A3514
- ldr r2, _080A3518
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _080A351C
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xA
- movs r2, 0xBA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x50
- movs r0, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080A3514: .4byte REG_BG2CNT
-_080A3518: .4byte 0x00000c06
-_080A351C: .4byte 0x00000405
- thumb_func_end sub_80A34E8
-
- thumb_func_start sub_80A3520
-sub_80A3520: @ 80A3520
- push {lr}
- ldr r0, _080A353C
- ldr r1, _080A3540
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080A3530
- b _080A3624
-_080A3530:
- lsls r0, 2
- ldr r1, _080A3544
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A353C: .4byte 0x02000000
-_080A3540: .4byte 0x0001ffff
-_080A3544: .4byte _080A3548
- .align 2, 0
-_080A3548:
- .4byte _080A355C
- .4byte _080A3570
- .4byte _080A3588
- .4byte _080A35C0
- .4byte _080A3604
-_080A355C:
- ldr r0, _080A3568
- ldr r1, _080A356C
- bl LZDecompressVram
- b _080A35EA
- .align 2, 0
-_080A3568: .4byte gBagScreen_Gfx
-_080A356C: .4byte 0x06004000
-_080A3570:
- ldr r0, _080A3580
- ldr r1, _080A3584
- movs r2, 0x80
- lsls r2, 3
- bl CpuSet
- b _080A35EA
- .align 2, 0
-_080A3580: .4byte gUnknown_08E77004
-_080A3584: .4byte gBG2TilemapBuffer
-_080A3588:
- ldr r0, _080A35A4
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _080A3598
- ldr r0, _080A35A8
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _080A35B0
-_080A3598:
- ldr r0, _080A35AC
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- b _080A35EA
- .align 2, 0
-_080A35A4: .4byte gSaveBlock2
-_080A35A8: .4byte gUnknown_03000701
-_080A35AC: .4byte gBagScreenMale_Pal
-_080A35B0:
- ldr r0, _080A35BC
- movs r1, 0
- movs r2, 0x40
- bl LoadCompressedPalette
- b _080A35EA
- .align 2, 0
-_080A35BC: .4byte gBagScreenFemale_Pal
-_080A35C0:
- ldr r0, _080A35D8
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- beq _080A35D0
- ldr r0, _080A35DC
- ldrb r0, [r0]
- cmp r0, 0x7
- bne _080A35E4
-_080A35D0:
- ldr r0, _080A35E0
- bl LoadCompressedObjectPic
- b _080A35EA
- .align 2, 0
-_080A35D8: .4byte gSaveBlock2
-_080A35DC: .4byte gUnknown_03000701
-_080A35E0: .4byte gUnknown_083C1CC8
-_080A35E4:
- ldr r0, _080A35F8
- bl LoadCompressedObjectPic
-_080A35EA:
- ldr r1, _080A35FC
- ldr r0, _080A3600
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080A3624
- .align 2, 0
-_080A35F8: .4byte gUnknown_083C1CD0
-_080A35FC: .4byte 0x02000000
-_080A3600: .4byte 0x0001ffff
-_080A3604:
- ldr r0, _080A3618
- bl LoadCompressedObjectPalette
- ldr r0, _080A361C
- ldr r1, _080A3620
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0x1
- b _080A3626
- .align 2, 0
-_080A3618: .4byte gUnknown_083C1CD8
-_080A361C: .4byte 0x02000000
-_080A3620: .4byte 0x0001ffff
-_080A3624:
- movs r0, 0
-_080A3626:
- pop {r1}
- bx r1
- thumb_func_end sub_80A3520
-
- thumb_func_start sub_80A362C
-sub_80A362C: @ 80A362C
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, _080A3648
- ldr r5, _080A364C
-_080A3634:
- ldrb r0, [r6]
- cmp r0, 0x5
- bne _080A3650
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrb r0, [r0, 0x2]
- subs r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080A3656
- .align 2, 0
-_080A3648: .4byte gUnknown_03000701
-_080A364C: .4byte gUnknown_03005D10
-_080A3650:
- lsls r1, r4, 2
- adds r0, r1, r5
- ldrb r3, [r0, 0x2]
-_080A3656:
- adds r1, r5
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _080A366C
- ldrb r2, [r1, 0x3]
- adds r0, r2
- cmp r0, r3
- ble _080A3674
- subs r0, r3, r2
- strb r0, [r1, 0x1]
- b _080A3674
-_080A366C:
- ldrb r0, [r1]
- cmp r0, r3
- bls _080A3674
- strb r3, [r1]
-_080A3674:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _080A3634
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A362C
-
- thumb_func_start sub_80A3684
-sub_80A3684: @ 80A3684
- push {r4,lr}
- movs r2, 0
- ldr r4, _080A36B0
- ldr r3, _080A36B4
- movs r1, 0
-_080A368E:
- lsls r0, r2, 2
- adds r0, r3
- strb r1, [r0]
- strb r1, [r0, 0x1]
- strb r1, [r0, 0x2]
- strb r1, [r0, 0x3]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x4
- bls _080A368E
- movs r0, 0
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A36B0: .4byte gUnknown_02038559
-_080A36B4: .4byte gUnknown_03005D10
- thumb_func_end sub_80A3684
-
- thumb_func_start sub_80A36B8
-sub_80A36B8: @ 80A36B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r0, [sp, 0x18]
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r12, r3
- lsls r0, 24
- lsrs r0, 24
- lsrs r2, 24
- adds r0, r2, r0
- cmp r2, r0
- bgt _080A370A
- adds r7, r0, 0
-_080A36DE:
- mov r1, r8
- mov r3, r12
- adds r0, r1, r3
- adds r4, r2, 0x1
- cmp r1, r0
- bgt _080A3702
- lsls r3, r2, 5
- movs r5, 0
- adds r2, r0, 0
-_080A36F0:
- adds r0, r1, r3
- lsls r0, 1
- adds r0, r6
- strh r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- ble _080A36F0
-_080A3702:
- lsls r0, r4, 16
- lsrs r2, r0, 16
- cmp r2, r7
- ble _080A36DE
-_080A370A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A36B8
-
- thumb_func_start sub_80A3714
-sub_80A3714: @ 80A3714
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080A373C
-_080A371A:
- lsls r1, r4, 3
- adds r1, r5
- ldr r0, [r1]
- ldrb r1, [r1, 0x4]
- bl sub_80A9684
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080A371A
- bl sub_80A3684
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A373C: .4byte gUnknown_083C1618
- thumb_func_end sub_80A3714
-
- thumb_func_start sub_80A3740
-sub_80A3740: @ 80A3740
- push {lr}
- sub sp, 0x4
- ldr r1, _080A376C
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- mov r0, sp
- adds r0, 0x2
- movs r1, 0xD1
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- movs r1, 0xD8
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080A376C: .4byte gUnknown_083C1704
- thumb_func_end sub_80A3740
-
- thumb_func_start sub_80A3770
-sub_80A3770: @ 80A3770
- push {lr}
- ldr r0, _080A379C
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A37B6
- ldr r3, _080A37A0
- ldr r2, _080A37A4
- movs r1, 0
- ldrsb r1, [r2, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- ldr r1, _080A37A8
- adds r0, r1
- str r0, [r3]
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0x3
- beq _080A37B0
- ldr r1, _080A37AC
- movs r0, 0x4
- b _080A37B4
- .align 2, 0
-_080A379C: .4byte gUnknown_03000701
-_080A37A0: .4byte gUnknown_03000704
-_080A37A4: .4byte gUnknown_02038559
-_080A37A8: .4byte gUnknown_083C1690
-_080A37AC: .4byte gUnknown_02038564
-_080A37B0:
- ldr r1, _080A37BC
- movs r0, 0x6
-_080A37B4:
- strb r0, [r1]
-_080A37B6:
- pop {r0}
- bx r0
- .align 2, 0
-_080A37BC: .4byte gUnknown_02038564
- thumb_func_end sub_80A3770
-
- thumb_func_start sub_80A37C0
-sub_80A37C0: @ 80A37C0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A37F0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080A37F4
- str r0, [r1]
- movs r0, 0
- bl sub_80F98DC
- movs r0, 0x1
- bl sub_80F98DC
- movs r0, 0x2
- bl sub_80F98DC
- movs r0, 0x3
- bl sub_80F98DC
- pop {r0}
- bx r0
- .align 2, 0
-_080A37F0: .4byte gTasks
-_080A37F4: .4byte sub_80A50C8
- thumb_func_end sub_80A37C0
-
- thumb_func_start sub_80A37F8
-sub_80A37F8: @ 80A37F8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r6, _080A3854
- ldrb r5, [r6]
- cmp r5, 0xF
- bhi _080A3868
- adds r0, r5, 0x1
- strb r0, [r6]
- ldr r4, _080A3858
- ldrb r2, [r6]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x4F
- bl sub_80A396C
- ldr r0, _080A385C
- ldrb r1, [r0]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r6]
- lsrs r2, 1
- ldr r3, _080A3860
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r3
- movs r3, 0x12
- ldrsb r3, [r0, r3]
- adds r0, r4, 0
- bl sub_80A39E4
- ldr r4, _080A3864
- movs r0, 0x1
- strb r0, [r4]
- lsrs r1, r5, 1
- ldrb r2, [r6]
- lsrs r2, 1
- subs r2, 0x1
- adds r0, r7, 0
- bl sub_80A48E8
- movs r0, 0
- strb r0, [r4]
- b _080A3932
- .align 2, 0
-_080A3854: .4byte gUnknown_0203855A
-_080A3858: .4byte gBG2TilemapBuffer
-_080A385C: .4byte gUnknown_02038559
-_080A3860: .4byte gTasks
-_080A3864: .4byte gUnknown_02038558
-_080A3868:
- ldr r0, _080A38A0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A38B4
- ldr r1, _080A38A4
- ldr r0, _080A38A8
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A38AC
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldr r4, _080A38B0
- ldrb r1, [r4]
- bl sub_80A49AC
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080A38F2
- .align 2, 0
-_080A38A0: .4byte gLinkOpen
-_080A38A4: .4byte gUnknown_03005D10
-_080A38A8: .4byte gUnknown_02038559
-_080A38AC: .4byte gUnknown_03005D24
-_080A38B0: .4byte gUnknown_02038562
-_080A38B4:
- ldr r1, _080A3938
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _080A38F2
- ldr r5, _080A393C
- adds r4, r1, 0
-_080A38C0:
- ldr r0, _080A3940
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A3944
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldrb r1, [r4]
- bl sub_80A49AC
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bls _080A38C0
-_080A38F2:
- ldr r0, _080A3938
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _080A3932
- ldr r1, _080A3948
- movs r0, 0x10
- strb r0, [r1]
- ldr r1, _080A394C
- ldr r0, _080A3940
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, _080A3950
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A37C0
- adds r0, r7, 0
- bl DestroyTask
- bl sub_80A736C
- movs r0, 0x2
- movs r1, 0
- bl sub_80F979C
- movs r0, 0x3
- movs r1, 0
- bl sub_80F979C
-_080A3932:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3938: .4byte gUnknown_02038562
-_080A393C: .4byte gUnknown_03005D10
-_080A3940: .4byte gUnknown_02038559
-_080A3944: .4byte gUnknown_03005D24
-_080A3948: .4byte gUnknown_0203855A
-_080A394C: .4byte gUnknown_0203855B
-_080A3950: .4byte sub_80A4F68
- thumb_func_end sub_80A37F8
-
- thumb_func_start sub_80A3954
-sub_80A3954: @ 80A3954
- push {lr}
- adds r1, r0, 0
- ldr r0, _080A3968
- movs r2, 0x80
- lsls r2, 3
- bl CpuSet
- pop {r0}
- bx r0
- .align 2, 0
-_080A3968: .4byte gUnknown_08E77004
- thumb_func_end sub_80A3954
-
- thumb_func_start sub_80A396C
-sub_80A396C: @ 80A396C
- push {r4-r7,lr}
- lsls r1, 24
- lsrs r5, r1, 24
- adds r4, r5, 0
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- adds r1, r4, 0x2
- lsls r1, 6
- adds r1, 0x1C
- adds r2, r0, r1
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r7, r4
- bls _080A39B2
-_080A398E:
- movs r1, 0
- adds r3, r5, 0x1
- adds r4, r2, 0
- adds r4, 0x40
-_080A3996:
- lsls r0, r1, 1
- adds r0, r2
- strh r6, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xE
- bls _080A3996
- adds r2, r4, 0
- adds r1, r5, 0
- lsls r0, r3, 24
- lsrs r5, r0, 24
- cmp r7, r1
- bhi _080A398E
-_080A39B2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A396C
-
- thumb_func_start sub_80A39B8
-sub_80A39B8: @ 80A39B8
- push {lr}
- sub sp, 0x10
- lsls r1, 25
- lsrs r1, 24
- ldr r3, _080A39E0
- movs r2, 0
- str r2, [sp]
- str r1, [sp, 0x4]
- movs r1, 0x8
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x4
- movs r2, 0xA
- bl sub_809D104
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_080A39E0: .4byte gUnknown_08E96EC8
- thumb_func_end sub_80A39B8
-
- thumb_func_start sub_80A39E4
-sub_80A39E4: @ 80A39E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- adds r4, r1, 0
- lsls r2, 24
- lsrs r6, r2, 24
- adds r5, r6, 0
- lsls r2, r1, 1
- mov r9, r2
- lsls r3, 24
- asrs r3, 24
- movs r0, 0x1
- negs r0, r0
- cmp r3, r0
- bne _080A3A5C
- adds r0, r1, 0x1
- lsls r7, r0, 1
- cmp r1, 0x5
- bne _080A3A18
- movs r7, 0x2
-_080A3A18:
- ldr r0, _080A3A58
- mov r10, r0
- movs r4, 0x8
- subs r4, r6
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp]
- str r2, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x2
- mov r9, r0
- str r0, [sp, 0xC]
- mov r0, r8
- movs r1, 0x4
- movs r2, 0xA
- mov r3, r10
- bl sub_809D104
- adds r1, r6, 0x4
- movs r0, 0
- str r0, [sp]
- str r7, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r0, r9
- str r0, [sp, 0xC]
- mov r0, r8
- movs r2, 0xA
- mov r3, r10
- bl sub_809D104
- b _080A3AAA
- .align 2, 0
-_080A3A58: .4byte gUnknown_08E96EC8
-_080A3A5C:
- cmp r3, 0x1
- bne _080A3AAA
- subs r0, r4, 0x1
- lsls r0, 17
- lsrs r7, r0, 16
- cmp r4, 0x1
- bne _080A3A6C
- movs r7, 0xA
-_080A3A6C:
- ldr r6, _080A3ABC
- str r5, [sp]
- str r7, [sp, 0x4]
- movs r0, 0x8
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- movs r4, 0x2
- str r4, [sp, 0xC]
- mov r0, r8
- movs r1, 0x4
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_809D104
- movs r1, 0xC
- subs r1, r5
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0
- str r0, [sp]
- mov r0, r9
- str r0, [sp, 0x4]
- str r5, [sp, 0x8]
- str r4, [sp, 0xC]
- mov r0, r8
- movs r2, 0xA
- adds r3, r6, 0
- bl sub_809D104
-_080A3AAA:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3ABC: .4byte gUnknown_08E96EC8
- thumb_func_end sub_80A39E4
-
- thumb_func_start sub_80A3AC0
-sub_80A3AC0: @ 80A3AC0
- push {r4-r6,lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- movs r2, 0
- ldr r1, _080A3AE4
- ldr r0, _080A3AE8
- adds r6, r0, 0
- subs r0, 0x1
- adds r5, r0, 0
-_080A3AD4:
- cmp r2, r4
- bne _080A3AEC
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r1
- strh r6, [r0]
- b _080A3AF4
- .align 2, 0
-_080A3AE4: .4byte 0x0000024a
-_080A3AE8: .4byte 0x0000107d
-_080A3AEC:
- lsls r0, r2, 1
- adds r0, r3
- adds r0, r1
- strh r5, [r0]
-_080A3AF4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x4
- bls _080A3AD4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3AC0
-
- thumb_func_start sub_80A3B04
-sub_80A3B04: @ 80A3B04
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _080A3BA4
- ldrb r0, [r4]
- lsls r1, 24
- asrs r6, r1, 24
- adds r0, r6, r0
- strb r0, [r4]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- ble _080A3B20
- movs r0, 0
- strb r0, [r4]
-_080A3B20:
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bge _080A3B2C
- movs r0, 0x4
- strb r0, [r4]
-_080A3B2C:
- bl sub_80A76A0
- bl sub_80A7590
- ldr r2, _080A3BA8
- ldr r1, _080A3BAC
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- ldrb r0, [r4]
- bl sub_80A3D24
- ldr r0, _080A3BB0
- movs r4, 0
- strb r4, [r0]
- adds r0, r5, 0
- bl sub_80A3954
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x3
- bl sub_80A396C
- adds r0, r5, 0
- movs r1, 0
- bl sub_80A39B8
- ldr r1, _080A3BB4
- movs r0, 0x6
- strb r0, [r1]
- ldr r0, _080A3BB8
- strb r4, [r0]
- ldr r4, _080A3BBC
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080A3B90
- adds r0, r4, 0
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
-_080A3B90:
- ldr r1, _080A3BC0
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x12]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3BA4: .4byte gUnknown_02038559
-_080A3BA8: .4byte gUnknown_03005D24
-_080A3BAC: .4byte gUnknown_083C1618
-_080A3BB0: .4byte gUnknown_0203855A
-_080A3BB4: .4byte gUnknown_0203855B
-_080A3BB8: .4byte gUnknown_02038562
-_080A3BBC: .4byte sub_80A37F8
-_080A3BC0: .4byte gTasks
- thumb_func_end sub_80A3B04
-
- thumb_func_start swap32
-swap32: @ 80A3BC4
- ldr r3, [r0]
- ldr r2, [r1]
- str r2, [r0]
- str r3, [r1]
- bx lr
- thumb_func_end swap32
-
- thumb_func_start sub_80A3BD0
-sub_80A3BD0: @ 80A3BD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r1, 0
- adds r6, r0, 0
- movs r3, 0
- b _080A3C1A
-_080A3BE0:
- adds r0, r3, 0x1
- lsls r1, r0, 16
- lsrs r4, r1, 16
- lsls r1, r2, 24
- lsrs r1, 24
- mov r8, r0
- cmp r4, r1
- bcs _080A3C14
- lsls r0, r3, 2
- adds r5, r0, r6
- adds r2, r1, 0
-_080A3BF6:
- ldrh r0, [r5, 0x2]
- cmp r0, 0
- bne _080A3C0A
- lsls r1, r4, 2
- adds r1, r6
- adds r0, r5, 0
- str r2, [sp]
- bl swap32
- ldr r2, [sp]
-_080A3C0A:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r2
- bcc _080A3BF6
-_080A3C14:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r3, r0, 16
-_080A3C1A:
- adds r2, r7, 0
- lsls r0, r2, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r3, r0
- blt _080A3BE0
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3BD0
-
- thumb_func_start sub_80A3C34
-sub_80A3C34: @ 80A3C34
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r7, r1, 0
- adds r6, r0, 0
- adds r2, r7, 0
- lsls r0, r2, 24
- movs r3, 0
- cmp r0, 0
- beq _080A3C9C
-_080A3C4A:
- adds r0, r3, 0x1
- lsls r1, r0, 16
- lsrs r4, r1, 16
- lsls r1, r2, 24
- lsrs r1, 24
- mov r8, r0
- cmp r4, r1
- bcs _080A3C8C
- lsls r0, r3, 2
- adds r5, r0, r6
- adds r2, r1, 0
-_080A3C60:
- ldrh r0, [r5, 0x2]
- cmp r0, 0
- beq _080A3C82
- lsls r0, r4, 2
- adds r1, r0, r6
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _080A3C82
- ldrh r0, [r5]
- ldrh r3, [r1]
- cmp r0, r3
- bls _080A3C82
- adds r0, r5, 0
- str r2, [sp]
- bl swap32
- ldr r2, [sp]
-_080A3C82:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r2
- bcc _080A3C60
-_080A3C8C:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r3, r0, 16
- adds r2, r7, 0
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r3, r0
- bcc _080A3C4A
-_080A3C9C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3C34
-
- thumb_func_start sub_80A3CA8
-sub_80A3CA8: @ 80A3CA8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080A3D00
- lsls r0, r6, 2
- adds r3, r0, r1
- movs r0, 0
- strb r0, [r3, 0x2]
- movs r4, 0
- ldr r0, _080A3D04
- lsls r2, r6, 3
- adds r1, r2, r0
- mov r12, r0
- ldrb r1, [r1, 0x4]
- cmp r4, r1
- bcs _080A3CEC
- mov r7, r12
- adds r5, r3, 0
-_080A3CCC:
- adds r3, r2, r7
- ldr r0, [r3]
- lsls r1, r4, 2
- adds r1, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- beq _080A3CE0
- ldrb r0, [r5, 0x2]
- adds r0, 0x1
- strb r0, [r5, 0x2]
-_080A3CE0:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r3, [r3, 0x4]
- cmp r4, r3
- bcc _080A3CCC
-_080A3CEC:
- lsls r0, r6, 3
- add r0, r12
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- bl sub_80A3BD0
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3D00: .4byte gUnknown_03005D10
-_080A3D04: .4byte gUnknown_083C1618
- thumb_func_end sub_80A3CA8
-
- thumb_func_start sub_80A3D08
-sub_80A3D08: @ 80A3D08
- push {r4,lr}
- movs r4, 0
-_080A3D0C:
- adds r0, r4, 0
- bl sub_80A3CA8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _080A3D0C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3D08
-
- thumb_func_start sub_80A3D24
-sub_80A3D24: @ 80A3D24
- push {lr}
- lsls r0, 24
- ldr r1, _080A3D3C
- lsrs r0, 22
- adds r1, r0, r1
- ldrb r0, [r1, 0x2]
- cmp r0, 0x6
- bls _080A3D36
- movs r0, 0x7
-_080A3D36:
- strb r0, [r1, 0x3]
- pop {r0}
- bx r0
- .align 2, 0
-_080A3D3C: .4byte gUnknown_03005D10
- thumb_func_end sub_80A3D24
-
- thumb_func_start sub_80A3D40
-sub_80A3D40: @ 80A3D40
- push {r4,lr}
- movs r4, 0
-_080A3D44:
- adds r0, r4, 0
- bl sub_80A3D24
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _080A3D44
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3D40
-
- thumb_func_start sub_80A3D5C
-sub_80A3D5C: @ 80A3D5C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A3DF4
- mov r9, r1
- ldr r2, _080A3DF8
- mov r8, r2
- movs r1, 0
- ldrsb r1, [r2, r1]
- lsls r1, 2
- add r1, r9
- ldrb r2, [r1, 0x1]
- ldrb r1, [r1]
- adds r2, r1
- ldr r7, _080A3DFC
- ldr r1, [r7]
- lsls r6, r2, 2
- adds r3, r6, r1
- ldr r2, _080A3E00
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r3, 0x2]
- ldrh r1, [r1, 0xA]
- subs r0, r1
- strh r0, [r3, 0x2]
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _080A3DE0
- ldr r0, _080A3E04
- ldr r1, _080A3E08
- adds r5, r0, r1
- ldrh r0, [r5]
- ldrh r3, [r3]
- cmp r0, r3
- bne _080A3DB4
- bl sub_80A40D0
- strh r4, [r5]
-_080A3DB4:
- ldr r0, [r7]
- adds r0, r6, r0
- strh r4, [r0]
- mov r2, r8
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- mov r3, r9
- adds r2, r0, r3
- ldrb r1, [r2, 0x1]
- adds r0, r1, 0x7
- ldrb r3, [r2, 0x2]
- cmp r0, r3
- bne _080A3DD8
- cmp r1, 0
- beq _080A3DD8
- subs r0, r1, 0x1
- strb r0, [r2, 0x1]
-_080A3DD8:
- ldr r0, _080A3DF8
- ldrb r0, [r0]
- bl sub_80A3CA8
-_080A3DE0:
- ldr r0, _080A3DF8
- ldrb r0, [r0]
- bl sub_80A3D24
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3DF4: .4byte gUnknown_03005D10
-_080A3DF8: .4byte gUnknown_02038559
-_080A3DFC: .4byte gUnknown_03005D24
-_080A3E00: .4byte gTasks
-_080A3E04: .4byte gSaveBlock1
-_080A3E08: .4byte 0x00000496
- thumb_func_end sub_80A3D5C
-
- thumb_func_start sub_80A3E0C
-sub_80A3E0C: @ 80A3E0C
- push {lr}
- ldr r3, _080A3E60
- ldr r2, _080A3E64
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A3E68
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A3E52
- strh r0, [r1]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r2, r0, r3
- ldrb r1, [r2, 0x1]
- adds r0, r1, 0x7
- ldrb r3, [r2, 0x2]
- cmp r0, r3
- bne _080A3E4A
- cmp r1, 0
- beq _080A3E4A
- subs r0, r1, 0x1
- strb r0, [r2, 0x1]
-_080A3E4A:
- ldr r0, _080A3E64
- ldrb r0, [r0]
- bl sub_80A3CA8
-_080A3E52:
- ldr r0, _080A3E64
- ldrb r0, [r0]
- bl sub_80A3D24
- pop {r0}
- bx r0
- .align 2, 0
-_080A3E60: .4byte gUnknown_03005D10
-_080A3E64: .4byte gUnknown_02038559
-_080A3E68: .4byte gUnknown_03005D24
- thumb_func_end sub_80A3E0C
-
- thumb_func_start nullsub_16
-nullsub_16: @ 80A3E6C
- bx lr
- thumb_func_end nullsub_16
-
- thumb_func_start sub_80A3E70
-sub_80A3E70: @ 80A3E70
- lsls r0, 24
- lsls r1, 24
- ldr r2, _080A3E8C
- ldr r2, [r2]
- lsrs r0, 22
- adds r0, r2
- ldr r3, [r0]
- lsrs r1, 22
- adds r1, r2
- ldr r2, [r1]
- str r2, [r0]
- str r3, [r1]
- bx lr
- .align 2, 0
-_080A3E8C: .4byte gUnknown_03005D24
- thumb_func_end sub_80A3E70
-
- thumb_func_start sub_80A3E90
-sub_80A3E90: @ 80A3E90
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- bl nullsub_16
- ldr r0, _080A3EE8
- lsls r5, r4, 2
- adds r5, r4
- lsls r5, 3
- adds r5, r0
- ldrb r0, [r5, 0x1C]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080A3EEC
- ldr r1, _080A3EF0
- movs r2, 0
- ldrsb r2, [r1, r2]
- lsls r2, 2
- adds r2, r3
- ldrb r1, [r2, 0x1]
- ldrb r2, [r2]
- adds r1, r2
- lsls r1, 24
- lsrs r1, 24
- bl sub_80A3E70
- movs r0, 0
- strh r0, [r5, 0x1C]
- bl sub_80A763C
- movs r0, 0
- bl sub_80A7528
- bl sub_80A736C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3EE8: .4byte gTasks
-_080A3EEC: .4byte gUnknown_03005D10
-_080A3EF0: .4byte gUnknown_02038559
- thumb_func_end sub_80A3E90
-
- thumb_func_start sub_80A3EF4
-sub_80A3EF4: @ 80A3EF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x5
- bl PlaySE
- bl nullsub_16
- ldr r0, _080A3F44
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r2, _080A3F48
- ldr r0, _080A3F4C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- mvns r0, r0
- ldrb r2, [r1, 0x1C]
- adds r0, r2
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0
- strh r0, [r1, 0x1C]
- cmp r2, 0x7
- bhi _080A3F38
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
-_080A3F38:
- movs r0, 0
- bl sub_80A7528
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3F44: .4byte gTasks
-_080A3F48: .4byte gUnknown_03005D10
-_080A3F4C: .4byte gUnknown_02038559
- thumb_func_end sub_80A3EF4
-
- thumb_func_start sub_80A3F50
-sub_80A3F50: @ 80A3F50
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A3F94
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 3
- adds r3, r1
- ldr r5, _080A3F98
- ldr r4, _080A3F9C
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x1]
- ldrb r1, [r1]
- adds r2, r1
- adds r2, 0x1
- strh r2, [r3, 0x1C]
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1]
- adds r1, r2, 0
- bl sub_80A48E8
- movs r0, 0x1
- bl sub_80A7528
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A3F94: .4byte gTasks
-_080A3F98: .4byte gUnknown_03005D10
-_080A3F9C: .4byte gUnknown_02038559
- thumb_func_end sub_80A3F50
-
- thumb_func_start sub_80A3FA0
-sub_80A3FA0: @ 80A3FA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- ldr r0, [sp, 0x18]
- ldr r4, [sp, 0x1C]
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 16
- lsrs r6, r4, 16
- lsrs r2, 24
- adds r0, r2, r0
- cmp r2, r0
- bge _080A3FFC
- mov r8, r5
- adds r4, r5, r3
- mov r12, r0
-_080A3FCC:
- adds r0, r5, 0
- lsls r3, r2, 16
- cmp r8, r4
- bge _080A3FEE
- asrs r2, r3, 11
-_080A3FD6:
- lsls r1, r0, 16
- asrs r1, 16
- adds r0, r1, r2
- lsls r0, 1
- adds r0, r7
- strh r6, [r0]
- adds r1, 0x1
- lsls r1, 16
- lsrs r0, r1, 16
- asrs r1, 16
- cmp r1, r4
- blt _080A3FD6
-_080A3FEE:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r3, r1
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, r12
- blt _080A3FCC
-_080A3FFC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A3FA0
-
- thumb_func_start sub_80A4008
-sub_80A4008: @ 80A4008
- push {r4,lr}
- sub sp, 0x8
- ldr r4, [sp, 0x10]
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- bl sub_80A3FA0
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4008
-
- thumb_func_start sub_80A4030
-sub_80A4030: @ 80A4030
- ldr r1, _080A4058
- lsls r0, 7
- adds r1, r0, r1
- movs r0, 0x5A
- strh r0, [r1]
- movs r0, 0x5B
- strh r0, [r1, 0x2]
- movs r0, 0x5C
- strh r0, [r1, 0x4]
- adds r2, r1, 0
- adds r2, 0x40
- movs r0, 0x6A
- strh r0, [r2]
- adds r2, 0x2
- movs r0, 0x6B
- strh r0, [r2]
- adds r1, 0x44
- movs r0, 0x6C
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080A4058: .4byte gBG2TilemapBuffer + 0xB4
- thumb_func_end sub_80A4030
-
- thumb_func_start sub_80A405C
-sub_80A405C: @ 80A405C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080A40A8
- movs r0, 0
- adds r4, r2, 0
- movs r1, 0x4F
-_080A406A:
- strh r1, [r2]
- strh r1, [r2, 0x2]
- strh r1, [r2, 0x4]
- adds r2, 0x40
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xF
- bls _080A406A
- lsls r0, r3, 7
- adds r2, r0, r4
- movs r0, 0x5A
- strh r0, [r2]
- movs r0, 0x5B
- strh r0, [r2, 0x2]
- movs r0, 0x5C
- strh r0, [r2, 0x4]
- adds r1, r2, 0
- adds r1, 0x40
- movs r0, 0x6A
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x6B
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x6C
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A40A8: .4byte gBG2TilemapBuffer + 0xB4
- thumb_func_end sub_80A405C
-
- thumb_func_start sub_80A40AC
-sub_80A40AC: @ 80A40AC
- lsls r0, 24
- ldr r1, _080A40CC
- lsrs r0, 17
- adds r1, r0, r1
- movs r2, 0x4F
- strh r2, [r1]
- strh r2, [r1, 0x2]
- strh r2, [r1, 0x4]
- adds r0, r1, 0
- adds r0, 0x40
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r1, 0x44
- strh r2, [r1]
- bx lr
- .align 2, 0
-_080A40CC: .4byte gBG2TilemapBuffer + 0xB4
- thumb_func_end sub_80A40AC
-
- thumb_func_start sub_80A40D0
-sub_80A40D0: @ 80A40D0
- push {r4-r7,lr}
- movs r4, 0
- ldr r2, _080A4114
- ldr r3, _080A4118
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- adds r7, r2, 0
- adds r6, r3, 0
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- beq _080A4136
- ldr r5, _080A411C
-_080A40EE:
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r0, 2
- adds r3, r0, r7
- ldrb r2, [r3, 0x1]
- adds r1, r2, r4
- ldr r0, _080A4120
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1]
- ldrh r1, [r5]
- cmp r0, r1
- bne _080A4124
- adds r0, r4, 0
- bl sub_80A40AC
- b _080A4136
- .align 2, 0
-_080A4114: .4byte gUnknown_03005D10
-_080A4118: .4byte gUnknown_02038559
-_080A411C: .4byte gSaveBlock1 + 0x496
-_080A4120: .4byte gUnknown_03005D24
-_080A4124:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bhi _080A4136
- adds r0, r2, r4
- ldrb r3, [r3, 0x2]
- cmp r0, r3
- bne _080A40EE
-_080A4136:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A40D0
-
- thumb_func_start sub_80A413C
-sub_80A413C: @ 80A413C
- push {lr}
- bl sub_80A40D0
- ldr r1, _080A415C
- ldr r0, _080A4160
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80A405C
- pop {r0}
- bx r0
- .align 2, 0
-_080A415C: .4byte gUnknown_03005D10
-_080A4160: .4byte gUnknown_02038559
- thumb_func_end sub_80A413C
-
- thumb_func_start sub_80A4164
-sub_80A4164: @ 80A4164
- push {r4,lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0xB9
- strb r4, [r0]
- adds r0, 0x1
- movs r4, 0xFC
- strb r4, [r0]
- movs r4, 0x14
- strb r4, [r0, 0x1]
- movs r4, 0x6
- strb r4, [r0, 0x2]
- adds r0, 0x3
- bl ConvertIntToDecimalStringN
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4164
-
- thumb_func_start sub_80A418C
-sub_80A418C: @ 80A418C
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r4, r0, 0
- mov r9, r1
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r3, [sp, 0x18]
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _080A41D0
- mov r8, r0
- adds r1, r4, 0
- mov r2, r9
- bl sub_80A4164
- mov r0, r8
- adds r1, r5, 0
- adds r2, r6, 0
- bl MenuPrint
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A41D0: .4byte gStringVar1
- thumb_func_end sub_80A418C
-
- thumb_func_start sub_80A41D4
-sub_80A41D4: @ 80A41D4
- push {lr}
- bl sub_80A763C
- pop {r0}
- bx r0
- thumb_func_end sub_80A41D4
-
- thumb_func_start sub_80A41E0
-sub_80A41E0: @ 80A41E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- mov r9, r2
- adds r5, r3, 0
- ldr r4, [sp, 0x1C]
- lsls r1, 16
- lsrs r1, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xFC
- mov r8, r0
- strb r0, [r7]
- movs r6, 0x13
- strb r6, [r7, 0x1]
- movs r0, 0x8
- strb r0, [r7, 0x2]
- adds r7, 0x3
- adds r0, r7, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- mov r1, r8
- strb r1, [r0]
- strb r6, [r0, 0x1]
- movs r1, 0x18
- strb r1, [r0, 0x2]
- adds r7, r0, 0x3
- adds r4, 0x1
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 1
- movs r2, 0x78
- subs r2, r0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r7, 0
- mov r1, r9
- movs r3, 0
- bl sub_8072C74
- movs r1, 0xB9
- strb r1, [r0]
- adds r7, r0, 0x1
- adds r0, r7, 0
- adds r1, r5, 0
- movs r2, 0x78
- movs r3, 0x1
- bl sub_8072C14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A41E0
-
- thumb_func_start sub_80A425C
-sub_80A425C: @ 80A425C
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080A42A4
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r3
- movs r0, 0x1C
- ldrsh r1, [r1, r0]
- ldr r3, _080A42A8
- ldr r0, _080A42AC
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- subs r1, r0
- subs r1, 0x1
- cmp r1, r2
- bne _080A429C
- movs r0, 0xFC
- strb r0, [r4]
- movs r0, 0x1
- strb r0, [r4, 0x1]
- movs r0, 0x2
- strb r0, [r4, 0x2]
- adds r4, 0x3
-_080A429C:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A42A4: .4byte gTasks
-_080A42A8: .4byte gUnknown_03005D10
-_080A42AC: .4byte gUnknown_02038559
- thumb_func_end sub_80A425C
-
- thumb_func_start sub_80A42B0
-sub_80A42B0: @ 80A42B0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r0, _080A4344
- mov r8, r0
- ldr r1, _080A4348
- ldr r0, _080A434C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- adds r1, r6
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bgt _080A4370
- cmp r1, r0
- bne _080A4374
- ldr r0, _080A4350
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _080A4370
- lsls r0, r6, 25
- movs r1, 0x80
- lsls r1, 18
- adds r0, r1
- lsrs r5, r0, 24
- ldr r4, _080A4354
- ldr r1, _080A4358
- adds r0, r4, 0
- movs r2, 0x78
- movs r3, 0
- bl sub_8072C74
- adds r0, r4, 0
- movs r1, 0xE
- adds r2, r5, 0
- bl MenuPrint
- lsls r0, r5, 6
- ldr r1, _080A435C
- adds r0, r1
- movs r2, 0x4F
- strh r2, [r0]
- strh r2, [r0, 0x2]
- adds r1, r0, 0
- adds r1, 0x40
- strh r2, [r1]
- adds r0, 0x42
- strh r2, [r0]
- cmp r6, 0x7
- beq _080A4370
- cmp r7, 0x1
- bne _080A432E
- mov r1, r8
- ldrb r0, [r1, 0x2]
- cmp r0, 0
- bne _080A4332
-_080A432E:
- cmp r7, 0x2
- bne _080A4360
-_080A4332:
- adds r1, r5, 0x2
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xE
- movs r2, 0x1D
- movs r3, 0xD
- bl MenuFillWindowRectWithBlankTile
- b _080A4370
- .align 2, 0
-_080A4344: .4byte gUnknown_02038540
-_080A4348: .4byte gUnknown_03005D10
-_080A434C: .4byte gUnknown_02038559
-_080A4350: .4byte gUnknown_03000701
-_080A4354: .4byte gStringVar1
-_080A4358: .4byte gOtherText_CloseBag
-_080A435C: .4byte gBG2TilemapBuffer + 0x1C
-_080A4360:
- adds r1, r5, 0x2
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0xE
- movs r2, 0x1D
- movs r3, 0x11
- bl MenuFillWindowRectWithBlankTile
-_080A4370:
- movs r0, 0x1
- b _080A4376
-_080A4374:
- movs r0, 0
-_080A4376:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A42B0
-
- thumb_func_start sub_80A4380
-sub_80A4380: @ 80A4380
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- str r2, [sp]
- mov r10, r3
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _080A43A0
- mov r8, r0
- b _080A441A
- .align 2, 0
-_080A43A0: .4byte gUnknown_03005D24
-_080A43A4:
- ldr r1, _080A4440
- ldr r0, _080A4444
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- adds r4, r7, r4
- lsls r4, 24
- lsrs r4, 24
- lsls r5, r7, 25
- movs r1, 0x80
- lsls r1, 18
- adds r5, r1
- lsrs r5, 24
- ldr r6, _080A4448
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- adds r1, r6, 0
- adds r2, r7, 0
- bl sub_80A425C
- adds r6, r0, 0
- mov r1, r8
- ldr r0, [r1]
- lsls r4, 2
- adds r0, r4, r0
- ldrh r0, [r0]
- bl itemid_get_item
- adds r1, r0, 0
- adds r0, r6, 0
- movs r2, 0x66
- movs r3, 0
- bl sub_8072C74
- adds r6, r0, 0
- movs r0, 0xB9
- strb r0, [r6]
- adds r6, 0x1
- mov r1, r8
- ldr r0, [r1]
- adds r4, r0
- ldrh r1, [r4, 0x2]
- adds r0, r6, 0
- movs r2, 0x78
- movs r3, 0x1
- bl sub_8072C14
- ldr r0, _080A4448
- movs r1, 0xE
- adds r2, r5, 0
- bl MenuPrint
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_080A441A:
- ldr r0, [sp]
- cmp r7, r0
- bgt _080A4430
- adds r0, r7, 0
- mov r1, r10
- bl sub_80A42B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A43A4
-_080A4430:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4440: .4byte gUnknown_03005D10
-_080A4444: .4byte gUnknown_02038559
-_080A4448: .4byte gStringVar1
- thumb_func_end sub_80A4380
-
- thumb_func_start sub_80A444C
-sub_80A444C: @ 80A444C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- str r2, [sp]
- str r3, [sp, 0x4]
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r0, _080A446C
- mov r9, r0
- b _080A4520
- .align 2, 0
-_080A446C: .4byte gSaveBlock1 + 0x496
-_080A4470:
- ldr r1, _080A44E8
- ldr r0, _080A44EC
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- adds r4, r6, r4
- lsls r4, 24
- lsrs r4, 24
- lsls r5, r6, 25
- movs r1, 0x80
- lsls r1, 18
- adds r5, r1
- lsrs r5, 24
- ldr r7, _080A44F0
- mov r2, r10
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_80A425C
- adds r7, r0, 0
- ldr r0, _080A44F4
- mov r8, r0
- ldr r0, [r0]
- lsls r4, 2
- adds r0, r4, r0
- ldrh r0, [r0]
- bl itemid_get_item
- adds r1, r0, 0
- adds r0, r7, 0
- movs r2, 0x60
- movs r3, 0
- bl sub_8072C74
- ldr r0, _080A44F0
- movs r1, 0xE
- adds r2, r5, 0
- bl MenuPrint
- ldr r0, _080A44F8
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A44FC
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4, r0
- ldrh r0, [r0]
- mov r2, r9
- ldrh r2, [r2]
- cmp r0, r2
- bne _080A451A
- adds r0, r6, 0
- bl sub_80A4030
- b _080A451A
- .align 2, 0
-_080A44E8: .4byte gUnknown_03005D10
-_080A44EC: .4byte gUnknown_02038559
-_080A44F0: .4byte gStringVar1
-_080A44F4: .4byte gUnknown_03005D24
-_080A44F8: .4byte gUnknown_02038558
-_080A44FC:
- mov r1, r8
- ldr r0, [r1]
- adds r0, r4, r0
- ldrh r0, [r0]
- mov r2, r9
- ldrh r2, [r2]
- cmp r0, r2
- bne _080A4514
- adds r0, r6, 0
- bl sub_80A405C
- b _080A451A
-_080A4514:
- adds r0, r6, 0
- bl sub_80A40AC
-_080A451A:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080A4520:
- ldr r0, [sp]
- cmp r6, r0
- bgt _080A4536
- adds r0, r6, 0
- ldr r1, [sp, 0x4]
- bl sub_80A42B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A4470
-_080A4536:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A444C
-
- thumb_func_start sub_80A4548
-sub_80A4548: @ 80A4548
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- ldr r0, _080A456C
- mov r9, r0
- b _080A46C2
- .align 2, 0
-_080A456C: .4byte gBG2TilemapBuffer
-_080A4570:
- ldr r1, _080A461C
- ldr r0, _080A4620
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- add r4, r8
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- lsls r0, r1, 25
- movs r3, 0x80
- lsls r3, 18
- adds r0, r3
- lsrs r0, 24
- str r0, [sp, 0x10]
- lsls r0, 5
- adds r0, 0xE
- adds r5, r0, 0
- ldr r6, _080A4624
- ldr r1, [sp, 0x4]
- lsls r0, r1, 24
- lsrs r0, 24
- adds r1, r6, 0
- mov r2, r8
- bl sub_80A425C
- adds r6, r0, 0
- ldr r3, _080A4628
- mov r10, r3
- ldr r0, [r3]
- lsls r7, r4, 2
- adds r3, r7, r0
- ldrh r1, [r3]
- movs r0, 0xA9
- lsls r0, 1
- cmp r1, r0
- bhi _080A4634
- lsls r0, r5, 1
- add r0, r9
- movs r1, 0x59
- strh r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 1
- add r0, r9
- movs r2, 0x4F
- strh r2, [r0]
- adds r0, r5, 0
- adds r0, 0x20
- lsls r0, 1
- add r0, r9
- movs r1, 0x69
- strh r1, [r0]
- adds r0, r5, 0
- adds r0, 0x21
- lsls r0, 1
- add r0, r9
- strh r2, [r0]
- ldrh r0, [r3]
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- adds r2, r0, 0
- muls r2, r1
- ldr r0, _080A462C
- adds r2, r0
- mov r1, r10
- ldr r0, [r1]
- adds r0, r7, r0
- ldr r3, _080A4630
- adds r1, r3, 0
- ldrh r3, [r0]
- adds r1, r3
- lsls r1, 16
- lsrs r1, 16
- ldrh r3, [r0, 0x2]
- movs r0, 0x2
- str r0, [sp]
- adds r0, r6, 0
- bl sub_80A41E0
- b _080A46AE
- .align 2, 0
-_080A461C: .4byte gUnknown_03005D10
-_080A4620: .4byte gUnknown_02038559
-_080A4624: .4byte gStringVar1
-_080A4628: .4byte gUnknown_03005D24
-_080A462C: .4byte gMoveNames
-_080A4630: .4byte 0xfffffee0
-_080A4634:
- lsls r0, r5, 1
- add r0, r9
- ldr r1, _080A46EC
- strh r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 1
- add r0, r9
- adds r1, 0x1
- strh r1, [r0]
- adds r0, r5, 0
- adds r0, 0x20
- lsls r0, 1
- add r0, r9
- adds r1, 0xF
- strh r1, [r0]
- adds r0, r5, 0
- adds r0, 0x21
- lsls r0, 1
- add r0, r9
- adds r1, 0x1
- strh r1, [r0]
- movs r0, 0xFC
- strb r0, [r6]
- movs r4, 0x13
- strb r4, [r6, 0x1]
- movs r0, 0x11
- strb r0, [r6, 0x2]
- adds r6, 0x3
- mov r1, r10
- ldr r0, [r1]
- adds r0, r7, r0
- ldrh r1, [r0]
- ldr r3, _080A46F0
- adds r1, r3
- adds r0, r6, 0
- bl ConvertIntToDecimalString
- adds r6, r0, 0
- movs r0, 0xFC
- strb r0, [r6]
- strb r4, [r6, 0x1]
- movs r0, 0x18
- strb r0, [r6, 0x2]
- adds r6, 0x3
- mov r1, r10
- ldr r0, [r1]
- adds r0, r7, r0
- ldrh r0, [r0]
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- muls r1, r0
- ldr r0, _080A46F4
- adds r1, r0
- adds r0, r6, 0
- movs r2, 0x78
- movs r3, 0
- bl sub_8072C74
-_080A46AE:
- ldr r0, _080A46F8
- movs r1, 0xE
- ldr r2, [sp, 0x10]
- bl MenuPrint
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_080A46C2:
- ldr r3, [sp, 0x8]
- cmp r8, r3
- bgt _080A46DA
- mov r0, r8
- ldr r1, [sp, 0xC]
- bl sub_80A42B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A46DA
- b _080A4570
-_080A46DA:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A46EC: .4byte 0x0000105d
-_080A46F0: .4byte 0xfffffeae
-_080A46F4: .4byte gMoveNames
-_080A46F8: .4byte gStringVar1
- thumb_func_end sub_80A4548
-
- thumb_func_start sub_80A46FC
-sub_80A46FC: @ 80A46FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- str r2, [sp, 0x8]
- str r3, [sp, 0xC]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4]
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r0, _080A4724
- mov r10, r0
- ldr r1, _080A4728
- mov r9, r1
- ldr r0, _080A472C
- mov r8, r0
- b _080A47B4
- .align 2, 0
-_080A4724: .4byte gBG2TilemapBuffer
-_080A4728: .4byte gStringVar2
-_080A472C: .4byte gUnknown_03005D24
-_080A4730:
- ldr r1, _080A47DC
- ldr r0, _080A47E0
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r4, [r0, 0x1]
- adds r4, r6, r4
- lsls r4, 24
- lsrs r4, 24
- lsls r5, r6, 25
- movs r1, 0x80
- lsls r1, 18
- adds r5, r1
- lsrs r5, 24
- lsls r0, r5, 5
- adds r0, 0xE
- lsls r1, r0, 1
- add r1, r10
- movs r2, 0x59
- strh r2, [r1]
- adds r0, 0x20
- lsls r0, 1
- add r0, r10
- movs r1, 0x69
- strh r1, [r0]
- ldr r7, _080A47E4
- ldr r1, [sp, 0x4]
- lsls r0, r1, 24
- lsrs r0, 24
- adds r1, r7, 0
- adds r2, r6, 0
- bl sub_80A425C
- adds r7, r0, 0
- mov r1, r8
- ldr r0, [r1]
- lsls r4, 2
- adds r0, r4, r0
- ldrh r0, [r0]
- mov r1, r9
- bl itemid_copy_name
- mov r1, r8
- ldr r0, [r1]
- adds r4, r0
- ldrh r1, [r4]
- subs r1, 0x84
- lsls r1, 16
- lsrs r1, 16
- ldrh r3, [r4, 0x2]
- movs r0, 0x3
- str r0, [sp]
- adds r0, r7, 0
- mov r2, r9
- bl sub_80A41E0
- ldr r0, _080A47E4
- movs r1, 0xE
- adds r2, r5, 0
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080A47B4:
- ldr r0, [sp, 0x8]
- cmp r6, r0
- bgt _080A47CA
- adds r0, r6, 0
- ldr r1, [sp, 0xC]
- bl sub_80A42B0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A4730
-_080A47CA:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A47DC: .4byte gUnknown_03005D10
-_080A47E0: .4byte gUnknown_02038559
-_080A47E4: .4byte gStringVar1
- thumb_func_end sub_80A46FC
-
- thumb_func_start sub_80A47E8
-sub_80A47E8: @ 80A47E8
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _080A4808
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bhi _080A4852
- lsls r0, 2
- ldr r1, _080A480C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A4808: .4byte gUnknown_02038559
-_080A480C: .4byte _080A4810
- .align 2, 0
-_080A4810:
- .4byte _080A4824
- .4byte _080A4824
- .4byte _080A483C
- .4byte _080A4848
- .4byte _080A4830
-_080A4824:
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4380
- b _080A4852
-_080A4830:
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A444C
- b _080A4852
-_080A483C:
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A4548
- b _080A4852
-_080A4848:
- adds r0, r2, 0
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80A46FC
-_080A4852:
- ldr r1, _080A4870
- ldr r0, _080A4874
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _080A4878
- movs r0, 0
- movs r1, 0
- bl sub_80F979C
- b _080A4880
- .align 2, 0
-_080A4870: .4byte gUnknown_03005D10
-_080A4874: .4byte gUnknown_02038559
-_080A4878:
- movs r0, 0
- movs r1, 0x1
- bl sub_80F979C
-_080A4880:
- ldr r0, _080A48A4
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _080A48B0
- ldr r1, _080A48A8
- ldr r0, _080A48AC
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- adds r1, 0x8
- ldrb r0, [r0, 0x2]
- adds r0, 0x1
- cmp r1, r0
- blt _080A48C6
- b _080A48D8
- .align 2, 0
-_080A48A4: .4byte gUnknown_03000701
-_080A48A8: .4byte gUnknown_03005D10
-_080A48AC: .4byte gUnknown_02038559
-_080A48B0:
- ldr r2, _080A48D0
- ldr r0, _080A48D4
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x1]
- adds r0, 0x8
- ldrb r1, [r1, 0x2]
- cmp r0, r1
- bge _080A48D8
-_080A48C6:
- movs r0, 0x1
- movs r1, 0
- bl sub_80F979C
- b _080A48E0
- .align 2, 0
-_080A48D0: .4byte gUnknown_03005D10
-_080A48D4: .4byte gUnknown_02038559
-_080A48D8:
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
-_080A48E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A47E8
-
- thumb_func_start sub_80A48E8
-sub_80A48E8: @ 80A48E8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r3, 0
- bl sub_80A47E8
- pop {r0}
- bx r0
- thumb_func_end sub_80A48E8
-
- thumb_func_start sub_80A48F8
-sub_80A48F8: @ 80A48F8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- movs r2, 0x5
- movs r3, 0x2
- bl sub_80A47E8
- pop {r0}
- bx r0
- thumb_func_end sub_80A48F8
-
- thumb_func_start sub_80A490C
-sub_80A490C: @ 80A490C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r1, _080A4960
- ldr r0, _080A4964
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _080A4974
- ldr r0, _080A4968
- movs r4, 0x1
- str r4, [sp]
- movs r1, 0x4
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072A18
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080A496C
- ldr r0, _080A4970
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r4, [sp]
- movs r1, 0x4
- movs r2, 0x78
- movs r3, 0x68
- bl sub_8072A18
- adds r0, r5, r0
- b _080A4988
- .align 2, 0
-_080A4960: .4byte gUnknown_03005D10
-_080A4964: .4byte gUnknown_02038559
-_080A4968: .4byte gOtherText_ReturnTo
-_080A496C: .4byte gUnknown_0840E740
-_080A4970: .4byte gUnknown_03000701
-_080A4974:
- adds r0, r3, 0
- bl itemid_get_description
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x4
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072A18
-_080A4988:
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bhi _080A49A4
- lsls r1, r5, 25
- movs r0, 0xD0
- lsls r0, 20
- adds r1, r0
- lsrs r1, 24
- movs r0, 0
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
-_080A49A4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A490C
-
- thumb_func_start sub_80A49AC
-sub_80A49AC: @ 80A49AC
- push {r4,r5,lr}
- sub sp, 0x64
- adds r4, r1, 0
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _080A49E8
- ldr r0, _080A49EC
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _080A4A18
- cmp r4, 0
- bne _080A49F4
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- ldr r0, _080A49F0
- movs r1, 0x4
- movs r2, 0x68
- b _080A4A08
- .align 2, 0
-_080A49E8: .4byte gUnknown_03005D10
-_080A49EC: .4byte gUnknown_02038559
-_080A49F0: .4byte gOtherText_ReturnTo
-_080A49F4:
- cmp r4, 0x1
- bne _080A4A4C
- ldr r1, _080A4A10
- ldr r0, _080A4A14
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x4
- movs r2, 0x78
-_080A4A08:
- movs r3, 0
- bl sub_80729D8
- b _080A4A4C
- .align 2, 0
-_080A4A10: .4byte gUnknown_0840E740
-_080A4A14: .4byte gUnknown_03000701
-_080A4A18:
- cmp r4, 0
- bne _080A4A28
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
-_080A4A28:
- lsls r1, r5, 16
- asrs r1, 16
- mov r0, sp
- adds r2, r4, 0
- bl sub_80A99A8
- cmp r0, 0
- beq _080A4A4C
- lsls r2, r4, 20
- movs r0, 0xD0
- lsls r0, 15
- adds r2, r0
- lsrs r2, 16
- mov r0, sp
- movs r1, 0x4
- movs r3, 0
- bl sub_80729D8
-_080A4A4C:
- add sp, 0x64
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A49AC
-
- thumb_func_start sub_80A4A54
-sub_80A4A54: @ 80A4A54
- push {r4,r5,lr}
- adds r5, r0, 0
- adds r4, r2, 0x1
- adds r2, r1, 0
- adds r1, r5, 0
-_080A4A5E:
- ldrb r3, [r2]
- adds r0, r3, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A4A8A
- subs r4, 0x1
- cmp r4, 0
- bne _080A4A78
- movs r0, 0xFF
- strb r0, [r1]
- movs r0, 0x1
- b _080A4A92
-_080A4A78:
- lsls r0, r3, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080A4A84
- movs r0, 0
- b _080A4A92
-_080A4A84:
- adds r1, r5, 0
- adds r2, 0x1
- b _080A4A5E
-_080A4A8A:
- strb r3, [r1]
- adds r2, 0x1
- adds r1, 0x1
- b _080A4A5E
-_080A4A92:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A4A54
-
- thumb_func_start sub_80A4A98
-sub_80A4A98: @ 80A4A98
- push {r4,r5,lr}
- sub sp, 0x64
- adds r5, r0, 0
- adds r4, r1, 0
- cmp r4, 0
- bne _080A4AB0
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
-_080A4AB0:
- mov r0, sp
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_80A4A54
- cmp r0, 0
- beq _080A4AD2
- lsls r2, r4, 20
- movs r0, 0xD0
- lsls r0, 15
- adds r2, r0
- lsrs r2, 16
- mov r0, sp
- movs r1, 0x4
- movs r3, 0
- bl sub_80729D8
-_080A4AD2:
- add sp, 0x64
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4A98
-
- thumb_func_start sub_80A4ADC
-sub_80A4ADC: @ 80A4ADC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A4B0C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x1C
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080A4AFA
- movs r0, 0
- bl sub_80A7528
-_080A4AFA:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080A4B10
- movs r0, 0x1
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B0C: .4byte gTasks
-_080A4B10: .4byte gUnknown_0203855C
- thumb_func_end sub_80A4ADC
-
- thumb_func_start sub_80A4B14
-sub_80A4B14: @ 80A4B14
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r2, _080A4B50
- ldr r1, _080A4B54
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 2
- adds r1, r2
- lsrs r0, 24
- ldrb r2, [r1, 0x1]
- adds r0, r2
- strb r0, [r1, 0x1]
- movs r0, 0
- bl MoveMenuCursor
- bl sub_80A73C0
- bl sub_80A763C
- adds r0, r4, 0
- bl sub_80A4ADC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B50: .4byte gUnknown_03005D10
-_080A4B54: .4byte gUnknown_02038559
- thumb_func_end sub_80A4B14
-
- thumb_func_start sub_80A4B58
-sub_80A4B58: @ 80A4B58
- push {r4,lr}
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 24
- asrs r0, 24
- bl MoveMenuCursor
- ldr r2, _080A4B88
- ldr r1, _080A4B8C
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 2
- adds r1, r2
- strb r0, [r1]
- bl sub_80A73C0
- adds r0, r4, 0
- bl sub_80A4ADC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4B88: .4byte gUnknown_03005D10
-_080A4B8C: .4byte gUnknown_02038559
- thumb_func_end sub_80A4B58
-
- thumb_func_start sub_80A4B90
-sub_80A4B90: @ 80A4B90
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x6
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080A4BBC
- ldr r0, _080A4BB4
- cmp r4, r0
- beq _080A4BAE
- adds r0, 0xD
- cmp r4, r0
- bne _080A4BBC
-_080A4BAE:
- ldr r0, _080A4BB8
- b _080A4BE6
- .align 2, 0
-_080A4BB4: .4byte 0x00000103
-_080A4BB8: .4byte gOtherText_Walk
-_080A4BBC:
- adds r0, r4, 0
- bl itemid_is_mail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A4BE4
- ldr r1, _080A4BDC
- ldr r0, _080A4BE0
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- b _080A4BE6
- .align 2, 0
-_080A4BDC: .4byte gUnknown_083C1640
-_080A4BE0: .4byte gUnknown_03000704
-_080A4BE4:
- ldr r0, _080A4BEC
-_080A4BE6:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A4BEC: .4byte gOtherText_Check
- thumb_func_end sub_80A4B90
-
- thumb_func_start sub_80A4BF0
-sub_80A4BF0: @ 80A4BF0
- push {r4-r7,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r7, _080A4C38
- ldrb r4, [r7]
- cmp r4, 0x4
- beq _080A4C00
- b _080A4CF8
-_080A4C00:
- movs r0, 0
- movs r1, 0x7
- movs r2, 0xD
- movs r3, 0xC
- bl MenuDrawTextWindow
- str r4, [sp]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0x8
- movs r3, 0xC
- bl sub_80A4008
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A4C40
- ldr r0, _080A4C3C
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A4C40
- movs r0, 0x1
- movs r1, 0
- bl sub_80A7834
- b _080A4CA0
- .align 2, 0
-_080A4C38: .4byte gUnknown_02038564
-_080A4C3C: .4byte gUnknown_03000701
-_080A4C40:
- movs r6, 0
- ldr r0, _080A4C5C
- ldrb r0, [r0]
- cmp r6, r0
- bcs _080A4CA0
- ldr r4, _080A4C60
-_080A4C4C:
- cmp r6, 0
- bne _080A4C68
- ldr r0, _080A4C64
- ldrh r0, [r0]
- bl sub_80A4B90
- adds r3, r0, 0
- b _080A4C76
- .align 2, 0
-_080A4C5C: .4byte gUnknown_02038564
-_080A4C60: .4byte gUnknown_083C1640
-_080A4C64: .4byte word_203855E
-_080A4C68:
- ldr r0, _080A4CC4
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r4
- ldr r3, [r0]
-_080A4C76:
- lsrs r0, r6, 1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0x1
- ands r2, r6
- lsls r2, 1
- adds r2, 0x8
- adds r0, r3, 0
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080A4CC8
- ldrb r0, [r0]
- cmp r6, r0
- bcc _080A4C4C
-_080A4CA0:
- ldr r0, _080A4CCC
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A4CD4
- ldr r0, _080A4CC8
- ldrb r3, [r0]
- ldr r0, _080A4CD0
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x8
- bl InitMenu
- b _080A4CEA
- .align 2, 0
-_080A4CC4: .4byte gUnknown_03000704
-_080A4CC8: .4byte gUnknown_02038564
-_080A4CCC: .4byte gUnknown_03000701
-_080A4CD0: .4byte gUnknown_03000700
-_080A4CD4:
- ldr r0, _080A4CF4
- ldrb r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x8
- bl InitMenu
-_080A4CEA:
- movs r0, 0x2F
- bl sub_8072DCC
- b _080A4D8A
- .align 2, 0
-_080A4CF4: .4byte gUnknown_02038564
-_080A4CF8:
- movs r0, 0
- movs r1, 0x5
- movs r2, 0xD
- movs r3, 0xC
- bl MenuDrawTextWindow
- movs r0, 0x6
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0x6
- movs r3, 0xC
- bl sub_80A4008
- movs r6, 0
- ldrb r7, [r7]
- cmp r6, r7
- bcs _080A4D6E
- ldr r7, _080A4D98
-_080A4D1E:
- ldr r0, _080A4D9C
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r7
- ldr r5, [r0]
- adds r0, r6, 0
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 1
- adds r4, r0
- lsls r4, 1
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- movs r1, 0x3
- bl __umodsi3
- adds r2, r0, 0
- lsls r2, 25
- movs r0, 0xC0
- lsls r0, 19
- adds r2, r0
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080A4DA0
- ldrb r0, [r0]
- cmp r6, r0
- bcc _080A4D1E
-_080A4D6E:
- ldr r0, _080A4DA0
- ldrb r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x6
- bl InitMenu
- movs r0, 0x2F
- bl sub_8072DCC
-_080A4D8A:
- movs r0, 0x2
- bl sub_80A7528
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4D98: .4byte gUnknown_083C1640
-_080A4D9C: .4byte gUnknown_03000704
-_080A4DA0: .4byte gUnknown_02038564
- thumb_func_end sub_80A4BF0
-
- thumb_func_start sub_80A4DA4
-sub_80A4DA4: @ 80A4DA4
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl sub_80A73FC
- movs r0, 0x6
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x6
- movs r3, 0xD
- bl sub_80A36B8
- movs r0, 0
- movs r1, 0x5
- movs r2, 0xD
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- bl sub_80A7590
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A4DA4
-
- thumb_func_start sub_80A4DD8
-sub_80A4DD8: @ 80A4DD8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- adds r4, r1, 0
- adds r1, r2, 0
- adds r6, r3, 0
- ldr r5, [sp, 0x20]
- ldr r2, [sp, 0x24]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- ldr r3, _080A4E84
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- movs r0, 0x1
- strh r0, [r2, 0xA]
- adds r0, r4, 0x2
- mov r9, r0
- strh r0, [r2, 0xC]
- adds r0, r1, 0x1
- mov r8, r0
- strh r0, [r2, 0xE]
- adds r2, r4, r6
- lsls r2, 24
- lsrs r2, 24
- adds r3, r1, r5
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- bl MenuDrawTextWindow
- ldr r0, _080A4E88
- adds r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- subs r6, 0x1
- lsls r6, 24
- lsrs r6, 24
- subs r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp]
- adds r1, r4, 0
- mov r2, r8
- adds r3, r6, 0
- bl sub_80A4008
- mov r2, r9
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- mov r0, r10
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- mov r3, r8
- bl sub_80A418C
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4E84: .4byte gTasks
-_080A4E88: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A4DD8
-
- thumb_func_start sub_80A4E8C
-sub_80A4E8C: @ 80A4E8C
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0x2
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0x3
- movs r1, 0x1
- bl sub_80F979C
- movs r0, 0
- bl sub_80F996C
- movs r0, 0x1
- bl sub_80F996C
- movs r0, 0x2
- bl sub_80F996C
- movs r0, 0x3
- bl sub_80F996C
- ldr r5, _080A4F04
- lsls r4, 24
- asrs r4, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80A3B04
- ldr r0, _080A4F08
- ldrb r1, [r0]
- adds r0, r5, 0
- bl sub_80A3AC0
- bl sub_80A3770
- bl sub_80A7C64
- adds r0, r6, 0
- bl sub_80A7C20
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A4F04: .4byte gBG2TilemapBuffer
-_080A4F08: .4byte gUnknown_02038559
- thumb_func_end sub_80A4E8C
-
- thumb_func_start sub_80A4F0C
-sub_80A4F0C: @ 80A4F0C
- push {r4,lr}
- ldr r0, _080A4F38
- ldrb r0, [r0]
- subs r0, 0x4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080A4F60
- ldr r4, _080A4F3C
- ldrh r0, [r4, 0x2E]
- cmp r0, 0x10
- beq _080A4F30
- bl sub_80F9284
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080A4F40
-_080A4F30:
- movs r0, 0x1
- movs r1, 0x2
- b _080A4F58
- .align 2, 0
-_080A4F38: .4byte gUnknown_03000701
-_080A4F3C: .4byte gMain
-_080A4F40:
- ldrh r0, [r4, 0x2E]
- cmp r0, 0x20
- beq _080A4F52
- bl sub_80F9284
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A4F60
-_080A4F52:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x1
-_080A4F58:
- bl sub_80A4E8C
- movs r0, 0x1
- b _080A4F62
-_080A4F60:
- movs r0, 0
-_080A4F62:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A4F0C
-
- thumb_func_start sub_80A4F68
-sub_80A4F68: @ 80A4F68
- push {lr}
- bl sub_80A4F0C
- pop {r0}
- bx r0
- thumb_func_end sub_80A4F68
-
- thumb_func_start sub_80A4F74
-sub_80A4F74: @ 80A4F74
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, r4, 0
- movs r5, 0
- ldr r0, _080A4FAC
- ldrh r0, [r0, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A4FE8
- ldr r1, _080A4FB0
- ldr r0, _080A4FB4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r1, r0, r1
- ldrb r0, [r1]
- cmp r0, 0
- beq _080A4FB8
- movs r0, 0x1
- negs r0, r0
- adds r1, r4, 0
- bl sub_80A4B58
- b _080A4FC8
- .align 2, 0
-_080A4FAC: .4byte gMain
-_080A4FB0: .4byte gUnknown_03005D10
-_080A4FB4: .4byte gUnknown_02038559
-_080A4FB8:
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- beq _080A4FC8
- movs r0, 0x1
- negs r0, r0
- adds r1, r4, 0
- bl sub_80A4B14
-_080A4FC8:
- ldr r0, _080A4FE0
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A50AE
- ldr r1, _080A4FE4
- ldrh r0, [r1, 0x32]
- cmp r0, 0x5
- bne _080A50AE
- movs r0, 0xB
- strh r0, [r1, 0x32]
- b _080A50AE
- .align 2, 0
-_080A4FE0: .4byte gLinkOpen
-_080A4FE4: .4byte gMain
-_080A4FE8:
- cmp r1, 0x80
- bne _080A5088
- ldr r0, _080A5020
- ldrb r0, [r0]
- cmp r0, 0x5
- beq _080A502C
- ldr r1, _080A5024
- ldr r0, _080A5028
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r2, r0, r1
- ldrb r0, [r2]
- ldrb r1, [r2, 0x3]
- cmp r0, r1
- bne _080A504E
- ldrb r0, [r2, 0x1]
- ldrb r1, [r2]
- adds r0, r1
- ldrb r2, [r2, 0x2]
- cmp r0, r2
- beq _080A5068
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80A4B14
- b _080A5068
- .align 2, 0
-_080A5020: .4byte gUnknown_03000701
-_080A5024: .4byte gUnknown_03005D10
-_080A5028: .4byte gUnknown_02038559
-_080A502C:
- ldr r1, _080A5058
- ldr r0, _080A505C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r2, r0, r1
- ldrb r1, [r2, 0x1]
- ldrb r3, [r2]
- adds r1, r3
- ldrb r0, [r2, 0x2]
- subs r0, 0x1
- cmp r1, r0
- beq _080A5068
- ldrb r2, [r2, 0x3]
- cmp r3, r2
- beq _080A5060
-_080A504E:
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80A4B58
- b _080A5068
- .align 2, 0
-_080A5058: .4byte gUnknown_03005D10
-_080A505C: .4byte gUnknown_02038559
-_080A5060:
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_80A4B14
-_080A5068:
- movs r5, 0x1
- ldr r0, _080A5080
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A50C0
- ldr r1, _080A5084
- ldrh r0, [r1, 0x32]
- cmp r0, 0x5
- bne _080A50C0
- movs r0, 0xB
- strh r0, [r1, 0x32]
- b _080A50C0
- .align 2, 0
-_080A5080: .4byte gLinkOpen
-_080A5084: .4byte gMain
-_080A5088:
- ldr r0, _080A50B4
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r4, r1, r0
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A50BC
- bl sub_80A4F0C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A50BC
- bl sub_80A73F0
- ldr r0, _080A50B8
- str r0, [r4]
-_080A50AE:
- movs r5, 0x1
- b _080A50C0
- .align 2, 0
-_080A50B4: .4byte gTasks
-_080A50B8: .4byte sub_80A4F68
-_080A50BC:
- bl sub_80A73C0
-_080A50C0:
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80A4F74
-
- thumb_func_start sub_80A50C8
-sub_80A50C8: @ 80A50C8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080A5148
- adds r5, r0, r1
- ldr r0, _080A514C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080A50E6
- b _080A52BC
-_080A50E6:
- adds r0, r4, 0
- bl sub_80A4F74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A50F6
- b _080A526A
-_080A50F6:
- ldr r2, _080A5150
- ldrh r1, [r2, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080A5190
- ldr r3, _080A5154
- ldrb r0, [r3]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bls _080A5190
- ldr r0, _080A5158
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080A5190
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A5160
- ldr r1, _080A515C
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _080A5138
- b _080A526A
-_080A5138:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A3F50
- b _080A526A
- .align 2, 0
-_080A5148: .4byte gUnknown_03004B28
-_080A514C: .4byte gPaletteFade
-_080A5150: .4byte gMain
-_080A5154: .4byte gUnknown_02038559
-_080A5158: .4byte gUnknown_03000701
-_080A515C: .4byte gUnknown_03005D10
-_080A5160:
- ldr r1, _080A5184
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- beq _080A5188
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A3E90
- b _080A526A
- .align 2, 0
-_080A5184: .4byte gUnknown_03005D10
-_080A5188:
- adds r0, r4, 0
- bl sub_80A3EF4
- b _080A526A
-_080A5190:
- ldrh r2, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080A5272
- ldr r7, _080A51D4
- ldr r6, _080A51D8
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r0, 2
- adds r0, r7
- ldrb r1, [r0, 0x1]
- ldrb r2, [r0]
- adds r1, r2
- ldrb r0, [r0, 0x2]
- cmp r1, r0
- bne _080A51F0
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- cmp r1, 0
- bne _080A51E8
- ldr r0, _080A51DC
- strh r1, [r0]
- ldr r1, _080A51E0
- ldr r0, _080A51E4
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A526A
- .align 2, 0
-_080A51D4: .4byte gUnknown_03005D10
-_080A51D8: .4byte gUnknown_02038559
-_080A51DC: .4byte word_203855E
-_080A51E0: .4byte gUnknown_083C16BC
-_080A51E4: .4byte gUnknown_03000701
-_080A51E8:
- adds r0, r4, 0
- bl sub_80A3EF4
- b _080A526A
-_080A51F0:
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080A5264
- movs r0, 0x5
- bl PlaySE
- ldr r2, _080A5250
- movs r1, 0
- ldrsb r1, [r6, r1]
- lsls r1, 2
- adds r1, r7
- ldrb r0, [r1]
- ldrb r1, [r1, 0x1]
- adds r0, r1
- strb r0, [r2]
- ldr r3, _080A5254
- ldrb r0, [r2]
- ldr r1, _080A5258
- ldr r1, [r1]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3]
- ldr r1, _080A525C
- ldr r0, _080A5260
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- movs r0, 0
- bl sub_80F98A4
- movs r0, 0x1
- bl sub_80F98A4
- movs r0, 0x2
- bl sub_80F98A4
- movs r0, 0x3
- bl sub_80F98A4
- bl sub_80A797C
- b _080A526A
- .align 2, 0
-_080A5250: .4byte gUnknown_02038560
-_080A5254: .4byte word_203855E
-_080A5258: .4byte gUnknown_03005D24
-_080A525C: .4byte gUnknown_083C16BC
-_080A5260: .4byte gUnknown_03000701
-_080A5264:
- adds r0, r4, 0
- bl sub_80A3E90
-_080A526A:
- adds r0, r4, 0
- bl sub_808B5B4
- b _080A52BC
-_080A5272:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080A52BC
- movs r0, 0x14
- ldrsh r1, [r5, r0]
- cmp r1, 0
- bne _080A52B0
- ldr r2, _080A52A4
- ldrb r0, [r2]
- cmp r0, 0x5
- beq _080A52B6
- ldr r0, _080A52A8
- strh r1, [r0]
- ldr r1, _080A52AC
- ldrb r0, [r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A52B6
- .align 2, 0
-_080A52A4: .4byte gUnknown_03000701
-_080A52A8: .4byte word_203855E
-_080A52AC: .4byte gUnknown_083C16BC
-_080A52B0:
- adds r0, r4, 0
- bl sub_80A3EF4
-_080A52B6:
- adds r0, r4, 0
- bl sub_808B5B4
-_080A52BC:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A50C8
-
- thumb_func_start sub_80A52C4
-sub_80A52C4: @ 80A52C4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- adds r4, r3, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080A52F4
- adds r1, r0
- ldr r0, _080A52F8
- ldrh r0, [r0, 0x30]
- movs r2, 0xF0
- ands r2, r0
- cmp r2, 0x40
- bne _080A52FC
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, r3
- beq _080A533E
- ldrh r0, [r1, 0x2]
- adds r0, 0x1
- b _080A5340
- .align 2, 0
-_080A52F4: .4byte gUnknown_03004B28
-_080A52F8: .4byte gMain
-_080A52FC:
- cmp r2, 0x80
- bne _080A5312
- ldrh r2, [r1, 0x2]
- movs r4, 0x2
- ldrsh r0, [r1, r4]
- cmp r0, 0x1
- beq _080A530E
- subs r0, r2, 0x1
- b _080A5340
-_080A530E:
- strh r3, [r1, 0x2]
- b _080A5342
-_080A5312:
- cmp r2, 0x10
- bne _080A532A
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- adds r0, 0xA
- cmp r0, r3
- bge _080A5326
- ldrh r0, [r1, 0x2]
- adds r0, 0xA
- b _080A5340
-_080A5326:
- strh r4, [r1, 0x2]
- b _080A5342
-_080A532A:
- cmp r2, 0x20
- bne _080A5346
- ldrh r2, [r1, 0x2]
- movs r3, 0x2
- ldrsh r0, [r1, r3]
- cmp r0, 0xA
- ble _080A533E
- adds r0, r2, 0
- subs r0, 0xA
- b _080A5340
-_080A533E:
- movs r0, 0x1
-_080A5340:
- strh r0, [r1, 0x2]
-_080A5342:
- movs r0, 0x1
- b _080A5348
-_080A5346:
- movs r0, 0
-_080A5348:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A52C4
-
- thumb_func_start sub_80A5350
-sub_80A5350: @ 80A5350
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, _080A539C
- adds r4, r1, r2
- ldr r1, _080A53A0
- ldrb r1, [r1]
- ldr r2, _080A53A4
- ldr r2, [r2]
- lsls r1, 2
- adds r1, r2
- ldrh r1, [r1, 0x2]
- bl sub_80A52C4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A53C0
- ldr r0, _080A53A8
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A53AC
- ldrh r0, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0x1
- bl sub_80A418C
- b _080A53BC
- .align 2, 0
-_080A539C: .4byte gUnknown_03004B28
-_080A53A0: .4byte gUnknown_02038560
-_080A53A4: .4byte gUnknown_03005D24
-_080A53A8: .4byte gUnknown_02038559
-_080A53AC:
- ldrh r0, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0x1
- bl sub_80A418C
-_080A53BC:
- movs r0, 0x1
- b _080A53C2
-_080A53C0:
- movs r0, 0
-_080A53C2:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80A5350
-
- thumb_func_start sub_80A53CC
-sub_80A53CC: @ 80A53CC
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A53EA
- bl sub_80A3770
- ldr r0, _080A53F0
- movs r1, 0
- bl CreateTask
- ldr r1, _080A53F4
- strb r0, [r1]
-_080A53EA:
- pop {r0}
- bx r0
- .align 2, 0
-_080A53F0: .4byte sub_80A50C8
-_080A53F4: .4byte gUnknown_02038563
- thumb_func_end sub_80A53CC
-
- thumb_func_start sub_80A53F8
-sub_80A53F8: @ 80A53F8
- push {lr}
- ldr r0, _080A540C
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080A5410
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A540C: .4byte gUnknown_03000701
-_080A5410: .4byte sub_80A53CC
- thumb_func_end sub_80A53F8
-
- thumb_func_start sub_80A5414
-sub_80A5414: @ 80A5414
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- bl rfu_lacks_rfufunc
- cmp r0, 0
- bne _080A5426
- b _080A5552
-_080A5426:
- ldr r2, _080A5460
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A546C
- ldr r4, _080A5464
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5440
- b _080A5552
-_080A5440:
- ldrb r1, [r4]
- ldr r0, _080A5468
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x1
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080A5452
- b _080A5552
-_080A5452:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A54EE
- .align 2, 0
-_080A5460: .4byte gMain
-_080A5464: .4byte gUnknown_03000700
-_080A5468: .4byte gUnknown_03000704
-_080A546C:
- cmp r1, 0x80
- bne _080A549C
- ldr r4, _080A5494
- ldrb r1, [r4]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5552
- ldrb r1, [r4]
- ldr r0, _080A5498
- ldr r0, [r0]
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0x8
- beq _080A5552
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- b _080A54EE
- .align 2, 0
-_080A5494: .4byte gUnknown_03000700
-_080A5498: .4byte gUnknown_03000704
-_080A549C:
- cmp r1, 0x20
- bne _080A54CC
- ldr r4, _080A54C4
- ldrb r0, [r4]
- cmp r0, 0x1
- bls _080A5552
- adds r1, r0, 0
- ldr r0, _080A54C8
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x2
- ldrb r0, [r1]
- cmp r0, 0x8
- beq _080A5552
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- negs r0, r0
- b _080A54EE
- .align 2, 0
-_080A54C4: .4byte gUnknown_03000700
-_080A54C8: .4byte gUnknown_03000704
-_080A54CC:
- cmp r1, 0x10
- bne _080A5500
- ldr r4, _080A54F8
- ldrb r0, [r4]
- cmp r0, 0x1
- bhi _080A5552
- adds r1, r0, 0
- ldr r0, _080A54FC
- ldr r0, [r0]
- adds r1, r0
- ldrb r0, [r1, 0x2]
- cmp r0, 0x8
- beq _080A5552
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
-_080A54EE:
- bl MoveMenuCursor3
- strb r0, [r4]
- b _080A5552
- .align 2, 0
-_080A54F8: .4byte gUnknown_03000700
-_080A54FC: .4byte gUnknown_03000704
-_080A5500:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5590
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5552
- ldr r1, _080A5570
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r1, _080A5574
- ldr r0, _080A5578
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A557C
- bl sub_80A4DA4
- ldr r1, _080A5580
- ldr r0, _080A5584
- ldr r0, [r0]
- ldrb r0, [r0, 0x3]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
-_080A5552:
- cmp r5, 0
- bne _080A55FA
- ldr r0, _080A5588
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A55E0
- ldr r0, _080A558C
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A55D4
- movs r0, 0xC
- bl sub_8072DDC
- b _080A55FA
- .align 2, 0
-_080A5570: .4byte gTasks
-_080A5574: .4byte gUnknown_03005D10
-_080A5578: .4byte gUnknown_02038559
-_080A557C: .4byte gBG1TilemapBuffer
-_080A5580: .4byte gUnknown_083C1640
-_080A5584: .4byte gUnknown_03000704
-_080A5588: .4byte gUnknown_03000701
-_080A558C: .4byte gUnknown_03000700
-_080A5590:
- ldr r1, _080A55C0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r0, _080A55C4
- bl sub_80A4DA4
- ldr r1, _080A55C8
- ldr r0, _080A55CC
- ldrb r2, [r0]
- ldr r0, _080A55D0
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
- b _080A5552
- .align 2, 0
-_080A55C0: .4byte gTasks
-_080A55C4: .4byte gBG1TilemapBuffer
-_080A55C8: .4byte gUnknown_083C1640
-_080A55CC: .4byte gUnknown_03000700
-_080A55D0: .4byte gUnknown_03000704
-_080A55D4:
- cmp r0, 0x1
- bls _080A55E8
- movs r0, 0x30
- bl sub_8072DCC
- b _080A55FA
-_080A55E0:
- ldr r0, _080A55F0
- ldrb r0, [r0]
- cmp r0, 0x1
- bhi _080A55F4
-_080A55E8:
- movs r0, 0x2F
- bl sub_8072DCC
- b _080A55FA
- .align 2, 0
-_080A55F0: .4byte gUnknown_03000700
-_080A55F4:
- movs r0, 0x30
- bl sub_8072DCC
-_080A55FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5414
-
- thumb_func_start sub_80A5600
-sub_80A5600: @ 80A5600
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r5, 0
- ldr r2, _080A563C
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A5648
- ldr r4, _080A5640
- ldrb r0, [r4]
- cmp r0, 0
- bne _080A561E
- b _080A5736
-_080A561E:
- adds r1, r0, 0
- ldr r0, _080A5644
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x1
- ldrb r0, [r1]
- cmp r0, 0x8
- bne _080A5630
- b _080A5736
-_080A5630:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A56D2
- .align 2, 0
-_080A563C: .4byte gMain
-_080A5640: .4byte gUnknown_03000700
-_080A5644: .4byte gUnknown_03000704
-_080A5648:
- cmp r1, 0x80
- bne _080A5680
- ldr r4, _080A5674
- ldrb r1, [r4]
- ldr r0, _080A5678
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _080A5736
- cmp r1, 0x2
- beq _080A5736
- ldr r0, _080A567C
- ldr r0, [r0]
- adds r0, r1, r0
- ldrb r0, [r0, 0x1]
- cmp r0, 0x8
- beq _080A5736
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- b _080A56D2
- .align 2, 0
-_080A5674: .4byte gUnknown_03000700
-_080A5678: .4byte gUnknown_02038564
-_080A567C: .4byte gUnknown_03000704
-_080A5680:
- cmp r1, 0x20
- bne _080A56B0
- ldr r4, _080A56A8
- ldrb r0, [r4]
- cmp r0, 0x2
- bls _080A5736
- adds r1, r0, 0
- ldr r0, _080A56AC
- ldr r0, [r0]
- adds r1, r0
- subs r1, 0x3
- ldrb r0, [r1]
- cmp r0, 0x8
- beq _080A5736
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x3
- negs r0, r0
- b _080A56D2
- .align 2, 0
-_080A56A8: .4byte gUnknown_03000700
-_080A56AC: .4byte gUnknown_03000704
-_080A56B0:
- cmp r1, 0x10
- bne _080A56E4
- ldr r4, _080A56DC
- ldrb r0, [r4]
- cmp r0, 0x2
- bhi _080A5736
- adds r1, r0, 0
- ldr r0, _080A56E0
- ldr r0, [r0]
- adds r1, r0
- ldrb r0, [r1, 0x3]
- cmp r0, 0x8
- beq _080A5736
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x3
-_080A56D2:
- bl MoveMenuCursor3
- strb r0, [r4]
- b _080A5736
- .align 2, 0
-_080A56DC: .4byte gUnknown_03000700
-_080A56E0: .4byte gUnknown_03000704
-_080A56E4:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5768
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5736
- ldr r1, _080A574C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r1, _080A5750
- ldr r0, _080A5754
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A5758
- bl sub_80A4DA4
- ldr r1, _080A575C
- ldr r0, _080A5760
- ldr r0, [r0]
- ldrb r0, [r0, 0x5]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
-_080A5736:
- cmp r5, 0
- bne _080A57BE
- ldr r0, _080A5764
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A57AC
- movs r0, 0xC
- bl sub_8072DDC
- b _080A57BE
- .align 2, 0
-_080A574C: .4byte gTasks
-_080A5750: .4byte gUnknown_03005D10
-_080A5754: .4byte gUnknown_02038559
-_080A5758: .4byte gBG1TilemapBuffer
-_080A575C: .4byte gUnknown_083C1640
-_080A5760: .4byte gUnknown_03000704
-_080A5764: .4byte gUnknown_03000700
-_080A5768:
- ldr r1, _080A5798
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
- ldr r0, _080A579C
- bl sub_80A4DA4
- ldr r1, _080A57A0
- ldr r0, _080A57A4
- ldrb r2, [r0]
- ldr r0, _080A57A8
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r5, [r0]
- adds r0, r4, 0
- bl _call_via_r5
- b _080A5736
- .align 2, 0
-_080A5798: .4byte gTasks
-_080A579C: .4byte gBG1TilemapBuffer
-_080A57A0: .4byte gUnknown_083C1640
-_080A57A4: .4byte gUnknown_03000700
-_080A57A8: .4byte gUnknown_03000704
-_080A57AC:
- cmp r0, 0x2
- bhi _080A57B8
- movs r0, 0x2F
- bl sub_8072DCC
- b _080A57BE
-_080A57B8:
- movs r0, 0x30
- bl sub_8072DCC
-_080A57BE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5600
-
- thumb_func_start sub_80A57C4
-sub_80A57C4: @ 80A57C4
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r5, _080A57EC
- ldr r0, _080A57F0
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 1
- ldr r4, _080A57F4
- adds r1, r4
- str r1, [r5]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bne _080A57FC
- ldr r1, _080A57F8
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x9
- b _080A582C
- .align 2, 0
-_080A57EC: .4byte gUnknown_03000704
-_080A57F0: .4byte gUnknown_02038559
-_080A57F4: .4byte gUnknown_083C16AE
-_080A57F8: .4byte gUnknown_02038564
-_080A57FC:
- ldr r0, _080A581C
- ldrh r0, [r0]
- bl sub_80F92F4
- lsls r0, 24
- cmp r0, 0
- bne _080A5824
- adds r0, r4, 0
- adds r0, 0x8
- str r0, [r5]
- ldr r1, _080A5820
- movs r0, 0x1
- strb r0, [r1]
- movs r5, 0x9
- b _080A582C
- .align 2, 0
-_080A581C: .4byte word_203855E
-_080A5820: .4byte gUnknown_02038564
-_080A5824:
- ldr r1, _080A5880
- movs r0, 0x2
- strb r0, [r1]
- movs r5, 0x7
-_080A582C:
- adds r6, r1, 0
- ldr r0, _080A5884
- adds r4, r5, 0x1
- ldrb r1, [r6]
- lsls r1, 25
- lsrs r1, 24
- str r1, [sp]
- movs r1, 0x7
- adds r2, r4, 0
- movs r3, 0x6
- bl sub_80A4008
- ldrb r3, [r6]
- lsls r3, 1
- adds r3, 0x1
- adds r3, r5, r3
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x6
- adds r1, r5, 0
- movs r2, 0xD
- bl MenuDrawTextWindow
- movs r0, 0
- adds r1, r5, 0
- bl sub_80A7834
- ldrb r3, [r6]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x7
- adds r2, r4, 0
- bl InitMenu
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5880: .4byte gUnknown_02038564
-_080A5884: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A57C4
-
- thumb_func_start sub_80A5888
-sub_80A5888: @ 80A5888
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl rfu_lacks_rfufunc
- cmp r0, 0
- beq _080A5988
- ldr r2, _080A58B8
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080A58C0
- ldr r4, _080A58BC
- ldrb r0, [r4]
- cmp r0, 0
- beq _080A5988
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A58E2
- .align 2, 0
-_080A58B8: .4byte gMain
-_080A58BC: .4byte gUnknown_03000700
-_080A58C0:
- movs r0, 0x80
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080A58F4
- ldr r4, _080A58EC
- ldrb r1, [r4]
- ldr r0, _080A58F0
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r1, r0
- beq _080A5988
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080A58E2:
- bl MoveMenuCursor
- strb r0, [r4]
- b _080A5988
- .align 2, 0
-_080A58EC: .4byte gUnknown_03000700
-_080A58F0: .4byte gUnknown_02038564
-_080A58F4:
- ldrh r1, [r2, 0x2E]
- movs r2, 0x1
- ands r2, r1
- cmp r2, 0
- beq _080A5964
- ldr r1, _080A5948
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0x1C]
- ldr r1, _080A594C
- ldr r0, _080A5950
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A5954
- bl sub_80A4DA4
- ldr r1, _080A5958
- ldr r0, _080A595C
- ldrb r2, [r0]
- ldr r0, _080A5960
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A5988
- .align 2, 0
-_080A5948: .4byte gTasks
-_080A594C: .4byte gUnknown_03005D10
-_080A5950: .4byte gUnknown_02038559
-_080A5954: .4byte gBG1TilemapBuffer
-_080A5958: .4byte gUnknown_083C1640
-_080A595C: .4byte gUnknown_03000700
-_080A5960: .4byte gUnknown_03000704
-_080A5964:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5988
- ldr r1, _080A5990
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1C]
- ldr r0, _080A5994
- bl sub_80A4DA4
- ldr r0, _080A5998
- ldr r1, [r0, 0x14]
- adds r0, r5, 0
- bl _call_via_r1
-_080A5988:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5990: .4byte gTasks
-_080A5994: .4byte gBG1TilemapBuffer
-_080A5998: .4byte gUnknown_083C1640
- thumb_func_end sub_80A5888
-
- thumb_func_start sub_80A599C
-sub_80A599C: @ 80A599C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A59C4
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A59C8
- lsrs r2, r3, 16
- movs r4, 0
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- ldr r1, _080A59CC
- strb r4, [r1]
- bl sub_80A5AE4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A59C4: .4byte gTasks
-_080A59C8: .4byte sub_805469C
-_080A59CC: .4byte gUnknown_03005CE0
- thumb_func_end sub_80A599C
-
- thumb_func_start sub_80A59D0
-sub_80A59D0: @ 80A59D0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080A5A3C
- movs r0, 0
- strb r0, [r1]
- ldr r7, _080A5A40
- ldrb r0, [r7]
- cmp r0, 0x5
- bne _080A59E8
- movs r0, 0x1
- strb r0, [r1]
-_080A59E8:
- ldr r1, _080A5A44
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 3
- adds r6, r0, r1
- ldr r3, _080A5A48
- ldr r2, _080A5A4C
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r6, 0x1C]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5A54
- ldrb r0, [r7]
- cmp r0, 0x5
- beq _080A5A54
- bl sub_80A57C4
- ldr r0, _080A5A50
- str r0, [r6]
- b _080A5A9C
- .align 2, 0
-_080A5A3C: .4byte gUnknown_03000700
-_080A5A40: .4byte gUnknown_03000701
-_080A5A44: .4byte gTasks
-_080A5A48: .4byte gUnknown_03005D10
-_080A5A4C: .4byte gUnknown_02038559
-_080A5A50: .4byte sub_80A5888
-_080A5A54:
- ldr r0, _080A5A7C
- bl sub_80A4BF0
- ldr r0, _080A5A80
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A5A6E
- ldr r0, _080A5A84
- ldrb r0, [r0]
- cmp r0, 0x5
- bne _080A5A90
-_080A5A6E:
- ldr r0, _080A5A88
- adds r1, r4, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A5A8C
- b _080A5A9A
- .align 2, 0
-_080A5A7C: .4byte gBG1TilemapBuffer
-_080A5A80: .4byte gUnknown_02038559
-_080A5A84: .4byte gUnknown_03000701
-_080A5A88: .4byte gTasks
-_080A5A8C: .4byte sub_80A5414
-_080A5A90:
- ldr r0, _080A5AA4
- adds r1, r4, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A5AA8
-_080A5A9A:
- str r0, [r1]
-_080A5A9C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5AA4: .4byte gTasks
-_080A5AA8: .4byte sub_80A5600
- thumb_func_end sub_80A59D0
-
- thumb_func_start sub_80A5AAC
-sub_80A5AAC: @ 80A5AAC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080A5ADC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5AE0
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5ADC: .4byte gTasks
-_080A5AE0: .4byte sub_80A5B00
- thumb_func_end sub_80A5AAC
-
- thumb_func_start sub_80A5AE4
-sub_80A5AE4: @ 80A5AE4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A5AAC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5AE4
-
- thumb_func_start sub_80A5B00
-sub_80A5B00: @ 80A5B00
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080A5B38
- adds r2, r0, r1
- ldr r0, _080A5B3C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A5B32
- ldrh r0, [r2, 0x10]
- lsls r0, 16
- ldrh r1, [r2, 0x12]
- orrs r0, r1
- bl SetMainCallback2
- bl gpu_pal_allocator_reset__manage_upper_four
- adds r0, r4, 0
- bl DestroyTask
-_080A5B32:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5B38: .4byte gUnknown_03004B28
-_080A5B3C: .4byte gPaletteFade
- thumb_func_end sub_80A5B00
-
- thumb_func_start sub_80A5B40
-sub_80A5B40: @ 80A5B40
- push {lr}
-_080A5B42:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5B68
- bl ResetTasks
- ldr r0, _080A5B60
- movs r1, 0
- bl CreateTask
- ldr r1, _080A5B64
- strb r0, [r1]
- b _080A5B74
- .align 2, 0
-_080A5B60: .4byte sub_80A50C8
-_080A5B64: .4byte gUnknown_02038563
-_080A5B68:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5B42
-_080A5B74:
- pop {r0}
- bx r0
- thumb_func_end sub_80A5B40
-
- thumb_func_start sub_80A5B78
-sub_80A5B78: @ 80A5B78
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _080A5BB0
- ldrh r0, [r5]
- bl itemid_get_overworld_function
- cmp r0, 0
- beq _080A5BF2
- movs r0, 0x5
- bl PlaySE
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _080A5BB4
- ldrh r0, [r5]
- bl itemid_get_type
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5BB4
- adds r0, r4, 0
- bl sub_80A5BF8
- b _080A5BF2
- .align 2, 0
-_080A5BB0: .4byte word_203855E
-_080A5BB4:
- ldr r1, _080A5BE0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r0, _080A5BE4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- beq _080A5BEC
- ldr r0, _080A5BE8
- ldrh r0, [r0]
- bl itemid_get_overworld_function
- adds r1, r0, 0
- adds r0, r4, 0
- bl _call_via_r1
- b _080A5BF2
- .align 2, 0
-_080A5BE0: .4byte gTasks
-_080A5BE4: .4byte gUnknown_02038559
-_080A5BE8: .4byte word_203855E
-_080A5BEC:
- adds r0, r4, 0
- bl sub_80C9C7C
-_080A5BF2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5B78
-
- thumb_func_start sub_80A5BF8
-sub_80A5BF8: @ 80A5BF8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80A73FC
- bl sub_80A7590
- ldr r1, _080A5C1C
- ldr r2, _080A5C20
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5C1C: .4byte gOtherText_NoPokemon
-_080A5C20: .4byte sub_80A5C48
- thumb_func_end sub_80A5BF8
-
- thumb_func_start sub_80A5C24
-sub_80A5C24: @ 80A5C24
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl sub_80A736C
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5C24
-
- thumb_func_start sub_80A5C48
-sub_80A5C48: @ 80A5C48
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A5C90
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl sub_80A36B8
- movs r0, 0x7
- movs r1, 0x7
- movs r2, 0xD
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080A5C94
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5C98
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5C90: .4byte gBG1TilemapBuffer
-_080A5C94: .4byte gTasks
-_080A5C98: .4byte sub_80A5C24
- thumb_func_end sub_80A5C48
-
- thumb_func_start sub_80A5C9C
-sub_80A5C9C: @ 80A5C9C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0xD
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl DestroyTask
- bl sub_8064E2C
- bl ScriptContext2_Disable
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5C9C
-
- thumb_func_start sub_80A5CC4
-sub_80A5CC4: @ 80A5CC4
- push {lr}
- bl pal_fill_black
- ldr r0, _080A5CD8
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080A5CD8: .4byte Task_CallItemUseOnFieldCallback
- thumb_func_end sub_80A5CC4
-
- thumb_func_start Task_CallItemUseOnFieldCallback
-Task_CallItemUseOnFieldCallback: @ 80A5CDC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5CF8
- ldr r0, _080A5D00
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_080A5CF8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5D00: .4byte gUnknown_03005D00
- thumb_func_end Task_CallItemUseOnFieldCallback
-
- thumb_func_start sub_80A5D04
-sub_80A5D04: @ 80A5D04
- push {lr}
-_080A5D06:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5D28
- ldr r0, _080A5D20
- movs r1, 0
- bl CreateTask
- ldr r1, _080A5D24
- strb r0, [r1]
- b _080A5D34
- .align 2, 0
-_080A5D20: .4byte sub_80A50C8
-_080A5D24: .4byte gUnknown_02038563
-_080A5D28:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A5D06
-_080A5D34:
- pop {r0}
- bx r0
- thumb_func_end sub_80A5D04
-
- thumb_func_start sub_80A5D38
-sub_80A5D38: @ 80A5D38
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A5D70
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xA]
- ldr r0, _080A5D74
- bl sub_80A4DA4
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl sub_80A736C
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5D70: .4byte gTasks
-_080A5D74: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A5D38
-
- thumb_func_start sub_80A5D78
-sub_80A5D78: @ 80A5D78
- push {lr}
- sub sp, 0x4
- ldr r0, _080A5D9C
- movs r1, 0x4
- str r1, [sp]
- movs r1, 0x8
- movs r2, 0x8
- movs r3, 0x5
- bl sub_80A4008
- movs r0, 0x7
- movs r1, 0x7
- movs r2, 0x1
- bl DisplayYesNoMenu
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080A5D9C: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A5D78
-
- thumb_func_start sub_80A5DA0
-sub_80A5DA0: @ 80A5DA0
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r1, _080A5DC4
- bl itemid_copy_name
- cmp r4, 0x63
- bls _080A5DCC
- ldr r0, _080A5DC8
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- b _080A5DD8
- .align 2, 0
-_080A5DC4: .4byte gStringVar1
-_080A5DC8: .4byte gStringVar2
-_080A5DCC:
- ldr r0, _080A5DF0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
-_080A5DD8:
- ldr r0, _080A5DF4
- bl sub_80A4DA4
- movs r0, 0x5
- bl sub_80A7528
- bl sub_80A5D78
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5DF0: .4byte gStringVar2
-_080A5DF4: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A5DA0
-
- thumb_func_start sub_80A5DF8
-sub_80A5DF8: @ 80A5DF8
- push {lr}
- ldr r0, _080A5E18
- bl sub_80A4DA4
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xB
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- movs r0, 0x4
- bl sub_80A7528
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E18: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A5DF8
-
- thumb_func_start sub_80A5E1C
-sub_80A5E1C: @ 80A5E1C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A5E58
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A5E36
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5E50
-_080A5E36:
- ldr r0, _080A5E5C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x1C]
- adds r0, r4, 0
- bl sub_80A41D4
- adds r0, r4, 0
- bl sub_80A5D38
-_080A5E50:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E58: .4byte gMain
-_080A5E5C: .4byte gTasks
- thumb_func_end sub_80A5E1C
-
- thumb_func_start sub_80A5E60
-sub_80A5E60: @ 80A5E60
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80A5DF8
- adds r0, r4, 0
- bl sub_80A3D5C
- ldr r1, _080A5E88
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5E8C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A5E88: .4byte gTasks
-_080A5E8C: .4byte sub_80A5E1C
- thumb_func_end sub_80A5E60
-
- thumb_func_start sub_80A5E90
-sub_80A5E90: @ 80A5E90
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80A5D38
- pop {r0}
- bx r0
- thumb_func_end sub_80A5E90
-
- thumb_func_start sub_80A5EA0
-sub_80A5EA0: @ 80A5EA0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- adds r0, r4, 0
- bl sub_80A5350
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A5F0C
- ldr r0, _080A5EE8
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A5EF8
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080A5EEC
- ldrh r0, [r0]
- ldr r2, _080A5EF0
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- ldrh r1, [r1, 0xA]
- bl sub_80A5DA0
- ldr r1, _080A5EF4
- adds r0, r4, 0
- bl sub_80F914C
- b _080A5F0C
- .align 2, 0
-_080A5EE8: .4byte gMain
-_080A5EEC: .4byte word_203855E
-_080A5EF0: .4byte gTasks
-_080A5EF4: .4byte gUnknown_083C16F4
-_080A5EF8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A5F0C
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_80A5D38
-_080A5F0C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5EA0
-
- thumb_func_start sub_80A5F14
-sub_80A5F14: @ 80A5F14
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080A5F58
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A5F5C
- str r1, [r0]
- movs r0, 0x3
- bl sub_80A7528
- ldr r0, _080A5F60
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A5F64
- movs r0, 0x3
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x6
- movs r2, 0x9
- movs r3, 0x7
- bl sub_80A4DD8
- b _080A5F78
- .align 2, 0
-_080A5F58: .4byte gTasks
-_080A5F5C: .4byte sub_80A5EA0
-_080A5F60: .4byte gUnknown_02038559
-_080A5F64:
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x7
- movs r2, 0x9
- movs r3, 0x6
- bl sub_80A4DD8
-_080A5F78:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5F14
-
- thumb_func_start sub_80A5F80
-sub_80A5F80: @ 80A5F80
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl sub_80A736C
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5F80
-
- thumb_func_start sub_80A5FAC
-sub_80A5FAC: @ 80A5FAC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080A5FD0
- ldr r1, _080A5FD4
- adds r4, r0, r1
- ldr r5, _080A5FD8
- ldrh r0, [r4]
- ldrh r1, [r5]
- cmp r0, r1
- bne _080A5FDC
- bl sub_80A40D0
- movs r0, 0
- b _080A5FE2
- .align 2, 0
-_080A5FD0: .4byte gSaveBlock1
-_080A5FD4: .4byte 0x00000496
-_080A5FD8: .4byte word_203855E
-_080A5FDC:
- bl sub_80A413C
- ldrh r0, [r5]
-_080A5FE2:
- strh r0, [r4]
- movs r0, 0
- bl sub_80A7528
- adds r0, r6, 0
- bl sub_80A41D4
- bl sub_80A736C
- adds r0, r6, 0
- bl sub_80A37C0
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A5FAC
-
- thumb_func_start sub_80A6000
-sub_80A6000: @ 80A6000
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl sub_80A736C
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6000
-
- thumb_func_start sub_80A6024
-sub_80A6024: @ 80A6024
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A606C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A6062
- ldr r0, _080A6070
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl sub_80A36B8
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080A6074
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A6078
- str r1, [r0]
-_080A6062:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A606C: .4byte gMain
-_080A6070: .4byte gBG1TilemapBuffer
-_080A6074: .4byte gTasks
-_080A6078: .4byte sub_80A6000
- thumb_func_end sub_80A6024
-
- thumb_func_start DisplayCannotDismountBikeMessage
-DisplayCannotDismountBikeMessage: @ 80A607C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80A73FC
- ldr r0, _080A60B4
- ldrh r0, [r0]
- ldr r1, _080A60B8
- bl itemid_copy_name
- ldr r5, _080A60BC
- ldr r1, _080A60C0
- adds r0, r5, 0
- bl StringExpandPlaceholders
- bl sub_80A7590
- ldr r2, _080A60C4
- adds r0, r4, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A60B4: .4byte word_203855E
-_080A60B8: .4byte gStringVar1
-_080A60BC: .4byte gStringVar4
-_080A60C0: .4byte gOtherText_CantBeHeld
-_080A60C4: .4byte sub_80A6024
- thumb_func_end DisplayCannotDismountBikeMessage
-
- thumb_func_start ItemMenu_Give
-ItemMenu_Give: @ 80A60C8
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- movs r0, 0x5
- bl PlaySE
- ldr r5, _080A60FC
- ldrh r0, [r5]
- bl sub_80F931C
- lsls r0, 24
- cmp r0, 0
- bne _080A6108
- bl sub_80A73FC
- bl sub_80A7590
- ldr r1, _080A6100
- ldr r2, _080A6104
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- b _080A616E
- .align 2, 0
-_080A60FC: .4byte word_203855E
-_080A6100: .4byte gOtherText_CantWriteMail
-_080A6104: .4byte sub_80A6024
-_080A6108:
- ldrh r0, [r5]
- bl itemid_is_unique
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080A6168
- bl CalculatePlayerPartyCount
- lsls r0, 24
- cmp r0, 0
- bne _080A6128
- adds r0, r4, 0
- bl sub_80A5BF8
- b _080A616E
-_080A6128:
- ldr r1, _080A6158
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, _080A615C
- lsrs r1, r2, 16
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- ldr r1, _080A6160
- str r1, [r0]
- ldr r1, _080A6164
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080A616E
- .align 2, 0
-_080A6158: .4byte gTasks
-_080A615C: .4byte sub_808B020
-_080A6160: .4byte sub_80A5B00
-_080A6164: .4byte gUnknown_02038561
-_080A6168:
- adds r0, r6, 0
- bl DisplayCannotDismountBikeMessage
-_080A616E:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end ItemMenu_Give
-
- thumb_func_start sub_80A6178
-sub_80A6178: @ 80A6178
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80A5AE4
- ldr r1, _080A61A0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, _080A61A4
- lsrs r1, r2, 16
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A61A0: .4byte gTasks
-_080A61A4: .4byte sub_814625C
- thumb_func_end sub_80A6178
-
- thumb_func_start sub_80A61A8
-sub_80A61A8: @ 80A61A8
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A61C2
- ldr r0, _080A61C8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A61CC
- strb r0, [r1]
-_080A61C2:
- pop {r0}
- bx r0
- .align 2, 0
-_080A61C8: .4byte sub_80A50C8
-_080A61CC: .4byte gUnknown_02038563
- thumb_func_end sub_80A61A8
-
- thumb_func_start sub_80A61D0
-sub_80A61D0: @ 80A61D0
- push {lr}
- ldr r0, _080A61E4
- movs r1, 0x2
- strb r1, [r0]
- ldr r0, _080A61E8
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A61E4: .4byte gUnknown_03000701
-_080A61E8: .4byte sub_80A61A8
- thumb_func_end sub_80A61D0
-
- thumb_func_start sub_80A61EC
-sub_80A61EC: @ 80A61EC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A620C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6210
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A620C: .4byte gTasks
-_080A6210: .4byte sub_808A3F8
- thumb_func_end sub_80A61EC
-
- thumb_func_start sub_80A6214
-sub_80A6214: @ 80A6214
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080A6244
- ldrb r0, [r0]
- adds r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, _080A6248
- ldrh r0, [r4]
- bl sub_80F931C
- lsls r0, 24
- cmp r0, 0
- bne _080A6254
- bl sub_80A73FC
- bl sub_80A7590
- ldr r1, _080A624C
- ldr r2, _080A6250
- adds r0, r5, 0
- b _080A6280
- .align 2, 0
-_080A6244: .4byte gUnknown_02038559
-_080A6248: .4byte word_203855E
-_080A624C: .4byte gOtherText_CantWriteMail
-_080A6250: .4byte sub_80A6024
-_080A6254:
- ldrh r0, [r4]
- bl sub_80F92F4
- lsls r0, 24
- cmp r0, 0
- bne _080A6298
- bl sub_80A73FC
- ldrh r0, [r4]
- ldr r1, _080A6288
- bl itemid_copy_name
- ldr r4, _080A628C
- ldr r1, _080A6290
- adds r0, r4, 0
- bl StringExpandPlaceholders
- bl sub_80A7590
- ldr r2, _080A6294
- adds r0, r5, 0
- adds r1, r4, 0
-_080A6280:
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- b _080A62D2
- .align 2, 0
-_080A6288: .4byte gStringVar1
-_080A628C: .4byte gStringVar4
-_080A6290: .4byte gOtherText_CantBeHeldHere
-_080A6294: .4byte sub_80A6024
-_080A6298:
- cmp r6, 0x5
- beq _080A62CC
- ldrh r0, [r4]
- bl itemid_is_unique
- lsls r0, 24
- cmp r0, 0
- bne _080A62CC
- ldr r1, _080A62C4
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r2, _080A62C8
- lsrs r1, r2, 16
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- adds r0, r5, 0
- bl sub_80A5AAC
- b _080A62D2
- .align 2, 0
-_080A62C4: .4byte gTasks
-_080A62C8: .4byte sub_808A3F8
-_080A62CC:
- adds r0, r5, 0
- bl DisplayCannotDismountBikeMessage
-_080A62D2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6214
-
- thumb_func_start sub_80A62D8
-sub_80A62D8: @ 80A62D8
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A62F2
- ldr r0, _080A62F8
- movs r1, 0
- bl CreateTask
- ldr r1, _080A62FC
- strb r0, [r1]
-_080A62F2:
- pop {r0}
- bx r0
- .align 2, 0
-_080A62F8: .4byte sub_80A50C8
-_080A62FC: .4byte gUnknown_02038563
- thumb_func_end sub_80A62D8
-
- thumb_func_start sub_80A6300
-sub_80A6300: @ 80A6300
- push {lr}
- ldr r0, _080A6314
- movs r1, 0x3
- strb r1, [r0]
- ldr r0, _080A6318
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A6314: .4byte gUnknown_03000701
-_080A6318: .4byte sub_80A62D8
- thumb_func_end sub_80A6300
-
- thumb_func_start sub_80A631C
-sub_80A631C: @ 80A631C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6344
- ldr r1, _080A6348
- str r1, [r2]
- ldr r2, _080A634C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6350
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A6344: .4byte gUnknown_0300485C
-_080A6348: .4byte sub_80B3050
-_080A634C: .4byte gTasks
-_080A6350: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_80A631C
-
- thumb_func_start sub_80A6354
-sub_80A6354: @ 80A6354
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_80A7590
- ldr r0, _080A63C4
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 3
- adds r2, r0
- ldr r4, _080A63C8
- ldr r3, _080A63CC
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r2, 0x1C]
- movs r0, 0
- ldrsb r0, [r3, r0]
- lsls r0, 2
- adds r0, r4
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- ldr r4, _080A63D0
- ldrh r0, [r4]
- ldr r1, _080A63D4
- bl itemid_copy_name
- ldrh r0, [r4]
- bl itemid_get_market_price
- lsls r0, 16
- cmp r0, 0
- bne _080A63E4
- ldr r4, _080A63D8
- ldr r1, _080A63DC
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080A63E0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- b _080A63FA
- .align 2, 0
-_080A63C4: .4byte gTasks
-_080A63C8: .4byte gUnknown_03005D10
-_080A63CC: .4byte gUnknown_02038559
-_080A63D0: .4byte word_203855E
-_080A63D4: .4byte gStringVar2
-_080A63D8: .4byte gStringVar4
-_080A63DC: .4byte gOtherText_CantBuyThat
-_080A63E0: .4byte sub_80A6444
-_080A63E4:
- ldr r4, _080A6400
- ldr r1, _080A6404
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080A6408
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
-_080A63FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6400: .4byte gStringVar4
-_080A6404: .4byte gOtherText_HowManyToSell
-_080A6408: .4byte sub_80A648C
- thumb_func_end sub_80A6354
-
- thumb_func_start sub_80A640C
-sub_80A640C: @ 80A640C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A6440
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl sub_80A736C
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6440: .4byte gTasks
- thumb_func_end sub_80A640C
-
- thumb_func_start sub_80A6444
-sub_80A6444: @ 80A6444
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A6480
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl sub_80A36B8
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080A6484
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A6488
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6480: .4byte gBG1TilemapBuffer
-_080A6484: .4byte gTasks
-_080A6488: .4byte sub_80A640C
- thumb_func_end sub_80A6444
-
- thumb_func_start sub_80A648C
-sub_80A648C: @ 80A648C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A64E8
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r0, _080A64EC
- str r0, [r4]
- ldr r0, _080A64F0
- movs r5, 0x2
- str r5, [sp]
- movs r1, 0x1
- movs r2, 0xB
- movs r3, 0xC
- bl sub_80A4008
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD
- movs r3, 0xD
- bl MenuDrawTextWindow
- movs r0, 0x1
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- movs r0, 0xB
- strh r0, [r4, 0xE]
- ldr r0, _080A64F4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bne _080A64F8
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xB
- bl sub_80A418C
- b _080A6506
- .align 2, 0
-_080A64E8: .4byte gTasks
-_080A64EC: .4byte Task_BuyHowManyDialogueHandleInput
-_080A64F0: .4byte gBG1TilemapBuffer
-_080A64F4: .4byte gUnknown_02038559
-_080A64F8:
- str r5, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xB
- bl sub_80A418C
-_080A6506:
- ldr r0, _080A651C
- ldrh r0, [r0]
- movs r1, 0x1
- bl BuyMenuDisplayMessage
- bl sub_80A683C
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A651C: .4byte word_203855E
- thumb_func_end sub_80A648C
-
- thumb_func_start sub_80A6520
-sub_80A6520: @ 80A6520
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A6544
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A653E
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl BuyMenuPrintItemQuantityAndPrice
-_080A653E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6544: .4byte gMain
- thumb_func_end sub_80A6520
-
- thumb_func_start sub_80A6548
-sub_80A6548: @ 80A6548
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80A48F8
- ldr r1, _080A656C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A6570
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A656C: .4byte gTasks
-_080A6570: .4byte sub_80A6520
- thumb_func_end sub_80A6548
-
- thumb_func_start sub_80A6574
-sub_80A6574: @ 80A6574
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x5F
- bl PlaySE
- ldr r0, _080A65A0
- ldrh r0, [r0]
- ldr r1, _080A65A4
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r1
- ldrb r1, [r4, 0xA]
- bl sub_80A6870
- ldr r0, _080A65A8
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A65A0: .4byte word_203855E
-_080A65A4: .4byte gTasks
-_080A65A8: .4byte sub_80A6548
- thumb_func_end sub_80A6574
-
- thumb_func_start sub_80A65AC
-sub_80A65AC: @ 80A65AC
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- ldr r0, _080A6600
- movs r1, 0x6
- str r1, [sp]
- movs r1, 0x7
- movs r2, 0x6
- movs r3, 0x6
- bl sub_80A36B8
- ldr r0, _080A6604
- ldrh r0, [r0]
- ldr r1, _080A6608
- bl itemid_copy_name
- ldr r4, _080A660C
- ldr r1, _080A6610
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080A6614
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- adds r0, r5, 0
- bl sub_80A3D5C
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6600: .4byte gBG1TilemapBuffer
-_080A6604: .4byte word_203855E
-_080A6608: .4byte gStringVar2
-_080A660C: .4byte gStringVar4
-_080A6610: .4byte gOtherText_SoldItem
-_080A6614: .4byte sub_80A6574
- thumb_func_end sub_80A65AC
-
- thumb_func_start sub_80A6618
-sub_80A6618: @ 80A6618
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xD
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- ldr r0, _080A664C
- movs r1, 0x6
- str r1, [sp]
- movs r1, 0x7
- movs r2, 0x6
- movs r3, 0x6
- bl sub_80A36B8
- adds r0, r4, 0
- bl BuyMenuPrintItemQuantityAndPrice
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A664C: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A6618
-
- thumb_func_start sub_80A6650
-sub_80A6650: @ 80A6650
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80A5D78
- ldr r1, _080A666C
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A666C: .4byte gUnknown_083C16FC
- thumb_func_end sub_80A6650
-
- thumb_func_start Task_BuyHowManyDialogueHandleInput
-Task_BuyHowManyDialogueHandleInput: @ 80A6670
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- adds r0, r5, 0
- bl sub_80A5350
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A66B4
- movs r0, 0x6
- movs r1, 0xB
- movs r2, 0xC
- movs r3, 0xB
- bl MenuZeroFillWindowRect
- ldr r0, _080A66AC
- ldrh r0, [r0]
- ldr r2, _080A66B0
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- ldrh r1, [r1, 0xA]
- bl BuyMenuDisplayMessage
- b _080A6758
- .align 2, 0
-_080A66AC: .4byte word_203855E
-_080A66B0: .4byte gTasks
-_080A66B4:
- ldr r0, _080A6724
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A6744
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _080A6728
- movs r1, 0x3
- str r1, [sp]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0xD
- bl sub_80A36B8
- ldr r4, _080A672C
- ldr r0, _080A6730
- ldrh r0, [r0]
- bl itemid_get_market_price
- lsls r0, 16
- lsrs r0, 17
- ldr r2, _080A6734
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- movs r2, 0xA
- ldrsh r1, [r1, r2]
- muls r1, r0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- ldr r4, _080A6738
- ldr r1, _080A673C
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080A6740
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayCannotUseItemMessage
- b _080A6758
- .align 2, 0
-_080A6724: .4byte gMain
-_080A6728: .4byte gBG1TilemapBuffer
-_080A672C: .4byte gStringVar1
-_080A6730: .4byte word_203855E
-_080A6734: .4byte gTasks
-_080A6738: .4byte gStringVar4
-_080A673C: .4byte gOtherText_CanPay
-_080A6740: .4byte sub_80A6650
-_080A6744:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6758
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl BuyMenuPrintItemQuantityAndPrice
-_080A6758:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end Task_BuyHowManyDialogueHandleInput
-
- thumb_func_start sub_80A6760
-sub_80A6760: @ 80A6760
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A6794
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl sub_80A736C
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6794: .4byte gTasks
- thumb_func_end sub_80A6760
-
- thumb_func_start BuyMenuPrintItemQuantityAndPrice
-BuyMenuPrintItemQuantityAndPrice: @ 80A6798
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A67E8
- movs r1, 0x1F
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x1F
- bl sub_80A36B8
- movs r0, 0
- movs r1, 0
- bl RemoveMoneyLabelObject
- movs r0, 0
- movs r1, 0x4
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080A67EC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A67F0
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A67E8: .4byte gBG1TilemapBuffer
-_080A67EC: .4byte gTasks
-_080A67F0: .4byte sub_80A6760
- thumb_func_end BuyMenuPrintItemQuantityAndPrice
-
- thumb_func_start BuyMenuDisplayMessage
-BuyMenuDisplayMessage: @ 80A67F4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- adds r0, r4, 0
- bl itemid_get_market_price
- lsls r0, 16
- lsrs r0, 17
- muls r0, r5
- movs r1, 0x6
- movs r2, 0x6
- movs r3, 0xB
- bl sub_80B7A94
- ldr r6, _080A6838
- adds r0, r4, 0
- bl itemid_get_market_price
- lsls r0, 16
- lsrs r0, 17
- adds r1, r0, 0
- muls r1, r5
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x6
- bl ConvertIntToDecimalStringN
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6838: .4byte gStringVar1
- thumb_func_end BuyMenuDisplayMessage
-
- thumb_func_start sub_80A683C
-sub_80A683C: @ 80A683C
- push {lr}
- sub sp, 0x4
- ldr r0, _080A6868
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80B7C14
- ldr r0, _080A686C
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0xC
- bl sub_80A4008
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080A6868: .4byte gSaveBlock1
-_080A686C: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80A683C
-
- thumb_func_start sub_80A6870
-sub_80A6870: @ 80A6870
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080A68A0
- bl itemid_get_market_price
- lsls r0, 16
- lsrs r0, 17
- adds r1, r0, 0
- muls r1, r4
- adds r0, r5, 0
- bl sub_80B79B8
- ldr r0, [r5]
- movs r1, 0
- movs r2, 0
- bl sub_80B7BEC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A68A0: .4byte gSaveBlock1 + 0x490
- thumb_func_end sub_80A6870
-
- thumb_func_start sub_80A68A4
-sub_80A68A4: @ 80A68A4
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A68BE
- ldr r0, _080A68C4
- movs r1, 0
- bl CreateTask
- ldr r1, _080A68C8
- strb r0, [r1]
-_080A68BE:
- pop {r0}
- bx r0
- .align 2, 0
-_080A68C4: .4byte sub_80A50C8
-_080A68C8: .4byte gUnknown_02038563
- thumb_func_end sub_80A68A4
-
- thumb_func_start sub_80A68CC
-sub_80A68CC: @ 80A68CC
- push {lr}
- ldr r1, _080A68E4
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _080A68E8
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, _080A68EC
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A68E4: .4byte gUnknown_02038559
-_080A68E8: .4byte gUnknown_03000701
-_080A68EC: .4byte sub_80A68A4
- thumb_func_end sub_80A68CC
-
- thumb_func_start sub_80A68F0
-sub_80A68F0: @ 80A68F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6910
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6914
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A6910: .4byte gTasks
-_080A6914: .4byte sub_80546B8
- thumb_func_end sub_80A68F0
-
- thumb_func_start sub_80A6918
-sub_80A6918: @ 80A6918
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6938
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A693C
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AAC
- pop {r0}
- bx r0
- .align 2, 0
-_080A6938: .4byte gTasks
-_080A693C: .4byte sub_80546B8
- thumb_func_end sub_80A6918
-
- thumb_func_start sub_80A6940
-sub_80A6940: @ 80A6940
- push {lr}
-_080A6942:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6968
- ldr r0, _080A6960
- movs r1, 0
- bl CreateTask
- ldr r1, _080A6964
- strb r0, [r1]
- bl sub_80A699C
- b _080A6974
- .align 2, 0
-_080A6960: .4byte sub_80A50C8
-_080A6964: .4byte gUnknown_02038563
-_080A6968:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6942
-_080A6974:
- pop {r0}
- bx r0
- thumb_func_end sub_80A6940
-
- thumb_func_start sub_80A6978
-sub_80A6978: @ 80A6978
- push {lr}
- ldr r1, _080A6990
- movs r0, 0x3
- strb r0, [r1]
- ldr r1, _080A6994
- movs r0, 0x5
- strb r0, [r1]
- ldr r0, _080A6998
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A6990: .4byte gUnknown_02038559
-_080A6994: .4byte gUnknown_03000701
-_080A6998: .4byte sub_80A6940
- thumb_func_end sub_80A6978
-
- thumb_func_start sub_80A699C
-sub_80A699C: @ 80A699C
- ldr r1, _080A69AC
- ldr r0, _080A69B0
- str r0, [r1]
- ldr r1, _080A69B4
- movs r0, 0x4
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A69AC: .4byte gUnknown_03000704
-_080A69B0: .4byte gUnknown_083C16B8
-_080A69B4: .4byte gUnknown_02038564
- thumb_func_end sub_80A699C
-
- thumb_func_start sub_80A69B8
-sub_80A69B8: @ 80A69B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A69D8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A69DC
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A69D8: .4byte gTasks
-_080A69DC: .4byte sub_804E990
- thumb_func_end sub_80A69B8
-
- thumb_func_start sub_80A69E0
-sub_80A69E0: @ 80A69E0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6A00
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6A04
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AAC
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A00: .4byte gTasks
-_080A6A04: .4byte sub_804E990
- thumb_func_end sub_80A69E0
-
- thumb_func_start sub_80A6A08
-sub_80A6A08: @ 80A6A08
- push {lr}
- bl sub_80A34B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6A22
- ldr r0, _080A6A28
- movs r1, 0
- bl CreateTask
- ldr r1, _080A6A2C
- strb r0, [r1]
-_080A6A22:
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A28: .4byte sub_80A50C8
-_080A6A2C: .4byte gUnknown_02038563
- thumb_func_end sub_80A6A08
-
- thumb_func_start sub_80A6A30
-sub_80A6A30: @ 80A6A30
- push {lr}
- ldr r0, _080A6A44
- movs r1, 0x6
- strb r1, [r0]
- ldr r0, _080A6A48
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A44: .4byte gUnknown_03000701
-_080A6A48: .4byte sub_80A6A08
- thumb_func_end sub_80A6A30
-
- thumb_func_start sub_80A6A4C
-sub_80A6A4C: @ 80A6A4C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6A74
- ldr r1, _080A6A78
- str r1, [r2]
- ldr r2, _080A6A7C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080A6A80
- lsrs r2, r3, 16
- strh r2, [r1, 0x18]
- strh r3, [r1, 0x1A]
- bl sub_80A5AE4
- pop {r0}
- bx r0
- .align 2, 0
-_080A6A74: .4byte gUnknown_0300485C
-_080A6A78: .4byte sub_813A0F8
-_080A6A7C: .4byte gTasks
-_080A6A80: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_80A6A4C
-
- thumb_func_start sub_80A6A84
-sub_80A6A84: @ 80A6A84
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r6, _080A6AE8
- adds r0, r4, r6
- mov r8, r0
- ldr r0, _080A6AEC
- bl sub_80A4DA4
- ldr r0, _080A6AF0
- ldrh r0, [r0]
- ldr r1, _080A6AF4
- bl itemid_copy_name
- ldr r0, _080A6AF8
- mov r2, r8
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r0, 0x7
- movs r1, 0x6
- movs r2, 0xB
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- movs r0, 0x7
- bl sub_80A7528
- adds r0, r5, 0
- bl sub_80A3D5C
- subs r6, 0x8
- adds r4, r6
- ldr r0, _080A6AFC
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6AE8: .4byte gUnknown_03004B28
-_080A6AEC: .4byte gBG1TilemapBuffer
-_080A6AF0: .4byte word_203855E
-_080A6AF4: .4byte gStringVar1
-_080A6AF8: .4byte gStringVar2
-_080A6AFC: .4byte sub_80A5E1C
- thumb_func_end sub_80A6A84
-
- thumb_func_start sub_80A6B00
-sub_80A6B00: @ 80A6B00
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A6B54
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A6B1A
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6B4C
-_080A6B1A:
- ldr r1, _080A6B58
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- ldr r1, _080A6B5C
- ldr r0, _080A6B60
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A5D38
-_080A6B4C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6B54: .4byte gMain
-_080A6B58: .4byte gTasks
-_080A6B5C: .4byte gUnknown_03005D10
-_080A6B60: .4byte gUnknown_02038559
- thumb_func_end sub_80A6B00
-
- thumb_func_start sub_80A6B64
-sub_80A6B64: @ 80A6B64
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r5, r0, 3
- ldr r6, _080A6B9C
- adds r7, r5, r6
- ldr r0, _080A6BA0
- mov r8, r0
- ldrh r0, [r0]
- bl itemid_is_unique
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080A6BA8
- adds r0, r6, 0
- subs r0, 0x8
- adds r0, r5, r0
- ldr r1, _080A6BA4
- str r1, [r0]
- movs r0, 0x9
- bl sub_80A7528
- b _080A6BD2
- .align 2, 0
-_080A6B9C: .4byte gUnknown_03004B28
-_080A6BA0: .4byte word_203855E
-_080A6BA4: .4byte sub_80A6B00
-_080A6BA8:
- mov r1, r8
- ldrh r0, [r1]
- ldrh r1, [r7, 0x2]
- bl sub_80A9760
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6BC2
- adds r0, r4, 0
- bl sub_80A6A84
- b _080A6BD2
-_080A6BC2:
- adds r0, r6, 0
- subs r0, 0x8
- adds r0, r5, r0
- ldr r1, _080A6BDC
- str r1, [r0]
- movs r0, 0x8
- bl sub_80A7528
-_080A6BD2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6BDC: .4byte sub_80A6B00
- thumb_func_end sub_80A6B64
-
- thumb_func_start sub_80A6BE0
-sub_80A6BE0: @ 80A6BE0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- adds r0, r4, 0
- bl sub_80A5350
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A6C58
- ldr r0, _080A6C18
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- ands r2, r1
- cmp r2, 0
- beq _080A6C20
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080A6C1C
- bl sub_80A4DA4
- adds r0, r4, 0
- bl sub_80A6B64
- b _080A6C58
- .align 2, 0
-_080A6C18: .4byte gMain
-_080A6C1C: .4byte gBG1TilemapBuffer
-_080A6C20:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6C58
- ldr r1, _080A6C60
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1C]
- ldr r1, _080A6C64
- ldr r0, _080A6C68
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- bl sub_80A5D38
-_080A6C58:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6C60: .4byte gTasks
-_080A6C64: .4byte gUnknown_03005D10
-_080A6C68: .4byte gUnknown_02038559
- thumb_func_end sub_80A6BE0
-
- thumb_func_start sub_80A6C6C
-sub_80A6C6C: @ 80A6C6C
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080A6CE4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- ldr r2, _080A6CE8
- ldr r6, _080A6CEC
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r5, 0x1C]
- movs r0, 0
- ldrsb r0, [r6, r0]
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- movs r0, 0x5
- bl PlaySE
- bl sub_80A7590
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0x4
- beq _080A6D0A
- ldr r0, _080A6CF0
- str r0, [r5]
- movs r0, 0x6
- bl sub_80A7528
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r0, 0x3
- bne _080A6CF4
- movs r0, 0x3
- str r0, [sp]
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x6
- movs r2, 0x9
- movs r3, 0x7
- bl sub_80A4DD8
- b _080A6D14
- .align 2, 0
-_080A6CE4: .4byte gTasks
-_080A6CE8: .4byte gUnknown_03005D10
-_080A6CEC: .4byte gUnknown_02038559
-_080A6CF0: .4byte sub_80A6BE0
-_080A6CF4:
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x2
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0x7
- movs r2, 0x9
- movs r3, 0x6
- bl sub_80A4DD8
- b _080A6D14
-_080A6D0A:
- movs r0, 0x1
- strh r0, [r5, 0xA]
- adds r0, r4, 0
- bl sub_80A6B64
-_080A6D14:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A6C6C
-
- thumb_func_start sub_80A6D1C
-sub_80A6D1C: @ 80A6D1C
- push {r4,r5,lr}
- bl HideMapNamePopUpWindow
- ldr r0, _080A6D70
- ldr r1, _080A6D74
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0
- beq _080A6D84
- movs r1, 0x1
- bl sub_80A92D4
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _080A6D80
- bl ScriptContext2_Enable
- bl player_bitmagic
- bl sub_80594C0
- bl sub_80597F4
- ldr r1, _080A6D78
- ldrh r0, [r4]
- strh r0, [r1]
- ldrh r0, [r4]
- bl itemid_get_overworld_function
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A6D7C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0xC]
- b _080A6D8A
- .align 2, 0
-_080A6D70: .4byte gSaveBlock1
-_080A6D74: .4byte 0x00000496
-_080A6D78: .4byte word_203855E
-_080A6D7C: .4byte gTasks
-_080A6D80:
- movs r0, 0
- strh r0, [r4]
-_080A6D84:
- ldr r0, _080A6D94
- bl ScriptContext1_SetupScript
-_080A6D8A:
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A6D94: .4byte Event_NoRegisteredItem
- thumb_func_end sub_80A6D1C
-
- thumb_func_start sub_80A6D98
-sub_80A6D98: @ 80A6D98
- push {lr}
-_080A6D9A:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6DBC
- ldr r0, _080A6DB4
- movs r1, 0
- bl CreateTask
- ldr r1, _080A6DB8
- strb r0, [r1]
- b _080A6DC8
- .align 2, 0
-_080A6DB4: .4byte sub_80A50C8
-_080A6DB8: .4byte gUnknown_02038563
-_080A6DBC:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A6D9A
-_080A6DC8:
- pop {r0}
- bx r0
- thumb_func_end sub_80A6D98
-
- thumb_func_start sub_80A6DCC
-sub_80A6DCC: @ 80A6DCC
- push {lr}
- ldr r1, _080A6DE4
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080A6DE8
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _080A6DEC
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080A6DE4: .4byte gUnknown_03000700
-_080A6DE8: .4byte gUnknown_03000701
-_080A6DEC: .4byte sub_80A6D98
- thumb_func_end sub_80A6DCC
-
- thumb_func_start sub_80A6DF0
-sub_80A6DF0: @ 80A6DF0
- push {r4-r6,lr}
- sub sp, 0x8
- adds r5, r0, 0
- ldr r4, _080A6E4C
- ldrb r0, [r4]
- subs r0, 0x1
- lsls r0, 25
- lsrs r6, r0, 24
- movs r1, 0x9
- subs r1, r6
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x7
- movs r2, 0xD
- movs r3, 0xC
- bl MenuDrawTextWindow
- movs r2, 0xA
- subs r2, r6
- lsls r2, 24
- lsrs r2, 24
- adds r0, r6, 0x2
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x8
- movs r3, 0x5
- bl sub_80A4008
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A6E58
- ldr r1, _080A6E50
- ldr r0, _080A6E54
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x8
- movs r2, 0xA
- bl MenuPrint
- b _080A6E80
- .align 2, 0
-_080A6E4C: .4byte gUnknown_02038564
-_080A6E50: .4byte gUnknown_083C1640
-_080A6E54: .4byte gUnknown_03000704
-_080A6E58:
- ldr r5, _080A6EAC
- ldr r4, _080A6EB0
- ldr r0, [r4]
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r5
- ldr r0, [r0]
- movs r1, 0x8
- movs r2, 0x8
- bl MenuPrint
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- lsls r0, 3
- adds r0, r5
- ldr r0, [r0]
- movs r1, 0x8
- movs r2, 0xA
- bl MenuPrint
-_080A6E80:
- movs r2, 0xA
- subs r2, r6
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _080A6EB4
- ldrb r3, [r0]
- movs r0, 0
- str r0, [sp]
- movs r0, 0x5
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x8
- bl InitMenu
- movs r0, 0x2
- bl sub_80A7528
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6EAC: .4byte gUnknown_083C1640
-_080A6EB0: .4byte gUnknown_03000704
-_080A6EB4: .4byte gUnknown_02038564
- thumb_func_end sub_80A6DF0
-
- thumb_func_start sub_80A6EB8
-sub_80A6EB8: @ 80A6EB8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r2, _080A6EE0
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080A6EE8
- ldr r4, _080A6EE4
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A6FC0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080A6F02
- .align 2, 0
-_080A6EE0: .4byte gMain
-_080A6EE4: .4byte gUnknown_03000700
-_080A6EE8:
- cmp r1, 0x80
- bne _080A6F14
- ldr r4, _080A6F0C
- ldrb r0, [r4]
- adds r0, 0x1
- ldr r1, _080A6F10
- ldrb r1, [r1]
- cmp r0, r1
- bge _080A6FC0
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080A6F02:
- bl MoveMenuCursor
- strb r0, [r4]
- b _080A6FC0
- .align 2, 0
-_080A6F0C: .4byte gUnknown_03000700
-_080A6F10: .4byte gUnknown_02038564
-_080A6F14:
- ldrh r1, [r2, 0x2E]
- movs r2, 0x1
- ands r2, r1
- cmp r2, 0
- beq _080A6F84
- ldr r1, _080A6F68
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- ldr r1, _080A6F6C
- ldr r0, _080A6F70
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A6F74
- bl sub_80A4DA4
- ldr r1, _080A6F78
- ldr r0, _080A6F7C
- ldrb r2, [r0]
- ldr r0, _080A6F80
- ldr r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080A6FC0
- .align 2, 0
-_080A6F68: .4byte gTasks
-_080A6F6C: .4byte gUnknown_03005D10
-_080A6F70: .4byte gUnknown_02038559
-_080A6F74: .4byte gBG1TilemapBuffer
-_080A6F78: .4byte gUnknown_083C1640
-_080A6F7C: .4byte gUnknown_03000700
-_080A6F80: .4byte gUnknown_03000704
-_080A6F84:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080A6FC0
- ldr r1, _080A6FC8
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1C]
- ldr r1, _080A6FCC
- ldr r0, _080A6FD0
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- ldr r0, _080A6FD4
- bl sub_80A4DA4
- ldr r0, _080A6FD8
- ldr r1, [r0, 0x2C]
- adds r0, r5, 0
- bl _call_via_r1
-_080A6FC0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A6FC8: .4byte gTasks
-_080A6FCC: .4byte gUnknown_03005D10
-_080A6FD0: .4byte gUnknown_02038559
-_080A6FD4: .4byte gBG1TilemapBuffer
-_080A6FD8: .4byte gUnknown_083C1640
- thumb_func_end sub_80A6EB8
-
- thumb_func_start sub_80A6FDC
-sub_80A6FDC: @ 80A6FDC
- push {lr}
- ldr r0, _080A6FF8
- ldrh r0, [r0]
- bl itemid_get_usage
- lsls r0, 24
- cmp r0, 0
- beq _080A7008
- ldr r1, _080A6FFC
- ldr r0, _080A7000
- str r0, [r1]
- ldr r1, _080A7004
- movs r0, 0x2
- b _080A7012
- .align 2, 0
-_080A6FF8: .4byte word_203855E
-_080A6FFC: .4byte gUnknown_03000704
-_080A7000: .4byte gUnknown_083C1708
-_080A7004: .4byte gUnknown_02038564
-_080A7008:
- ldr r1, _080A7018
- ldr r0, _080A701C
- str r0, [r1]
- ldr r1, _080A7020
- movs r0, 0x1
-_080A7012:
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080A7018: .4byte gUnknown_03000704
-_080A701C: .4byte gUnknown_083C170A
-_080A7020: .4byte gUnknown_02038564
- thumb_func_end sub_80A6FDC
-
- thumb_func_start sub_80A7024
-sub_80A7024: @ 80A7024
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _080A707C
- movs r0, 0
- strb r0, [r1]
- bl sub_80A6FDC
- ldr r0, _080A7080
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldr r3, _080A7084
- ldr r2, _080A7088
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r4, 0x1C]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- ldr r0, _080A708C
- bl sub_80A6DF0
- ldr r0, _080A7090
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A707C: .4byte gUnknown_03000700
-_080A7080: .4byte gTasks
-_080A7084: .4byte gUnknown_03005D10
-_080A7088: .4byte gUnknown_02038559
-_080A708C: .4byte gBG1TilemapBuffer
-_080A7090: .4byte sub_80A6EB8
- thumb_func_end sub_80A7024
-
- thumb_func_start sub_80A7094
-sub_80A7094: @ 80A7094
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A70CC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080A70D0
- lsrs r0, r2, 16
- movs r3, 0
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- ldr r0, _080A70D4
- str r0, [r1]
- movs r0, 0x1
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080A70CC: .4byte gTasks
-_080A70D0: .4byte sub_802E424
-_080A70D4: .4byte sub_80A5B00
- thumb_func_end sub_80A7094
-
- thumb_func_start sub_80A70D8
-sub_80A70D8: @ 80A70D8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80A7094
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A70D8
-
- thumb_func_start ItemMenu_UseInBattle
-ItemMenu_UseInBattle: @ 80A70F4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080A7120
- ldrh r0, [r4]
- bl itemid_get_battle_function
- cmp r0, 0
- beq _080A711A
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- bl itemid_get_battle_function
- adds r1, r0, 0
- adds r0, r5, 0
- bl _call_via_r1
-_080A711A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7120: .4byte word_203855E
- thumb_func_end ItemMenu_UseInBattle
-
- thumb_func_start sub_80A7124
-sub_80A7124: @ 80A7124
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_80A7528
- adds r0, r4, 0
- bl sub_80A41D4
- bl sub_80A736C
- adds r0, r4, 0
- bl sub_80A37C0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7124
-
- thumb_func_start sub_80A7150
-sub_80A7150: @ 80A7150
- push {r4,r5,lr}
- ldr r4, _080A7158
- ldr r5, _080A715C
- b _080A716C
- .align 2, 0
-_080A7158: .4byte gUnknown_02038563
-_080A715C: .4byte gTasks
-_080A7160:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080A7190
-_080A716C:
- bl sub_80A317C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080A7160
- ldr r0, _080A7198
- movs r1, 0
- bl CreateTask
- strb r0, [r4]
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- movs r1, 0
- strh r1, [r0, 0x26]
-_080A7190:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7198: .4byte sub_80A7230
- thumb_func_end sub_80A7150
-
- thumb_func_start PrepareBagForWallyTutorial
-PrepareBagForWallyTutorial: @ 80A719C
- push {r4,r5,lr}
- ldr r0, _080A7214
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080A7218
- strb r1, [r0]
- movs r1, 0
- ldr r4, _080A721C
- ldr r5, _080A7220
- ldr r3, _080A7224
- movs r2, 0
-_080A71B2:
- lsls r0, r1, 2
- adds r0, r3
- strb r2, [r0]
- strb r2, [r0, 0x1]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _080A71B2
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x50
- bl memcpy
- movs r1, 0x80
- lsls r1, 5
- adds r0, r4, r1
- adds r4, r5, 0
- adds r4, 0xA0
- adds r1, r4, 0
- movs r2, 0x40
- bl memcpy
- adds r0, r5, 0
- movs r1, 0x14
- bl sub_80A9684
- adds r0, r4, 0
- movs r1, 0x10
- bl sub_80A9684
- movs r0, 0xD
- movs r1, 0x1
- bl sub_80A9424
- movs r0, 0x4
- movs r1, 0x1
- bl sub_80A9424
- ldr r1, _080A7228
- movs r0, 0x7
- strb r0, [r1]
- ldr r0, _080A722C
- bl SetMainCallback2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7214: .4byte gUnknown_03000700
-_080A7218: .4byte gUnknown_02038559
-_080A721C: .4byte 0x0201e000
-_080A7220: .4byte gSaveBlock1 + 0x560
-_080A7224: .4byte gUnknown_03005D10
-_080A7228: .4byte gUnknown_03000701
-_080A722C: .4byte sub_80A7150
- thumb_func_end PrepareBagForWallyTutorial
-
- thumb_func_start sub_80A7230
-sub_80A7230: @ 80A7230
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r0, _080A725C
- mov r8, r0
- adds r7, r6, r0
- movs r0, 0x1E
- ldrsh r1, [r7, r0]
- cmp r1, 0xCC
- beq _080A727A
- cmp r1, 0xCC
- bgt _080A7260
- cmp r1, 0x66
- beq _080A726A
- b _080A7358
- .align 2, 0
-_080A725C: .4byte gUnknown_03004B28
-_080A7260:
- movs r0, 0x99
- lsls r0, 1
- cmp r1, r0
- beq _080A72F4
- b _080A7358
-_080A726A:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- movs r1, 0x2
- bl sub_80A4E8C
- b _080A7358
-_080A727A:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x2
- bl sub_80F98A4
- movs r0, 0x3
- bl sub_80F98A4
- ldr r1, _080A72D8
- movs r0, 0x4
- strh r0, [r1]
- ldr r1, _080A72DC
- ldr r0, _080A72E0
- str r0, [r1]
- ldr r1, _080A72E4
- movs r0, 0x2
- strb r0, [r1]
- mov r0, r8
- adds r4, r0, r6
- ldr r3, _080A72E8
- ldr r2, _080A72EC
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- adds r1, 0x1
- strh r1, [r4, 0x14]
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80A48E8
- bl sub_80A73FC
- ldr r0, _080A72F0
- bl sub_80A6DF0
- b _080A7358
- .align 2, 0
-_080A72D8: .4byte word_203855E
-_080A72DC: .4byte gUnknown_03000704
-_080A72E0: .4byte gUnknown_083C1708
-_080A72E4: .4byte gUnknown_02038564
-_080A72E8: .4byte gUnknown_03005D10
-_080A72EC: .4byte gUnknown_02038559
-_080A72F0: .4byte gBG1TilemapBuffer
-_080A72F4:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080A7344
- bl sub_80A4DA4
- ldr r4, _080A7348
- ldr r5, _080A734C
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x50
- bl memcpy
- adds r4, 0xA0
- movs r0, 0x80
- lsls r0, 5
- adds r5, r0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x40
- bl memcpy
- ldr r1, _080A7350
- lsrs r0, r1, 16
- strh r0, [r7, 0x10]
- strh r1, [r7, 0x12]
- mov r0, r8
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _080A7354
- str r1, [r0]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080A735E
- .align 2, 0
-_080A7344: .4byte gBG1TilemapBuffer
-_080A7348: .4byte gSaveBlock1 + 0x560
-_080A734C: .4byte 0x0201e000
-_080A7350: .4byte sub_802E424
-_080A7354: .4byte sub_80A5B00
-_080A7358:
- ldrh r0, [r7, 0x1E]
- adds r0, 0x1
- strh r0, [r7, 0x1E]
-_080A735E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7230
-
- thumb_func_start sub_80A736C
-sub_80A736C: @ 80A736C
- push {lr}
- sub sp, 0x8
- ldr r1, _080A73B0
- ldr r0, _080A73B4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r3, [r0, 0x3]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- movs r1, 0xE
- movs r2, 0x2
- bl InitMenu
- ldr r1, _080A73B8
- ldr r3, _080A73BC
- movs r0, 0xF
- str r0, [sp]
- movs r0, 0x10
- movs r2, 0xC
- bl sub_814AC58
- bl sub_80A73C0
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080A73B0: .4byte gUnknown_03005D10
-_080A73B4: .4byte gUnknown_02038559
-_080A73B8: .4byte 0x0000ffff
-_080A73BC: .4byte 0x00002d9f
- thumb_func_end sub_80A736C
-
- thumb_func_start sub_80A73C0
-sub_80A73C0: @ 80A73C0
- push {lr}
- ldr r1, _080A73E8
- ldr r0, _080A73EC
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 28
- movs r0, 0x80
- lsls r0, 21
- adds r1, r0
- lsrs r1, 24
- movs r0, 0x70
- bl sub_814AD7C
- pop {r0}
- bx r0
- .align 2, 0
-_080A73E8: .4byte gUnknown_03005D10
-_080A73EC: .4byte gUnknown_02038559
- thumb_func_end sub_80A73C0
-
- thumb_func_start sub_80A73F0
-sub_80A73F0: @ 80A73F0
- push {lr}
- bl sub_814ADC8
- pop {r0}
- bx r0
- thumb_func_end sub_80A73F0
-
- thumb_func_start sub_80A73FC
-sub_80A73FC: @ 80A73FC
- push {lr}
- bl sub_8072DEC
- bl sub_814AD44
- pop {r0}
- bx r0
- thumb_func_end sub_80A73FC
-
- thumb_func_start sub_80A740C
-sub_80A740C: @ 80A740C
- push {lr}
- bl sub_80A75E4
- bl sub_80A7768
- bl sub_80A7420
- pop {r0}
- bx r0
- thumb_func_end sub_80A740C
-
- thumb_func_start sub_80A7420
-sub_80A7420: @ 80A7420
- push {r4,lr}
- ldr r4, _080A7438
- ldrb r0, [r4]
- cmp r0, 0x2
- beq _080A743C
- cmp r0, 0x3
- beq _080A7430
- b _080A7512
-_080A7430:
- movs r0, 0x2
- strb r0, [r4]
- b _080A7512
- .align 2, 0
-_080A7438: .4byte gUnknown_0203853C
-_080A743C:
- ldrb r0, [r4, 0x2]
- cmp r0, 0x9
- bhi _080A74FC
- lsls r0, 2
- ldr r1, _080A744C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080A744C: .4byte _080A7450
- .align 2, 0
-_080A7450:
- .4byte _080A7478
- .4byte _080A74AC
- .4byte _080A74B4
- .4byte _080A74BC
- .4byte _080A74C4
- .4byte _080A74CC
- .4byte _080A74D4
- .4byte _080A74DC
- .4byte _080A74E4
- .4byte _080A74F4
-_080A7478:
- ldr r1, _080A74A0
- ldr r0, _080A74A4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r0, r1
- ldrb r1, [r0, 0x1]
- ldrb r0, [r0]
- adds r1, r0
- ldr r0, _080A74A8
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- ldrb r1, [r4, 0x1]
- bl sub_80A49AC
- b _080A74FC
- .align 2, 0
-_080A74A0: .4byte gUnknown_03005D10
-_080A74A4: .4byte gUnknown_02038559
-_080A74A8: .4byte gUnknown_03005D24
-_080A74AC:
- ldr r0, _080A74B0
- b _080A74E6
- .align 2, 0
-_080A74B0: .4byte gOtherText_SwitchWhichItem
-_080A74B4:
- ldr r0, _080A74B8
- b _080A74E6
- .align 2, 0
-_080A74B8: .4byte gOtherText_WhatWillYouDo2
-_080A74BC:
- ldr r0, _080A74C0
- b _080A74E6
- .align 2, 0
-_080A74C0: .4byte gOtherText_HowManyToToss
-_080A74C4:
- ldr r0, _080A74C8
- b _080A74E6
- .align 2, 0
-_080A74C8: .4byte gOtherText_ThrewAwayItem
-_080A74CC:
- ldr r0, _080A74D0
- b _080A74E6
- .align 2, 0
-_080A74D0: .4byte gOtherText_OkayToThrowAwayPrompt
-_080A74D4:
- ldr r0, _080A74D8
- b _080A74E6
- .align 2, 0
-_080A74D8: .4byte gOtherText_HowManyToDeposit
-_080A74DC:
- ldr r0, _080A74E0
- b _080A74E6
- .align 2, 0
-_080A74E0: .4byte gOtherText_DepositedItems
-_080A74E4:
- ldr r0, _080A74F0
-_080A74E6:
- ldrb r1, [r4, 0x1]
- bl sub_80A4A98
- b _080A74FC
- .align 2, 0
-_080A74F0: .4byte gOtherText_NoRoomForItems
-_080A74F4:
- ldr r0, _080A7518
- ldrb r1, [r4, 0x1]
- bl sub_80A4A98
-_080A74FC:
- ldrb r0, [r4, 0x1]
- adds r0, 0x1
- strb r0, [r4, 0x1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bne _080A7512
- movs r0, 0
- strb r0, [r4]
- bl sub_80A7918
-_080A7512:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7518: .4byte gOtherText_CantStoreSomeoneItem
- thumb_func_end sub_80A7420
-
- thumb_func_start sub_80A751C
-sub_80A751C: @ 80A751C
- ldr r1, _080A7524
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7524: .4byte gUnknown_0203853C
- thumb_func_end sub_80A751C
-
- thumb_func_start sub_80A7528
-sub_80A7528: @ 80A7528
- push {r4,lr}
- ldr r4, _080A7544
- movs r1, 0
- strb r1, [r4, 0x1]
- strb r0, [r4, 0x2]
- bl sub_80A78F4
- cmp r0, 0x1
- beq _080A755E
- cmp r0, 0x1
- bgt _080A7548
- cmp r0, 0
- beq _080A754E
- b _080A7566
- .align 2, 0
-_080A7544: .4byte gUnknown_0203853C
-_080A7548:
- cmp r0, 0x2
- beq _080A7562
- b _080A7566
-_080A754E:
- movs r0, 0x2
- strb r0, [r4]
-_080A7552:
- bl sub_80A7420
- ldrb r0, [r4]
- cmp r0, 0
- bne _080A7552
- b _080A7566
-_080A755E:
- movs r0, 0x3
- b _080A7564
-_080A7562:
- movs r0, 0x1
-_080A7564:
- strb r0, [r4]
-_080A7566:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7528
-
- thumb_func_start sub_80A756C
-sub_80A756C: @ 80A756C
- push {r4,lr}
- ldr r4, _080A758C
- ldrb r0, [r4]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A7580
- bl sub_80A7918
-_080A7580:
- movs r0, 0
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A758C: .4byte gUnknown_0203853C
- thumb_func_end sub_80A756C
-
- thumb_func_start sub_80A7590
-sub_80A7590: @ 80A7590
- push {lr}
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- bl sub_80A756C
- pop {r0}
- bx r0
- thumb_func_end sub_80A7590
-
- thumb_func_start sub_80A75A8
-sub_80A75A8: @ 80A75A8
- push {lr}
- ldr r1, _080A75C0
- ldrb r0, [r1]
- subs r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A75BC
- movs r0, 0x1
- strb r0, [r1]
-_080A75BC:
- pop {r0}
- bx r0
- .align 2, 0
-_080A75C0: .4byte gUnknown_0203853C
- thumb_func_end sub_80A75A8
-
- thumb_func_start sub_80A75C4
-sub_80A75C4: @ 80A75C4
- push {lr}
- ldr r1, _080A75D8
- ldrb r0, [r1]
- cmp r0, 0
- beq _080A75DC
- cmp r0, 0x1
- bne _080A75E0
- movs r0, 0x3
- strb r0, [r1]
- b _080A75E0
- .align 2, 0
-_080A75D8: .4byte gUnknown_0203853C
-_080A75DC:
- bl sub_80A7918
-_080A75E0:
- pop {r0}
- bx r0
- thumb_func_end sub_80A75C4
-
- thumb_func_start sub_80A75E4
-sub_80A75E4: @ 80A75E4
- push {r4,r5,lr}
- ldr r4, _080A7628
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A7622
- bl sub_80A7988
- adds r5, r0, 0
- cmp r5, 0
- bne _080A7622
- ldr r0, _080A762C
- ldrb r0, [r0]
- ldrb r2, [r4, 0x1]
- adds r1, r2, 0
- movs r3, 0x1
- bl sub_80A47E8
- ldrb r0, [r4, 0x1]
- adds r0, 0x1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x2]
- movs r1, 0x7
- cmp r0, 0
- beq _080A7616
- movs r1, 0x5
-_080A7616:
- ldrb r0, [r4, 0x1]
- cmp r1, r0
- bge _080A7622
- strb r5, [r4]
- bl sub_80A78E8
-_080A7622:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7628: .4byte gUnknown_02038540
-_080A762C: .4byte gUnknown_02038563
- thumb_func_end sub_80A75E4
-
- thumb_func_start sub_80A7630
-sub_80A7630: @ 80A7630
- ldr r1, _080A7638
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7638: .4byte gUnknown_02038540
- thumb_func_end sub_80A7630
-
- thumb_func_start sub_80A763C
-sub_80A763C: @ 80A763C
- push {r4,lr}
- ldr r4, _080A7650
- bl sub_80A78C4
- adds r1, r0, 0
- cmp r1, 0
- beq _080A7654
- cmp r1, 0x1
- beq _080A7668
- b _080A7670
- .align 2, 0
-_080A7650: .4byte gUnknown_02038540
-_080A7654:
- ldr r0, _080A7664
- ldrb r0, [r0]
- movs r1, 0
- movs r2, 0x7
- bl sub_80A48E8
- b _080A7670
- .align 2, 0
-_080A7664: .4byte gUnknown_02038563
-_080A7668:
- movs r0, 0
- strb r1, [r4]
- strb r0, [r4, 0x1]
- strb r0, [r4, 0x2]
-_080A7670:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A763C
-
- thumb_func_start sub_80A7678
-sub_80A7678: @ 80A7678
- push {r4,lr}
- ldr r4, _080A7690
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A7686
- bl sub_80A78E8
-_080A7686:
- movs r0, 0
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7690: .4byte gUnknown_02038540
- thumb_func_end sub_80A7678
-
- thumb_func_start sub_80A7694
-sub_80A7694: @ 80A7694
- ldr r1, _080A769C
- movs r0, 0x1
- strb r0, [r1, 0x2]
- bx lr
- .align 2, 0
-_080A769C: .4byte gUnknown_02038540
- thumb_func_end sub_80A7694
-
- thumb_func_start sub_80A76A0
-sub_80A76A0: @ 80A76A0
- push {lr}
- movs r0, 0xE
- movs r1, 0x2
- movs r2, 0x1D
- movs r3, 0x12
- bl MenuZeroFillWindowRect
- bl sub_80A7678
- pop {r0}
- bx r0
- thumb_func_end sub_80A76A0
-
- thumb_func_start sub_80A76B8
-sub_80A76B8: @ 80A76B8
- push {lr}
- ldr r0, _080A76CC
- movs r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A76C6
- movs r1, 0x1
-_080A76C6:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A76CC: .4byte gUnknown_02038540
- thumb_func_end sub_80A76B8
-
- thumb_func_start sub_80A76D0
-sub_80A76D0: @ 80A76D0
- push {lr}
- ldr r0, _080A76E4
- movs r1, 0
- ldrb r0, [r0, 0x1]
- cmp r0, 0x5
- bls _080A76DE
- movs r1, 0x1
-_080A76DE:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A76E4: .4byte gUnknown_02038540
- thumb_func_end sub_80A76D0
-
- thumb_func_start sub_80A76E8
-sub_80A76E8: @ 80A76E8
- push {r4,lr}
- ldr r4, _080A7708
- ldrb r0, [r4]
- cmp r0, 0x1
- bne _080A7702
- ldrb r0, [r4, 0x1]
- ldr r1, [r4, 0x4]
- ldr r2, [r4, 0x8]
- ldrh r3, [r4, 0x2]
- bl DisplayItemMessageOnField
- movs r0, 0
- strb r0, [r4]
-_080A7702:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7708: .4byte gUnknown_02038544
- thumb_func_end sub_80A76E8
-
- thumb_func_start sub_80A770C
-sub_80A770C: @ 80A770C
- ldr r1, _080A7714
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7714: .4byte gUnknown_02038544
- thumb_func_end sub_80A770C
-
- thumb_func_start DisplayCannotUseItemMessage
-DisplayCannotUseItemMessage: @ 80A7718
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- adds r7, r1, 0
- mov r8, r2
- adds r6, r3, 0
- ldr r4, _080A7738
- bl sub_80A7924
- cmp r0, 0
- beq _080A773C
- cmp r0, 0x2
- beq _080A774E
- b _080A775C
- .align 2, 0
-_080A7738: .4byte gUnknown_02038544
-_080A773C:
- lsls r0, r5, 24
- lsrs r0, 24
- lsls r3, r6, 16
- lsrs r3, 16
- adds r1, r7, 0
- mov r2, r8
- bl DisplayItemMessageOnField
- b _080A775C
-_080A774E:
- movs r0, 0x1
- strb r0, [r4]
- strb r5, [r4, 0x1]
- str r7, [r4, 0x4]
- mov r0, r8
- str r0, [r4, 0x8]
- strh r6, [r4, 0x2]
-_080A775C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end DisplayCannotUseItemMessage
-
- thumb_func_start sub_80A7768
-sub_80A7768: @ 80A7768
- push {r4,lr}
- ldr r4, _080A77A8
- ldrb r0, [r4]
- cmp r0, 0x2
- bne _080A7814
- ldrb r1, [r4, 0x1]
- cmp r1, 0
- beq _080A780E
- ldrb r0, [r4, 0x2]
- cmp r0, 0x1
- beq _080A77B4
- ldr r2, _080A77AC
- ldr r0, _080A77B0
- ldr r0, [r0]
- adds r0, r1, r0
- subs r0, 0x1
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r2
- ldr r0, [r0]
- subs r1, 0x1
- lsls r1, 1
- adds r1, 0x1
- ldrb r2, [r4, 0x3]
- adds r2, r1
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0x7
- bl MenuPrint
- b _080A77FC
- .align 2, 0
-_080A77A8: .4byte gUnknown_02038550
-_080A77AC: .4byte gUnknown_083C1640
-_080A77B0: .4byte gUnknown_03000704
-_080A77B4:
- cmp r1, 0x1
- bne _080A77C8
- ldr r0, _080A77C4
- ldrh r0, [r0]
- bl sub_80A4B90
- adds r3, r0, 0
- b _080A77DC
- .align 2, 0
-_080A77C4: .4byte word_203855E
-_080A77C8:
- ldr r2, _080A781C
- ldrb r0, [r4, 0x1]
- ldr r1, _080A7820
- ldr r1, [r1]
- adds r0, r1
- subs r0, 0x1
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r2
- ldr r3, [r0]
-_080A77DC:
- ldrb r2, [r4, 0x1]
- subs r2, 0x1
- asrs r0, r2, 1
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- ands r2, r0
- lsls r2, 1
- adds r2, 0x8
- adds r0, r3, 0
- bl MenuPrint
-_080A77FC:
- ldr r1, _080A7824
- ldrb r0, [r4, 0x1]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080A780E
- movs r0, 0
- strb r0, [r4]
- bl sub_80A7970
-_080A780E:
- ldrb r0, [r4, 0x1]
- adds r0, 0x1
- strb r0, [r4, 0x1]
-_080A7814:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A781C: .4byte gUnknown_083C1640
-_080A7820: .4byte gUnknown_03000704
-_080A7824: .4byte gUnknown_02038564
- thumb_func_end sub_80A7768
-
- thumb_func_start sub_80A7828
-sub_80A7828: @ 80A7828
- ldr r1, _080A7830
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7830: .4byte gUnknown_02038550
- thumb_func_end sub_80A7828
-
- thumb_func_start sub_80A7834
-sub_80A7834: @ 80A7834
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r4, _080A784C
- bl sub_80A7958
- cmp r0, 0x1
- beq _080A7850
- cmp r0, 0x2
- beq _080A7856
- b _080A7862
- .align 2, 0
-_080A784C: .4byte gUnknown_02038550
-_080A7850:
- movs r1, 0
- movs r0, 0x2
- b _080A785A
-_080A7856:
- movs r1, 0
- movs r0, 0x1
-_080A785A:
- strb r0, [r4]
- strb r1, [r4, 0x1]
- strb r5, [r4, 0x2]
- strb r6, [r4, 0x3]
-_080A7862:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7834
-
- thumb_func_start sub_80A7868
-sub_80A7868: @ 80A7868
- push {lr}
- ldr r1, _080A787C
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _080A7876
- movs r0, 0x1
- strb r0, [r1]
-_080A7876:
- pop {r0}
- bx r0
- .align 2, 0
-_080A787C: .4byte gUnknown_02038550
- thumb_func_end sub_80A7868
-
- thumb_func_start sub_80A7880
-sub_80A7880: @ 80A7880
- push {lr}
- ldr r1, _080A7894
- ldrb r0, [r1]
- cmp r0, 0
- beq _080A7898
- cmp r0, 0x1
- bne _080A789C
- movs r0, 0x2
- strb r0, [r1]
- b _080A789C
- .align 2, 0
-_080A7894: .4byte gUnknown_02038550
-_080A7898:
- bl sub_80A7970
-_080A789C:
- pop {r0}
- bx r0
- thumb_func_end sub_80A7880
-
- thumb_func_start rfu_lacks_rfufunc
-rfu_lacks_rfufunc: @ 80A78A0
- push {lr}
- ldr r0, _080A78B4
- movs r1, 0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A78AE
- movs r1, 0x1
-_080A78AE:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A78B4: .4byte gUnknown_02038550
- thumb_func_end rfu_lacks_rfufunc
-
- thumb_func_start sub_80A78B8
-sub_80A78B8: @ 80A78B8
- ldr r1, _080A78C0
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A78C0: .4byte gUnknown_02038554
- thumb_func_end sub_80A78B8
-
- thumb_func_start sub_80A78C4
-sub_80A78C4: @ 80A78C4
- push {lr}
- ldr r0, _080A78DC
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A78E0
- bl sub_80A7868
- bl sub_80A75A8
- movs r0, 0x1
- b _080A78E2
- .align 2, 0
-_080A78DC: .4byte gLinkOpen
-_080A78E0:
- movs r0, 0
-_080A78E2:
- pop {r1}
- bx r1
- thumb_func_end sub_80A78C4
-
- thumb_func_start sub_80A78E8
-sub_80A78E8: @ 80A78E8
- push {lr}
- bl sub_80A7880
- pop {r0}
- bx r0
- thumb_func_end sub_80A78E8
-
- thumb_func_start sub_80A78F4
-sub_80A78F4: @ 80A78F4
- push {lr}
- ldr r0, _080A790C
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A7910
- bl sub_80A76B8
- movs r1, 0x2
- cmp r0, 0
- beq _080A7912
- movs r1, 0x1
- b _080A7912
- .align 2, 0
-_080A790C: .4byte gLinkOpen
-_080A7910:
- movs r1, 0
-_080A7912:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80A78F4
-
- thumb_func_start sub_80A7918
-sub_80A7918: @ 80A7918
- push {lr}
- bl sub_80A76E8
- pop {r0}
- bx r0
- thumb_func_end sub_80A7918
-
- thumb_func_start sub_80A7924
-sub_80A7924: @ 80A7924
- push {lr}
- ldr r0, _080A7948
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080A7942
- bl sub_80A76B8
- cmp r0, 0
- bne _080A7942
- bl sub_80A76D0
- cmp r0, 0
- beq _080A794C
- bl sub_80A7678
-_080A7942:
- movs r0, 0
- b _080A7952
- .align 2, 0
-_080A7948: .4byte gLinkOpen
-_080A794C:
- bl sub_80A7694
- movs r0, 0x2
-_080A7952:
- pop {r1}
- bx r1
- thumb_func_end sub_80A7924
-
- thumb_func_start sub_80A7958
-sub_80A7958: @ 80A7958
- push {lr}
- bl sub_80A76B8
- cmp r0, 0
- beq _080A796A
- bl sub_80A75A8
- movs r0, 0x1
- b _080A796C
-_080A796A:
- movs r0, 0x2
-_080A796C:
- pop {r1}
- bx r1
- thumb_func_end sub_80A7958
-
- thumb_func_start sub_80A7970
-sub_80A7970: @ 80A7970
- push {lr}
- bl sub_80A75C4
- pop {r0}
- bx r0
- thumb_func_end sub_80A7970
-
- thumb_func_start sub_80A797C
-sub_80A797C: @ 80A797C
- ldr r1, _080A7984
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080A7984: .4byte gUnknown_02038554
- thumb_func_end sub_80A797C
-
- thumb_func_start sub_80A7988
-sub_80A7988: @ 80A7988
- ldr r1, _080A7994
- ldrb r0, [r1]
- movs r2, 0
- strb r2, [r1]
- bx lr
- .align 2, 0
-_080A7994: .4byte gUnknown_02038554
- thumb_func_end sub_80A7988
-
- thumb_func_start sub_80A7998
-sub_80A7998: @ 80A7998
- adds r2, r0, 0
- adds r2, 0x2A
- movs r1, 0
- strb r1, [r2]
- strh r1, [r0, 0x2E]
- strh r1, [r0, 0x30]
- strh r1, [r0, 0x32]
- strh r1, [r0, 0x34]
- strh r1, [r0, 0x36]
- ldr r1, _080A79B0
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080A79B0: .4byte sub_80A79B4
- thumb_func_end sub_80A7998
-
- thumb_func_start sub_80A79B4
-sub_80A79B4: @ 80A79B4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080A79E4
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A79CC
- adds r0, r4, 0
- bl sub_80A79EC
-_080A79CC:
- ldr r0, _080A79E8
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080A79DE
- adds r0, r4, 0
- bl sub_80A7A94
-_080A79DE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A79E4: .4byte gUnknown_0203855B
-_080A79E8: .4byte gUnknown_0203855C
- thumb_func_end sub_80A79B4
-
- thumb_func_start sub_80A79EC
-sub_80A79EC: @ 80A79EC
- push {r4-r6,lr}
- adds r2, r0, 0
- movs r0, 0x34
- ldrsh r4, [r2, r0]
- cmp r4, 0
- beq _080A79FE
- cmp r4, 0x1
- beq _080A7A54
- b _080A7A8A
-_080A79FE:
- ldr r5, _080A7A28
- ldrb r6, [r5]
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0x6
- beq _080A7A2C
- adds r3, r2, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- adds r0, r2, 0
- adds r0, 0x2A
- strb r6, [r0]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- strb r0, [r5]
- b _080A7A8A
- .align 2, 0
-_080A7A28: .4byte gUnknown_0203855B
-_080A7A2C:
- adds r3, r2, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- adds r0, r2, 0
- adds r0, 0x2A
- strb r4, [r0]
- ldrh r0, [r2, 0x22]
- subs r0, 0x4
- strh r0, [r2, 0x22]
- movs r0, 0x4
- strh r0, [r2, 0x2E]
- movs r0, 0x1
- strh r0, [r2, 0x34]
- adds r0, r2, 0
- bl sub_80A7AE4
- b _080A7A8A
-_080A7A54:
- ldrh r4, [r2, 0x2E]
- movs r0, 0x2E
- ldrsh r3, [r2, r0]
- cmp r3, 0
- beq _080A7A7C
- ldrh r1, [r2, 0x30]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080A7A72
- ldrh r0, [r2, 0x22]
- adds r0, 0x1
- strh r0, [r2, 0x22]
- subs r0, r4, 0x1
- strh r0, [r2, 0x2E]
-_080A7A72:
- adds r0, r1, 0x1
- movs r1, 0x1
- ands r0, r1
- strh r0, [r2, 0x30]
- b _080A7A8A
-_080A7A7C:
- ldr r1, _080A7A90
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- strb r0, [r1]
- strh r3, [r2, 0x30]
- strh r3, [r2, 0x34]
-_080A7A8A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7A90: .4byte gUnknown_0203855B
- thumb_func_end sub_80A79EC
-
- thumb_func_start sub_80A7A94
-sub_80A7A94: @ 80A7A94
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A7AA6
- cmp r0, 0x1
- beq _080A7AC8
- b _080A7ADC
-_080A7AA6:
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080A7AC4
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- movs r0, 0x1
- strh r0, [r4, 0x36]
- b _080A7ADC
- .align 2, 0
-_080A7AC4: .4byte gSpriteAffineAnimTable_83C1CC4
-_080A7AC8:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _080A7ADC
- adds r0, r4, 0
- bl sub_80A7AE4
-_080A7ADC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7A94
-
- thumb_func_start sub_80A7AE4
-sub_80A7AE4: @ 80A7AE4
- push {lr}
- ldr r2, _080A7B0C
- movs r1, 0
- strb r1, [r2]
- ldrb r2, [r0, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x1]
- movs r1, 0
- strh r1, [r0, 0x32]
- strh r1, [r0, 0x36]
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- pop {r0}
- bx r0
- .align 2, 0
-_080A7B0C: .4byte gUnknown_0203855C
- thumb_func_end sub_80A7AE4
-
- thumb_func_start sub_80A7B10
-sub_80A7B10: @ 80A7B10
- push {lr}
- ldr r0, _080A7B24
- movs r1, 0x3A
- movs r2, 0x28
- movs r3, 0
- bl CreateSprite
- pop {r0}
- bx r0
- .align 2, 0
-_080A7B24: .4byte gSpriteTemplate_83C1CE0
- thumb_func_end sub_80A7B10
-
- thumb_func_start sub_80A7B28
-sub_80A7B28: @ 80A7B28
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- strh r0, [r4, 0x34]
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_80A7B6C
- ldr r0, _080A7B44
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7B44: .4byte sub_80A7B6C
- thumb_func_end sub_80A7B28
-
- thumb_func_start sub_80A7B48
-sub_80A7B48: @ 80A7B48
- ldrh r2, [r0, 0x38]
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- movs r3, 0x1
- ands r1, r3
- subs r2, r1
- adds r1, r0, 0
- adds r1, 0x28
- strb r2, [r1]
- ldrh r2, [r0, 0x3A]
- ldrh r1, [r0, 0x2E]
- adds r1, 0x1
- ands r1, r3
- subs r2, r1
- adds r0, 0x29
- strb r2, [r0]
- bx lr
- thumb_func_end sub_80A7B48
-
- thumb_func_start sub_80A7B6C
-sub_80A7B6C: @ 80A7B6C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x3C
- ldrsh r2, [r4, r0]
- cmp r2, 0
- beq _080A7C16
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080A7B86
- cmp r0, 0x1
- beq _080A7BD4
- b _080A7C16
-_080A7B86:
- ldrb r0, [r4, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r0
- movs r0, 0x1
- orrs r1, r0
- strb r1, [r4, 0x1]
- cmp r2, 0x1
- bne _080A7BA0
- ldr r0, _080A7B9C
- b _080A7BA2
- .align 2, 0
-_080A7B9C: .4byte gSpriteAffineAnimTable_83C1D20
-_080A7BA0:
- ldr r0, _080A7BD0
-_080A7BA2:
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- movs r0, 0x1
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- adds r0, 0x28
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0x3A]
- adds r0, r4, 0
- bl sub_80A7B48
- b _080A7C16
- .align 2, 0
-_080A7BD0: .4byte gSpriteAffineAnimTable_83C1D20 + 0x4
-_080A7BD4:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_80A7B48
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x20
- bne _080A7C16
- strh r5, [r4, 0x2E]
- strh r5, [r4, 0x34]
- ldrh r1, [r4, 0x38]
- adds r0, r4, 0
- adds r0, 0x28
- strb r1, [r0]
- ldrh r0, [r4, 0x3A]
- adds r1, r4, 0
- adds r1, 0x29
- strb r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080A7C1C
- str r0, [r4, 0x1C]
-_080A7C16:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7C1C: .4byte SpriteCallbackDummy
- thumb_func_end sub_80A7B6C
-
- thumb_func_start sub_80A7C20
-sub_80A7C20: @ 80A7C20
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080A7C54
- bl LoadSpritePalette
- ldr r0, _080A7C58
- movs r1, 0x10
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- ldr r1, _080A7C5C
- strb r0, [r1]
- ldr r2, _080A7C60
- ldrb r1, [r1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x3C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7C54: .4byte gUnknown_083C1D30
-_080A7C58: .4byte gSpriteTemplate_83C1D38
-_080A7C5C: .4byte gUnknown_02038568
-_080A7C60: .4byte gSprites
- thumb_func_end sub_80A7C20
-
- thumb_func_start sub_80A7C64
-sub_80A7C64: @ 80A7C64
- push {r4,r5,lr}
- movs r0, 0x8
- bl FreeSpritePaletteByTag
- ldr r5, _080A7C98
- ldr r4, _080A7C9C
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7C98: .4byte gSprites
-_080A7C9C: .4byte gUnknown_02038568
- thumb_func_end sub_80A7C64
-
- thumb_func_start sub_80A7CA0
-sub_80A7CA0: @ 80A7CA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- adds r4, r1, 0
- movs r2, 0x80
- lsls r2, 4
- adds r0, r4, 0
- movs r1, 0
- bl memset
- movs r0, 0x80
- lsls r0, 1
- adds r4, r0
- movs r7, 0
-_080A7CBE:
- adds r4, 0x20
- movs r5, 0
- adds r1, r7, 0x1
- mov r8, r1
-_080A7CC6:
- adds r0, r4, 0
- adds r1, r6, 0
- movs r2, 0x20
- bl memcpy
- adds r4, 0x20
- adds r6, 0x20
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080A7CC6
- cmp r7, 0x5
- beq _080A7CE4
- adds r4, 0x20
-_080A7CE4:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r7, r0, 24
- cmp r7, 0x5
- bls _080A7CBE
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7CA0
-
- thumb_func_start sub_80A7CF8
-sub_80A7CF8: @ 80A7CF8
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2A
- bne _080A7D44
- bl sub_80B4940
- cmp r0, 0x1
- bne _080A7D44
- ldr r4, _080A7D34
- ldr r1, _080A7D38
- adds r0, r4, 0
- bl sub_80A7CA0
- movs r0, 0x90
- lsls r0, 3
- adds r4, r0
- str r4, [sp]
- ldr r1, _080A7D3C
- ldr r0, [sp, 0x4]
- ands r0, r1
- ldr r1, _080A7D40
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpritePalette
- b _080A7D72
- .align 2, 0
-_080A7D34: .4byte gSaveBlock1 + 0x317C
-_080A7D38: .4byte 0x02000000
-_080A7D3C: .4byte 0xffff0000
-_080A7D40: .4byte 0x00007544
-_080A7D44:
- ldr r5, _080A7D7C
- lsls r4, 3
- adds r0, r5, 0x4
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [sp]
- mov r1, sp
- ldr r0, _080A7D80
- strh r0, [r1, 0x4]
- mov r0, sp
- bl LoadCompressedObjectPalette
- adds r4, r5
- ldr r0, [r4]
- ldr r4, _080A7D84
- adds r1, r4, 0
- bl sub_800D238
- ldr r0, _080A7D88
- adds r1, r4, r0
- adds r0, r4, 0
- bl sub_80A7CA0
-_080A7D72:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7D7C: .4byte gBerryGraphicsTable
-_080A7D80: .4byte 0x00007544
-_080A7D84: .4byte 0x02001000
-_080A7D88: .4byte 0xfffff000
- thumb_func_end sub_80A7CF8
-
- thumb_func_start sub_80A7D8C
-sub_80A7D8C: @ 80A7D8C
- push {r4,r5,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- bl sub_80A7CF8
- ldr r0, _080A7DC0
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A7DC0: .4byte gSpriteTemplate_83C1D74
- thumb_func_end sub_80A7D8C
-
- thumb_func_start sub_80A7DC4
-sub_80A7DC4: @ 80A7DC4
- ldr r1, _080A7DD0
- ldrh r1, [r1]
- negs r1, r1
- strh r1, [r0, 0x26]
- bx lr
- .align 2, 0
-_080A7DD0: .4byte gUnknown_030041B4
- thumb_func_end sub_80A7DC4
-
- thumb_func_start sub_80A7DD4
-sub_80A7DD4: @ 80A7DD4
- push {lr}
- ldr r0, _080A7DE8
- bl FreeSpritePaletteByTag
- movs r0, 0x8
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_080A7DE8: .4byte 0x00007544
- thumb_func_end sub_80A7DD4
-
- thumb_func_start sub_80A7DEC
-sub_80A7DEC: @ 80A7DEC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- mov r8, r3
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _080A7E50
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- bl sub_80A7CF8
- ldr r0, _080A7E54
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- adds r4, r1, 0
- mov r0, r8
- cmp r0, 0x1
- bne _080A7E42
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080A7E58
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080A7E42:
- adds r0, r4, 0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080A7E50: .4byte 0x00007544
-_080A7E54: .4byte gSpriteTemplate_83C1E04
-_080A7E58: .4byte gSprites
- thumb_func_end sub_80A7DEC
-
- thumb_func_start sub_80A7E5C
-sub_80A7E5C: @ 80A7E5C
- push {lr}
- adds r1, r0, 0
- ldr r0, _080A7E78
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x63
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080A7E78: .4byte gSpriteTemplate_83C1F98
- thumb_func_end sub_80A7E5C
-
- thumb_func_start sub_80A7E7C
-sub_80A7E7C: @ 80A7E7C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080A7E9C
- ldrb r0, [r4]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- bne _080A7EA0
- adds r0, r5, 0
- bl move_anim_task_del
- b _080A7EDC
- .align 2, 0
-_080A7E9C: .4byte gUnknown_03004B00
-_080A7EA0:
- ldr r1, _080A7EE4
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x24]
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x26]
- ldr r1, _080A7EE8
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x8]
- ldrh r1, [r4, 0x6]
- strh r1, [r0, 0xA]
- ldrh r1, [r4, 0x8]
- strh r1, [r0, 0xC]
- ldrh r1, [r4, 0x8]
- strh r1, [r0, 0xE]
- ldrh r1, [r4, 0x2]
- strh r1, [r0, 0x10]
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x12]
- ldr r1, _080A7EEC
- str r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_080A7EDC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A7EE4: .4byte gSprites
-_080A7EE8: .4byte gTasks
-_080A7EEC: .4byte sub_80A7EF0
- thumb_func_end sub_80A7E7C
-
- thumb_func_start sub_80A7EF0
-sub_80A7EF0: @ 80A7EF0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080A7F2C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r0, [r3, 0xE]
- movs r2, 0xE
- ldrsh r5, [r3, r2]
- adds r7, r1, 0
- cmp r5, 0
- bne _080A7F96
- ldr r2, _080A7F30
- movs r6, 0x8
- ldrsh r1, [r3, r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- movs r6, 0x24
- ldrsh r0, [r1, r6]
- adds r6, r2, 0
- cmp r0, 0
- bne _080A7F34
- ldrh r0, [r3, 0x10]
- strh r0, [r1, 0x24]
- b _080A7F36
- .align 2, 0
-_080A7F2C: .4byte gTasks
-_080A7F30: .4byte gSprites
-_080A7F34:
- strh r5, [r1, 0x24]
-_080A7F36:
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r3, r0, r7
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r6
- movs r5, 0x26
- ldrsh r0, [r1, r5]
- cmp r0, 0
- bne _080A7F56
- ldrh r0, [r3, 0x12]
- b _080A7F58
-_080A7F56:
- movs r0, 0
-_080A7F58:
- strh r0, [r1, 0x26]
- adds r0, r2, r4
- lsls r0, 3
- adds r2, r0, r7
- ldrh r0, [r2, 0xC]
- strh r0, [r2, 0xE]
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- bne _080A7F9A
- movs r0, 0x8
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r3, [r0, 0x24]
- movs r5, 0x8
- ldrsh r1, [r2, r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r3, [r0, 0x26]
- adds r0, r4, 0
- bl move_anim_task_del
- b _080A7F9A
-_080A7F96:
- subs r0, 0x1
- strh r0, [r3, 0xE]
-_080A7F9A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A7EF0
-
- thumb_func_start sub_80A7FA0
-sub_80A7FA0: @ 80A7FA0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- ldr r2, _080A7FC8
- ldrh r0, [r2]
- movs r3, 0
- ldrsh r1, [r2, r3]
- cmp r1, 0x3
- bgt _080A7FCC
- lsls r0, 24
- lsrs r0, 24
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- bne _080A8022
- b _080A8026
- .align 2, 0
-_080A7FC8: .4byte gUnknown_03004B00
-_080A7FCC:
- cmp r1, 0x8
- beq _080A8018
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x5
- beq _080A7FEC
- cmp r0, 0x5
- bgt _080A7FE2
- cmp r0, 0x4
- beq _080A7FE8
- b _080A7FF4
-_080A7FE2:
- cmp r0, 0x6
- beq _080A7FF0
- b _080A7FF4
-_080A7FE8:
- movs r0, 0
- b _080A7FF6
-_080A7FEC:
- movs r0, 0x2
- b _080A7FF6
-_080A7FF0:
- movs r0, 0x1
- b _080A7FF6
-_080A7FF4:
- movs r0, 0x3
-_080A7FF6:
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- bne _080A800C
- movs r6, 0x1
-_080A800C:
- ldr r0, _080A8014
- adds r0, r4, r0
- b _080A8020
- .align 2, 0
-_080A8014: .4byte gUnknown_02024BE0
-_080A8018:
- ldr r1, _080A8030
- ldr r0, _080A8034
- ldrb r0, [r0]
- adds r0, r1
-_080A8020:
- ldrb r3, [r0]
-_080A8022:
- cmp r6, 0
- beq _080A8038
-_080A8026:
- adds r0, r5, 0
- bl move_anim_task_del
- b _080A8076
- .align 2, 0
-_080A8030: .4byte gUnknown_02024BE0
-_080A8034: .4byte gUnknown_0202F7C8
-_080A8038:
- ldr r1, _080A807C
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r1
- ldr r2, _080A8080
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x24]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x26]
- ldr r1, _080A8084
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0x8]
- ldrh r1, [r2, 0x6]
- strh r1, [r0, 0xA]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0xC]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0xE]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x10]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x12]
- ldr r1, _080A8088
- str r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_080A8076:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A807C: .4byte gSprites
-_080A8080: .4byte gUnknown_03004B00
-_080A8084: .4byte gTasks
-_080A8088: .4byte sub_80A808C
- thumb_func_end sub_80A7FA0
-
- thumb_func_start sub_80A808C
-sub_80A808C: @ 80A808C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080A80D0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r1
- ldrh r2, [r3, 0xE]
- movs r4, 0xE
- ldrsh r0, [r3, r4]
- mov r12, r1
- cmp r0, 0
- bne _080A8144
- ldr r2, _080A80D4
- movs r7, 0x8
- ldrsh r1, [r3, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, r0, r2
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- ldrh r5, [r3, 0x10]
- movs r7, 0x10
- ldrsh r0, [r3, r7]
- adds r7, r2, 0
- cmp r1, r0
- bne _080A80D8
- negs r0, r5
- strh r0, [r4, 0x24]
- b _080A80DA
- .align 2, 0
-_080A80D0: .4byte gTasks
-_080A80D4: .4byte gSprites
-_080A80D8:
- strh r5, [r4, 0x24]
-_080A80DA:
- lsls r3, r6, 2
- adds r1, r3, r6
- lsls r1, 3
- add r1, r12
- movs r0, 0x8
- ldrsh r2, [r1, r0]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r7
- movs r0, 0x26
- ldrsh r2, [r4, r0]
- mov r8, r2
- ldrh r5, [r1, 0x12]
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- cmp r8, r0
- bne _080A8104
- negs r0, r5
- strh r0, [r4, 0x26]
- b _080A8106
-_080A8104:
- strh r5, [r4, 0x26]
-_080A8106:
- adds r0, r3, r6
- lsls r0, 3
- mov r4, r12
- adds r3, r0, r4
- ldrh r0, [r3, 0xC]
- strh r0, [r3, 0xE]
- ldrh r0, [r3, 0xA]
- subs r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bne _080A8148
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x24]
- movs r4, 0x8
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- strh r2, [r0, 0x26]
- adds r0, r6, 0
- bl move_anim_task_del
- b _080A8148
-_080A8144:
- subs r0, r2, 0x1
- strh r0, [r3, 0xE]
-_080A8148:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80A808C
-
- thumb_func_start sub_80A8154
-sub_80A8154: @ 80A8154
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080A8174
- ldrb r0, [r4]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- bne _080A8178
- adds r0, r5, 0
- bl move_anim_task_del
- b _080A81C6
- .align 2, 0
-_080A8174: .4byte gUnknown_03004B00
-_080A8178:
- ldr r0, _080A81CC
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x2]
- ldrh r2, [r1, 0x24]
- adds r0, r2
- movs r2, 0
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x4]
- ldrh r6, [r1, 0x26]
- adds r0, r6
- strh r0, [r1, 0x26]
- ldr r0, _080A81D0
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- strh r3, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldrh r0, [r4, 0x6]
- strh r0, [r1, 0xC]
- strh r2, [r1, 0xE]
- ldrh r0, [r4, 0x8]
- strh r0, [r1, 0x10]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- lsls r0, 1
- strh r0, [r1, 0x12]
- movs r6, 0x4
- ldrsh r0, [r4, r6]
- lsls r0, 1
- strh r0, [r1, 0x14]
- ldr r2, _080A81D4
- str r2, [r1]
- adds r0, r5, 0
- bl _call_via_r2
-_080A81C6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A81CC: .4byte gSprites
-_080A81D0: .4byte gTasks
-_080A81D4: .4byte sub_80A81D8
- thumb_func_end sub_80A8154
-
- thumb_func_start sub_80A81D8
-sub_80A81D8: @ 80A81D8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080A8230
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- adds r6, r1, 0
- cmp r0, 0
- beq _080A81F6
- b _080A8308
-_080A81F6:
- ldrh r1, [r4, 0xA]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080A8238
- ldr r2, _080A8234
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x12]
- ldrh r3, [r0, 0x24]
- adds r1, r3
- strh r1, [r0, 0x24]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x14]
- ldrh r3, [r0, 0x26]
- adds r1, r3
- strh r1, [r0, 0x26]
- adds r3, r2, 0
- b _080A8262
- .align 2, 0
-_080A8230: .4byte gTasks
-_080A8234: .4byte gSprites
-_080A8238:
- ldr r3, _080A82C4
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x24]
- ldrh r2, [r4, 0x12]
- subs r1, r2
- strh r1, [r0, 0x24]
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- ldrh r2, [r4, 0x14]
- subs r1, r2
- strh r1, [r0, 0x26]
-_080A8262:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r6
- ldrh r0, [r4, 0x10]
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0xA]
- adds r2, r0, 0x1
- strh r2, [r4, 0xA]
- lsls r0, r2, 16
- asrs r0, 16
- movs r6, 0xC
- ldrsh r1, [r4, r6]
- cmp r0, r1
- blt _080A830C
- movs r0, 0x1
- ands r2, r0
- cmp r2, 0
- beq _080A82C8
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- lsrs r2, r0, 31
- adds r0, r2
- asrs r0, 1
- ldrh r6, [r1, 0x24]
- adds r0, r6
- strh r0, [r1, 0x24]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- lsrs r2, r0, 31
- adds r0, r2
- asrs r0, 1
- ldrh r3, [r1, 0x26]
- adds r0, r3
- strh r0, [r1, 0x26]
- b _080A8300
- .align 2, 0
-_080A82C4: .4byte gSprites
-_080A82C8:
- movs r6, 0x8
- ldrsh r0, [r4, r6]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r0, [r2, 0x24]
- subs r0, r1
- strh r0, [r2, 0x24]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- movs r3, 0x14
- ldrsh r1, [r4, r3]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r0, [r2, 0x26]
- subs r0, r1
- strh r0, [r2, 0x26]
-_080A8300:
- adds r0, r5, 0
- bl move_anim_task_del
- b _080A830C
-_080A8308:
- subs r0, r2, 0x1
- strh r0, [r4, 0xE]
-_080A830C:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A81D8
-
- thumb_func_start sub_80A8314
-sub_80A8314: @ 80A8314
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080A8364
- ldrb r0, [r5]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A8368
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r5, 0x2]
- strh r2, [r1, 0x24]
- ldr r2, _080A836C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- strh r0, [r1, 0x8]
- ldrh r0, [r5, 0x2]
- strh r0, [r1, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r1, 0xC]
- ldrh r0, [r5, 0x6]
- strh r0, [r1, 0xE]
- ldrh r0, [r5, 0x8]
- strh r0, [r1, 0x10]
- ldr r2, _080A8370
- str r2, [r1]
- adds r0, r4, 0
- bl _call_via_r2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8364: .4byte gUnknown_03004B00
-_080A8368: .4byte gSprites
-_080A836C: .4byte gTasks
-_080A8370: .4byte sub_80A8374
- thumb_func_end sub_80A8314
-
- thumb_func_start sub_80A8374
-sub_80A8374: @ 80A8374
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, _080A8400
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r2
- ldrb r5, [r3, 0x8]
- ldrh r4, [r3, 0xA]
- ldrh r1, [r3, 0x18]
- adds r0, r1, 0x1
- strh r0, [r3, 0x18]
- movs r7, 0xC
- ldrsh r0, [r3, r7]
- lsls r1, 16
- asrs r1, 16
- mov r12, r2
- ldr r7, _080A8404
- cmp r0, r1
- bne _080A83C6
- movs r0, 0
- strh r0, [r3, 0x18]
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r1, r0, r7
- ldrh r3, [r1, 0x24]
- movs r0, 0x24
- ldrsh r2, [r1, r0]
- lsls r0, r4, 16
- asrs r0, 16
- cmp r2, r0
- bne _080A83BE
- negs r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
-_080A83BE:
- lsls r0, r4, 16
- asrs r0, 16
- adds r0, r3
- strh r0, [r1, 0x24]
-_080A83C6:
- lsls r2, r6, 2
- adds r2, r6
- lsls r2, 3
- add r2, r12
- strh r4, [r2, 0xA]
- ldrh r1, [r2, 0xE]
- ldrh r0, [r2, 0x1A]
- adds r1, r0
- strh r1, [r2, 0x1A]
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r0, r7
- lsls r1, 16
- asrs r1, 24
- strh r1, [r0, 0x26]
- ldrh r0, [r2, 0x10]
- subs r0, 0x1
- strh r0, [r2, 0x10]
- lsls r0, 16
- cmp r0, 0
- bne _080A83F8
- adds r0, r6, 0
- bl move_anim_task_del
-_080A83F8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8400: .4byte gTasks
-_080A8404: .4byte gSprites
- thumb_func_end sub_80A8374
-
- thumb_func_start sub_80A8408
-sub_80A8408: @ 80A8408
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0x1
- ldr r4, _080A847C
- ldrb r0, [r4]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r7, r0, 24
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- ble _080A842C
- movs r0, 0x5
- strh r0, [r4, 0x8]
-_080A842C:
- movs r1, 0
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- adds r3, r4, 0
- ldr r2, _080A8480
- mov r12, r2
- lsls r4, r5, 2
- ldr r2, _080A8484
- mov r8, r2
- cmp r1, r0
- bge _080A8452
- adds r2, r0, 0
-_080A8444:
- lsls r0, r6, 25
- lsrs r6, r0, 24
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, r2
- blt _080A8444
-_080A8452:
- adds r0, r4, r5
- lsls r0, 3
- add r0, r12
- strh r7, [r0, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r0, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r0, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r0, 0xE]
- strh r6, [r0, 0x10]
- mov r1, r8
- str r1, [r0]
- adds r0, r5, 0
- bl _call_via_r8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A847C: .4byte gUnknown_03004B00
-_080A8480: .4byte gTasks
-_080A8484: .4byte sub_80A8488
- thumb_func_end sub_80A8408
-
- thumb_func_start sub_80A8488
-sub_80A8488: @ 80A8488
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, _080A84F8
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrb r4, [r5, 0x8]
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- bl Sin
- ldr r2, _080A84FC
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r4, r1, r2
- strh r0, [r4, 0x24]
- movs r1, 0x12
- ldrsh r0, [r5, r1]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl Cos
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r1, [r5, 0xC]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x10]
- ldrh r1, [r5, 0x12]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x12]
- cmp r0, 0
- bne _080A84E0
- ldrh r0, [r5, 0xE]
- subs r0, 0x1
- strh r0, [r5, 0xE]
-_080A84E0:
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _080A84F2
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r0, r6, 0
- bl move_anim_task_del
-_080A84F2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A84F8: .4byte gTasks
-_080A84FC: .4byte gSprites
- thumb_func_end sub_80A8488
-
- thumb_func_start sub_80A8500
-sub_80A8500: @ 80A8500
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A8528
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A851C
- ldr r1, _080A852C
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080A851C:
- adds r0, r4, 0
- bl sub_80A8408
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8528: .4byte gUnknown_0202F7C8
-_080A852C: .4byte gUnknown_03004B00
- thumb_func_end sub_80A8500
-
- thumb_func_start sub_80A8530
-sub_80A8530: @ 80A8530
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080A8558
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A8560
- ldr r1, _080A855C
- ldrh r0, [r1, 0x2]
- negs r0, r0
- b _080A8564
- .align 2, 0
-_080A8558: .4byte gUnknown_0202F7C8
-_080A855C: .4byte gUnknown_03004B00
-_080A8560:
- ldr r1, _080A8590
- ldrh r0, [r1, 0x2]
-_080A8564:
- strh r0, [r4, 0x30]
- ldrh r2, [r1]
- movs r0, 0
- strh r2, [r4, 0x2E]
- strh r0, [r4, 0x32]
- ldr r1, _080A8594
- ldr r0, _080A8598
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x34]
- strh r2, [r4, 0x36]
- ldr r1, _080A859C
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080A85A0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8590: .4byte gUnknown_03004B00
-_080A8594: .4byte gUnknown_02024BE0
-_080A8598: .4byte gUnknown_0202F7C8
-_080A859C: .4byte sub_80A85A4
-_080A85A0: .4byte sub_8078458
- thumb_func_end sub_80A8530
-
- thumb_func_start sub_80A85A4
-sub_80A85A4: @ 80A85A4
- push {lr}
- ldrh r1, [r0, 0x36]
- strh r1, [r0, 0x2E]
- ldrh r1, [r0, 0x30]
- negs r1, r1
- strh r1, [r0, 0x30]
- ldr r1, _080A85C0
- str r1, [r0, 0x1C]
- ldr r1, _080A85C4
- bl oamt_set_x3A_32
- pop {r0}
- bx r0
- .align 2, 0
-_080A85C0: .4byte sub_8078458
-_080A85C4: .4byte move_anim_8072740
- thumb_func_end sub_80A85A4
-
- thumb_func_start sub_80A85C8
-sub_80A85C8: @ 80A85C8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r5, _080A8608
- ldrb r0, [r5, 0x4]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r5]
- movs r1, 0
- strh r2, [r4, 0x2E]
- strh r1, [r4, 0x30]
- ldrh r1, [r5, 0x2]
- strh r1, [r4, 0x32]
- strh r0, [r4, 0x34]
- strh r2, [r4, 0x36]
- ldr r1, _080A860C
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080A8610
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8608: .4byte gUnknown_03004B00
-_080A860C: .4byte sub_80A8614
-_080A8610: .4byte sub_8078458
- thumb_func_end sub_80A85C8
-
- thumb_func_start sub_80A8614
-sub_80A8614: @ 80A8614
- push {lr}
- ldrh r1, [r0, 0x36]
- strh r1, [r0, 0x2E]
- ldrh r1, [r0, 0x32]
- negs r1, r1
- strh r1, [r0, 0x32]
- ldr r1, _080A8630
- str r1, [r0, 0x1C]
- ldr r1, _080A8634
- bl oamt_set_x3A_32
- pop {r0}
- bx r0
- .align 2, 0
-_080A8630: .4byte sub_8078458
-_080A8634: .4byte move_anim_8072740
- thumb_func_end sub_80A8614
-
- thumb_func_start sub_80A8638
-sub_80A8638: @ 80A8638
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r0, _080A8650
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A865C
- ldr r1, _080A8654
- ldr r0, _080A8658
- b _080A8660
- .align 2, 0
-_080A8650: .4byte gUnknown_03004B00
-_080A8654: .4byte gUnknown_02024BE0
-_080A8658: .4byte gUnknown_0202F7C8
-_080A865C:
- ldr r1, _080A86C0
- ldr r0, _080A86C4
-_080A8660:
- ldrb r0, [r0]
- adds r0, r1
- ldrb r7, [r0]
- ldr r5, _080A86C8
- ldrh r0, [r5, 0x4]
- movs r3, 0
- strh r0, [r6, 0x2E]
- ldr r0, _080A86CC
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r6, 0x30]
- ldrh r0, [r4, 0x20]
- strh r0, [r6, 0x32]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r6, 0x34]
- ldrh r0, [r4, 0x22]
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- str r3, [sp]
- bl sub_8078A5C
- ldr r3, [sp]
- strh r3, [r6, 0x34]
- strh r3, [r6, 0x36]
- ldrh r0, [r4, 0x24]
- strh r0, [r6, 0x38]
- ldrh r0, [r4, 0x26]
- strh r0, [r6, 0x3A]
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080A86D0
- strh r3, [r6, 0x32]
- b _080A86D6
- .align 2, 0
-_080A86C0: .4byte gUnknown_02024BE0
-_080A86C4: .4byte gUnknown_0202F7C9
-_080A86C8: .4byte gUnknown_03004B00
-_080A86CC: .4byte gSprites
-_080A86D0:
- cmp r0, 0x2
- bne _080A86D6
- strh r3, [r6, 0x30]
-_080A86D6:
- ldr r0, _080A86EC
- ldrh r1, [r0, 0x2]
- lsls r0, r7, 8
- orrs r0, r1
- strh r0, [r6, 0x3C]
- ldr r0, _080A86F0
- str r0, [r6, 0x1C]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A86EC: .4byte gUnknown_03004B00
-_080A86F0: .4byte sub_80A86F4
- thumb_func_end sub_80A8638
-
- thumb_func_start sub_80A86F4
-sub_80A86F4: @ 80A86F4
- push {r4-r6,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x3C]
- lsls r1, r0, 24
- lsrs r4, r1, 24
- adds r5, r4, 0
- lsls r0, 16
- asrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080A8730
- adds r3, r1, r0
- ldrh r0, [r2, 0x2E]
- movs r6, 0x2E
- ldrsh r1, [r2, r6]
- cmp r1, 0
- bne _080A8734
- cmp r4, 0x1
- bhi _080A871E
- strh r1, [r3, 0x24]
-_080A871E:
- cmp r5, 0x2
- beq _080A8726
- cmp r5, 0
- bne _080A8728
-_080A8726:
- strh r1, [r3, 0x26]
-_080A8728:
- adds r0, r2, 0
- bl move_anim_8072740
- b _080A875E
- .align 2, 0
-_080A8730: .4byte gSprites
-_080A8734:
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x30]
- ldrh r0, [r2, 0x34]
- adds r1, r0
- strh r1, [r2, 0x34]
- ldrh r0, [r2, 0x32]
- ldrh r4, [r2, 0x36]
- adds r0, r4
- strh r0, [r2, 0x36]
- lsls r1, 16
- asrs r1, 24
- ldrh r6, [r2, 0x38]
- adds r1, r6
- strh r1, [r3, 0x24]
- ldrh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r2, 0x3A]
- adds r0, r2
- strh r0, [r3, 0x26]
-_080A875E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A86F4
-
- thumb_func_start sub_80A8764
-sub_80A8764: @ 80A8764
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _080A8778
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A8780
- ldr r0, _080A877C
- b _080A8782
- .align 2, 0
-_080A8778: .4byte gUnknown_03004B00
-_080A877C: .4byte gUnknown_0202F7C8
-_080A8780:
- ldr r0, _080A8800
-_080A8782:
- ldrb r2, [r0]
- ldr r0, _080A8804
- adds r0, r2, r0
- ldrb r6, [r0]
- adds r0, r2, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A87AC
- ldr r1, _080A8808
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080A87AC
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080A87AC:
- ldr r2, _080A8808
- ldrh r0, [r2, 0x8]
- movs r4, 0
- strh r0, [r5, 0x2E]
- ldr r0, _080A880C
- lsls r1, r6, 4
- adds r1, r6
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r2, 0x2]
- ldrh r3, [r1, 0x20]
- adds r0, r3
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x22]
- strh r0, [r5, 0x34]
- ldrh r0, [r2, 0x4]
- ldrh r1, [r1, 0x22]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_8078A5C
- strh r4, [r5, 0x34]
- strh r4, [r5, 0x36]
- strh r6, [r5, 0x38]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _080A8810
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080A8814
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8800: .4byte gUnknown_0202F7C9
-_080A8804: .4byte gUnknown_02024BE0
-_080A8808: .4byte gUnknown_03004B00
-_080A880C: .4byte gSprites
-_080A8810: .4byte move_anim_8072740
-_080A8814: .4byte sub_80784A8
- thumb_func_end sub_80A8764
-
- thumb_func_start sub_80A8818
-sub_80A8818: @ 80A8818
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080A8838
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080A8840
- ldr r0, _080A883C
- b _080A8842
- .align 2, 0
-_080A8838: .4byte gUnknown_03004B00
-_080A883C: .4byte gUnknown_0202F7C8
-_080A8840:
- ldr r0, _080A88C0
-_080A8842:
- ldrb r1, [r0]
- ldr r0, _080A88C4
- adds r0, r1, r0
- ldrb r7, [r0]
- adds r0, r1, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A886C
- ldr r1, _080A88C8
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080A886C
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080A886C:
- ldr r5, _080A88C8
- ldrh r0, [r5, 0x8]
- strh r0, [r6, 0x2E]
- ldr r0, _080A88CC
- lsls r4, r7, 4
- adds r4, r7
- lsls r4, 2
- adds r4, r0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r6, 0x30]
- ldrh r1, [r5, 0x2]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r6, 0x34]
- ldrh r1, [r5, 0x4]
- adds r0, r1
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl sub_8078A5C
- ldrh r0, [r4, 0x24]
- lsls r0, 8
- strh r0, [r6, 0x34]
- ldrh r0, [r4, 0x26]
- lsls r0, 8
- strh r0, [r6, 0x36]
- strh r7, [r6, 0x38]
- ldrh r0, [r5, 0xA]
- strh r0, [r6, 0x3A]
- lsls r0, 16
- cmp r0, 0
- bne _080A88D4
- ldr r1, _080A88D0
- adds r0, r6, 0
- bl oamt_set_x3A_32
- b _080A88DC
- .align 2, 0
-_080A88C0: .4byte gUnknown_0202F7C9
-_080A88C4: .4byte gUnknown_02024BE0
-_080A88C8: .4byte gUnknown_03004B00
-_080A88CC: .4byte gSprites
-_080A88D0: .4byte move_anim_8072740
-_080A88D4:
- ldr r1, _080A88E8
- adds r0, r6, 0
- bl oamt_set_x3A_32
-_080A88DC:
- ldr r0, _080A88EC
- str r0, [r6, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A88E8: .4byte sub_80A88F0
-_080A88EC: .4byte sub_80784A8
- thumb_func_end sub_80A8818
-
- thumb_func_start sub_80A88F0
-sub_80A88F0: @ 80A88F0
- push {r4,lr}
- ldr r4, _080A891C
- movs r1, 0x38
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- movs r3, 0
- strh r3, [r1, 0x24]
- movs r1, 0x38
- ldrsh r2, [r0, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r3, [r1, 0x26]
- bl move_anim_8072740
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A891C: .4byte gSprites
- thumb_func_end sub_80A88F0
-
- thumb_func_start sub_80A8920
-sub_80A8920: @ 80A8920
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, _080A89A4
- movs r0, 0x6
- ldrsh r1, [r5, r0]
- movs r0, 0x80
- lsls r0, 8
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, _080A89A8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A8952
- ldrh r0, [r5, 0x2]
- negs r0, r0
- strh r0, [r5, 0x2]
- ldrh r0, [r5, 0xA]
- negs r0, r0
- strh r0, [r5, 0xA]
-_080A8952:
- ldrb r0, [r5]
- bl obj_id_for_side_relative_to_move
- ldr r1, _080A89AC
- lsls r4, r6, 2
- adds r4, r6
- lsls r4, 3
- adds r4, r1
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x8]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r4, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0xC]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0xE]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x10]
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- lsls r0, 8
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r4, 0x12]
- ldrh r0, [r5, 0xC]
- strh r0, [r4, 0x14]
- strh r7, [r4, 0x16]
- ldr r0, _080A89B0
- str r0, [r4]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A89A4: .4byte gUnknown_03004B00
-_080A89A8: .4byte gUnknown_0202F7C8
-_080A89AC: .4byte gTasks
-_080A89B0: .4byte sub_80A89B4
- thumb_func_end sub_80A8920
-
- thumb_func_start sub_80A89B4
-sub_80A89B4: @ 80A89B4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A8A0C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- ldrb r1, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- ldrh r2, [r5, 0x1E]
- adds r0, r2
- strh r0, [r5, 0x1E]
- ldr r2, _080A8A10
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r2
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x1C]
- lsrs r0, 8
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r5, 0x16]
- ldrh r1, [r5, 0x1C]
- adds r0, r1
- strh r0, [r5, 0x1C]
- ldrh r0, [r5, 0xE]
- subs r0, 0x1
- strh r0, [r5, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _080A8A04
- ldr r0, _080A8A14
- str r0, [r5]
-_080A8A04:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8A0C: .4byte gTasks
-_080A8A10: .4byte gSprites
-_080A8A14: .4byte sub_80A8A18
- thumb_func_end sub_80A89B4
-
- thumb_func_start sub_80A8A18
-sub_80A8A18: @ 80A8A18
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, _080A8A3C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080A8A40
- subs r0, r1, 0x1
- strh r0, [r4, 0x10]
- b _080A8A74
- .align 2, 0
-_080A8A3C: .4byte gTasks
-_080A8A40:
- ldrb r0, [r4, 0x8]
- ldrh r2, [r4, 0x12]
- ldrh r1, [r4, 0x20]
- adds r2, r1
- strh r2, [r4, 0x20]
- ldr r3, _080A8A7C
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- lsls r2, 16
- asrs r2, 24
- ldrh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 24
- adds r2, r0
- strh r2, [r1, 0x24]
- ldrh r0, [r4, 0x14]
- subs r0, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- bne _080A8A74
- adds r0, r5, 0
- bl move_anim_task_del
-_080A8A74:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8A7C: .4byte gSprites
- thumb_func_end sub_80A8A18
-
- thumb_func_start sub_80A8A80
-sub_80A8A80: @ 80A8A80
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080A8AA4
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- beq _080A8AAE
- cmp r0, 0x2
- bgt _080A8AA8
- cmp r0, 0
- blt _080A8AE0
- ldrb r0, [r1]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r2, r0, 24
- b _080A8AE8
- .align 2, 0
-_080A8AA4: .4byte gUnknown_03004B00
-_080A8AA8:
- cmp r0, 0x3
- beq _080A8AB8
- b _080A8AE0
-_080A8AAE:
- ldr r5, _080A8AB4
- b _080A8ABA
- .align 2, 0
-_080A8AB4: .4byte gUnknown_0202F7C8
-_080A8AB8:
- ldr r5, _080A8AD8
-_080A8ABA:
- ldrb r0, [r5]
- movs r4, 0x2
- eors r0, r4
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080A8AE0
- ldr r1, _080A8ADC
- ldrb r0, [r5]
- eors r0, r4
- adds r0, r1
- ldrb r2, [r0]
- b _080A8AE8
- .align 2, 0
-_080A8AD8: .4byte gUnknown_0202F7C9
-_080A8ADC: .4byte gUnknown_02024BE0
-_080A8AE0:
- adds r0, r6, 0
- bl move_anim_task_del
- b _080A8B28
-_080A8AE8:
- ldr r1, _080A8B08
- lsls r4, r6, 2
- adds r0, r4, r6
- lsls r0, 3
- adds r5, r0, r1
- strh r2, [r5, 0x8]
- ldr r0, _080A8B0C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A8B14
- ldr r0, _080A8B10
- ldrh r0, [r0, 0x2]
- b _080A8B1A
- .align 2, 0
-_080A8B08: .4byte gTasks
-_080A8B0C: .4byte gUnknown_0202F7C9
-_080A8B10: .4byte gUnknown_03004B00
-_080A8B14:
- ldr r0, _080A8B30
- ldrh r0, [r0, 0x2]
- negs r0, r0
-_080A8B1A:
- strh r0, [r5, 0xA]
- ldr r0, _080A8B34
- adds r1, r4, r6
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A8B38
- str r0, [r1]
-_080A8B28:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8B30: .4byte gUnknown_03004B00
-_080A8B34: .4byte gTasks
-_080A8B38: .4byte sub_80A8B3C
- thumb_func_end sub_80A8A80
-
- thumb_func_start sub_80A8B3C
-sub_80A8B3C: @ 80A8B3C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A8B80
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r2, [r1, 0x8]
- ldr r3, _080A8B84
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r1, 0xA]
- ldrh r2, [r0, 0x24]
- adds r1, r2
- strh r1, [r0, 0x24]
- movs r2, 0x24
- ldrsh r1, [r0, r2]
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r1, r0
- adds r1, 0x20
- movs r0, 0x98
- lsls r0, 1
- cmp r1, r0
- bls _080A8B7A
- adds r0, r4, 0
- bl move_anim_task_del
-_080A8B7A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8B80: .4byte gTasks
-_080A8B84: .4byte gSprites
- thumb_func_end sub_80A8B3C
-
- thumb_func_start sub_80A8B88
-sub_80A8B88: @ 80A8B88
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r6, _080A8BD8
- ldrb r0, [r6]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A8BA4
- ldr r1, _080A8BDC
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080A8BA4:
- ldr r4, _080A8BDC
- ldrb r0, [r4, 0x8]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A8BE0
- lsls r3, r5, 2
- adds r1, r3, r5
- lsls r1, 3
- adds r2, r1, r2
- ldrh r1, [r4]
- strh r1, [r2, 0x8]
- ldrh r1, [r4, 0x2]
- strh r1, [r2, 0xA]
- ldrh r1, [r4, 0x4]
- strh r1, [r2, 0xC]
- ldrh r1, [r4, 0x6]
- strh r1, [r2, 0xE]
- strh r0, [r2, 0x10]
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A8BE4
- ldrb r0, [r6]
- b _080A8BE8
- .align 2, 0
-_080A8BD8: .4byte gUnknown_0202F7C8
-_080A8BDC: .4byte gUnknown_03004B00
-_080A8BE0: .4byte gTasks
-_080A8BE4:
- ldr r0, _080A8C00
- ldrb r0, [r0]
-_080A8BE8:
- strh r0, [r2, 0x12]
- ldr r1, _080A8C04
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x20]
- ldr r1, _080A8C08
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8C00: .4byte gUnknown_0202F7C9
-_080A8C04: .4byte gTasks
-_080A8C08: .4byte sub_80A8C0C
- thumb_func_end sub_80A8B88
-
- thumb_func_start sub_80A8C0C
-sub_80A8C0C: @ 80A8C0C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080A8C5C
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- ldrb r7, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- lsls r1, r0, 16
- strh r0, [r4, 0x1C]
- lsrs r1, 24
- mov r8, r1
- mov r0, r8
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- bl Sin
- lsls r0, 16
- lsrs r5, r0, 16
- mov r9, r5
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A8C64
- ldr r0, _080A8C60
- lsls r2, r7, 4
- adds r1, r2, r7
- lsls r1, 2
- adds r1, r0
- strh r5, [r1, 0x24]
- mov r9, r0
- adds r4, r2, 0
- b _080A8CAA
- .align 2, 0
-_080A8C5C: .4byte gTasks
-_080A8C60: .4byte gSprites
-_080A8C64:
- ldrb r0, [r4, 0x12]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080A8C8C
- ldr r1, _080A8C88
- lsls r2, r7, 4
- adds r0, r2, r7
- lsls r0, 2
- adds r3, r0, r1
- lsls r0, r5, 16
- asrs r0, 16
- mov r9, r1
- adds r4, r2, 0
- cmp r0, 0
- bge _080A8CA8
- b _080A8CA6
- .align 2, 0
-_080A8C88: .4byte gSprites
-_080A8C8C:
- ldr r1, _080A8D2C
- lsls r2, r7, 4
- adds r0, r2, r7
- lsls r0, 2
- adds r3, r0, r1
- mov r4, r9
- lsls r0, r4, 16
- asrs r0, 16
- mov r9, r1
- adds r4, r2, 0
- cmp r0, 0
- bge _080A8CA6
- negs r0, r0
-_080A8CA6:
- negs r0, r0
-_080A8CA8:
- strh r0, [r3, 0x26]
-_080A8CAA:
- mov r5, r8
- cmp r5, 0x7F
- bls _080A8CCC
- ldr r1, _080A8D30
- lsls r2, r6, 2
- adds r0, r2, r6
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0x1E
- ldrsh r0, [r3, r5]
- adds r5, r1, 0
- cmp r0, 0
- bne _080A8CCC
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _080A8CEE
-_080A8CCC:
- mov r2, r8
- cmp r2, 0x7E
- bhi _080A8D20
- ldr r1, _080A8D30
- lsls r2, r6, 2
- adds r0, r2, r6
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0x1E
- ldrsh r0, [r3, r5]
- adds r5, r1, 0
- cmp r0, 0x1
- bne _080A8D20
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080A8D20
-_080A8CEE:
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r5
- ldrh r0, [r1, 0x1E]
- movs r2, 0x1
- eors r0, r2
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- eors r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0xE]
- subs r0, 0x1
- strh r0, [r1, 0xE]
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- bne _080A8D20
- adds r0, r4, r7
- lsls r0, 2
- add r0, r9
- strh r3, [r0, 0x24]
- strh r3, [r0, 0x26]
- adds r0, r6, 0
- bl move_anim_task_del
-_080A8D20:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8D2C: .4byte gSprites
-_080A8D30: .4byte gTasks
- thumb_func_end sub_80A8C0C
-
- thumb_func_start sub_80A8D34
-sub_80A8D34: @ 80A8D34
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, _080A8D80
- ldrb r0, [r6, 0x6]
- bl obj_id_for_side_relative_to_move
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r1, [r6, 0x8]
- adds r0, r5, 0
- bl sub_8078E70
- ldr r1, _080A8D84
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r6]
- strh r1, [r0, 0x8]
- ldrh r1, [r6, 0x2]
- strh r1, [r0, 0xA]
- ldrh r1, [r6, 0x4]
- strh r1, [r0, 0xC]
- ldrh r1, [r6, 0x4]
- strh r1, [r0, 0xE]
- strh r5, [r0, 0x10]
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r0, 0x1C]
- strh r1, [r0, 0x1E]
- ldr r1, _080A8D88
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8D80: .4byte gUnknown_03004B00
-_080A8D84: .4byte gTasks
-_080A8D88: .4byte sub_80A8D8C
- thumb_func_end sub_80A8D34
-
- thumb_func_start sub_80A8D8C
-sub_80A8D8C: @ 80A8D8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, _080A8DEC
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x8]
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- strh r0, [r4, 0x1C]
- ldrh r0, [r4, 0xA]
- ldrh r3, [r4, 0x1E]
- adds r0, r3
- strh r0, [r4, 0x1E]
- ldrb r0, [r4, 0x10]
- adds r6, r0, 0
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- movs r3, 0x1E
- ldrsh r2, [r4, r3]
- adds r0, r6, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _080A8DFC
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0
- ble _080A8DF0
- ldrh r0, [r4, 0x8]
- negs r0, r0
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xA]
- negs r0, r0
- strh r0, [r4, 0xA]
- strh r2, [r4, 0xC]
- strh r1, [r4, 0xE]
- b _080A8DFC
- .align 2, 0
-_080A8DEC: .4byte gTasks
-_080A8DF0:
- adds r0, r6, 0
- bl sub_8078F40
- adds r0, r5, 0
- bl move_anim_task_del
-_080A8DFC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80A8D8C
-
- thumb_func_start sub_80A8E04
-sub_80A8E04: @ 80A8E04
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r4, _080A8E40
- ldrb r0, [r4, 0x4]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r1, 0
- bl sub_8078E70
- ldr r1, _080A8E44
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2, 0xA]
- ldrh r0, [r4]
- strh r0, [r2, 0xC]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- beq _080A8E48
- strh r1, [r2, 0xE]
- b _080A8E54
- .align 2, 0
-_080A8E40: .4byte gUnknown_03004B00
-_080A8E44: .4byte gTasks
-_080A8E48:
- ldrh r0, [r4]
- ldrh r1, [r4, 0x2]
- adds r3, r0, 0
- muls r3, r1
- adds r0, r3, 0
- strh r0, [r2, 0xE]
-_080A8E54:
- ldr r1, _080A8E80
- lsls r4, r7, 2
- adds r0, r4, r7
- lsls r0, 3
- adds r5, r0, r1
- ldr r6, _080A8E84
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x10]
- mov r0, r8
- strh r0, [r5, 0x12]
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x14]
- bl sub_8076BE0
- lsls r0, 24
- mov r8, r4
- cmp r0, 0
- beq _080A8E88
- movs r0, 0x1
- strh r0, [r5, 0x16]
- b _080A8EAC
- .align 2, 0
-_080A8E80: .4byte gTasks
-_080A8E84: .4byte gUnknown_03004B00
-_080A8E88:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080A8E98
- ldr r0, _080A8E94
- b _080A8E9A
- .align 2, 0
-_080A8E94: .4byte gUnknown_0202F7C8
-_080A8E98:
- ldr r0, _080A8EF0
-_080A8E9A:
- ldrb r0, [r0]
- bl battle_side_get_owner
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _080A8EAA
- movs r1, 0x1
-_080A8EAA:
- strh r1, [r5, 0x16]
-_080A8EAC:
- ldr r0, _080A8EF4
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r4, r1, r0
- movs r3, 0x16
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080A8ED8
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080A8ED8
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0xE]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0x10]
-_080A8ED8:
- ldr r0, _080A8EF4
- mov r3, r8
- adds r1, r3, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, _080A8EF8
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8EF0: .4byte gUnknown_0202F7C9
-_080A8EF4: .4byte gTasks
-_080A8EF8: .4byte sub_80A8FD8
- thumb_func_end sub_80A8E04
-
- thumb_func_start sub_80A8EFC
-sub_80A8EFC: @ 80A8EFC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080A8F38
- ldrb r0, [r4, 0x4]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r1, 0
- bl sub_8078E70
- ldr r1, _080A8F3C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xA]
- ldrh r1, [r4]
- strh r1, [r0, 0xC]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080A8F44
- ldr r0, _080A8F40
- b _080A8F46
- .align 2, 0
-_080A8F38: .4byte gUnknown_03004B00
-_080A8F3C: .4byte gTasks
-_080A8F40: .4byte gUnknown_0202F7C8
-_080A8F44:
- ldr r0, _080A8F74
-_080A8F46:
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080A8F58
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
-_080A8F58:
- ldr r0, _080A8F78
- movs r2, 0x6
- ldrsh r1, [r0, r2]
- adds r6, r0, 0
- cmp r1, 0x1
- beq _080A8F80
- ldr r2, _080A8F7C
- lsls r3, r5, 2
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0xE]
- b _080A8F9A
- .align 2, 0
-_080A8F74: .4byte gUnknown_0202F7C9
-_080A8F78: .4byte gUnknown_03004B00
-_080A8F7C: .4byte gTasks
-_080A8F80:
- ldr r3, _080A8FD0
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 3
- adds r0, r3
- ldrh r2, [r6]
- ldrh r1, [r6, 0x2]
- adds r7, r2, 0
- muls r7, r1
- adds r1, r7, 0
- strh r1, [r0, 0xE]
- adds r2, r3, 0
- adds r3, r4, 0
-_080A8F9A:
- adds r1, r3, r5
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r6, 0x2]
- strh r0, [r1, 0x10]
- mov r0, r8
- strh r0, [r1, 0x12]
- ldrh r0, [r6, 0x6]
- strh r0, [r1, 0x14]
- movs r0, 0x1
- strh r0, [r1, 0x16]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0xE]
- movs r7, 0x10
- ldrsh r0, [r1, r7]
- negs r0, r0
- strh r0, [r1, 0x10]
- ldr r0, _080A8FD4
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A8FD0: .4byte gTasks
-_080A8FD4: .4byte sub_80A8FD8
- thumb_func_end sub_80A8EFC
-
- thumb_func_start sub_80A8FD8
-sub_80A8FD8: @ 80A8FD8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080A9030
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x10]
- ldrh r1, [r4, 0xE]
- adds r0, r1
- strh r0, [r4, 0xE]
- ldrb r0, [r4, 0x12]
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0xE]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080A900C
- ldrb r0, [r4, 0x12]
- bl sub_8078F9C
-_080A900C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xC
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _080A9052
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080A9034
- cmp r0, 0x1
- ble _080A903A
- cmp r0, 0x2
- beq _080A9042
- b _080A903A
- .align 2, 0
-_080A9030: .4byte gTasks
-_080A9034:
- ldrb r0, [r4, 0x12]
- bl sub_8078F40
-_080A903A:
- adds r0, r5, 0
- bl move_anim_task_del
- b _080A9052
-_080A9042:
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0x10]
- movs r0, 0x1
- strh r0, [r4, 0x14]
-_080A9052:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80A8FD8
-
- thumb_func_start sub_80A9058
-sub_80A9058: @ 80A9058
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080A9084
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r8, r0
- cmp r1, 0
- bne _080A9090
- ldr r4, _080A9088
- lsls r5, r7, 2
- adds r0, r5, r7
- lsls r0, 3
- adds r6, r0, r4
- ldr r0, _080A908C
- ldrh r0, [r0]
- movs r1, 0xC
- bl __udivsi3
- b _080A90A4
- .align 2, 0
-_080A9084: .4byte gUnknown_03004B00
-_080A9088: .4byte gTasks
-_080A908C: .4byte gUnknown_0202F7BC
-_080A9090:
- ldr r4, _080A912C
- lsls r5, r7, 2
- adds r0, r5, r7
- lsls r0, 3
- adds r6, r0, r4
- ldr r0, _080A9130
- ldr r0, [r0]
- movs r1, 0xC
- bl __divsi3
-_080A90A4:
- strh r0, [r6, 0x26]
- lsls r0, 16
- adds r1, r4, 0
- cmp r0, 0
- bgt _080A90B2
- movs r0, 0x1
- strh r0, [r6, 0x26]
-_080A90B2:
- movs r2, 0x26
- ldrsh r0, [r6, r2]
- cmp r0, 0x10
- ble _080A90BE
- movs r0, 0x10
- strh r0, [r6, 0x26]
-_080A90BE:
- adds r4, r5, r7
- lsls r4, 3
- adds r4, r1
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- movs r5, 0
- strh r1, [r4, 0x24]
- ldrh r2, [r4, 0x26]
- movs r0, 0x1
- ands r0, r2
- adds r1, r0
- strh r1, [r4, 0x22]
- strh r5, [r4, 0x20]
- mov r1, r8
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x1C]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x1E]
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x16]
- ldr r2, _080A9134
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x24]
- strh r0, [r4, 0x18]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x26]
- strh r0, [r4, 0x1A]
- strh r5, [r4, 0x8]
- mov r1, r8
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0xA]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0xC]
- ldr r0, _080A9138
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A912C: .4byte gTasks
-_080A9130: .4byte gUnknown_0202F7B8
-_080A9134: .4byte gSprites
-_080A9138: .4byte sub_80A913C
- thumb_func_end sub_80A9058
-
- thumb_func_start sub_80A913C
-sub_80A913C: @ 80A913C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080A9190
- adds r3, r0, r1
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xA
- ldrsh r1, [r3, r2]
- cmp r0, r1
- ble _080A921A
- movs r0, 0
- strh r0, [r3, 0x8]
- ldrh r0, [r3, 0x20]
- adds r1, r0, 0x1
- movs r0, 0x1
- ands r1, r0
- strh r1, [r3, 0x20]
- movs r2, 0x1C
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _080A91AE
- cmp r1, 0
- beq _080A9198
- ldr r2, _080A9194
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x22]
- ldrh r2, [r3, 0x18]
- adds r1, r2
- b _080A91AC
- .align 2, 0
-_080A9190: .4byte gTasks
-_080A9194: .4byte gSprites
-_080A9198:
- ldr r2, _080A91D4
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x18]
- ldrh r2, [r3, 0x24]
- subs r1, r2
-_080A91AC:
- strh r1, [r0, 0x24]
-_080A91AE:
- movs r1, 0x1E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _080A91E8
- movs r2, 0x20
- ldrsh r4, [r3, r2]
- cmp r4, 0
- beq _080A91D8
- ldr r2, _080A91D4
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x26]
- strh r1, [r0, 0x26]
- b _080A91E8
- .align 2, 0
-_080A91D4: .4byte gSprites
-_080A91D8:
- ldr r2, _080A9220
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x26]
-_080A91E8:
- ldrh r0, [r3, 0xC]
- subs r0, 0x1
- strh r0, [r3, 0xC]
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- bne _080A921A
- ldr r2, _080A9220
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x24]
- movs r0, 0x16
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r4, [r0, 0x26]
- adds r0, r5, 0
- bl move_anim_task_del
-_080A921A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9220: .4byte gSprites
- thumb_func_end sub_80A913C
-
- thumb_func_start itemid_copy_name
-itemid_copy_name: @ 80A9224
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _080A924C
- movs r0, 0x2B
- bl GetBerryInfo
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r1, _080A9248
- adds r0, r4, 0
- bl StringAppend
- b _080A9258
- .align 2, 0
-_080A9248: .4byte gOtherText_Berry2
-_080A924C:
- bl itemid_get_item
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
-_080A9258:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end itemid_copy_name
-
- thumb_func_start unref_sub_80A9260
-unref_sub_80A9260: @ 80A9260
- push {lr}
- lsls r0, 24
- movs r2, 0
- ldr r1, _080A9284
- lsrs r0, 21
- adds r0, r1
- ldrb r1, [r0, 0x4]
- cmp r2, r1
- bcs _080A9292
- ldr r3, [r0]
-_080A9274:
- lsls r0, r2, 2
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- bne _080A9288
- lsls r0, r2, 24
- asrs r0, 24
- b _080A9296
- .align 2, 0
-_080A9284: .4byte gUnknown_083C1618
-_080A9288:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcc _080A9274
-_080A9292:
- movs r0, 0x1
- negs r0, r0
-_080A9296:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80A9260
-
- thumb_func_start IsBagPocketNonEmpty
-IsBagPocketNonEmpty: @ 80A929C
- push {lr}
- lsls r0, 24
- movs r2, 0
- ldr r1, _080A92C0
- lsrs r0, 21
- subs r0, 0x8
- adds r0, r1
- ldrb r1, [r0, 0x4]
- cmp r2, r1
- bcs _080A92CE
- ldr r3, [r0]
-_080A92B2:
- lsls r0, r2, 2
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080A92C4
- movs r0, 0x1
- b _080A92D0
- .align 2, 0
-_080A92C0: .4byte gUnknown_083C1618
-_080A92C4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcc _080A92B2
-_080A92CE:
- movs r0, 0
-_080A92D0:
- pop {r1}
- bx r1
- thumb_func_end IsBagPocketNonEmpty
-
- thumb_func_start sub_80A92D4
-sub_80A92D4: @ 80A92D4
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- adds r0, r5, 0
- bl itemid_get_pocket_number
- lsls r0, 24
- cmp r0, 0
- bne _080A92F0
- b _080A9336
-_080A92EC:
- movs r0, 0x1
- b _080A9338
-_080A92F0:
- adds r0, r5, 0
- bl itemid_get_pocket_number
- subs r0, 0x1
- lsls r0, 24
- movs r3, 0
- ldr r6, _080A9340
- lsrs r2, r0, 21
- adds r0, r2, r6
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcs _080A9336
- adds r7, r6, 0
-_080A930A:
- adds r0, r2, r7
- ldr r1, [r0]
- lsls r0, r3, 2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r5
- bne _080A9328
- ldrh r0, [r1, 0x2]
- cmp r0, r4
- bcs _080A92EC
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080A92EC
-_080A9328:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, r6
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcc _080A930A
-_080A9336:
- movs r0, 0
-_080A9338:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9340: .4byte gUnknown_083C1618
- thumb_func_end sub_80A92D4
-
- thumb_func_start sub_80A9344
-sub_80A9344: @ 80A9344
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- adds r0, r6, 0
- bl itemid_get_pocket_number
- lsls r0, 24
- cmp r0, 0
- beq _080A9408
- adds r0, r6, 0
- bl itemid_get_pocket_number
- subs r0, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r5, _080A940C
- cmp r1, 0x3
- beq _080A9376
- movs r5, 0x63
-_080A9376:
- movs r3, 0
- ldr r0, _080A9410
- mov r8, r0
- lsls r2, r1, 3
- adds r0, r2, r0
- mov r12, r8
- mov r9, r2
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcs _080A93CA
- mov r10, r12
- subs r0, r1, 0x2
- lsls r0, 24
- lsrs r7, r0, 24
-_080A9392:
- mov r1, r10
- adds r0, r2, r1
- ldr r1, [r0]
- lsls r0, r3, 2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r6
- bne _080A93BA
- ldrh r1, [r1, 0x2]
- adds r0, r1, r4
- cmp r0, r5
- ble _080A9414
- cmp r7, 0x1
- bls _080A9408
- subs r0, r5, r1
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080A9414
-_080A93BA:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- mov r1, r8
- adds r0, r2, r1
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcc _080A9392
-_080A93CA:
- cmp r4, 0
- beq _080A9414
- movs r3, 0
- mov r6, r12
- mov r2, r9
- adds r0, r2, r6
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcs _080A9404
- adds r7, r6, 0
-_080A93DE:
- adds r0, r2, r7
- ldr r1, [r0]
- lsls r0, r3, 2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080A93F6
- cmp r4, r5
- bls _080A9414
- subs r0, r4, r5
- lsls r0, 16
- lsrs r4, r0, 16
-_080A93F6:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r2, r6
- ldrb r0, [r0, 0x4]
- cmp r3, r0
- bcc _080A93DE
-_080A9404:
- cmp r4, 0
- beq _080A9414
-_080A9408:
- movs r0, 0
- b _080A9416
- .align 2, 0
-_080A940C: .4byte 0x000003e7
-_080A9410: .4byte gUnknown_083C1618
-_080A9414:
- movs r0, 0x1
-_080A9416:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9344
-
- thumb_func_start sub_80A9424
-sub_80A9424: @ 80A9424
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x100
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r1, 16
- lsrs r4, r1, 16
- bl itemid_get_pocket_number
- lsls r0, 24
- cmp r0, 0
- beq _080A9510
- mov r0, r8
- bl itemid_get_pocket_number
- subs r0, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080A94F8
- lsls r0, r6, 3
- adds r5, r0, r1
- ldr r1, [r5]
- ldrb r2, [r5, 0x4]
- lsls r2, 2
- mov r0, sp
- bl memcpy
- ldr r7, _080A94FC
- cmp r6, 0x3
- beq _080A9468
- movs r7, 0x63
-_080A9468:
- movs r1, 0
- ldrb r0, [r5, 0x4]
- cmp r1, r0
- bcs _080A94B2
- subs r0, r6, 0x2
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
-_080A9478:
- lsls r0, r1, 2
- mov r2, sp
- adds r3, r2, r0
- ldrh r0, [r3]
- cmp r0, r8
- bne _080A94A6
- ldrh r2, [r3, 0x2]
- adds r0, r2, r4
- cmp r0, r7
- ble _080A9500
- mov r0, r12
- cmp r0, 0x1
- bls _080A9510
- subs r0, r7, r2
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- strh r7, [r3, 0x2]
- ldr r2, _080A94F8
- mov r9, r2
- lsls r3, r6, 3
- cmp r4, 0
- beq _080A9516
-_080A94A6:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- ldrb r0, [r5, 0x4]
- cmp r1, r0
- bcc _080A9478
-_080A94B2:
- ldr r2, _080A94F8
- mov r9, r2
- lsls r3, r6, 3
- cmp r4, 0
- beq _080A9516
- movs r1, 0
- adds r0, r3, r2
- ldrb r0, [r0, 0x4]
- cmp r1, r0
- bcs _080A94F2
- mov r6, r9
- adds r5, r3, r6
-_080A94CA:
- lsls r0, r1, 2
- mov r6, sp
- adds r2, r6, r0
- ldrh r0, [r2]
- cmp r0, 0
- bne _080A94E6
- mov r0, r8
- strh r0, [r2]
- cmp r4, r7
- bls _080A9514
- subs r0, r4, r7
- lsls r0, 16
- lsrs r4, r0, 16
- strh r7, [r2, 0x2]
-_080A94E6:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- ldrb r2, [r5, 0x4]
- cmp r1, r2
- bcc _080A94CA
-_080A94F2:
- cmp r4, 0
- beq _080A9516
- b _080A9510
- .align 2, 0
-_080A94F8: .4byte gUnknown_083C1618
-_080A94FC: .4byte 0x000003e7
-_080A9500:
- strh r0, [r3, 0x2]
- ldr r0, _080A950C
- lsls r1, r6, 3
- adds r1, r0
- b _080A951A
- .align 2, 0
-_080A950C: .4byte gUnknown_083C1618
-_080A9510:
- movs r0, 0
- b _080A9528
-_080A9514:
- strh r4, [r2, 0x2]
-_080A9516:
- mov r6, r9
- adds r1, r3, r6
-_080A951A:
- ldr r0, [r1]
- ldrb r2, [r1, 0x4]
- lsls r2, 2
- mov r1, sp
- bl memcpy
- movs r0, 0x1
-_080A9528:
- add sp, 0x100
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9424
-
- thumb_func_start sub_80A9538
-sub_80A9538: @ 80A9538
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- movs r7, 0
- adds r0, r6, 0
- bl itemid_get_pocket_number
- lsls r0, 24
- cmp r0, 0
- beq _080A959E
- cmp r6, 0
- beq _080A959E
- adds r0, r6, 0
- bl itemid_get_pocket_number
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r5, 0
- ldr r1, _080A95A4
- lsls r2, r0, 3
- adds r0, r2, r1
- ldrb r0, [r0, 0x4]
- cmp r5, r0
- bcs _080A959A
- mov r8, r1
-_080A9576:
- mov r0, r8
- adds r3, r2, r0
- ldr r0, [r3]
- lsls r1, r5, 2
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r6
- bne _080A958E
- ldrh r0, [r1, 0x2]
- adds r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
-_080A958E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r3, [r3, 0x4]
- cmp r5, r3
- bcc _080A9576
-_080A959A:
- cmp r7, r4
- bcs _080A95A8
-_080A959E:
- movs r0, 0
- b _080A9664
- .align 2, 0
-_080A95A4: .4byte gUnknown_083C1618
-_080A95A8:
- ldr r0, _080A95DC
- mov r2, r12
- lsls r1, r2, 3
- adds r5, r1, r0
- ldr r2, _080A95E0
- ldrb r3, [r5, 0x4]
- mov r8, r0
- adds r7, r1, 0
- ldrb r0, [r2]
- cmp r3, r0
- bls _080A9606
- ldrb r0, [r2]
- ldr r1, [r5]
- lsls r0, 2
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, r6
- bne _080A9606
- ldrh r0, [r1, 0x2]
- cmp r0, r4
- bcc _080A95E4
- subs r0, r4
- strh r0, [r1, 0x2]
- movs r4, 0
- b _080A95EE
- .align 2, 0
-_080A95DC: .4byte gUnknown_083C1618
-_080A95E0: .4byte gUnknown_02038560
-_080A95E4:
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0
- strh r0, [r1, 0x2]
-_080A95EE:
- mov r1, r8
- adds r0, r7, r1
- ldrb r1, [r2]
- ldr r0, [r0]
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A9602
- strh r0, [r1]
-_080A9602:
- cmp r4, 0
- beq _080A9662
-_080A9606:
- movs r5, 0
- adds r1, r7, 0
- mov r2, r8
- adds r0, r1, r2
- ldrb r2, [r0, 0x4]
- cmp r5, r2
- bcs _080A9662
- mov r12, r8
- adds r3, r0, 0
-_080A9618:
- mov r2, r12
- adds r0, r1, r2
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r6
- bne _080A9650
- ldrh r0, [r2, 0x2]
- cmp r0, r4
- bcc _080A9636
- subs r0, r4
- strh r0, [r2, 0x2]
- movs r4, 0
- b _080A9640
-_080A9636:
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0
- strh r0, [r2, 0x2]
-_080A9640:
- ldr r0, [r3]
- adds r1, r0
- ldrh r0, [r1, 0x2]
- cmp r0, 0
- bne _080A964C
- strh r0, [r1]
-_080A964C:
- cmp r4, 0
- beq _080A9662
-_080A9650:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r1, r7, 0
- mov r2, r8
- adds r0, r1, r2
- ldrb r0, [r0, 0x4]
- cmp r5, r0
- bcc _080A9618
-_080A9662:
- movs r0, 0x1
-_080A9664:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9538
-
- thumb_func_start sub_80A9670
-sub_80A9670: @ 80A9670
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl itemid_get_pocket_number
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80A9670
-
- thumb_func_start sub_80A9684
-sub_80A9684: @ 80A9684
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- movs r2, 0
- lsrs r1, 24
- cmp r2, r1
- bcs _080A96A6
- movs r3, 0
-_080A9694:
- lsls r0, r2, 2
- adds r0, r4
- strh r3, [r0]
- strh r3, [r0, 0x2]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r1
- bcc _080A9694
-_080A96A6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80A9684
-
- thumb_func_start sub_80A96AC
-sub_80A96AC: @ 80A96AC
- push {lr}
- movs r1, 0
- ldr r3, _080A96CC
- movs r2, 0x93
- lsls r2, 3
-_080A96B6:
- lsls r0, r1, 24
- asrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r3
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _080A96D0
- adds r0, r1, 0
- b _080A96E0
- .align 2, 0
-_080A96CC: .4byte gSaveBlock1
-_080A96D0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- asrs r0, 24
- cmp r0, 0x31
- ble _080A96B6
- movs r0, 0x1
- negs r0, r0
-_080A96E0:
- pop {r1}
- bx r1
- thumb_func_end sub_80A96AC
-
- thumb_func_start sub_80A96E4
-sub_80A96E4: @ 80A96E4
- push {r4,lr}
- movs r2, 0
- movs r1, 0
- ldr r4, _080A9714
- movs r3, 0x93
- lsls r3, 3
-_080A96F0:
- lsls r0, r1, 2
- adds r0, r4
- adds r0, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080A9702
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_080A9702:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x31
- bls _080A96F0
- adds r0, r2, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9714: .4byte gSaveBlock1
- thumb_func_end sub_80A96E4
-
- thumb_func_start sub_80A9718
-sub_80A9718: @ 80A9718
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r1, 16
- movs r3, 0
- ldr r7, _080A9744
- movs r6, 0x93
- lsls r6, 3
- ldr r5, _080A9748
-_080A972C:
- lsls r0, r3, 2
- adds r2, r0, r7
- adds r0, r2, r6
- ldrh r0, [r0]
- cmp r0, r4
- bne _080A974C
- adds r0, r2, r5
- ldrh r0, [r0]
- cmp r0, r1
- bcc _080A974C
- movs r0, 0x1
- b _080A9758
- .align 2, 0
-_080A9744: .4byte gSaveBlock1
-_080A9748: .4byte 0x0000049a
-_080A974C:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x31
- bls _080A972C
- movs r0, 0
-_080A9758:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80A9718
-
- thumb_func_start sub_80A9760
-sub_80A9760: @ 80A9760
- push {r4-r7,lr}
- sub sp, 0xC8
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r1, _080A97C4
- mov r0, sp
- movs r2, 0xC8
- bl memcpy
- movs r5, 0
- ldr r0, _080A97C8
- adds r7, r0, 0
-_080A977C:
- lsls r0, r5, 2
- mov r1, sp
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r6
- bne _080A97A0
- ldrh r1, [r2, 0x2]
- adds r0, r1, r4
- ldr r3, _080A97CC
- cmp r0, r3
- ble _080A97D0
- adds r0, r4, r7
- adds r0, r1, r0
- lsls r0, 16
- lsrs r4, r0, 16
- strh r3, [r2, 0x2]
- cmp r4, 0
- beq _080A97DC
-_080A97A0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x31
- bls _080A977C
- cmp r4, 0
- beq _080A97DC
- bl sub_80A96AC
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080A97D4
- movs r0, 0
- b _080A97E8
- .align 2, 0
-_080A97C4: .4byte gSaveBlock1 + 0x498
-_080A97C8: .4byte 0x0000fc19
-_080A97CC: .4byte 0x000003e7
-_080A97D0:
- strh r0, [r2, 0x2]
- b _080A97DC
-_080A97D4:
- lsls r0, r1, 2
- add r0, sp
- strh r6, [r0]
- strh r4, [r0, 0x2]
-_080A97DC:
- ldr r0, _080A97F0
- mov r1, sp
- movs r2, 0xC8
- bl memcpy
- movs r0, 0x1
-_080A97E8:
- add sp, 0xC8
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080A97F0: .4byte gSaveBlock1 + 0x498
- thumb_func_end sub_80A9760
-
- thumb_func_start sub_80A97F4
-sub_80A97F4: @ 80A97F4
- push {lr}
- lsls r0, 24
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _080A9824
- lsrs r0, 22
- adds r3, r0, r2
- ldr r0, _080A9828
- adds r2, r3, r0
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r2]
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080A9820
- movs r2, 0x93
- lsls r2, 3
- adds r0, r3, r2
- strh r1, [r0]
- bl sub_80A982C
-_080A9820:
- pop {r0}
- bx r0
- .align 2, 0
-_080A9824: .4byte gSaveBlock1
-_080A9828: .4byte 0x0000049a
- thumb_func_end sub_80A97F4
-
- thumb_func_start sub_80A982C
-sub_80A982C: @ 80A982C
- push {r4-r7,lr}
- movs r2, 0
- ldr r0, _080A987C
- mov r12, r0
-_080A9834:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r3, r0, 16
- adds r7, r1, 0
- cmp r3, 0x31
- bhi _080A986C
- lsls r1, r2, 2
- mov r2, r12
- adds r0, r1, r2
- movs r2, 0x93
- lsls r2, 3
- adds r5, r0, r2
- ldr r6, _080A9880
- adds r4, r1, r6
-_080A9850:
- ldrh r0, [r5]
- cmp r0, 0
- bne _080A9862
- ldr r2, [r4]
- lsls r1, r3, 2
- adds r1, r6
- ldr r0, [r1]
- str r0, [r4]
- str r2, [r1]
-_080A9862:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x31
- bls _080A9850
-_080A986C:
- lsls r0, r7, 16
- lsrs r2, r0, 16
- cmp r2, 0x30
- bls _080A9834
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080A987C: .4byte gSaveBlock1
-_080A9880: .4byte gSaveBlock1 + 0x498
- thumb_func_end sub_80A982C
-
- thumb_func_start sub_80A9884
-sub_80A9884: @ 80A9884
- push {lr}
- ldr r0, _080A98A0
- ldr r1, _080A98A4
- adds r2, r0, r1
- ldrh r1, [r2]
- ldr r3, _080A98A8
- cmp r1, r3
- beq _080A98AC
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- beq _080A98B4
- b _080A98B6
- .align 2, 0
-_080A98A0: .4byte gSaveBlock1
-_080A98A4: .4byte 0x00000496
-_080A98A8: .4byte 0x00000103
-_080A98AC:
- movs r0, 0x88
- lsls r0, 1
- strh r0, [r2]
- b _080A98B6
-_080A98B4:
- strh r3, [r2]
-_080A98B6:
- pop {r0}
- bx r0
- thumb_func_end sub_80A9884
-
- thumb_func_start itemid_sanitize
-itemid_sanitize: @ 80A98BC
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xAE
- lsls r0, 1
- cmp r1, r0
- bhi _080A98CE
- adds r0, r1, 0
- b _080A98D0
-_080A98CE:
- movs r0, 0
-_080A98D0:
- pop {r1}
- bx r1
- thumb_func_end itemid_sanitize
-
- thumb_func_start itemid_get_item
-itemid_get_item: @ 80A98D4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- ldr r1, _080A98F0
- adds r0, r1
- pop {r1}
- bx r1
- .align 2, 0
-_080A98F0: .4byte gItems
- thumb_func_end itemid_get_item
-
- thumb_func_start itemid_get_number
-itemid_get_number: @ 80A98F4
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9914
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0, 0xE]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9914: .4byte gItems
- thumb_func_end itemid_get_number
-
- thumb_func_start itemid_get_market_price
-itemid_get_market_price: @ 80A9918
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9938
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrh r0, [r0, 0x10]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9938: .4byte gItems
- thumb_func_end itemid_get_market_price
-
- thumb_func_start itemid_get_x12
-itemid_get_x12: @ 80A993C
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A995C
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x12]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A995C: .4byte gItems
- thumb_func_end itemid_get_x12
-
- thumb_func_start itemid_get_quality
-itemid_get_quality: @ 80A9960
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9980
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x13]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9980: .4byte gItems
- thumb_func_end itemid_get_quality
-
- thumb_func_start itemid_get_description
-itemid_get_description: @ 80A9984
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A99A4
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x14
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A99A4: .4byte gItems
- thumb_func_end itemid_get_description
-
- thumb_func_start sub_80A99A8
-sub_80A99A8: @ 80A99A8
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r0, r1, 0
- adds r5, r2, 0x1
- ldr r4, _080A99E4
- lsls r0, 16
- lsrs r0, 16
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x14
- adds r0, r4
- ldr r3, [r0]
- adds r2, r6, 0
-_080A99CA:
- ldrb r1, [r3]
- adds r0, r1, 0x2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080A99FA
- subs r5, 0x1
- cmp r5, 0
- bne _080A99E8
- movs r0, 0xFF
- strb r0, [r2]
- movs r0, 0x1
- b _080A9A02
- .align 2, 0
-_080A99E4: .4byte gItems
-_080A99E8:
- lsls r0, r1, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080A99F4
- movs r0, 0
- b _080A9A02
-_080A99F4:
- adds r2, r6, 0
- adds r3, 0x1
- b _080A99CA
-_080A99FA:
- strb r1, [r2]
- adds r3, 0x1
- adds r2, 0x1
- b _080A99CA
-_080A9A02:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80A99A8
-
- thumb_func_start itemid_is_unique
-itemid_is_unique: @ 80A9A08
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9A28
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x18]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9A28: .4byte gItems
- thumb_func_end itemid_is_unique
-
- thumb_func_start itemid_get_x19
-itemid_get_x19: @ 80A9A2C
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9A4C
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x19]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9A4C: .4byte gItems
- thumb_func_end itemid_get_x19
-
- thumb_func_start itemid_get_pocket_number
-itemid_get_pocket_number: @ 80A9A50
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9A70
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1A]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9A70: .4byte gItems
- thumb_func_end itemid_get_pocket_number
-
- thumb_func_start itemid_get_type
-itemid_get_type: @ 80A9A74
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9A94
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- ldrb r0, [r0, 0x1B]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9A94: .4byte gItems
- thumb_func_end itemid_get_type
-
- thumb_func_start itemid_get_overworld_function
-itemid_get_overworld_function: @ 80A9A98
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9AB8
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x1C
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9AB8: .4byte gItems
- thumb_func_end itemid_get_overworld_function
-
- thumb_func_start itemid_get_usage
-itemid_get_usage: @ 80A9ABC
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9ADC
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- adds r0, 0x20
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9ADC: .4byte gItems
- thumb_func_end itemid_get_usage
-
- thumb_func_start itemid_get_battle_function
-itemid_get_battle_function: @ 80A9AE0
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9B00
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r4, 0x24
- adds r0, r4
- ldr r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9B00: .4byte gItems
- thumb_func_end itemid_get_battle_function
-
- thumb_func_start itemid_get_x28
-itemid_get_x28: @ 80A9B04
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080A9B24
- bl itemid_sanitize
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2C
- muls r0, r1
- adds r0, r4
- adds r0, 0x28
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9B24: .4byte gItems
- thumb_func_end itemid_get_x28
-
- thumb_func_start unref_sub_80A9B28
-unref_sub_80A9B28: @ 80A9B28
- push {lr}
- sub sp, 0x8
- bl MenuZeroFillScreen
- movs r0, 0
- movs r1, 0
- movs r2, 0x11
- movs r3, 0x12
- bl MenuDrawTextWindow
- ldr r3, _080A9B6C
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x7
- bl PrintMenuItems
- movs r0, 0
- str r0, [sp]
- movs r0, 0x10
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x7
- bl InitMenu
- ldr r1, _080A9B70
- ldr r0, _080A9B74
- str r0, [r1]
- movs r0, 0
- add sp, 0x8
- pop {r1}
- bx r1
- .align 2, 0
-_080A9B6C: .4byte gUnknown_083C91F0
-_080A9B70: .4byte gCallback_03004AE8
-_080A9B74: .4byte sub_80A9B78
- thumb_func_end unref_sub_80A9B28
-
- thumb_func_start sub_80A9B78
-sub_80A9B78: @ 80A9B78
- push {lr}
- bl ProcessMenuInput
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- bne _080A9B8E
- movs r0, 0
- b _080A9BB6
-_080A9B8E:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080A9BB0
- ldr r2, _080A9BA8
- ldr r0, _080A9BAC
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r0, [r1]
- str r0, [r2]
- movs r0, 0
- b _080A9BB6
- .align 2, 0
-_080A9BA8: .4byte gCallback_03004AE8
-_080A9BAC: .4byte gUnknown_083C91F0
-_080A9BB0:
- bl sub_8071C20
- movs r0, 0x1
-_080A9BB6:
- pop {r1}
- bx r1
- thumb_func_end sub_80A9B78
-
- thumb_func_start sub_80A9BBC
-sub_80A9BBC: @ 80A9BBC
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _080A9BE0
- movs r1, 0xFF
- bl CreateTask
- movs r0, 0x1
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_080A9BE0: .4byte sub_80A9BE4
- thumb_func_end sub_80A9BBC
-
- thumb_func_start sub_80A9BE4
-sub_80A9BE4: @ 80A9BE4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080A9C14
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080A9C10
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _080A9C18
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080A9C0C
- bl sub_80AF668
-_080A9C0C:
- bl sub_80C2358
-_080A9C10:
- pop {r0}
- bx r0
- .align 2, 0
-_080A9C14: .4byte gPaletteFade
-_080A9C18: .4byte gUnknown_0203869A
- thumb_func_end sub_80A9BE4
-
- thumb_func_start sub_80A9C1C
-sub_80A9C1C: @ 80A9C1C
- push {lr}
- ldr r1, _080A9C30
- movs r0, 0
- strb r0, [r1]
- bl sub_80AA10C
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080A9C30: .4byte gUnknown_0203869A
- thumb_func_end sub_80A9C1C
-
- thumb_func_start sub_80A9C34
-sub_80A9C34: @ 80A9C34
- push {lr}
- bl sub_80AA10C
- movs r0, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80A9C34
-
- thumb_func_start sub_80A9C40
-sub_80A9C40: @ 80A9C40
- push {r4,r5,lr}
- ldr r5, _080A9C88
- adds r0, r5, 0
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r2, _080A9C8C
- adds r0, r4, 0
- adds r1, r5, 0
- bl SetTaskFuncWithFollowupFunc
- ldr r0, _080A9C90
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A9C94
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x1C]
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r2
- strh r0, [r1, 0x1C]
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080A9C88: .4byte sub_80A9E3C
-_080A9C8C: .4byte sub_80A9C98
-_080A9C90: .4byte sub_80A9E04
-_080A9C94: .4byte gTasks
- thumb_func_end sub_80A9C40
-
- thumb_func_start sub_80A9C98
-sub_80A9C98: @ 80A9C98
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80AE098
- ldr r1, _080A9CB8
- ldr r2, _080A9CBC
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9CB8: .4byte sub_80C8734
-_080A9CBC: .4byte sub_80A9CC0
- thumb_func_end sub_80A9C98
-
- thumb_func_start sub_80A9CC0
-sub_80A9CC0: @ 80A9CC0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A9CD4
- ldr r2, _080A9CD8
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080A9CD4: .4byte sub_80C88AC
-_080A9CD8: .4byte sub_80A9CDC
- thumb_func_end sub_80A9CC0
-
- thumb_func_start sub_80A9CDC
-sub_80A9CDC: @ 80A9CDC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A9CF0
- ldr r2, _080A9CF4
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080A9CF0: .4byte sub_80C8E1C
-_080A9CF4: .4byte sub_80A9D58
- thumb_func_end sub_80A9CDC
-
- thumb_func_start sub_80A9CF8
-sub_80A9CF8: @ 80A9CF8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A9D28
- ldrb r0, [r0]
- cmp r0, 0
- bne _080A9D20
- ldr r0, _080A9D2C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x1C]
- bl DestroyTask
- adds r0, r4, 0
- bl DestroyTask
- bl sub_8071C20
-_080A9D20:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9D28: .4byte gReceivedRemoteLinkPlayers
-_080A9D2C: .4byte gTasks
- thumb_func_end sub_80A9CF8
-
- thumb_func_start sub_80A9D30
-sub_80A9D30: @ 80A9D30
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800832C
- ldr r1, _080A9D50
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080A9D54
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9D50: .4byte gTasks
-_080A9D54: .4byte sub_80A9CF8
- thumb_func_end sub_80A9D30
-
- thumb_func_start sub_80A9D58
-sub_80A9D58: @ 80A9D58
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r3, 0
- ldr r1, _080A9DA8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, 0x12
- adds r2, r0, r1
-_080A9D6E:
- mov r0, sp
- adds r1, r0, r3
- ldrh r0, [r2]
- strb r0, [r1]
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _080A9D6E
- mov r0, sp
- bl sub_80C4B34
- ldr r1, _080A9DAC
- strb r0, [r1]
- ldr r0, _080A9DB0
- ldrb r0, [r0]
- bl sub_80AE82C
- movs r0, 0
- bl sub_80B0F28
- ldr r1, _080A9DB4
- ldr r2, _080A9DB8
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9DA8: .4byte gTasks
-_080A9DAC: .4byte gUnknown_0203869B
-_080A9DB0: .4byte gUnknown_0203869C
-_080A9DB4: .4byte sub_80C8EBC
-_080A9DB8: .4byte sub_80A9DBC
- thumb_func_end sub_80A9D58
-
- thumb_func_start sub_80A9DBC
-sub_80A9DBC: @ 80A9DBC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080A9DD0
- ldr r2, _080A9DD4
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080A9DD0: .4byte sub_80C8F34
-_080A9DD4: .4byte sub_80A9DD8
- thumb_func_end sub_80A9DBC
-
- thumb_func_start sub_80A9DD8
-sub_80A9DD8: @ 80A9DD8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080A9E00
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x1C]
- bl DestroyTask
- adds r0, r4, 0
- bl DestroyTask
- bl sub_8071C20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9E00: .4byte gTasks
- thumb_func_end sub_80A9DD8
-
- thumb_func_start sub_80A9E04
-sub_80A9E04: @ 80A9E04
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080A9E30
- ldrh r0, [r0, 0x2E]
- cmp r0, 0x2
- bne _080A9E2A
- ldr r2, _080A9E34
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r1, [r0, 0x1C]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _080A9E38
- str r1, [r0]
-_080A9E2A:
- pop {r0}
- bx r0
- .align 2, 0
-_080A9E30: .4byte gMain
-_080A9E34: .4byte gTasks
-_080A9E38: .4byte sub_80A9D30
- thumb_func_end sub_80A9E04
-
- thumb_func_start sub_80A9E3C
-sub_80A9E3C: @ 80A9E3C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl OpenLink
- movs r1, 0
- ldr r3, _080A9E74
- movs r2, 0xFF
-_080A9E4C:
- lsls r0, r1, 8
- adds r0, r3
- strh r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080A9E4C
- ldr r1, _080A9E78
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, _080A9E7C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9E74: .4byte gBlockRecvBuffer
-_080A9E78: .4byte gTasks
-_080A9E7C: .4byte sub_80A9E80
- thumb_func_end sub_80A9E3C
-
- thumb_func_start sub_80A9E80
-sub_80A9E80: @ 80A9E80
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A9EA0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x9
- bgt _080A9EA4
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
- b _080A9ECC
- .align 2, 0
-_080A9EA0: .4byte gTasks
-_080A9EA4:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080A9ECC
- movs r0, 0
- strh r0, [r4, 0x8]
- bl IsLinkMaster
- lsls r0, 24
- cmp r0, 0
- beq _080A9EC8
- ldr r0, _080A9EC4
- b _080A9ECA
- .align 2, 0
-_080A9EC4: .4byte sub_80A9ED8
-_080A9EC8:
- ldr r0, _080A9ED4
-_080A9ECA:
- str r0, [r4]
-_080A9ECC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9ED4: .4byte sub_80A9F10
- thumb_func_end sub_80A9E80
-
- thumb_func_start sub_80A9ED8
-sub_80A9ED8: @ 80A9ED8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080A9F08
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x65
- bne _080A9F02
- bl sub_8007F4C
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, _080A9F0C
- str r0, [r4]
-_080A9F02:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9F08: .4byte gTasks
-_080A9F0C: .4byte sub_80A9F10
- thumb_func_end sub_80A9ED8
-
- thumb_func_start sub_80A9F10
-sub_80A9F10: @ 80A9F10
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080A9F44
- ldrb r0, [r0]
- cmp r0, 0
- beq _080A9F3E
- bl GetMultiplayerId
- ldr r1, _080A9F48
- strb r0, [r1]
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080A9F3E
- ldr r1, _080A9F4C
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_080A9F3E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9F44: .4byte gReceivedRemoteLinkPlayers
-_080A9F48: .4byte gUnknown_02038695
-_080A9F4C: .4byte gUnknown_0203869A
- thumb_func_end sub_80A9F10
-
- thumb_func_start sub_80A9F50
-sub_80A9F50: @ 80A9F50
- push {r4,lr}
- movs r2, 0x80
- lsls r2, 19
- movs r0, 0x40
- strh r0, [r2]
- ldrh r0, [r2]
- movs r3, 0x88
- lsls r3, 5
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r4, _080A9FB8
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r0, _080A9FBC
- adds r1, r4, 0
- bl InitWindowFromConfig
- ldr r0, _080A9FC0
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x44
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r0, _080A9FC4
- strh r1, [r0]
- ldr r0, _080A9FC8
- strh r1, [r0]
- ldr r0, _080A9FCC
- strh r1, [r0]
- ldr r0, _080A9FD0
- strh r1, [r0]
- ldr r0, _080A9FD4
- strh r1, [r0]
- ldr r0, _080A9FD8
- strh r1, [r0]
- ldr r0, _080A9FDC
- strh r1, [r0]
- ldr r0, _080A9FE0
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080A9FB8: .4byte gWindowConfig_81E6C3C
-_080A9FBC: .4byte gMenuWindow
-_080A9FC0: .4byte REG_MOSAIC
-_080A9FC4: .4byte gUnknown_030042A4
-_080A9FC8: .4byte gUnknown_030042A0
-_080A9FCC: .4byte gUnknown_030042C0
-_080A9FD0: .4byte gUnknown_030041B4
-_080A9FD4: .4byte gUnknown_03004288
-_080A9FD8: .4byte gUnknown_03004280
-_080A9FDC: .4byte gUnknown_030041B0
-_080A9FE0: .4byte gUnknown_030041B8
- thumb_func_end sub_80A9F50
-
- thumb_func_start sub_80A9FE4
-sub_80A9FE4: @ 80A9FE4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- ldr r1, _080AA054
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- add r5, sp, 0x8
- movs r6, 0
- ldr r1, _080AA058
- movs r4, 0x80
- lsls r4, 5
- mov r12, r5
- ldr r7, _080AA05C
- movs r0, 0x85
- lsls r0, 24
- mov r8, r0
-_080AA012:
- str r6, [sp, 0x8]
- mov r0, r12
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080AA012
- str r6, [sp, 0x8]
- str r5, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r8
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xC0
- lsls r0, 19
- mov r1, sp
- bl sub_80034D4
- ldr r0, _080AA060
- bl LoadFontDefaultPalette
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA054: .4byte gUnknown_083C9228
-_080AA058: .4byte 0x040000d4
-_080AA05C: .4byte 0x85000400
-_080AA060: .4byte gWindowConfig_81E6C3C
- thumb_func_end sub_80A9FE4
-
- thumb_func_start sub_80AA064
-sub_80AA064: @ 80AA064
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- ldr r0, _080AA088
- ldrh r0, [r0, 0x2E]
- cmp r0, 0x4
- bne _080AA084
- ldr r0, _080AA08C
- bl SetMainCallback2
-_080AA084:
- pop {r0}
- bx r0
- .align 2, 0
-_080AA088: .4byte gMain
-_080AA08C: .4byte sub_805469C
- thumb_func_end sub_80AA064
-
- thumb_func_start sub_80AA090
-sub_80AA090: @ 80AA090
- push {lr}
- ldr r1, _080AA0E8
- ldr r0, _080AA0EC
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA0F0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA0F4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA0F8
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA0FC
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA100
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA104
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080AA108
- ldrh r0, [r0]
- strh r0, [r1]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_8089668
- pop {r0}
- bx r0
- .align 2, 0
-_080AA0E8: .4byte REG_BG0HOFS
-_080AA0EC: .4byte gUnknown_030042A4
-_080AA0F0: .4byte gUnknown_030042A0
-_080AA0F4: .4byte gUnknown_030042C0
-_080AA0F8: .4byte gUnknown_030041B4
-_080AA0FC: .4byte gUnknown_03004288
-_080AA100: .4byte gUnknown_03004280
-_080AA104: .4byte gUnknown_030041B0
-_080AA108: .4byte gUnknown_030041B8
- thumb_func_end sub_80AA090
-
- thumb_func_start sub_80AA10C
-sub_80AA10C: @ 80AA10C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r4, _080AA238
- ldrb r0, [r4, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4, 0x8]
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80A9F50
- bl dp12_8087EA4
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- bl sub_80A9FE4
- ldr r0, _080AA23C
- bl SetVBlankCallback
- ldr r0, _080AA240
- bl SetMainCallback2
- ldrb r1, [r4, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r4, 0x8]
- ldr r4, _080AA244
- movs r0, 0
- strb r0, [r4]
- ldr r0, _080AA248
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- bne _080AA16A
- movs r0, 0
- movs r1, 0
- bl sub_80AE398
-_080AA16A:
- ldrb r0, [r4]
- bl sub_80AE098
- movs r5, 0
- ldr r6, _080AA24C
- adds r0, r6, 0x1
- mov r8, r0
- ldr r7, _080AA250
-_080AA17A:
- lsls r2, r5, 2
- adds r0, r2, r7
- ldr r1, [r0]
- adds r2, r5
- lsls r2, 17
- movs r0, 0xA8
- lsls r0, 14
- adds r2, r0
- lsrs r2, 16
- lsls r4, r5, 1
- adds r0, r4, r6
- ldrb r3, [r0]
- add r4, r8
- ldrb r0, [r4]
- str r0, [sp]
- ldr r0, _080AA254
- bl sub_8003460
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bls _080AA17A
- ldr r1, _080AA258
- ldr r4, _080AA25C
- movs r0, 0
- strh r0, [r4]
- strh r0, [r1]
- movs r5, 0
- movs r0, 0
- bl sub_80AA5BC
- ldrb r0, [r4]
- bl sub_80AA5E8
- ldr r4, _080AA254
- ldr r1, _080AA260
- movs r0, 0x12
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0xD6
- movs r3, 0x12
- bl sub_8003460
- ldr r1, _080AA264
- movs r0, 0xC
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0xDC
- movs r3, 0
- bl sub_8003460
- ldr r0, _080AA268
- bl LoadSpriteSheet
- ldr r0, _080AA26C
- bl LoadSpritePalette
- movs r0, 0x3
- bl sub_80AA280
- movs r0, 0x3
- bl sub_80AA658
- movs r0, 0x3
- movs r1, 0
- bl sub_80AA614
- ldr r0, _080AA270
- ldr r1, _080AA274
- ldrb r1, [r1, 0x3]
- ldr r2, _080AA278
- ldrb r2, [r2, 0x1]
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AA27C
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x1
- strh r0, [r1, 0x2E]
- strh r0, [r1, 0x30]
- movs r0, 0x3
- strh r0, [r1, 0x32]
- strh r5, [r1, 0x34]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA238: .4byte gPaletteFade
-_080AA23C: .4byte sub_80AA090
-_080AA240: .4byte sub_80AA064
-_080AA244: .4byte gUnknown_02038694
-_080AA248: .4byte gUnknown_02038570
-_080AA24C: .4byte gUnknown_083C9276
-_080AA250: .4byte gUnknown_083C9364
-_080AA254: .4byte gMenuWindow
-_080AA258: .4byte gUnknown_0203869C
-_080AA25C: .4byte gUnknown_0203869E
-_080AA260: .4byte gUnknown_083C9337
-_080AA264: .4byte gUnknown_083C933B
-_080AA268: .4byte gUnknown_083C92B4
-_080AA26C: .4byte gUnknown_083C92BC
-_080AA270: .4byte gSpriteTemplate_83C92CC
-_080AA274: .4byte gUnknown_083C9296
-_080AA278: .4byte gUnknown_083C92A8
-_080AA27C: .4byte gSprites
- thumb_func_end sub_80AA10C
-
- thumb_func_start sub_80AA280
-sub_80AA280: @ 80AA280
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080AA2E8
- movs r1, 0x1E
- str r1, [sp]
- movs r1, 0x3
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl FillWindowRect_DefaultPalette
- ldr r4, _080AA2EC
- ldr r1, _080AA2F0
- adds r0, r4, 0
- bl StringCopy
- lsls r1, r7, 6
- ldr r0, _080AA2F4
- adds r1, r0
- adds r0, r4, 0
- bl StringAppend
- movs r5, 0
- ldr r6, _080AA2F8
- adds r0, r6, 0x1
- mov r8, r0
-_080AA2BE:
- cmp r7, r5
- bne _080AA2FC
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 17
- movs r0, 0x80
- lsls r0, 10
- adds r2, r0
- lsrs r2, 16
- lsls r1, r5, 1
- adds r0, r1, r6
- ldrb r3, [r0]
- add r1, r8
- ldrb r0, [r1]
- str r0, [sp]
- ldr r0, _080AA2E8
- ldr r1, _080AA2EC
- bl sub_8003460
- b _080AA322
- .align 2, 0
-_080AA2E8: .4byte gMenuWindow
-_080AA2EC: .4byte 0x02000000
-_080AA2F0: .4byte gUnknown_083C932C
-_080AA2F4: .4byte gUnknown_0203857D
-_080AA2F8: .4byte gUnknown_083C926E
-_080AA2FC:
- lsls r1, r5, 6
- ldr r0, _080AA338
- adds r1, r0
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 17
- movs r0, 0x80
- lsls r0, 10
- adds r2, r0
- lsrs r2, 16
- lsls r4, r5, 1
- adds r0, r4, r6
- ldrb r3, [r0]
- add r4, r8
- ldrb r0, [r4]
- str r0, [sp]
- ldr r0, _080AA33C
- bl sub_8003460
-_080AA322:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080AA2BE
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA338: .4byte gUnknown_0203857D
-_080AA33C: .4byte gMenuWindow
- thumb_func_end sub_80AA280
-
- thumb_func_start sub_80AA340
-sub_80AA340: @ 80AA340
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA378
- ldr r1, _080AA37C
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x26
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA380
- ldr r1, _080AA384
- ldrb r3, [r1]
- ldrb r1, [r1, 0x1]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x66
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA378: .4byte 0x02000000
-_080AA37C: .4byte gUnknown_02038570
-_080AA380: .4byte gMenuWindow
-_080AA384: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA340
-
- thumb_func_start sub_80AA388
-sub_80AA388: @ 80AA388
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA3C0
- ldr r1, _080AA3C4
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x28
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA3C8
- ldr r1, _080AA3CC
- ldrb r3, [r1, 0x2]
- ldrb r1, [r1, 0x3]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x6C
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA3C0: .4byte 0x02000000
-_080AA3C4: .4byte gUnknown_02038570
-_080AA3C8: .4byte gMenuWindow
-_080AA3CC: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA388
-
- thumb_func_start sub_80AA3D0
-sub_80AA3D0: @ 80AA3D0
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA408
- ldr r1, _080AA40C
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x27
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA410
- ldr r1, _080AA414
- ldrb r3, [r1, 0x4]
- ldrb r1, [r1, 0x5]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x72
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA408: .4byte 0x02000000
-_080AA40C: .4byte gUnknown_02038570
-_080AA410: .4byte gMenuWindow
-_080AA414: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA3D0
-
- thumb_func_start sub_80AA418
-sub_80AA418: @ 80AA418
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA450
- ldr r1, _080AA454
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x29
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA458
- ldr r1, _080AA45C
- ldrb r3, [r1, 0x6]
- ldrb r1, [r1, 0x7]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x78
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA450: .4byte 0x02000000
-_080AA454: .4byte gUnknown_02038570
-_080AA458: .4byte gMenuWindow
-_080AA45C: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA418
-
- thumb_func_start sub_80AA460
-sub_80AA460: @ 80AA460
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA498
- ldr r1, _080AA49C
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x2A
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA4A0
- ldr r1, _080AA4A4
- ldrb r3, [r1, 0x8]
- ldrb r1, [r1, 0x9]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x7E
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA498: .4byte 0x02000000
-_080AA49C: .4byte gUnknown_02038570
-_080AA4A0: .4byte gMenuWindow
-_080AA4A4: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA460
-
- thumb_func_start sub_80AA4A8
-sub_80AA4A8: @ 80AA4A8
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r4, _080AA4E0
- ldr r1, _080AA4E4
- lsrs r0, 18
- adds r0, r1
- adds r0, 0x2B
- ldrb r1, [r0]
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA4E8
- ldr r1, _080AA4EC
- ldrb r3, [r1, 0xA]
- ldrb r1, [r1, 0xB]
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0x84
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA4E0: .4byte 0x02000000
-_080AA4E4: .4byte gUnknown_02038570
-_080AA4E8: .4byte gMenuWindow
-_080AA4EC: .4byte gUnknown_083C9282
- thumb_func_end sub_80AA4A8
-
- thumb_func_start sub_80AA4F0
-sub_80AA4F0: @ 80AA4F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r7, _080AA5A8
- ldr r0, _080AA5AC
- lsls r5, r6, 1
- adds r1, r5, r0
- ldrb r1, [r1]
- mov r9, r1
- adds r0, 0x1
- adds r0, r5, r0
- ldrb r0, [r0]
- mov r10, r0
- movs r0, 0x7
- add r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- str r0, [sp]
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0
- mov r2, r9
- mov r3, r10
- bl FillWindowRect_DefaultPalette
- ldr r0, _080AA5B0
- lsls r4, 6
- adds r4, r5, r4
- adds r0, 0x1E
- adds r4, r0
- ldrh r1, [r4]
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080AA5B4
- adds r1, r0
- lsls r2, r6, 3
- subs r2, r6
- lsls r2, 17
- movs r0, 0x8A
- lsls r0, 16
- adds r2, r0
- lsrs r2, 16
- mov r0, r10
- str r0, [sp]
- adds r0, r7, 0
- mov r3, r9
- bl sub_8003460
- ldr r0, _080AA5B8
- mov r9, r0
- ldrh r1, [r4]
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- adds r5, r6
- lsls r5, 17
- movs r0, 0xFA
- lsls r0, 16
- adds r5, r0
- lsrs r5, 16
- mov r0, r10
- str r0, [sp]
- adds r0, r7, 0
- mov r1, r9
- adds r2, r5, 0
- mov r3, r8
- bl sub_8003460
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA5A8: .4byte gMenuWindow
-_080AA5AC: .4byte gUnknown_083C928E
-_080AA5B0: .4byte gUnknown_02038570
-_080AA5B4: .4byte gMoveNames
-_080AA5B8: .4byte gStringVar1
- thumb_func_end sub_80AA4F0
-
- thumb_func_start sub_80AA5BC
-sub_80AA5BC: @ 80AA5BC
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r2, _080AA5E0
- ldr r1, _080AA5E4
- lsrs r0, 22
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x12
- str r0, [sp]
- adds r0, r2, 0
- movs r2, 0xC2
- movs r3, 0x3
- bl sub_8003460
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080AA5E0: .4byte gMenuWindow
-_080AA5E4: .4byte gUnknown_083C93B4
- thumb_func_end sub_80AA5BC
-
- thumb_func_start sub_80AA5E8
-sub_80AA5E8: @ 80AA5E8
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- ldr r2, _080AA60C
- ldr r1, _080AA610
- lsrs r0, 22
- adds r0, r1
- ldr r1, [r0]
- movs r0, 0x4
- str r0, [sp]
- adds r0, r2, 0
- movs r2, 0xE8
- movs r3, 0x3
- bl sub_8003460
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080AA60C: .4byte gMenuWindow
-_080AA610: .4byte gUnknown_083C93F0
- thumb_func_end sub_80AA5E8
-
- thumb_func_start sub_80AA614
-sub_80AA614: @ 80AA614
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- bl sub_80AE770
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r4, _080AA650
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080AA654
- movs r1, 0xC
- str r1, [sp]
- adds r1, r4, 0
- movs r2, 0xE2
- movs r3, 0x3
- bl sub_8003460
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA650: .4byte 0x02000000
-_080AA654: .4byte gMenuWindow
- thumb_func_end sub_80AA614
-
- thumb_func_start sub_80AA658
-sub_80AA658: @ 80AA658
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80AA340
- adds r0, r5, 0
- bl sub_80AA388
- adds r0, r5, 0
- bl sub_80AA3D0
- adds r0, r5, 0
- bl sub_80AA418
- adds r0, r5, 0
- bl sub_80AA460
- adds r0, r5, 0
- bl sub_80AA4A8
- movs r4, 0
-_080AA684:
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80AA4F0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AA684
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80AA658
-
- thumb_func_start sub_80AA69C
-sub_80AA69C: @ 80AA69C
- push {r4-r6,lr}
- ldr r6, _080AA748
- ldr r5, _080AA74C
- ldrb r2, [r5]
- lsls r2, 6
- ldr r4, _080AA750
- adds r2, r4
- adds r0, r6, 0
- movs r1, 0x16
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r0, r4, 0x2
- adds r2, r0
- adds r0, r6, 0
- movs r1, 0x18
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r0, r4, 0x1
- adds r2, r0
- adds r0, r6, 0
- movs r1, 0x17
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r0, r4, 0x3
- adds r2, r0
- adds r0, r6, 0
- movs r1, 0x21
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r0, r4, 0x4
- adds r2, r0
- adds r0, r6, 0
- movs r1, 0x2F
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r0, r4, 0x5
- adds r2, r0
- adds r0, r6, 0
- movs r1, 0x30
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- subs r4, 0x8
- adds r2, r4
- adds r0, r6, 0
- movs r1, 0xD
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r2, r4
- adds r2, 0x2
- adds r0, r6, 0
- movs r1, 0xE
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r2, r4
- adds r2, 0x4
- adds r0, r6, 0
- movs r1, 0xF
- bl SetMonData
- ldrb r2, [r5]
- lsls r2, 6
- adds r2, r4
- adds r2, 0x6
- adds r0, r6, 0
- movs r1, 0x10
- bl SetMonData
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA748: .4byte gPlayerParty
-_080AA74C: .4byte gUnknown_02038695
-_080AA750: .4byte gUnknown_02038596
- thumb_func_end sub_80AA69C
-
- thumb_func_start sub_80AA754
-sub_80AA754: @ 80AA754
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080AA774
- ldrh r1, [r0, 0x30]
- cmp r1, 0x20
- beq _080AA7A2
- cmp r1, 0x20
- bgt _080AA782
- cmp r1, 0x2
- beq _080AA7F8
- cmp r1, 0x2
- bgt _080AA778
- cmp r1, 0x1
- beq _080AA7D8
- b _080AA870
- .align 2, 0
-_080AA774: .4byte gMain
-_080AA778:
- cmp r1, 0x8
- beq _080AA868
- cmp r1, 0x10
- beq _080AA7A2
- b _080AA870
-_080AA782:
- cmp r1, 0x80
- beq _080AA7C2
- cmp r1, 0x80
- bgt _080AA790
- cmp r1, 0x40
- beq _080AA7AC
- b _080AA870
-_080AA790:
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- beq _080AA814
- movs r0, 0x80
- lsls r0, 2
- cmp r1, r0
- beq _080AA834
- b _080AA870
-_080AA7A2:
- ldrh r0, [r4, 0x2E]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x2E]
- b _080AA870
-_080AA7AC:
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080AA7BC
- movs r0, 0x8
- strh r0, [r4, 0x30]
- b _080AA870
-_080AA7BC:
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _080AA870
-_080AA7C2:
- ldrh r1, [r4, 0x30]
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- cmp r0, 0x8
- bne _080AA7D2
- movs r0, 0
- strh r0, [r4, 0x30]
- b _080AA870
-_080AA7D2:
- adds r0, r1, 0x1
- strh r0, [r4, 0x30]
- b _080AA870
-_080AA7D8:
- ldr r2, _080AA7F4
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r0, 2
- movs r3, 0x30
- ldrsh r1, [r4, r3]
- lsls r1, 3
- adds r0, r1
- adds r0, r2
- ldr r2, [r0]
- adds r0, r4, 0
- movs r1, 0x1
- b _080AA84E
- .align 2, 0
-_080AA7F4: .4byte gUnknown_083C92E4
-_080AA7F8:
- ldr r1, _080AA810
- movs r0, 0x2E
- ldrsh r2, [r4, r0]
- lsls r2, 2
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- lsls r0, 3
- adds r2, r0
- adds r2, r1
- movs r1, 0x1
- negs r1, r1
- b _080AA84A
- .align 2, 0
-_080AA810: .4byte gUnknown_083C92E4
-_080AA814:
- ldr r2, _080AA830
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r0, 2
- movs r3, 0x30
- ldrsh r1, [r4, r3]
- lsls r1, 3
- adds r0, r1
- adds r0, r2
- ldr r2, [r0]
- adds r0, r4, 0
- movs r1, 0xA
- b _080AA84E
- .align 2, 0
-_080AA830: .4byte gUnknown_083C92E4
-_080AA834:
- ldr r1, _080AA864
- movs r0, 0x2E
- ldrsh r2, [r4, r0]
- lsls r2, 2
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- lsls r0, 3
- adds r2, r0
- adds r2, r1
- movs r1, 0xA
- negs r1, r1
-_080AA84A:
- ldr r2, [r2]
- adds r0, r4, 0
-_080AA84E:
- bl _call_via_r2
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x34]
- lsls r1, 24
- lsrs r1, 24
- bl sub_80AA614
- b _080AA870
- .align 2, 0
-_080AA864: .4byte gUnknown_083C92E4
-_080AA868:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80AAD08
-_080AA870:
- ldr r2, _080AA898
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- lsls r0, 1
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- strh r0, [r4, 0x20]
- ldr r1, _080AA89C
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x22]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA898: .4byte gUnknown_083C9296
-_080AA89C: .4byte gUnknown_083C92A8
- thumb_func_end sub_80AA754
-
- thumb_func_start sub_80AA8A0
-sub_80AA8A0: @ 80AA8A0
- push {r4,lr}
- adds r4, r0, 0
- lsls r2, 24
- lsrs r0, r2, 24
- lsls r1, 24
- asrs r1, 24
- cmp r1, 0x1
- bne _080AA8C0
- strh r0, [r4, 0x32]
- bl sub_80AA280
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA658
-_080AA8C0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AA8A0
-
- thumb_func_start sub_80AA8C8
-sub_80AA8C8: @ 80AA8C8
- push {lr}
- lsls r1, 24
- asrs r1, 24
- movs r2, 0
- bl sub_80AA8A0
- pop {r0}
- bx r0
- thumb_func_end sub_80AA8C8
-
- thumb_func_start sub_80AA8D8
-sub_80AA8D8: @ 80AA8D8
- push {lr}
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- bl sub_80AA8A0
- pop {r0}
- bx r0
- thumb_func_end sub_80AA8D8
-
- thumb_func_start sub_80AA8E8
-sub_80AA8E8: @ 80AA8E8
- push {lr}
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x2
- bl sub_80AA8A0
- pop {r0}
- bx r0
- thumb_func_end sub_80AA8E8
-
- thumb_func_start sub_80AA8F8
-sub_80AA8F8: @ 80AA8F8
- push {lr}
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x3
- bl sub_80AA8A0
- pop {r0}
- bx r0
- thumb_func_end sub_80AA8F8
-
- thumb_func_start sub_80AA908
-sub_80AA908: @ 80AA908
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- asrs r2, 24
- adds r2, r1
- lsls r2, 16
- lsrs r0, r2, 16
- asrs r2, 16
- cmp r2, 0xFF
- ble _080AA922
- movs r0, 0xFF
- b _080AA928
-_080AA922:
- cmp r2, 0
- bge _080AA928
- movs r0, 0
-_080AA928:
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80AA908
-
- thumb_func_start sub_80AA930
-sub_80AA930: @ 80AA930
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AA970
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- adds r2, 0x26
- ldrb r3, [r2]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AA908
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x26
- strb r0, [r1]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA340
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA970: .4byte gUnknown_02038570
- thumb_func_end sub_80AA930
-
- thumb_func_start sub_80AA974
-sub_80AA974: @ 80AA974
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AA9B4
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- adds r2, 0x28
- ldrb r3, [r2]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AA908
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x28
- strb r0, [r1]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA388
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA9B4: .4byte gUnknown_02038570
- thumb_func_end sub_80AA974
-
- thumb_func_start sub_80AA9B8
-sub_80AA9B8: @ 80AA9B8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AA9F8
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- adds r2, 0x27
- ldrb r3, [r2]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AA908
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x27
- strb r0, [r1]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA3D0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AA9F8: .4byte gUnknown_02038570
- thumb_func_end sub_80AA9B8
-
- thumb_func_start sub_80AA9FC
-sub_80AA9FC: @ 80AA9FC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AAA3C
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- adds r2, 0x29
- ldrb r3, [r2]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AA908
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x29
- strb r0, [r1]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA418
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAA3C: .4byte gUnknown_02038570
- thumb_func_end sub_80AA9FC
-
- thumb_func_start sub_80AAA40
-sub_80AAA40: @ 80AAA40
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AAA80
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- adds r2, 0x2A
- ldrb r3, [r2]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AA908
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x2A
- strb r0, [r1]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA460
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAA80: .4byte gUnknown_02038570
- thumb_func_end sub_80AAA40
-
- thumb_func_start sub_80AAA84
-sub_80AAA84: @ 80AAA84
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AAAC4
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- adds r2, 0x2B
- ldrb r3, [r2]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AA908
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- adds r1, 0x2B
- strb r0, [r1]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA4A8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAAC4: .4byte gUnknown_02038570
- thumb_func_end sub_80AAA84
-
- thumb_func_start sub_80AAAC8
-sub_80AAAC8: @ 80AAAC8
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- asrs r2, 24
- adds r1, r2
- lsls r1, 16
- lsrs r0, r1, 16
- asrs r1, 16
- movs r2, 0xB1
- lsls r2, 1
- cmp r1, r2
- ble _080AAAE6
- movs r0, 0x1
- b _080AAAEC
-_080AAAE6:
- cmp r1, 0
- bge _080AAAEC
- adds r0, r2, 0
-_080AAAEC:
- pop {r1}
- bx r1
- thumb_func_end sub_80AAAC8
-
- thumb_func_start sub_80AAAF0
-sub_80AAAF0: @ 80AAAF0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AAB2C
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- ldrh r3, [r2, 0x1E]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AAAC8
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- strh r0, [r1, 0x1E]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80AA4F0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAB2C: .4byte gUnknown_02038570
- thumb_func_end sub_80AAAF0
-
- thumb_func_start sub_80AAB30
-sub_80AAB30: @ 80AAB30
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AAB6C
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- ldrh r3, [r2, 0x20]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AAAC8
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- strh r0, [r1, 0x20]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_80AA4F0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAB6C: .4byte gUnknown_02038570
- thumb_func_end sub_80AAB30
-
- thumb_func_start sub_80AAB70
-sub_80AAB70: @ 80AAB70
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AABAC
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- ldrh r3, [r2, 0x22]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AAAC8
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- strh r0, [r1, 0x22]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_80AA4F0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AABAC: .4byte gUnknown_02038570
- thumb_func_end sub_80AAB70
-
- thumb_func_start sub_80AABB0
-sub_80AABB0: @ 80AABB0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080AABEC
- movs r3, 0x32
- ldrsh r2, [r4, r3]
- lsls r2, 6
- adds r2, r5
- ldrh r3, [r2, 0x24]
- lsls r2, r1, 24
- asrs r2, 24
- adds r1, r3, 0
- bl sub_80AAAC8
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsls r1, 6
- adds r1, r5
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl sub_80AA4F0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AABEC: .4byte gUnknown_02038570
- thumb_func_end sub_80AABB0
-
- thumb_func_start sub_80AABF0
-sub_80AABF0: @ 80AABF0
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- movs r0, 0xFF
- cmp r1, 0
- ble _080AABFE
- movs r0, 0x1
-_080AABFE:
- lsls r0, 24
- asrs r0, 24
- ldrh r1, [r5, 0x34]
- adds r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _080AAC14
- movs r4, 0
- b _080AAC1A
-_080AAC14:
- cmp r0, 0x4
- ble _080AAC1A
- movs r4, 0x4
-_080AAC1A:
- lsls r4, 24
- lsrs r0, r4, 24
- bl sub_80AA5BC
- asrs r4, 24
- strh r4, [r5, 0x34]
- ldr r0, _080AAC54
- strh r4, [r0]
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080AAC58
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80AE398
- ldrh r0, [r5, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA280
- ldrh r0, [r5, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA658
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAC54: .4byte gUnknown_0203869C
-_080AAC58: .4byte gUnknown_0203869E
- thumb_func_end sub_80AABF0
-
- thumb_func_start sub_80AAC5C
-sub_80AAC5C: @ 80AAC5C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- cmp r1, 0
- ble _080AAC78
- ldr r1, _080AAC74
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- adds r4, r1, 0
- b _080AAC86
- .align 2, 0
-_080AAC74: .4byte gUnknown_0203869E
-_080AAC78:
- ldr r0, _080AACBC
- ldrh r2, [r0]
- adds r4, r0, 0
- cmp r2, 0
- beq _080AAC86
- subs r0, r2, 0x1
- strh r0, [r4]
-_080AAC86:
- adds r1, r4, 0
- ldrh r0, [r1]
- cmp r0, 0x3
- bls _080AAC92
- movs r0, 0x3
- strh r0, [r1]
-_080AAC92:
- ldrb r0, [r4]
- bl sub_80AA5E8
- ldr r0, _080AACC0
- ldrb r0, [r0]
- ldrb r1, [r4]
- bl sub_80AE398
- ldrh r0, [r5, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA280
- ldrh r0, [r5, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80AA658
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AACBC: .4byte gUnknown_0203869E
-_080AACC0: .4byte gUnknown_0203869C
- thumb_func_end sub_80AAC5C
-
- thumb_func_start sub_80AACC4
-sub_80AACC4: @ 80AACC4
- push {lr}
- bl UpdatePaletteFade
- ldr r0, _080AACF8
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080AACF4
- bl sub_80AA69C
- ldr r0, _080AACFC
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080AACEE
- ldr r0, _080AAD00
- ldrb r0, [r0]
- bl sub_80AE82C
-_080AACEE:
- ldr r0, _080AAD04
- bl SetMainCallback2
-_080AACF4:
- pop {r0}
- bx r0
- .align 2, 0
-_080AACF8: .4byte gPaletteFade
-_080AACFC: .4byte gUnknown_0203869A
-_080AAD00: .4byte 0x02000000
-_080AAD04: .4byte sub_80AB47C
- thumb_func_end sub_80AACC4
-
- thumb_func_start sub_80AAD08
-sub_80AAD08: @ 80AAD08
- push {r4,lr}
- sub sp, 0x4
- lsls r1, 24
- asrs r1, 24
- cmp r1, 0x1
- bne _080AAD32
- ldr r1, _080AAD3C
- ldrh r0, [r0, 0x34]
- movs r4, 0
- strb r0, [r1]
- ldr r0, _080AAD40
- bl SetMainCallback2
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_080AAD32:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAD3C: .4byte 0x02000000
-_080AAD40: .4byte sub_80AACC4
- thumb_func_end sub_80AAD08
-
- thumb_func_start sub_80AAD44
-sub_80AAD44: @ 80AAD44
- push {r4,r5,lr}
- lsls r1, 24
- asrs r1, 24
- cmp r1, 0x1
- bne _080AAD72
- bl sub_80AA69C
- movs r4, 0
- ldr r5, _080AAD78
-_080AAD56:
- lsls r0, r4, 24
- lsrs r0, 24
- ldr r1, _080AAD7C
- ldrb r1, [r1]
- bl sub_80AE770
- strh r0, [r5]
- adds r5, 0x2
- adds r4, 0x1
- cmp r4, 0x3
- ble _080AAD56
- ldr r0, _080AAD80
- bl SetMainCallback2
-_080AAD72:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAD78: .4byte gUnknown_02038670
-_080AAD7C: .4byte gUnknown_0203869C
-_080AAD80: .4byte sub_805469C
- thumb_func_end sub_80AAD44
-
- thumb_func_start sub_80AAD84
-sub_80AAD84: @ 80AAD84
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x64
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x48]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x4C]
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- mov r5, r10
- adds r5, 0x1
- lsls r1, r5, 8
- ldr r0, _080AAEC4
- subs r1, r0, r1
- movs r0, 0
- str r0, [sp, 0x44]
- ldr r4, _080AAEC8
- add r0, sp, 0x44
- str r0, [r4]
- str r1, [r4, 0x4]
- ldr r0, _080AAECC
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- mov r0, r9
- bl StringLength
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x8
- bls _080AADD0
- movs r7, 0x8
-_080AADD0:
- movs r6, 0
- mov r8, r5
- mov r1, r10
- lsls r1, 1
- str r1, [sp, 0x58]
- ldr r2, [sp, 0x48]
- adds r2, 0x20
- str r2, [sp, 0x5C]
- cmp r6, r7
- bge _080AAE1E
- add r5, sp, 0x40
- add r0, sp, 0x20
- mov r10, r0
- ldr r2, _080AAEC4
-_080AADEC:
- mov r1, r9
- adds r0, r1, r6
- ldrb r0, [r0]
- strb r0, [r5]
- movs r0, 0xFF
- strb r0, [r5, 0x1]
- mov r0, sp
- adds r1, r5, 0
- str r2, [sp, 0x60]
- bl sub_80034D4
- mov r1, r8
- lsls r0, r1, 8
- ldr r2, [sp, 0x60]
- subs r0, r2, r0
- mov r1, r10
- str r1, [r4]
- str r0, [r4, 0x4]
- ldr r0, _080AAED0
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r2, 0x20
- adds r6, 0x1
- cmp r6, r7
- blt _080AADEC
-_080AAE1E:
- movs r1, 0x7C
- ldr r2, [sp, 0x58]
- subs r1, r2
- lsls r1, 24
- lsrs r7, r1, 24
- ldr r0, _080AAED4
- mov r9, r0
- lsls r3, r7, 3
- add r3, r9
- ldr r0, _080AAED8
- ldr r1, [r0]
- ldr r2, [r0, 0x4]
- str r1, [sp, 0x50]
- str r2, [sp, 0x54]
- str r1, [r3, 0x3C]
- str r2, [r3, 0x40]
- mov r2, r8
- lsls r0, r2, 3
- movs r1, 0x80
- lsls r1, 3
- adds r2, r1, 0
- subs r2, r0
- adds r6, r3, 0
- adds r6, 0x40
- ldr r0, _080AAEDC
- mov r8, r0
- mov r1, r8
- ands r2, r1
- ldrh r5, [r6]
- ldr r4, _080AAEE0
- adds r0, r4, 0
- ands r0, r5
- orrs r0, r2
- strh r0, [r6]
- ldrh r5, [r3, 0x3E]
- ldr r2, _080AAEE4
- adds r0, r2, 0
- ands r0, r5
- ldr r1, [sp, 0x48]
- orrs r0, r1
- strh r0, [r3, 0x3E]
- adds r3, 0x3C
- add r0, sp, 0x4C
- ldrb r0, [r0]
- strb r0, [r3]
- adds r1, r7, 0x1
- lsls r1, 3
- mov r0, r9
- adds r7, r1, r0
- ldr r0, [sp, 0x50]
- ldr r1, [sp, 0x54]
- str r0, [r7, 0x3C]
- str r1, [r7, 0x40]
- ldrh r0, [r6]
- lsls r0, 22
- lsrs r0, 22
- adds r0, 0x4
- adds r5, r7, 0
- adds r5, 0x40
- mov r1, r8
- ands r0, r1
- ldrh r3, [r5]
- ands r4, r3
- orrs r4, r0
- strh r4, [r5]
- ldrh r0, [r7, 0x3E]
- ands r2, r0
- ldr r0, [sp, 0x5C]
- orrs r2, r0
- strh r2, [r7, 0x3E]
- adds r1, r7, 0
- adds r1, 0x3C
- add r2, sp, 0x4C
- ldrb r2, [r2]
- strb r2, [r1]
- add sp, 0x64
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAEC4: .4byte 0x06018000
-_080AAEC8: .4byte 0x040000d4
-_080AAECC: .4byte 0x85000040
-_080AAED0: .4byte 0x84000008
-_080AAED4: .4byte gMain
-_080AAED8: .4byte gUnknown_083C9400
-_080AAEDC: .4byte 0x000003ff
-_080AAEE0: .4byte 0xfffffc00
-_080AAEE4: .4byte 0xfffffe00
- thumb_func_end sub_80AAD84
-
- thumb_func_start unref_sub_80AAEE8
-unref_sub_80AAEE8: @ 80AAEE8
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r5, r3, 24
- movs r0, 0
- cmp r4, 0
- bge _080AAF08
- mov r1, sp
- movs r0, 0xAE
- strb r0, [r1]
- movs r0, 0x1
-_080AAF08:
- add r0, sp
- adds r1, r4, 0
- cmp r1, 0
- bge _080AAF12
- negs r1, r1
-_080AAF12:
- movs r2, 0
- movs r3, 0x8
- bl ConvertIntToDecimalStringN
- mov r0, sp
- adds r1, r7, 0
- adds r2, r6, 0
- adds r3, r5, 0
- bl sub_80AAD84
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80AAEE8
-
- thumb_func_start sub_80AAF30
-sub_80AAF30: @ 80AAF30
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r1, _080AAFC0
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080AAFC4
- movs r0, 0x3
- strb r0, [r1]
- movs r0, 0
- bl sub_80AE098
- movs r4, 0x3
- movs r5, 0x1
- negs r5, r5
- ldr r3, _080AAFC8
- movs r2, 0x3
-_080AAF56:
- adds r1, r4, r3
- subs r0, r2, r4
- strb r0, [r1]
- subs r4, 0x1
- cmp r4, r5
- bgt _080AAF56
- movs r4, 0
- movs r6, 0
- ldr r7, _080AAFCC
- ldr r5, _080AAFD0
- mov r9, r5
-_080AAF6C:
- lsls r1, r4, 1
- strh r6, [r7]
- ldr r0, _080AAFD4
- mov r8, r0
- adds r0, r1, r0
- strh r6, [r0]
- ldr r3, _080AAFD8
- adds r1, r3
- strh r6, [r1]
- adds r0, r5, 0
- mov r1, r9
- adds r1, 0xC0
- movs r2, 0x40
- str r3, [sp]
- bl memcpy
- adds r7, 0x2
- adds r5, 0x40
- adds r4, 0x1
- ldr r3, [sp]
- cmp r4, 0x2
- ble _080AAF6C
- ldr r0, _080AAFCC
- movs r1, 0x96
- lsls r1, 1
- strh r1, [r0, 0x6]
- movs r0, 0xC8
- lsls r0, 1
- mov r1, r8
- strh r0, [r1, 0x6]
- strh r0, [r3, 0x6]
- movs r0, 0xFE
- bl sub_80B2A7C
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AAFC0: .4byte gUnknown_0203856C
-_080AAFC4: .4byte gUnknown_02038695
-_080AAFC8: .4byte gUnknown_02038690
-_080AAFCC: .4byte gUnknown_02038670
-_080AAFD0: .4byte gUnknown_02038570
-_080AAFD4: .4byte gUnknown_02038680
-_080AAFD8: .4byte gUnknown_02038678
- thumb_func_end sub_80AAF30
-
- thumb_func_start sub_80AAFDC
-sub_80AAFDC: @ 80AAFDC
- push {lr}
- bl sub_80AAF30
- bl sub_8071C20
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_80AAFDC
-
- thumb_func_start sub_80AAFEC
-sub_80AAFEC: @ 80AAFEC
- push {r4,lr}
- ldr r1, _080AB01C
- movs r0, 0
- strb r0, [r1]
- movs r4, 0
- ldr r3, _080AB020
- ldr r2, _080AB024
- ldr r1, _080AB028
- movs r0, 0x3
-_080AAFFE:
- strh r4, [r1]
- strh r4, [r2]
- strh r4, [r3]
- adds r3, 0x2
- adds r2, 0x2
- adds r1, 0x2
- subs r0, 0x1
- cmp r0, 0
- bge _080AAFFE
- bl sub_8071C20
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080AB01C: .4byte gUnknown_0203856C
-_080AB020: .4byte gUnknown_02038678
-_080AB024: .4byte gUnknown_02038680
-_080AB028: .4byte gUnknown_02038670
- thumb_func_end sub_80AAFEC
-
- thumb_func_start sub_80AB02C
-sub_80AB02C: @ 80AB02C
- push {r4,r5,lr}
- ldr r1, _080AB078
- movs r0, 0x3
- strb r0, [r1]
- movs r0, 0
- bl sub_80AE098
- movs r2, 0x3
- movs r5, 0x1
- negs r5, r5
- ldr r4, _080AB07C
- movs r3, 0x3
-_080AB044:
- adds r1, r2, r4
- subs r0, r3, r2
- strb r0, [r1]
- subs r2, 0x1
- cmp r2, r5
- bgt _080AB044
- ldr r1, _080AB080
- movs r0, 0
- strh r0, [r1]
- adds r4, r1, 0
-_080AB058:
- movs r0, 0xFF
- bl sub_80B2A7C
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bls _080AB058
- bl sub_8071C20
- movs r0, 0x1
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AB078: .4byte gUnknown_02038695
-_080AB07C: .4byte gUnknown_02038690
-_080AB080: .4byte gUnknown_0203869C
- thumb_func_end sub_80AB02C
-
- thumb_func_start unref_sub_80AB084
-unref_sub_80AB084: @ 80AB084
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- mov r8, r0
- ldr r0, _080AB160
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x22
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- movs r2, 0x80
- lsls r2, 19
- movs r3, 0xFA
- lsls r3, 5
- adds r0, r3, 0
- strh r0, [r2]
- ldr r3, _080AB164
- ldrh r2, [r3]
- strh r1, [r3]
- ldr r4, _080AB168
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r1, _080AB16C
- movs r0, 0x8
- strh r0, [r1]
- bl ResetTasks
- bl ResetSpriteData
- ldr r0, _080AB170
- bl SetMainCallback2
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- movs r5, 0
- ldr r1, _080AB174
- movs r4, 0x80
- lsls r4, 5
- ldr r6, _080AB178
- movs r7, 0x85
- lsls r7, 24
-_080AB108:
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- str r2, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080AB108
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r4, _080AB17C
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r5, _080AB180
- adds r0, r5, 0
- adds r1, r4, 0
- bl InitWindowFromConfig
- adds r0, r4, 0
- bl LoadFontDefaultPalette
- movs r0, 0x7
- str r0, [sp]
- adds r0, r5, 0
- mov r1, r8
- movs r2, 0x1
- movs r3, 0x9
- bl sub_8003460
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB160: .4byte REG_BG0HOFS
-_080AB164: .4byte 0x04000208
-_080AB168: .4byte 0x04000200
-_080AB16C: .4byte REG_DISPSTAT
-_080AB170: .4byte sub_80AB184
-_080AB174: .4byte 0x040000d4
-_080AB178: .4byte 0x85000400
-_080AB17C: .4byte gWindowConfig_81E6FD8
-_080AB180: .4byte gUnknown_03004210
- thumb_func_end unref_sub_80AB084
-
- thumb_func_start sub_80AB184
-sub_80AB184: @ 80AB184
- ldr r0, _080AB1A8
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080AB1A8: .4byte REG_BG0HOFS
- thumb_func_end sub_80AB184
-
- thumb_func_start nullsub_89
-nullsub_89: @ 80AB1AC
- bx lr
- thumb_func_end nullsub_89
-
- thumb_func_start sub_80AB1B0
-sub_80AB1B0: @ 80AB1B0
- ldr r1, _080AB1B8
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080AB1B8: .4byte gUnknown_0203869A
- thumb_func_end sub_80AB1B0
-
- thumb_func_start sub_80AB1BC
-sub_80AB1BC: @ 80AB1BC
- push {r4-r6,lr}
- movs r6, 0x80
- lsls r6, 19
- movs r0, 0x40
- strh r0, [r6]
- ldr r4, _080AB260
- ldrh r3, [r4]
- movs r2, 0
- strh r2, [r4]
- ldr r5, _080AB264
- ldrh r0, [r5]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r5]
- strh r3, [r4]
- ldr r1, _080AB268
- movs r0, 0x8
- strh r0, [r1]
- adds r1, 0x4
- movs r3, 0x98
- lsls r3, 8
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080AB26C
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r3, 0x9C
- lsls r3, 8
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080AB270
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _080AB274
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- subs r0, 0xC
- ldr r3, _080AB278
- adds r1, r3, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldrh r0, [r6]
- movs r3, 0xFE
- lsls r3, 7
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r6]
- ldr r0, _080AB27C
- strh r2, [r0]
- ldr r0, _080AB280
- strh r2, [r0]
- ldr r0, _080AB284
- strh r2, [r0]
- ldr r0, _080AB288
- strh r2, [r0]
- ldr r0, _080AB28C
- strh r2, [r0]
- ldr r0, _080AB290
- strh r2, [r0]
- ldr r0, _080AB294
- strh r2, [r0]
- ldr r0, _080AB298
- strh r2, [r0]
- ldr r0, _080AB29C
- strh r2, [r0]
- ldr r0, _080AB2A0
- strh r2, [r0]
- ldr r0, _080AB2A4
- strh r2, [r0]
- ldr r0, _080AB2A8
- strh r2, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB260: .4byte 0x04000208
-_080AB264: .4byte 0x04000200
-_080AB268: .4byte REG_DISPSTAT
-_080AB26C: .4byte 0x00009e09
-_080AB270: .4byte 0x00003a03
-_080AB274: .4byte REG_BLDCNT
-_080AB278: .4byte 0x00003f3f
-_080AB27C: .4byte gUnknown_030042A4
-_080AB280: .4byte gUnknown_030042A0
-_080AB284: .4byte gUnknown_030042C0
-_080AB288: .4byte gUnknown_030041B4
-_080AB28C: .4byte gUnknown_03004288
-_080AB290: .4byte gUnknown_03004280
-_080AB294: .4byte gUnknown_030041B0
-_080AB298: .4byte gUnknown_030041B8
-_080AB29C: .4byte gUnknown_030042C4
-_080AB2A0: .4byte gUnknown_03004240
-_080AB2A4: .4byte gUnknown_03004200
-_080AB2A8: .4byte gUnknown_03004244
- thumb_func_end sub_80AB1BC
-
- thumb_func_start sub_80AB2AC
-sub_80AB2AC: @ 80AB2AC
- push {r4,r5,lr}
- ldr r0, _080AB300
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- ldr r0, _080AB304
- ldr r1, _080AB308
- bl LZDecompressVram
- ldr r0, _080AB30C
- ldr r1, _080AB310
- bl LZDecompressVram
- ldr r0, _080AB314
- movs r2, 0x80
- lsls r2, 2
- movs r1, 0
- bl LoadCompressedPalette
- bl sub_80AB350
- movs r4, 0
- movs r5, 0xA0
-_080AB2DC:
- ldr r0, _080AB318
- adds r0, r5, r0
- ldr r1, _080AB31C
- adds r1, r4, r1
- ldrb r1, [r1]
- adds r1, 0x5
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- adds r5, 0x20
- adds r4, 0x1
- cmp r4, 0x3
- ble _080AB2DC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB300: .4byte gContestMiscGfx
-_080AB304: .4byte gContestAudienceGfx
-_080AB308: .4byte 0x06002000
-_080AB30C: .4byte gUnknown_08D1725C
-_080AB310: .4byte 0x0600d000
-_080AB314: .4byte gUnknown_08D17144
-_080AB318: .4byte 0x02018004
-_080AB31C: .4byte gUnknown_02038696
- thumb_func_end sub_80AB2AC
-
- thumb_func_start sub_80AB320
-sub_80AB320: @ 80AB320
- push {r4,lr}
- ldr r4, _080AB340
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r0, _080AB344
- adds r1, r4, 0
- bl InitWindowFromConfig
- ldr r0, _080AB348
- ldr r1, _080AB34C
- bl InitWindowFromConfig
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB340: .4byte gWindowConfig_81E6FD8
-_080AB344: .4byte gUnknown_03004210
-_080AB348: .4byte gMenuWindow
-_080AB34C: .4byte gWindowConfig_81E6FF4
- thumb_func_end sub_80AB320
-
- thumb_func_start sub_80AB350
-sub_80AB350: @ 80AB350
- push {r4,lr}
- ldr r0, _080AB38C
- bl LoadFontDefaultPalette
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- bl FillPalette
- movs r4, 0xA
-_080AB364:
- adds r1, r4, 0
- adds r1, 0xF0
- ldr r0, _080AB390
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xD
- bls _080AB364
- ldr r0, _080AB394
- movs r1, 0xF3
- movs r2, 0x2
- bl FillPalette
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB38C: .4byte gWindowConfig_81E6FD8
-_080AB390: .4byte gPlttBufferUnfaded + 0x1E2
-_080AB394: .4byte 0x00007e3f
- thumb_func_end sub_80AB350
-
- thumb_func_start sub_80AB398
-sub_80AB398: @ 80AB398
- push {r4-r6,lr}
- ldr r4, _080AB468
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x5C
- bl memset
- movs r5, 0
- adds r4, 0x2
- movs r2, 0xFF
-_080AB3AC:
- adds r1, r5, r4
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- adds r5, 0x1
- cmp r5, 0x3
- ble _080AB3AC
- ldr r4, _080AB46C
- movs r5, 0x3
-_080AB3BE:
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1C
- bl memset
- adds r4, 0x1C
- subs r5, 0x1
- cmp r5, 0
- bge _080AB3BE
- ldr r4, _080AB470
- movs r6, 0x4
- negs r6, r6
- movs r3, 0xFF
- adds r2, r4, 0
- subs r2, 0x65
- movs r5, 0x3
-_080AB3DE:
- ldrb r1, [r2]
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r2]
- ldrb r0, [r2, 0x8]
- orrs r0, r3
- strb r0, [r2, 0x8]
- ldrb r0, [r2, 0x9]
- orrs r0, r3
- strb r0, [r2, 0x9]
- adds r2, 0x1C
- subs r5, 0x1
- cmp r5, 0
- bge _080AB3DE
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- adds r0, r4, 0
- adds r0, 0x14
- movs r1, 0
- movs r2, 0x44
- bl memset
- adds r0, r4, 0
- adds r0, 0x58
- movs r1, 0
- movs r2, 0x4
- bl memset
- adds r0, r4, 0
- adds r0, 0x68
- movs r1, 0
- movs r2, 0x10
- bl memset
- ldr r0, _080AB474
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080AB43A
- movs r0, 0
- bl sub_80B0F28
-_080AB43A:
- movs r5, 0
- movs r6, 0xFF
- adds r3, r4, 0
- subs r3, 0xB8
- adds r2, r4, 0
- subs r2, 0x57
- ldr r4, _080AB478
-_080AB448:
- ldrb r0, [r2]
- orrs r0, r6
- strb r0, [r2]
- adds r1, r3, r5
- adds r0, r5, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r2, 0x1C
- adds r5, 0x1
- cmp r5, 0x3
- ble _080AB448
- bl sub_80B159C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB468: .4byte 0x02019204
-_080AB46C: .4byte 0x02019260
-_080AB470: .4byte 0x020192d0
-_080AB474: .4byte gUnknown_0203869A
-_080AB478: .4byte gUnknown_02038696
- thumb_func_end sub_80AB398
-
- thumb_func_start sub_80AB47C
-sub_80AB47C: @ 80AB47C
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r0, _080AB498
- ldr r1, _080AB49C
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _080AB554
- cmp r0, 0x1
- bgt _080AB4A0
- cmp r0, 0
- beq _080AB4AA
- b _080AB5AE
- .align 2, 0
-_080AB498: .4byte gMain
-_080AB49C: .4byte 0x0000043c
-_080AB4A0:
- cmp r0, 0x2
- beq _080AB55A
- cmp r0, 0x3
- beq _080AB578
- b _080AB5AE
-_080AB4AA:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80AB320
- bl sub_80AB1BC
- bl dp12_8087EA4
- bl ResetPaletteFade
- ldr r0, _080AB538
- ldrb r1, [r0, 0x8]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x8]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- movs r5, 0
- ldr r1, _080AB53C
- movs r4, 0x80
- lsls r4, 5
- ldr r6, _080AB540
- movs r7, 0x85
- lsls r7, 24
-_080AB4E0:
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080AB4E0
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- ldr r1, _080AB544
- movs r0, 0x4
- strb r0, [r1]
- ldr r0, _080AB548
- movs r1, 0xC0
- lsls r1, 9
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bl sub_8040710
- bl sub_80AB398
- ldr r1, _080AB54C
- ldr r0, _080AB550
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080AB5AE
- .align 2, 0
-_080AB538: .4byte gPaletteFade
-_080AB53C: .4byte 0x040000d4
-_080AB540: .4byte 0x85000400
-_080AB544: .4byte gReservedSpritePaletteCount
-_080AB548: .4byte 0x02000000
-_080AB54C: .4byte gMain
-_080AB550: .4byte 0x0000043c
-_080AB554:
- bl sub_80AB350
- b _080AB56C
-_080AB55A:
- ldr r5, _080AB574
- adds r0, r5, 0
- bl sub_80AB70C
- lsls r0, 24
- cmp r0, 0
- beq _080AB5AE
- movs r0, 0
- strb r0, [r5]
-_080AB56C:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080AB5AE
- .align 2, 0
-_080AB574: .4byte 0x0201925d
-_080AB578:
- bl sub_80B2184
- ldr r0, _080AB5B8
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080AB5BC
- strh r1, [r0]
- movs r0, 0x2
- bl BeginFastPaletteFade
- ldr r2, _080AB5C0
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _080AB5C4
- bl SetVBlankCallback
- ldr r0, _080AB5C8
- movs r1, 0xA
- bl CreateTask
- ldr r1, _080AB5CC
- strb r0, [r1, 0x8]
- ldr r0, _080AB5D0
- bl SetMainCallback2
-_080AB5AE:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB5B8: .4byte gUnknown_030042C0
-_080AB5BC: .4byte gUnknown_030041B4
-_080AB5C0: .4byte gPaletteFade
-_080AB5C4: .4byte sub_80ABAC4
-_080AB5C8: .4byte sub_80AB5D4
-_080AB5CC: .4byte 0x02019204
-_080AB5D0: .4byte sub_80ABAAC
- thumb_func_end sub_80AB47C
-
- thumb_func_start sub_80AB5D4
-sub_80AB5D4: @ 80AB5D4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080AB5F8
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080AB5F4
- ldr r0, _080AB5FC
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080AB600
- str r0, [r1]
-_080AB5F4:
- pop {r0}
- bx r0
- .align 2, 0
-_080AB5F8: .4byte gPaletteFade
-_080AB5FC: .4byte gTasks
-_080AB600: .4byte sub_80AB604
- thumb_func_end sub_80AB5D4
-
- thumb_func_start sub_80AB604
-sub_80AB604: @ 80AB604
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080AB648
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AB65C
- ldr r2, _080AB64C
- ldrb r1, [r2, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080AB66A
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- bl sub_80AF860
- ldr r0, _080AB650
- movs r1, 0
- bl CreateTask
- ldr r1, _080AB654
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080AB658
- str r1, [r0]
- b _080AB66A
- .align 2, 0
-_080AB648: .4byte gUnknown_0203869A
-_080AB64C: .4byte gPaletteFade
-_080AB650: .4byte sub_80AB678
-_080AB654: .4byte gTasks
-_080AB658: .4byte nullsub_89
-_080AB65C:
- ldr r0, _080AB670
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080AB674
- str r0, [r1]
-_080AB66A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB670: .4byte gTasks
-_080AB674: .4byte sub_80AB960
- thumb_func_end sub_80AB604
-
- thumb_func_start sub_80AB678
-sub_80AB678: @ 80AB678
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080AB68C
- ldr r2, _080AB690
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080AB68C: .4byte sub_80C89DC
-_080AB690: .4byte sub_80AB694
- thumb_func_end sub_80AB678
-
- thumb_func_start sub_80AB694
-sub_80AB694: @ 80AB694
- lsls r0, 24
- lsrs r0, 24
- movs r3, 0x1
- ldr r2, _080AB6AC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r3, [r1, 0x8]
- ldr r0, _080AB6B0
- str r0, [r1]
- bx lr
- .align 2, 0
-_080AB6AC: .4byte gTasks
-_080AB6B0: .4byte sub_80AB6B4
- thumb_func_end sub_80AB694
-
- thumb_func_start sub_80AB6B4
-sub_80AB6B4: @ 80AB6B4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _080AB6F8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r5
- ldrh r1, [r0, 0x8]
- subs r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- cmp r1, 0
- bgt _080AB6F2
- bl GetMultiplayerId
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, _080AB6FC
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r5
- ldr r1, _080AB700
- str r1, [r0]
- ldr r1, _080AB704
- ldr r0, _080AB708
- ldr r0, [r0]
- str r0, [r1]
-_080AB6F2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AB6F8: .4byte gTasks
-_080AB6FC: .4byte 0x02019204
-_080AB700: .4byte sub_80AB960
-_080AB704: .4byte gRngValue
-_080AB708: .4byte gUnknown_03005D28
- thumb_func_end sub_80AB6B4
-
- thumb_func_start sub_80AB70C
-sub_80AB70C: @ 80AB70C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x44
- mov r10, r0
- ldrb r0, [r0]
- cmp r0, 0x6
- bls _080AB722
- b _080AB93C
-_080AB722:
- lsls r0, 2
- ldr r1, _080AB72C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AB72C: .4byte _080AB730
- .align 2, 0
-_080AB730:
- .4byte _080AB74C
- .4byte _080AB7A0
- .4byte _080AB7B0
- .4byte _080AB800
- .4byte _080AB814
- .4byte _080AB844
- .4byte _080AB8CC
-_080AB74C:
- ldr r0, _080AB794
- ldrb r1, [r0, 0x8]
- movs r2, 0x80
- orrs r1, r2
- strb r1, [r0, 0x8]
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- add r5, sp, 0x40
- movs r6, 0
- ldr r1, _080AB798
- movs r4, 0x80
- lsls r4, 5
- mov r8, r5
- ldr r7, _080AB79C
- movs r0, 0x85
- lsls r0, 24
- mov r9, r0
-_080AB772:
- str r6, [sp, 0x40]
- mov r0, r8
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080AB772
- str r6, [sp, 0x40]
- str r5, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r9
- orrs r0, r2
- b _080AB7E6
- .align 2, 0
-_080AB794: .4byte gPaletteFade
-_080AB798: .4byte 0x040000d4
-_080AB79C: .4byte 0x85000400
-_080AB7A0:
- ldr r0, _080AB7AC
- movs r1, 0xC0
- lsls r1, 19
- bl LZDecompressVram
- b _080AB946
- .align 2, 0
-_080AB7AC: .4byte gContestMiscGfx
-_080AB7B0:
- ldr r0, _080AB7EC
- ldr r4, _080AB7F0
- adds r1, r4, 0
- bl LZDecompressVram
- ldr r3, _080AB7F4
- movs r5, 0x80
- lsls r5, 6
- ldr r1, _080AB7F8
- ldr r6, _080AB7FC
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x84
- lsls r7, 24
-_080AB7CC:
- str r4, [r1]
- str r3, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r4, r2
- adds r3, r2
- subs r5, r2
- cmp r5, r2
- bhi _080AB7CC
- str r4, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r5, 2
- orrs r0, r7
-_080AB7E6:
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- b _080AB946
- .align 2, 0
-_080AB7EC: .4byte gContestAudienceGfx
-_080AB7F0: .4byte 0x06002000
-_080AB7F4: .4byte 0x02015800
-_080AB7F8: .4byte 0x040000d4
-_080AB7FC: .4byte 0x84000400
-_080AB800:
- ldr r0, _080AB80C
- ldr r1, _080AB810
- bl LZDecompressVram
- b _080AB946
- .align 2, 0
-_080AB80C: .4byte gUnknown_08D1725C
-_080AB810: .4byte 0x0600d000
-_080AB814:
- ldr r0, _080AB830
- ldr r4, _080AB834
- adds r1, r4, 0
- bl LZDecompressVram
- ldr r1, _080AB838
- ldr r0, _080AB83C
- str r4, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080AB840
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080AB946
- .align 2, 0
-_080AB830: .4byte gUnknown_08D17424
-_080AB834: .4byte 0x0600e000
-_080AB838: .4byte 0x02018a04
-_080AB83C: .4byte 0x040000d4
-_080AB840: .4byte 0x84000200
-_080AB844:
- ldr r0, _080AB8AC
- movs r2, 0x80
- lsls r2, 2
- movs r1, 0
- bl LoadCompressedPalette
- ldr r5, _080AB8B0
- ldr r6, _080AB8B4
- adds r0, r5, 0
- mov r1, sp
- adds r2, r6, 0
- bl CpuSet
- ldr r0, _080AB8B8
- mov r9, r0
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 5
- ldr r1, _080AB8BC
- adds r1, r5
- mov r8, r1
- add r0, r8
- add r4, sp, 0x20
- adds r1, r4, 0
- adds r2, r6, 0
- bl CpuSet
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r6, 0
- bl CpuSet
- mov r2, r9
- ldrb r1, [r2]
- adds r1, 0x5
- lsls r1, 5
- add r1, r8
- mov r0, sp
- adds r2, r6, 0
- bl CpuSet
- ldr r1, _080AB8C0
- ldr r0, _080AB8C4
- mov r2, r8
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080AB8C8
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl sub_80AB350
- b _080AB946
- .align 2, 0
-_080AB8AC: .4byte gUnknown_08D17144
-_080AB8B0: .4byte gPlttBufferUnfaded + 0x100
-_080AB8B4: .4byte REG_BG0CNT
-_080AB8B8: .4byte gUnknown_02038695
-_080AB8BC: .4byte 0xffffff00
-_080AB8C0: .4byte 0x02018004
-_080AB8C4: .4byte 0x040000d4
-_080AB8C8: .4byte 0x84000080
-_080AB8CC:
- bl sub_80B1118
- bl sub_80AFA5C
- bl sub_80AEB30
- bl sub_80AE8B4
- ldr r1, _080AB924
- movs r4, 0
- strb r0, [r1, 0x12]
- bl sub_80AFE30
- bl sub_80B0034
- bl sub_80B00C8
- bl sub_80B0324
- bl sub_80B0518
- ldr r1, _080AB928
- strb r4, [r1]
- movs r0, 0x1
- strb r0, [r1, 0x1]
- movs r3, 0x3
- strb r3, [r1, 0x2]
- movs r2, 0x2
- strb r2, [r1, 0x3]
- ldr r0, _080AB92C
- strh r4, [r0]
- ldr r4, _080AB930
- strb r2, [r4]
- ldr r0, _080AB934
- strb r3, [r0]
- bl sub_80AE858
- ldr r2, _080AB938
- ldrb r1, [r4]
- adds r1, r2
- strb r0, [r1]
- bl sub_80B292C
- b _080AB946
- .align 2, 0
-_080AB924: .4byte 0x02019204
-_080AB928: .4byte gUnknown_02024A72
-_080AB92C: .4byte gUnknown_020239F8
-_080AB930: .4byte gUnknown_02024C07
-_080AB934: .4byte gUnknown_02024C08
-_080AB938: .4byte gUnknown_02024BE0
-_080AB93C:
- movs r0, 0
- mov r1, r10
- strb r0, [r1]
- movs r0, 0x1
- b _080AB950
-_080AB946:
- mov r2, r10
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- movs r0, 0
-_080AB950:
- add sp, 0x44
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80AB70C
-
- thumb_func_start sub_80AB960
-sub_80AB960: @ 80AB960
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _080AB994
- ldrb r2, [r1, 0x8]
- movs r0, 0x7F
- ands r0, r2
- strb r0, [r1, 0x8]
- ldrb r1, [r1, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080AB990
- ldr r0, _080AB998
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0x8]
- strh r2, [r1, 0xA]
- ldr r0, _080AB99C
- str r0, [r1]
-_080AB990:
- pop {r0}
- bx r0
- .align 2, 0
-_080AB994: .4byte gPaletteFade
-_080AB998: .4byte gTasks
-_080AB99C: .4byte sub_80AB9A0
- thumb_func_end sub_80AB960
-
- thumb_func_start sub_80AB9A0
-sub_80AB9A0: @ 80AB9A0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080AB9C4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _080ABA7C
- lsls r0, 2
- ldr r1, _080AB9C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AB9C4: .4byte gTasks
-_080AB9C8: .4byte _080AB9CC
- .align 2, 0
-_080AB9CC:
- .4byte _080AB9E0
- .4byte _080ABA0A
- .4byte _080ABA28
- .4byte _080ABA44
- .4byte _080ABA7C
-_080AB9E0:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r2
- ldrh r0, [r4, 0xA]
- adds r1, r0, 0x1
- strh r1, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080ABA9C
- movs r0, 0
- strh r0, [r4, 0xA]
- movs r0, 0x61
- movs r1, 0
- bl PlaySE12WithPanning
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080ABA9C
-_080ABA0A:
- ldr r1, _080ABA24
- ldrh r0, [r1]
- adds r0, 0x7
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA0
- ble _080ABA9C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- b _080ABA68
- .align 2, 0
-_080ABA24: .4byte gUnknown_030041B4
-_080ABA28:
- bl sub_80B2280
- ldr r0, _080ABA40
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080ABA9C
- .align 2, 0
-_080ABA40: .4byte gTasks
-_080ABA44:
- ldr r3, _080ABA70
- ldrb r2, [r3]
- movs r1, 0x4
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3]
- ldr r2, _080ABA74
- ldrb r0, [r2]
- ands r1, r0
- strb r1, [r2]
- bl sub_80B1B14
- ldr r1, _080ABA78
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
-_080ABA68:
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080ABA9C
- .align 2, 0
-_080ABA70: .4byte REG_BG0CNT
-_080ABA74: .4byte REG_BG2CNT
-_080ABA78: .4byte gTasks
-_080ABA7C:
- ldr r0, _080ABAA4
- ldrb r1, [r0, 0x6]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080ABA9C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- ldr r1, _080ABAA8
- str r1, [r0]
-_080ABA9C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABAA4: .4byte 0x02019204
-_080ABAA8: .4byte sub_80ABB70
- thumb_func_end sub_80AB9A0
-
- thumb_func_start sub_80ABAAC
-sub_80ABAAC: @ 80ABAAC
- push {lr}
- bl AnimateSprites
- bl RunTasks
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80ABAAC
-
- thumb_func_start sub_80ABAC4
-sub_80ABAC4: @ 80ABAC4
- push {lr}
- ldr r1, _080ABB3C
- ldr r0, _080ABB40
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB44
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB48
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB4C
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB50
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB54
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB58
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080ABB5C
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x22
- ldr r0, _080ABB60
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x4
- ldr r0, _080ABB64
- ldrh r0, [r0]
- strh r0, [r1]
- subs r1, 0x2
- ldr r0, _080ABB68
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x4
- ldr r0, _080ABB6C
- ldrh r0, [r0]
- strh r0, [r1]
- bl TransferPlttBuffer
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl sub_8089668
- pop {r0}
- bx r0
- .align 2, 0
-_080ABB3C: .4byte REG_BG0HOFS
-_080ABB40: .4byte gUnknown_030042A4
-_080ABB44: .4byte gUnknown_030042A0
-_080ABB48: .4byte gUnknown_030042C0
-_080ABB4C: .4byte gUnknown_030041B4
-_080ABB50: .4byte gUnknown_03004288
-_080ABB54: .4byte gUnknown_03004280
-_080ABB58: .4byte gUnknown_030041B0
-_080ABB5C: .4byte gUnknown_030041B8
-_080ABB60: .4byte gUnknown_030042C4
-_080ABB64: .4byte gUnknown_03004240
-_080ABB68: .4byte gUnknown_03004200
-_080ABB6C: .4byte gUnknown_03004244
- thumb_func_end sub_80ABAC4
-
- thumb_func_start sub_80ABB70
-sub_80ABB70: @ 80ABB70
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080ABBB0
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080ABBB4
- strh r1, [r0]
- bl sub_80B0D7C
- ldr r1, _080ABBB8
- ldr r2, _080ABBBC
- ldr r0, _080ABBC0
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080ABBC4
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _080ABBC8
- ldrb r0, [r0]
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- bne _080ABBD4
- ldr r0, _080ABBCC
- ldr r1, _080ABBD0
- bl StringCopy
- b _080ABBDC
- .align 2, 0
-_080ABBB0: .4byte gUnknown_030042A0
-_080ABBB4: .4byte gUnknown_03004280
-_080ABBB8: .4byte gPlttBufferUnfaded
-_080ABBBC: .4byte 0x02018204
-_080ABBC0: .4byte 0x040000d4
-_080ABBC4: .4byte 0x84000100
-_080ABBC8: .4byte gUnknown_02038695
-_080ABBCC: .4byte gUnknown_020238CC
-_080ABBD0: .4byte gUnknown_083CAF84
-_080ABBD4:
- ldr r0, _080ABC20
- ldr r1, _080ABC24
- bl StringCopy
-_080ABBDC:
- ldr r5, _080ABC20
- ldr r0, _080ABC28
- ldrb r1, [r0, 0x1]
- adds r1, 0x1
- adds r0, r5, 0
- bl sub_80AE020
- bl sub_80AF138
- ldr r4, _080ABC2C
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringExpandPlaceholders
- ldr r0, _080ABC30
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080ABC34
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ABC38
- str r1, [r0]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABC20: .4byte gUnknown_020238CC
-_080ABC24: .4byte gUnknown_083CAFAE
-_080ABC28: .4byte 0x02019204
-_080ABC2C: .4byte gStringVar4
-_080ABC30: .4byte gMenuWindow
-_080ABC34: .4byte gTasks
-_080ABC38: .4byte sub_80ABC3C
- thumb_func_end sub_80ABB70
-
- thumb_func_start sub_80ABC3C
-sub_80ABC3C: @ 80ABC3C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080ABC64
- bl sub_80037A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080ABC5E
- ldr r0, _080ABC68
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ABC6C
- str r0, [r1]
-_080ABC5E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABC64: .4byte gMenuWindow
-_080ABC68: .4byte gTasks
-_080ABC6C: .4byte sub_80ABC70
- thumb_func_end sub_80ABC3C
-
- thumb_func_start sub_80ABC70
-sub_80ABC70: @ 80ABC70
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, _080ABCB0
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080ABC88
- cmp r1, 0x2
- bne _080ABCCE
-_080ABC88:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080ABCB4
- ldrb r0, [r0]
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- bne _080ABCC0
- movs r0, 0x1
- bl sub_80AFFE0
- ldr r0, _080ABCB8
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ABCBC
- b _080ABCCC
- .align 2, 0
-_080ABCB0: .4byte gMain
-_080ABCB4: .4byte gUnknown_02038695
-_080ABCB8: .4byte gTasks
-_080ABCBC: .4byte sub_80ABCDC
-_080ABCC0:
- ldr r0, _080ABCD4
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ABCD8
-_080ABCCC:
- str r0, [r1]
-_080ABCCE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABCD4: .4byte gTasks
-_080ABCD8: .4byte sub_80AC0C8
- thumb_func_end sub_80ABC70
-
- thumb_func_start sub_80ABCDC
-sub_80ABCDC: @ 80ABCDC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x28]
- ldr r0, _080ABD80
- movs r1, 0xA0
- strh r1, [r0]
- ldr r0, _080ABD84
- strh r1, [r0]
- ldr r5, _080ABD88
- ldr r4, _080ABD8C
- ldrb r2, [r4]
- ldrb r3, [r4, 0x1]
- ldrb r0, [r4, 0x2]
- str r0, [sp]
- ldrb r0, [r4, 0x3]
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0
- bl FillWindowRect_DefaultPalette
- movs r6, 0
- ldr r0, _080ABD90
- mov r8, r0
- ldr r7, _080ABD94
- mov r9, r5
- mov r10, r4
-_080ABD1C:
- lsls r1, r6, 1
- mov r3, r8
- ldrb r2, [r3]
- lsls r0, r2, 6
- adds r1, r0
- ldr r0, _080ABD98
- adds r1, r0
- ldrh r4, [r1]
- add r5, sp, 0x8
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r7
- ldrh r0, [r0, 0x8]
- cmp r0, 0
- beq _080ABDA0
- adds r0, r2, 0
- bl sub_80B214C
- lsls r0, 24
- cmp r0, 0
- beq _080ABDA0
- mov r2, r8
- ldrb r1, [r2]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r7
- ldrh r0, [r0, 0x8]
- adds r1, r4, 0
- bl AreMovesContestCombo
- lsls r0, 24
- cmp r0, 0
- beq _080ABDA0
- mov r3, r8
- ldrb r1, [r3]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r7
- ldrb r1, [r0, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080ABDA0
- add r0, sp, 0x8
- ldr r1, _080ABD9C
- b _080ABDC6
- .align 2, 0
-_080ABD80: .4byte gUnknown_030042A0
-_080ABD84: .4byte gUnknown_03004280
-_080ABD88: .4byte gUnknown_03004210
-_080ABD8C: .4byte gUnknown_083CA340
-_080ABD90: .4byte gUnknown_02038695
-_080ABD94: .4byte 0x02019260
-_080ABD98: .4byte gUnknown_0203858E
-_080ABD9C: .4byte gUnknownText_UnknownFormatting2
-_080ABDA0:
- cmp r4, 0
- beq _080ABDCC
- mov r1, r8
- ldrb r0, [r1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r7
- ldrh r0, [r1, 0x8]
- cmp r0, r4
- bne _080ABDCC
- ldr r0, _080ABE74
- lsls r1, r4, 3
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x3
- beq _080ABDCC
- add r0, sp, 0x8
- ldr r1, _080ABE78
-_080ABDC6:
- bl StringCopy
- adds r5, r0, 0
-_080ABDCC:
- movs r0, 0xD
- adds r1, r4, 0
- muls r1, r0
- ldr r0, _080ABE7C
- adds r1, r0
- adds r0, r5, 0
- bl StringCopy
- lsls r1, r6, 2
- adds r2, r1, r6
- lsls r2, 18
- movs r3, 0xC2
- lsls r3, 18
- adds r2, r3
- lsrs r2, 16
- mov r3, r10
- adds r0, r1, r3
- ldrb r3, [r0]
- lsls r3, 3
- adds r3, 0x4
- lsls r3, 24
- lsrs r3, 24
- ldr r0, _080ABE80
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 3
- str r0, [sp]
- movs r0, 0x1
- str r0, [sp, 0x4]
- mov r0, r9
- add r1, sp, 0x8
- bl sub_8002E4C
- mov r0, r9
- bl sub_8002F44
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bhi _080ABE20
- b _080ABD1C
-_080ABE20:
- ldr r1, _080ABE84
- ldr r3, _080ABE88
- movs r0, 0x48
- str r0, [sp]
- movs r0, 0
- movs r2, 0xC
- bl sub_814A5C0
- ldr r4, _080ABE8C
- movs r0, 0
- ldrsb r0, [r4, r0]
- bl sub_80AC0AC
- ldr r2, _080ABE90
- ldrb r1, [r4]
- lsls r1, 1
- ldr r0, _080ABE94
- ldrb r0, [r0]
- lsls r0, 6
- adds r1, r0
- adds r2, 0x1E
- adds r1, r2
- ldrh r0, [r1]
- bl sub_80AEBEC
- ldr r1, _080ABE98
- ldr r2, [sp, 0x28]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ABE9C
- str r1, [r0]
- add sp, 0x2C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080ABE74: .4byte gContestMoves
-_080ABE78: .4byte gUnknownText_UnknownFormatting3
-_080ABE7C: .4byte gMoveNames
-_080ABE80: .4byte gUnknown_083CA340 + 0x1
-_080ABE84: .4byte 0x0000ffff
-_080ABE88: .4byte 0x00002d9f
-_080ABE8C: .4byte 0x02019204
-_080ABE90: .4byte gUnknown_02038570
-_080ABE94: .4byte gUnknown_02038695
-_080ABE98: .4byte gTasks
-_080ABE9C: .4byte sub_80ABEA0
- thumb_func_end sub_80ABCDC
-
- thumb_func_start sub_80ABEA0
-sub_80ABEA0: @ 80ABEA0
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- ldr r3, _080ABEF4
- ldr r1, _080ABEF8
- ldr r0, _080ABEFC
- ldrb r0, [r0]
- lsls r0, 6
- adds r1, 0x1E
- adds r1, r0, r1
- movs r2, 0x3
-_080ABEBA:
- ldrh r0, [r1]
- cmp r0, 0
- beq _080ABEC6
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080ABEC6:
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080ABEBA
- ldrh r0, [r3, 0x2E]
- movs r5, 0x1
- ands r5, r0
- cmp r5, 0
- beq _080ABF08
- bl sub_814A7FC
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080ABF00
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ABF04
- str r0, [r1]
- b _080AC098
- .align 2, 0
-_080ABEF4: .4byte gMain
-_080ABEF8: .4byte gUnknown_02038570
-_080ABEFC: .4byte gUnknown_02038695
-_080ABF00: .4byte gTasks
-_080ABF04: .4byte sub_80AC0C8
-_080ABF08:
- ldrh r0, [r3, 0x30]
- cmp r0, 0x20
- bne _080ABF10
- b _080AC098
-_080ABF10:
- cmp r0, 0x20
- bgt _080ABF1A
- cmp r0, 0x2
- beq _080ABF26
- b _080AC098
-_080ABF1A:
- cmp r0, 0x40
- beq _080ABFEC
- cmp r0, 0x80
- bne _080ABF24
- b _080AC048
-_080ABF24:
- b _080AC098
-_080ABF26:
- bl sub_814A904
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_80AFFE0
- ldr r0, _080ABF64
- ldr r1, _080ABF68
- ldrb r2, [r1]
- ldrb r3, [r1, 0x1]
- ldrb r4, [r1, 0x2]
- str r4, [sp]
- ldrb r1, [r1, 0x3]
- str r1, [sp, 0x4]
- movs r1, 0
- bl FillWindowRect_DefaultPalette
- ldr r0, _080ABF6C
- ldrb r0, [r0]
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- bne _080ABF78
- ldr r0, _080ABF70
- ldr r1, _080ABF74
- bl StringCopy
- b _080ABF80
- .align 2, 0
-_080ABF64: .4byte gUnknown_03004210
-_080ABF68: .4byte gUnknown_083CA340
-_080ABF6C: .4byte gUnknown_02038695
-_080ABF70: .4byte gUnknown_020238CC
-_080ABF74: .4byte gUnknown_083CAF84
-_080ABF78:
- ldr r0, _080ABFC8
- ldr r1, _080ABFCC
- bl StringCopy
-_080ABF80:
- ldr r5, _080ABFC8
- ldr r0, _080ABFD0
- ldrb r1, [r0, 0x1]
- adds r1, 0x1
- adds r0, r5, 0
- bl sub_80AE020
- bl sub_80AF138
- ldr r4, _080ABFD4
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringExpandPlaceholders
- ldr r0, _080ABFD8
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8003460
- ldr r0, _080ABFDC
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080ABFE0
- strh r1, [r0]
- ldr r1, _080ABFE4
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ABFE8
- str r1, [r0]
- b _080AC098
- .align 2, 0
-_080ABFC8: .4byte gUnknown_020238CC
-_080ABFCC: .4byte gUnknown_083CAFAE
-_080ABFD0: .4byte 0x02019204
-_080ABFD4: .4byte gStringVar4
-_080ABFD8: .4byte gMenuWindow
-_080ABFDC: .4byte gUnknown_030042A0
-_080ABFE0: .4byte gUnknown_03004280
-_080ABFE4: .4byte gTasks
-_080ABFE8: .4byte sub_80ABC70
-_080ABFEC:
- ldr r4, _080AC000
- movs r0, 0
- ldrsb r0, [r4, r0]
- bl nullsub_17
- ldrb r0, [r4]
- cmp r0, 0
- bne _080AC004
- subs r0, r6, 0x1
- b _080AC006
- .align 2, 0
-_080AC000: .4byte 0x02019204
-_080AC004:
- subs r0, 0x1
-_080AC006:
- strb r0, [r4]
- ldr r4, _080AC03C
- movs r0, 0
- ldrsb r0, [r4, r0]
- bl sub_80AC0AC
- bl sub_80AED58
- ldr r2, _080AC040
- ldrb r1, [r4]
- lsls r1, 1
- ldr r0, _080AC044
- ldrb r0, [r0]
- lsls r0, 6
- adds r1, r0
- adds r2, 0x1E
- adds r1, r2
- ldrh r0, [r1]
- bl sub_80AEBEC
- cmp r6, 0x1
- bls _080AC098
- movs r0, 0x5
- bl PlaySE
- b _080AC098
- .align 2, 0
-_080AC03C: .4byte 0x02019204
-_080AC040: .4byte gUnknown_02038570
-_080AC044: .4byte gUnknown_02038695
-_080AC048:
- ldr r4, _080AC060
- movs r0, 0
- ldrsb r0, [r4, r0]
- bl nullsub_17
- ldrb r1, [r4]
- subs r0, r6, 0x1
- cmp r1, r0
- bne _080AC064
- strb r5, [r4]
- b _080AC068
- .align 2, 0
-_080AC060: .4byte 0x02019204
-_080AC064:
- adds r0, r1, 0x1
- strb r0, [r4]
-_080AC068:
- ldr r4, _080AC0A0
- movs r0, 0
- ldrsb r0, [r4, r0]
- bl sub_80AC0AC
- bl sub_80AED58
- ldr r2, _080AC0A4
- ldrb r1, [r4]
- lsls r1, 1
- ldr r0, _080AC0A8
- ldrb r0, [r0]
- lsls r0, 6
- adds r1, r0
- adds r2, 0x1E
- adds r1, r2
- ldrh r0, [r1]
- bl sub_80AEBEC
- cmp r6, 0x1
- bls _080AC098
- movs r0, 0x5
- bl PlaySE
-_080AC098:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AC0A0: .4byte 0x02019204
-_080AC0A4: .4byte gUnknown_02038570
-_080AC0A8: .4byte gUnknown_02038695
- thumb_func_end sub_80ABEA0
-
- thumb_func_start sub_80AC0AC
-sub_80AC0AC: @ 80AC0AC
- push {lr}
- adds r1, r0, 0
- lsls r1, 28
- movs r0, 0xB0
- lsls r0, 23
- adds r1, r0
- lsrs r1, 24
- movs r0, 0x4
- bl sub_814A880
- pop {r0}
- bx r0
- thumb_func_end sub_80AC0AC
-
- thumb_func_start nullsub_17
-nullsub_17: @ 80AC0C4
- bx lr
- thumb_func_end nullsub_17
-
- thumb_func_start sub_80AC0C8
-sub_80AC0C8: @ 80AC0C8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080AC120
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AC13C
- ldr r4, _080AC124
- ldrb r0, [r4]
- bl sub_80AF15C
- ldrb r2, [r4]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r2, _080AC128
- adds r1, r2
- strh r0, [r1, 0x6]
- ldr r4, _080AC12C
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AC130
- adds r1, r4, 0
- bl SetTaskFuncWithFollowupFunc
- ldr r1, _080AC134
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080AC138
- str r1, [r0]
- bl sub_80AF860
- movs r0, 0
- bl sub_80AFFE0
- b _080AC14E
- .align 2, 0
-_080AC120: .4byte gUnknown_0203869A
-_080AC124: .4byte gUnknown_02038695
-_080AC128: .4byte 0x02019260
-_080AC12C: .4byte sub_80C8A38
-_080AC130: .4byte sub_80AC15C
-_080AC134: .4byte gTasks
-_080AC138: .4byte nullsub_89
-_080AC13C:
- bl sub_80AF1B8
- ldr r0, _080AC154
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080AC158
- str r0, [r1]
-_080AC14E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AC154: .4byte gTasks
-_080AC158: .4byte sub_80AC188
- thumb_func_end sub_80AC0C8
-
- thumb_func_start sub_80AC15C
-sub_80AC15C: @ 80AC15C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r2, _080AC17C
- ldr r0, _080AC180
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _080AC184
- str r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080AC17C: .4byte gTasks
-_080AC180: .4byte 0x02019204
-_080AC184: .4byte sub_80AC188
- thumb_func_end sub_80AC15C
-
- thumb_func_start sub_80AC188
-sub_80AC188: @ 80AC188
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl sub_80AF138
- ldr r0, _080AC1E4
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080AC1E8
- strh r1, [r0]
- movs r0, 0
- bl sub_80AFFE0
- ldr r1, _080AC1EC
- ldr r0, _080AC1F0
- movs r2, 0x80
- lsls r2, 3
- ldr r4, _080AC1F4
- str r1, [r4]
- str r0, [r4, 0x4]
- lsrs r1, r2, 2
- movs r3, 0x84
- lsls r3, 24
- orrs r1, r3
- str r1, [r4, 0x8]
- ldr r1, [r4, 0x8]
- ldr r1, _080AC1F8
- adds r0, r1
- movs r1, 0
- bl LoadPalette
- ldr r1, _080AC1FC
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- ldr r1, _080AC200
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AC1E4: .4byte gUnknown_030042A0
-_080AC1E8: .4byte gUnknown_03004280
-_080AC1EC: .4byte gPlttBufferFaded
-_080AC1F0: .4byte 0x02018604
-_080AC1F4: .4byte 0x040000d4
-_080AC1F8: .4byte 0xfffffc00
-_080AC1FC: .4byte gTasks
-_080AC200: .4byte sub_80AC204
- thumb_func_end sub_80AC188
-
- thumb_func_start sub_80AC204
-sub_80AC204: @ 80AC204
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AC248
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080AC242
- movs r0, 0
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080AC242
- bl sub_80B1BDC
- movs r0, 0x1
- bl sub_80B25E4
- ldr r0, _080AC24C
- str r0, [r4]
-_080AC242:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AC248: .4byte gTasks
-_080AC24C: .4byte sub_80AC250
- thumb_func_end sub_80AC204
-
- thumb_func_start sub_80AC250
-sub_80AC250: @ 80AC250
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080AC278
- ldrh r1, [r0, 0x6]
- movs r0, 0x90
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- bne _080AC272
- ldr r0, _080AC27C
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080AC280
- str r0, [r1]
-_080AC272:
- pop {r0}
- bx r0
- .align 2, 0
-_080AC278: .4byte 0x02019204
-_080AC27C: .4byte gTasks
-_080AC280: .4byte sub_80AC284
- thumb_func_end sub_80AC250
-
- thumb_func_start sub_80AC284
-sub_80AC284: @ 80AC284
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AC2BC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r2, r1, r2
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080AC2B6
- ldr r1, _080AC2C0
- movs r0, 0
- strb r0, [r1, 0x10]
- ldr r0, _080AC2C4
- ldr r0, [r0]
- str r0, [r1, 0x18]
- movs r0, 0
- strh r0, [r2, 0x8]
- ldr r0, _080AC2C8
- str r0, [r2]
-_080AC2B6:
- pop {r0}
- bx r0
- .align 2, 0
-_080AC2BC: .4byte gTasks
-_080AC2C0: .4byte 0x02019204
-_080AC2C4: .4byte gRngValue
-_080AC2C8: .4byte sub_80AC2CC
- thumb_func_end sub_80AC284
-
- thumb_func_start sub_80AC2CC
-sub_80AC2CC: @ 80AC2CC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r2, _080AC308
- ldrb r7, [r2, 0x11]
- ldr r1, _080AC30C
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r3, 0x8
- ldrsh r0, [r0, r3]
- adds r6, r2, 0
- mov r12, r1
- cmp r0, 0x3B
- bls _080AC2FC
- bl _080AD8CA
-_080AC2FC:
- lsls r0, 2
- ldr r1, _080AC310
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AC308: .4byte 0x02019204
-_080AC30C: .4byte gTasks
-_080AC310: .4byte _080AC314
- .align 2, 0
-_080AC314:
- .4byte _080AC404
- .4byte _080AC4B4
- .4byte _080AC4D4
- .4byte _080AC534
- .4byte _080AC5E8
- .4byte _080AC638
- .4byte _080AC6F8
- .4byte _080AC730
- .4byte _080AC77C
- .4byte _080AC7F4
- .4byte _080AD750
- .4byte _080AD77C
- .4byte _080AC98C
- .4byte _080AC9C0
- .4byte _080ACEC0
- .4byte _080ACFD4
- .4byte _080AD040
- .4byte _080AD070
- .4byte _080AD168
- .4byte _080AD11A
- .4byte _080AD7B8
- .4byte _080AD868
- .4byte _080AD88C
- .4byte _080AC81E
- .4byte _080AC8CC
- .4byte _080ACAD8
- .4byte _080ACAEE
- .4byte _080ACBB0
- .4byte _080ACBDC
- .4byte _080ACC44
- .4byte _080ACD2A
- .4byte _080AD7E8
- .4byte _080AD840
- .4byte _080AD648
- .4byte _080AD6D8
- .4byte _080AC9EC
- .4byte _080ACA24
- .4byte _080ACA44
- .4byte _080ACA84
- .4byte _080ACC98
- .4byte _080ACD00
- .4byte _080AD1A4
- .4byte _080AD8CA
- .4byte _080AD514
- .4byte _080AD8CA
- .4byte _080ACFA8
- .4byte _080AD0FA
- .4byte _080AC96C
- .4byte _080AC8F8
- .4byte _080AC94C
- .4byte _080ACAAE
- .4byte _080ACDC8
- .4byte _080ACE64
- .4byte _080AD316
- .4byte _080AD3D0
- .4byte _080AD700
- .4byte _080AD71C
- .4byte _080AD53C
- .4byte _080AD5D0
- .4byte _080AD624
-_080AC404:
- bl sub_80B0D7C
- movs r6, 0
- ldr r0, _080AC484
- adds r1, r0, 0
- adds r1, 0xCC
- ldrb r0, [r0, 0x10]
- mov r4, r8
- lsls r4, 2
- mov r9, r4
- ldrb r5, [r1]
- cmp r0, r5
- beq _080AC42C
- adds r2, r1, 0
- adds r1, r0, 0
-_080AC422:
- adds r6, 0x1
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r1, r0
- bne _080AC422
-_080AC42C:
- ldr r4, _080AC484
- strb r6, [r4, 0x11]
- ldrb r7, [r4, 0x11]
- ldr r0, _080AC488
- ldrb r1, [r0]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080AC498
- ldrb r0, [r4, 0x7]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4, 0x7]
- bl sub_80AE074
- lsls r0, 24
- cmp r0, 0
- beq _080AC458
- ldrb r0, [r4, 0x11]
- bl sub_80B114C
-_080AC458:
- ldr r4, _080AC48C
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AC490
- adds r1, r4, 0
- bl SetTaskFuncWithFollowupFunc
- bl sub_80AF860
- ldr r1, _080AC494
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC484: .4byte 0x02019204
-_080AC488: .4byte gUnknown_0203869A
-_080AC48C: .4byte sub_80C8C80
-_080AC490: .4byte sub_80AD8DC
-_080AC494: .4byte gTasks
-_080AC498:
- adds r0, r7, 0
- bl sub_80B114C
- ldr r0, _080AC4B0
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC4B0: .4byte gTasks
-_080AC4B4:
- ldrb r1, [r6, 0x7]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080AC4C2
- bl _080AD8CA
-_080AC4C2:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x2
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080AC4D4:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AC508
- adds r2, r0, r1
- ldrb r1, [r2, 0xC]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080AC4F6
- ldrb r1, [r2, 0xB]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _080AC50C
-_080AC4F6:
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x1F
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC508: .4byte 0x02019260
-_080AC50C:
- bl sub_80AF138
- adds r0, r7, 0
- movs r1, 0
- bl sub_80B0CDC
- ldr r0, _080AC530
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- strh r6, [r1, 0x1C]
- movs r0, 0x3
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC530: .4byte gTasks
-_080AC534:
- mov r4, r8
- lsls r4, 2
- mov r9, r4
- ldr r4, _080AC5C4
- ldr r1, _080AC5C8
- movs r2, 0
- adds r0, r1, 0x3
-_080AC542:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _080AC542
- movs r6, 0x4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- ldr r5, _080AC5CC
- adds r7, r4, r5
- ldrb r0, [r7, 0x11]
- bl sub_80B28F0
- ldr r3, _080AC5D0
- ldrb r2, [r7, 0x11]
- lsls r2, 6
- adds r0, r2, r3
- ldrh r0, [r0]
- adds r1, r3, 0
- adds r1, 0x3C
- adds r1, r2, r1
- ldr r1, [r1]
- adds r3, 0x38
- adds r2, r3
- ldr r2, [r2]
- bl sub_80AE9FC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _080AC5D4
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r3, r0, r2
- movs r1, 0x78
- strh r1, [r3, 0x24]
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080AC5D8
- str r1, [r0]
- ldr r0, _080AC5DC
- mov r4, r9
- add r4, r8
- lsls r4, 3
- adds r4, r0
- strh r5, [r4, 0xC]
- ldr r1, _080AC5E0
- ldr r0, _080AC5E4
- ldrb r0, [r0]
- adds r0, r1
- strb r5, [r0]
- ldrb r0, [r7, 0x11]
- bl sub_80B09E4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80B0BC4
- strh r6, [r4, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC5C4: .4byte 0x02019348
-_080AC5C8: .4byte gUnknown_02024E84
-_080AC5CC: .4byte 0xfffffebc
-_080AC5D0: .4byte gUnknown_02038570
-_080AC5D4: .4byte gSprites
-_080AC5D8: .4byte sub_80AD8FC
-_080AC5DC: .4byte gTasks
-_080AC5E0: .4byte gUnknown_02024BE0
-_080AC5E4: .4byte gUnknown_02024C07
-_080AC5E8:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- mov r3, r12
- adds r2, r0, r3
- ldrb r5, [r2, 0xC]
- ldr r1, _080AC62C
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _080AC630
- cmp r1, r0
- beq _080AC60E
- bl _080AD8CA
-_080AC60E:
- lsls r0, r7, 2
- ldr r1, _080AC634
- adds r0, r1
- ldrb r1, [r0, 0x2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080AC622
- bl _080AD8CA
-_080AC622:
- movs r0, 0x5
- strh r0, [r2, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC62C: .4byte gSprites
-_080AC630: .4byte SpriteCallbackDummy
-_080AC634: .4byte 0x02019338
-_080AC638:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AC660
- adds r5, r0, r1
- ldrb r1, [r5, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AC664
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x21
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC660: .4byte 0x02019260
-_080AC664:
- bl sub_80AF138
- ldr r0, _080AC690
- lsls r1, r7, 6
- ldr r2, _080AC694
- adds r1, r2
- bl StringCopy
- ldrh r1, [r5, 0x6]
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bhi _080AC6A0
- ldr r0, _080AC698
- adds r2, r1, 0
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080AC69C
- adds r1, r2
- bl StringCopy
- b _080AC6B0
- .align 2, 0
-_080AC690: .4byte gStringVar1
-_080AC694: .4byte gUnknown_02038572
-_080AC698: .4byte gStringVar2
-_080AC69C: .4byte gMoveNames
-_080AC6A0:
- ldr r0, _080AC6E0
- ldr r2, _080AC6E4
- ldrb r1, [r5, 0xA]
- lsls r1, 2
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
-_080AC6B0:
- ldr r4, _080AC6E8
- ldr r1, _080AC6EC
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080AC6F0
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080AC6F4
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x6
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC6E0: .4byte gStringVar2
-_080AC6E4: .4byte gUnknown_083CC330
-_080AC6E8: .4byte gStringVar4
-_080AC6EC: .4byte gUnknown_083CAFD7
-_080AC6F0: .4byte gMenuWindow
-_080AC6F4: .4byte gTasks
-_080AC6F8:
- ldr r0, _080AC724
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AC708
- bl _080AD8CA
-_080AC708:
- ldr r0, _080AC728
- adds r0, 0x5A
- movs r1, 0
- strb r1, [r0]
- ldr r1, _080AC72C
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x7
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC724: .4byte gMenuWindow
-_080AC728: .4byte 0x02019204
-_080AC72C: .4byte gTasks
-_080AC730:
- ldrb r1, [r6, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x5C
- adds r0, r1
- ldrh r0, [r0, 0x6]
- bl sub_80B2760
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r6, 0x11]
- bl sub_80B2790
- ldrb r0, [r6, 0x11]
- bl sub_80B28F0
- adds r0, r4, 0
- bl sub_80B29B4
- adds r0, r4, 0
- bl move_anim_start_t1
- ldr r1, _080AC778
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC778: .4byte gTasks
-_080AC77C:
- ldr r0, _080AC7B8
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, _080AC7BC
- ldrb r4, [r0]
- cmp r4, 0
- beq _080AC790
- bl _080AD8CA
-_080AC790:
- adds r0, r7, 0
- bl unref_sub_80B28CC
- ldr r1, _080AC7C0
- adds r0, r1, 0
- adds r0, 0x5A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080AC7C8
- ldr r0, _080AC7C4
- mov r5, r8
- lsls r1, r5, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- strh r4, [r1, 0x1C]
- movs r0, 0x9
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC7B8: .4byte gUnknown_0202F7AC
-_080AC7BC: .4byte gUnknown_0202F7B1
-_080AC7C0: .4byte 0x02019204
-_080AC7C4: .4byte gTasks
-_080AC7C8:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- adds r1, 0x5C
- adds r0, r1
- ldrb r1, [r0, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080AC7E2
- adds r0, r7, 0
- bl sub_80B03A8
-_080AC7E2:
- bl unref_sub_80B20C4
- ldr r0, _080AC7F0
- mov r2, r8
- lsls r1, r2, 2
- b _080AC8E2
- .align 2, 0
-_080AC7F0: .4byte gTasks
-_080AC7F4:
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- mov r4, r12
- adds r2, r0, r4
- ldrh r0, [r2, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r2, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- bgt _080AC812
- bl _080AD8CA
-_080AC812:
- movs r0, 0
- strh r0, [r2, 0x1C]
- movs r0, 0x7
- strh r0, [r2, 0x8]
- bl _080AD8CA
-_080AC81E:
- mov r5, r8
- lsls r3, r5, 2
- adds r0, r3, r5
- lsls r0, 3
- mov r1, r12
- adds r4, r0, r1
- movs r0, 0
- strh r0, [r4, 0xA]
- lsls r2, r7, 3
- subs r0, r2, r7
- lsls r0, 2
- ldr r1, _080AC858
- adds r6, r0, r1
- ldrb r0, [r6, 0x13]
- mov r9, r3
- mov r10, r2
- adds r3, r1, 0
- cmp r0, 0xFF
- beq _080AC85C
- adds r1, r0, 0
- adds r0, r7, 0
- bl sub_80B146C
- movs r0, 0xFF
- strb r0, [r6, 0x13]
- movs r0, 0x18
- strh r0, [r4, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC858: .4byte 0x02019260
-_080AC85C:
- ldrb r0, [r6, 0x14]
- cmp r0, 0xFF
- beq _080AC8C4
- movs r6, 0
- cmp r6, r7
- beq _080AC86E
- ldrb r0, [r3, 0x13]
- cmp r0, 0xFF
- bne _080AC886
-_080AC86E:
- adds r6, 0x1
- cmp r6, 0x3
- bgt _080AC886
- cmp r6, r7
- beq _080AC86E
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x13]
- cmp r0, 0xFF
- beq _080AC86E
-_080AC886:
- cmp r6, 0x4
- bne _080AC8B4
- mov r2, r10
- subs r4, r2, r7
- lsls r4, 2
- adds r4, r3
- ldrb r1, [r4, 0x14]
- adds r0, r7, 0
- bl sub_80B146C
- movs r0, 0xFF
- strb r0, [r4, 0x14]
- ldr r1, _080AC8B0
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x18
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC8B0: .4byte gTasks
-_080AC8B4:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x30
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080AC8C4:
- movs r0, 0x30
- strh r0, [r4, 0x8]
- bl _080AD8CA
-_080AC8CC:
- ldr r0, _080AC8F0
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AC8DC
- bl _080AD8CA
-_080AC8DC:
- ldr r0, _080AC8F4
- mov r3, r8
- lsls r1, r3, 2
-_080AC8E2:
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x17
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC8F0: .4byte gMenuWindow
-_080AC8F4: .4byte gTasks
-_080AC8F8:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AC914
- adds r0, r1
- ldrb r0, [r0, 0x11]
- movs r3, 0x3
- ands r3, r0
- cmp r3, 0x1
- bne _080AC918
- movs r0, 0x5
- bl sub_80B1710
- b _080AC934
- .align 2, 0
-_080AC914: .4byte 0x02019260
-_080AC918:
- cmp r3, 0x2
- bne _080AC924
- movs r0, 0x6
- bl sub_80B1710
- b _080AC934
-_080AC924:
- cmp r3, 0x3
- beq _080AC92E
- mov r4, r8
- lsls r0, r4, 2
- b _080AC95E
-_080AC92E:
- movs r0, 0x7
- bl sub_80B1710
-_080AC934:
- ldr r0, _080AC948
- mov r5, r8
- lsls r1, r5, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x31
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC948: .4byte gTasks
-_080AC94C:
- ldrb r1, [r6, 0x6]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080AC95A
- bl _080AD8CA
-_080AC95A:
- mov r1, r8
- lsls r0, r1, 2
-_080AC95E:
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x2F
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080AC96C:
- movs r0, 0x1
- bl sub_80B1FD0
- ldr r0, _080AC988
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0xC
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC988: .4byte gTasks
-_080AC98C:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AC9B8
- adds r0, r1
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- movs r0, 0
- adds r2, r7, 0
- bl sub_80AFBA0
- ldr r1, _080AC9BC
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0xD
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AC9B8: .4byte 0x02019260
-_080AC9BC: .4byte gTasks
-_080AC9C0:
- ldrb r0, [r6, 0x11]
- lsls r0, 2
- movs r5, 0x9A
- lsls r5, 1
- adds r1, r6, r5
- adds r0, r1
- ldrb r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080AC9DA
- bl _080AD8CA
-_080AC9DA:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x23
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080AC9EC:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080ACA1C
- adds r0, r1
- ldrb r1, [r0, 0x10]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0x10
- bne _080ACA06
- movs r0, 0x8
- bl sub_80B1710
-_080ACA06:
- ldr r0, _080ACA20
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x24
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACA1C: .4byte 0x02019260
-_080ACA20: .4byte gTasks
-_080ACA24:
- ldrb r1, [r6, 0x6]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080ACA32
- bl _080AD8CA
-_080ACA32:
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x25
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080ACA44:
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_80AEE54
- lsls r0, 24
- cmp r0, 0
- beq _080ACA70
- ldr r1, _080ACA6C
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- movs r1, 0x26
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACA6C: .4byte gTasks
-_080ACA70:
- ldr r0, _080ACA80
- mov r5, r8
- lsls r1, r5, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- b _080ACAA6
- .align 2, 0
-_080ACA80: .4byte gTasks
-_080ACA84:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- mov r2, r12
- adds r1, r0, r2
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- strh r0, [r1, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bgt _080ACAA2
- bl _080AD8CA
-_080ACAA2:
- movs r0, 0
- strh r0, [r1, 0x1C]
-_080ACAA6:
- movs r0, 0x32
- strh r0, [r1, 0x8]
- bl _080AD8CA
-_080ACAAE:
- adds r0, r7, 0
- bl sub_80AF038
- lsls r0, 24
- cmp r0, 0
- beq _080ACAC0
- movs r0, 0x63
- bl PlaySE
-_080ACAC0:
- ldr r0, _080ACAD4
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x19
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACAD4: .4byte gTasks
-_080ACAD8:
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0
- strh r1, [r0, 0xA]
- movs r1, 0x1A
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080ACAEE:
- movs r2, 0
- movs r4, 0
- mov r5, r8
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- add r0, r12
- movs r3, 0xA
- ldrsh r6, [r0, r3]
- mov r9, r1
- cmp r6, 0x3
- bgt _080ACB58
- ldr r3, _080ACB24
- ldr r1, _080ACB28
-_080ACB0A:
- movs r4, 0
- movs r2, 0
- cmp r4, r7
- beq _080ACB2C
- ldrb r0, [r3]
- cmp r0, r6
- bne _080ACB2C
- ldrb r0, [r1, 0x13]
- cmp r0, 0xFF
- beq _080ACB2C
- movs r4, 0x1
- b _080ACB60
- .align 2, 0
-_080ACB24: .4byte gUnknown_02038696
-_080ACB28: .4byte 0x02019260
-_080ACB2C:
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080ACB4E
- cmp r2, r7
- beq _080ACB2C
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, r6
- bne _080ACB2C
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x13]
- cmp r0, 0xFF
- beq _080ACB2C
- movs r4, 0x1
-_080ACB4E:
- cmp r4, 0
- bne _080ACB60
- adds r6, 0x1
- cmp r6, 0x3
- ble _080ACB0A
-_080ACB58:
- lsls r0, r4, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080ACB98
-_080ACB60:
- mov r5, r9
- add r5, r8
- lsls r5, 3
- add r5, r12
- ldr r0, _080ACB90
- adds r0, r2, r0
- ldrb r0, [r0]
- strh r0, [r5, 0xA]
- lsls r0, r2, 24
- lsrs r0, 24
- lsls r4, r2, 3
- subs r4, r2
- lsls r4, 2
- ldr r1, _080ACB94
- adds r4, r1
- ldrb r1, [r4, 0x13]
- bl sub_80B146C
- movs r0, 0xFF
- strb r0, [r4, 0x13]
- movs r0, 0x1B
- strh r0, [r5, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACB90: .4byte gUnknown_02038696
-_080ACB94: .4byte 0x02019260
-_080ACB98:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- add r0, r12
- strh r1, [r0, 0xA]
- strh r1, [r0, 0x1C]
- movs r1, 0x33
- strh r1, [r0, 0x8]
- bl sub_80AF120
- bl _080AD8CA
-_080ACBB0:
- ldr r0, _080ACBD4
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080ACBC0
- bl _080AD8CA
-_080ACBC0:
- ldr r0, _080ACBD8
- mov r4, r8
- lsls r1, r4, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1C
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACBD4: .4byte gMenuWindow
-_080ACBD8: .4byte gTasks
-_080ACBDC:
- movs r6, 0
- mov r5, r8
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- add r1, r12
- movs r3, 0xA
- ldrsh r2, [r1, r3]
- ldr r1, _080ACC38
- mov r9, r0
- ldr r3, _080ACC3C
- adds r5, r1, 0
- ldrb r4, [r5]
- cmp r2, r4
- beq _080ACC08
- adds r1, r2, 0
- adds r2, r5, 0
-_080ACBFE:
- adds r6, 0x1
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r1, r0
- bne _080ACBFE
-_080ACC08:
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0xE]
- ldrh r0, [r0, 0x2]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- negs r1, r1
- lsls r2, r6, 24
- lsrs r2, 24
- bl sub_80AFBA0
- ldr r1, _080ACC40
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1D
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACC38: .4byte gUnknown_02038696
-_080ACC3C: .4byte 0x02019260
-_080ACC40: .4byte gTasks
-_080ACC44:
- movs r6, 0
- mov r5, r8
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- add r1, r12
- movs r2, 0xA
- ldrsh r3, [r1, r2]
- ldr r1, _080ACC90
- mov r9, r0
- ldr r2, _080ACC94
- adds r5, r1, 0
- ldrb r4, [r5]
- cmp r3, r4
- beq _080ACC6C
-_080ACC62:
- adds r6, 0x1
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r3, r0
- bne _080ACC62
-_080ACC6C:
- lsls r0, r6, 2
- adds r0, r2
- ldrb r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080ACC7E
- bl _080AD8CA
-_080ACC7E:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x27
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACC90: .4byte gUnknown_02038696
-_080ACC94: .4byte 0x02019338
-_080ACC98:
- movs r6, 0
- mov r5, r8
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- add r1, r12
- movs r3, 0xA
- ldrsh r2, [r1, r3]
- ldr r1, _080ACCE8
- mov r9, r0
- adds r5, r1, 0
- ldrb r4, [r5]
- cmp r2, r4
- beq _080ACCC2
- adds r1, r2, 0
- adds r2, r5, 0
-_080ACCB8:
- adds r6, 0x1
- adds r0, r6, r2
- ldrb r0, [r0]
- cmp r1, r0
- bne _080ACCB8
-_080ACCC2:
- lsls r0, r6, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_80AEE54
- lsls r0, 24
- cmp r0, 0
- beq _080ACCF0
- ldr r1, _080ACCEC
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- movs r1, 0x28
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACCE8: .4byte gUnknown_02038696
-_080ACCEC: .4byte gTasks
-_080ACCF0:
- ldr r0, _080ACCFC
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- b _080ACD22
- .align 2, 0
-_080ACCFC: .4byte gTasks
-_080ACD00:
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- mov r2, r12
- adds r1, r0, r2
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- strh r0, [r1, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bgt _080ACD1E
- bl _080AD8CA
-_080ACD1E:
- movs r0, 0
- strh r0, [r1, 0x1C]
-_080ACD22:
- movs r0, 0x1E
- strh r0, [r1, 0x8]
- bl _080AD8CA
-_080ACD2A:
- movs r6, 0
- ldr r2, _080ACD78
- ldrb r3, [r2]
- mov r4, r8
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- mov r5, r12
- adds r4, r0, r5
- movs r5, 0xA
- ldrsh r0, [r4, r5]
- mov r9, r1
- adds r5, r2, 0
- cmp r3, r0
- beq _080ACD5E
- adds r3, r5, 0
- adds r2, r4, 0
-_080ACD4C:
- adds r6, 0x1
- cmp r6, 0x3
- bgt _080ACD5E
- adds r0, r6, r3
- ldrb r1, [r0]
- movs r4, 0xA
- ldrsh r0, [r2, r4]
- cmp r1, r0
- bne _080ACD4C
-_080ACD5E:
- lsls r4, r6, 24
- lsrs r0, r4, 24
- bl sub_80AF038
- lsls r0, 24
- adds r5, r4, 0
- cmp r0, 0
- beq _080ACD7C
- movs r0, 0x63
- bl PlaySE
- b _080ACD82
- .align 2, 0
-_080ACD78: .4byte gUnknown_02038696
-_080ACD7C:
- movs r0, 0x64
- bl PlaySE
-_080ACD82:
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- ldr r1, _080ACDC0
- adds r4, r0, r1
- ldrb r1, [r4, 0x15]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080ACDA6
- lsrs r0, r5, 24
- bl sub_80B03A8
- ldrb r1, [r4, 0x15]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x15]
-_080ACDA6:
- ldr r0, _080ACDC4
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- movs r0, 0x1A
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACDC0: .4byte 0x02019260
-_080ACDC4: .4byte gTasks
-_080ACDC8:
- mov r5, r8
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- mov r1, r12
- adds r3, r0, r1
- ldrh r0, [r3, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- mov r9, r2
- cmp r0, 0x9
- bgt _080ACDE8
- bl _080AD8CA
-_080ACDE8:
- movs r0, 0
- strh r0, [r3, 0x1C]
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080ACE48
- adds r2, r0, r1
- ldrb r1, [r2, 0xC]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080ACE0A
- ldrb r1, [r2, 0x11]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080ACE36
-_080ACE0A:
- bl sub_80AF138
- ldr r0, _080ACE4C
- lsls r1, r7, 6
- ldr r2, _080ACE50
- adds r1, r2
- bl StringCopy
- ldr r4, _080ACE54
- ldr r1, _080ACE58
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080ACE5C
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
-_080ACE36:
- ldr r0, _080ACE60
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x34
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACE48: .4byte 0x02019260
-_080ACE4C: .4byte gStringVar1
-_080ACE50: .4byte gUnknown_02038572
-_080ACE54: .4byte gStringVar4
-_080ACE58: .4byte gUnknown_083CC103
-_080ACE5C: .4byte gMenuWindow
-_080ACE60: .4byte gTasks
-_080ACE64:
- ldr r0, _080ACE9C
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080ACE74
- bl _080AD8CA
-_080ACE74:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080ACEA0
- adds r0, r1
- ldrb r1, [r0, 0x15]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080ACEA8
- ldr r0, _080ACEA4
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x11
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACE9C: .4byte gMenuWindow
-_080ACEA0: .4byte 0x02019260
-_080ACEA4: .4byte gTasks
-_080ACEA8:
- ldr r0, _080ACEBC
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0xE
- strh r0, [r1, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACEBC: .4byte gTasks
-_080ACEC0:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080ACEE4
- adds r0, r1
- ldrb r4, [r0, 0x16]
- lsls r4, 24
- lsrs r5, r4, 24
- cmp r5, 0
- beq _080ACF48
- bl sub_80AF138
- asrs r0, r4, 24
- cmp r0, 0x1
- bne _080ACEF0
- ldr r0, _080ACEE8
- ldr r1, _080ACEEC
- b _080ACEF8
- .align 2, 0
-_080ACEE4: .4byte 0x02019260
-_080ACEE8: .4byte gMenuWindow
-_080ACEEC: .4byte gUnknown_083CBD79
-_080ACEF0:
- cmp r0, 0x2
- bne _080ACF10
- ldr r0, _080ACF08
- ldr r1, _080ACF0C
-_080ACEF8:
- movs r2, 0xC2
- lsls r2, 2
- movs r3, 0xF
- str r3, [sp]
- movs r3, 0x1
- bl sub_8002EB0
- b _080ACF22
- .align 2, 0
-_080ACF08: .4byte gMenuWindow
-_080ACF0C: .4byte gUnknown_083CBD9D
-_080ACF10:
- ldr r0, _080ACF3C
- ldr r1, _080ACF40
- movs r2, 0xC2
- lsls r2, 2
- movs r3, 0xF
- str r3, [sp]
- movs r3, 0x1
- bl sub_8002EB0
-_080ACF22:
- movs r0, 0x3
- bl sub_80B1710
- ldr r1, _080ACF44
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- b _080ACF88
- .align 2, 0
-_080ACF3C: .4byte gMenuWindow
-_080ACF40: .4byte gUnknown_083CBDC6
-_080ACF44: .4byte gTasks
-_080ACF48:
- bl sub_80AF138
- ldr r0, _080ACF90
- lsls r1, r7, 6
- ldr r2, _080ACF94
- adds r1, r2
- bl StringCopy
- ldr r4, _080ACF98
- ldr r1, _080ACF9C
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080ACFA0
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- movs r0, 0x2
- bl sub_80B1710
- ldr r1, _080ACFA4
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1C]
-_080ACF88:
- movs r1, 0x2D
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACF90: .4byte gStringVar1
-_080ACF94: .4byte gUnknown_02038572
-_080ACF98: .4byte gStringVar4
-_080ACF9C: .4byte gUnknown_083CBD52
-_080ACFA0: .4byte gMenuWindow
-_080ACFA4: .4byte gTasks
-_080ACFA8:
- ldrb r1, [r6, 0x6]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080ACFB6
- bl _080AD8CA
-_080ACFB6:
- ldrb r0, [r6, 0x11]
- bl sub_80B09B0
- ldr r1, _080ACFD0
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0xF
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080ACFD0: .4byte gTasks
-_080ACFD4:
- ldr r0, _080AD034
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080ACFE4
- bl _080AD8CA
-_080ACFE4:
- ldr r1, _080AD038
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x32
- bgt _080AD002
- bl _080AD8CA
-_080AD002:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AD03C
- adds r6, r0, r1
- ldrb r1, [r6, 0x15]
- movs r5, 0x10
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _080AD02C
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- ldrb r1, [r6, 0x17]
- adds r2, r7, 0
- bl sub_80AFBA0
- ldrh r0, [r6, 0x2]
- ldrb r2, [r6, 0x17]
- adds r0, r2
- strh r0, [r6, 0x2]
-_080AD02C:
- strh r5, [r4, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AD034: .4byte gMenuWindow
-_080AD038: .4byte gTasks
-_080AD03C: .4byte 0x02019260
-_080AD040:
- lsls r0, r7, 2
- ldr r1, _080AD06C
- adds r0, r1
- ldrb r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080AD058
- bl _080AD8CA
-_080AD058:
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- strh r1, [r0, 0x1C]
- movs r1, 0x11
- strh r1, [r0, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AD06C: .4byte 0x02019338
-_080AD070:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AD0CC
- adds r0, r1
- ldrb r1, [r0, 0x15]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AD0E8
- bl sub_80AF138
- ldr r0, _080AD0D0
- lsls r1, r7, 6
- ldr r2, _080AD0D4
- adds r1, r2
- bl StringCopy
- ldr r4, _080AD0D8
- ldr r1, _080AD0DC
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080AD0E0
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r0, _080AD0E4
- mov r5, r8
- lsls r4, r5, 2
- add r4, r8
- lsls r4, 3
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x1C]
- bl sub_80B1710
- movs r0, 0x2E
- strh r0, [r4, 0x8]
- bl _080AD8CA
- .align 2, 0
-_080AD0CC: .4byte 0x02019260
-_080AD0D0: .4byte gStringVar1
-_080AD0D4: .4byte gUnknown_02038572
-_080AD0D8: .4byte gStringVar4
-_080AD0DC: .4byte gUnknown_083CC075
-_080AD0E0: .4byte gMenuWindow
-_080AD0E4: .4byte gTasks
-_080AD0E8:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x29
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080AD0FA:
- ldrb r1, [r6, 0x6]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080AD108
- bl _080AD8CA
-_080AD108:
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x13
- strh r1, [r0, 0x8]
- bl _080AD8CA
-_080AD11A:
- ldr r0, _080AD15C
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AD12A
- bl _080AD8CA
-_080AD12A:
- lsls r4, r7, 3
- subs r4, r7
- lsls r4, 2
- ldr r0, _080AD160
- adds r4, r0
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- ldrb r1, [r4, 0x18]
- negs r1, r1
- adds r2, r7, 0
- bl sub_80AFBA0
- ldrb r1, [r4, 0x18]
- ldrh r0, [r4, 0x2]
- subs r0, r1
- strh r0, [r4, 0x2]
- ldr r1, _080AD164
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x12
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD15C: .4byte gMenuWindow
-_080AD160: .4byte 0x02019260
-_080AD164: .4byte gTasks
-_080AD168:
- bl sub_80B0D7C
- lsls r0, r7, 2
- ldr r1, _080AD19C
- adds r0, r1
- ldrb r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- beq _080AD182
- b _080AD8CA
-_080AD182:
- ldr r0, _080AD1A0
- mov r5, r8
- lsls r4, r5, 2
- add r4, r8
- lsls r4, 3
- adds r4, r0
- strh r6, [r4, 0x1C]
- bl sub_80AF138
- movs r0, 0x29
- strh r0, [r4, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD19C: .4byte 0x02019338
-_080AD1A0: .4byte gTasks
-_080AD1A4:
- ldr r2, _080AD1CC
- ldrb r1, [r2, 0x1]
- movs r0, 0x1
- ands r0, r1
- adds r1, r2, 0
- cmp r0, 0
- beq _080AD1D0
- ldr r0, [r1]
- lsls r0, 20
- lsrs r0, 29
- cmp r7, r0
- beq _080AD1D0
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- movs r1, 0x39
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD1CC: .4byte 0x02019328
-_080AD1D0:
- ldrb r4, [r1]
- lsls r2, r7, 3
- subs r0, r2, r7
- lsls r0, 2
- subs r1, 0xC8
- adds r5, r0, r1
- ldrb r1, [r5, 0x11]
- movs r0, 0x10
- ands r0, r1
- mov r10, r2
- cmp r0, 0
- beq _080AD204
- movs r4, 0x1
- ldr r0, _080AD1FC
- ldrh r2, [r5, 0x6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080AD200
- adds r1, r2
- bl StringCopy
- b _080AD21E
- .align 2, 0
-_080AD1FC: .4byte gStringVar3
-_080AD200: .4byte gMoveNames
-_080AD204:
- ldr r0, _080AD270
- ldr r3, _080AD274
- ldr r2, _080AD278
- ldrh r1, [r5, 0x6]
- lsls r1, 3
- adds r1, r2
- ldrb r1, [r1, 0x1]
- lsls r1, 29
- lsrs r1, 27
- adds r1, r3
- ldr r1, [r1]
- bl StringCopy
-_080AD21E:
- lsls r0, r4, 24
- cmp r0, 0
- ble _080AD23A
- mov r2, r10
- subs r0, r2, r7
- lsls r0, 2
- ldr r1, _080AD27C
- adds r0, r1
- ldrb r1, [r0, 0x15]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AD23A
- movs r4, 0
-_080AD23A:
- bl sub_80AF138
- ldr r0, _080AD280
- lsls r1, r7, 6
- ldr r2, _080AD284
- adds r1, r2
- bl StringCopy
- ldr r3, _080AD288
- ldrb r0, [r3, 0x13]
- lsls r1, r4, 24
- asrs r2, r1, 24
- adds r0, r2, r0
- strb r0, [r3, 0x13]
- lsls r0, 24
- adds r4, r1, 0
- cmp r0, 0
- bge _080AD262
- movs r0, 0
- strb r0, [r3, 0x13]
-_080AD262:
- cmp r2, 0
- bne _080AD290
- ldr r0, _080AD28C
- mov r3, r8
- lsls r1, r3, 2
- b _080AD6EC
- .align 2, 0
-_080AD270: .4byte gStringVar3
-_080AD274: .4byte gUnknown_083CC2D8
-_080AD278: .4byte gContestMoves
-_080AD27C: .4byte 0x02019260
-_080AD280: .4byte gStringVar1
-_080AD284: .4byte gUnknown_02038572
-_080AD288: .4byte 0x02019204
-_080AD28C: .4byte gTasks
-_080AD290:
- cmp r2, 0
- bge _080AD2A8
- ldr r0, _080AD2A0
- ldr r1, _080AD2A4
- bl StringExpandPlaceholders
- b _080AD2D0
- .align 2, 0
-_080AD2A0: .4byte gStringVar4
-_080AD2A4: .4byte gUnknown_083CC0BC
-_080AD2A8:
- cmp r2, 0
- ble _080AD2C8
- movs r0, 0x13
- ldrsb r0, [r3, r0]
- cmp r0, 0x4
- bgt _080AD2C8
- ldr r0, _080AD2C0
- ldr r1, _080AD2C4
- bl StringExpandPlaceholders
- b _080AD2D0
- .align 2, 0
-_080AD2C0: .4byte gStringVar4
-_080AD2C4: .4byte gUnknown_083CC0A0
-_080AD2C8:
- ldr r0, _080AD300
- ldr r1, _080AD304
- bl StringExpandPlaceholders
-_080AD2D0:
- ldr r0, _080AD308
- ldr r1, _080AD300
- movs r2, 0xC2
- lsls r2, 2
- movs r3, 0xF
- str r3, [sp]
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080AD30C
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- adds r1, r0, r1
- movs r0, 0
- strh r0, [r1, 0x1C]
- strh r0, [r1, 0x1E]
- cmp r4, 0
- bge _080AD310
- movs r0, 0x35
- strh r0, [r1, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD300: .4byte gStringVar4
-_080AD304: .4byte gUnknown_083CC0E3
-_080AD308: .4byte gMenuWindow
-_080AD30C: .4byte gTasks
-_080AD310:
- movs r0, 0x36
- strh r0, [r1, 0x8]
- b _080AD8CA
-_080AD316:
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- mov r2, r12
- adds r4, r0, r2
- movs r3, 0x1C
- ldrsh r2, [r4, r3]
- cmp r2, 0x1
- beq _080AD354
- cmp r2, 0x1
- bgt _080AD334
- cmp r2, 0
- beq _080AD33E
- b _080AD8CA
-_080AD334:
- cmp r2, 0x2
- beq _080AD37C
- cmp r2, 0x3
- beq _080AD3B0
- b _080AD8CA
-_080AD33E:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x1
- bl sub_80B1EA8
- ldr r0, _080AD350
- bl PlayFanfare
- b _080AD3A8
- .align 2, 0
-_080AD350: .4byte 0x00000187
-_080AD354:
- ldrb r0, [r6, 0x7]
- ands r2, r0
- cmp r2, 0
- beq _080AD35E
- b _080AD8CA
-_080AD35E:
- ldr r0, _080AD378
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AD36C
- b _080AD8CA
-_080AD36C:
- movs r0, 0x1
- negs r0, r0
- bl sub_80B1CBC
- b _080AD3A8
- .align 2, 0
-_080AD378: .4byte gMenuWindow
-_080AD37C:
- ldrb r1, [r6, 0x6]
- movs r0, 0x20
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080AD38C
- b _080AD8CA
-_080AD38C:
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- bgt _080AD39C
- b _080AD8CA
-_080AD39C:
- strh r2, [r4, 0x1E]
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
- bl sub_80B1EA8
-_080AD3A8:
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- b _080AD8CA
-_080AD3B0:
- ldr r0, _080AD3CC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080AD3C2
- b _080AD8CA
-_080AD3C2:
- strh r0, [r4, 0x1C]
- strh r0, [r4, 0x1E]
- movs r0, 0x2B
- strh r0, [r4, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD3CC: .4byte gPaletteFade
-_080AD3D0:
- mov r4, r8
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- add r0, r12
- movs r5, 0x1C
- ldrsh r0, [r0, r5]
- mov r9, r1
- cmp r0, 0x4
- bls _080AD3E6
- b _080AD8CA
-_080AD3E6:
- lsls r0, 2
- ldr r1, _080AD3F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AD3F0: .4byte _080AD3F4
- .align 2, 0
-_080AD3F4:
- .4byte _080AD408
- .4byte _080AD420
- .4byte _080AD43E
- .4byte _080AD4A0
- .4byte _080AD4EC
-_080AD408:
- ldr r0, _080AD41C
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AD416
- b _080AD8CA
-_080AD416:
- movs r0, 0x1
- movs r1, 0x1
- b _080AD4C8
- .align 2, 0
-_080AD41C: .4byte gMenuWindow
-_080AD420:
- ldrb r1, [r6, 0x7]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AD42C
- b _080AD8CA
-_080AD42C:
- bl sub_80B1DDC
- movs r0, 0xDF
- bl PlaySE
- movs r0, 0x1
- bl sub_80B1CBC
- b _080AD4CC
-_080AD43E:
- ldrb r1, [r6, 0x6]
- movs r0, 0x20
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080AD44E
- b _080AD8CA
-_080AD44E:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- mov r1, r12
- adds r3, r0, r1
- ldrh r0, [r3, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r3, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- bgt _080AD468
- b _080AD8CA
-_080AD468:
- strh r2, [r3, 0x1E]
- lsls r4, r7, 3
- subs r4, r7
- lsls r4, 2
- adds r0, r6, 0
- adds r0, 0x5C
- adds r4, r0
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- movs r1, 0x92
- lsls r1, 1
- adds r5, r6, r1
- movs r1, 0x2
- ldrsb r1, [r5, r1]
- adds r2, r7, 0
- str r3, [sp, 0x4]
- bl sub_80AFBA0
- movs r0, 0x2
- ldrsb r0, [r5, r0]
- ldrh r2, [r4, 0x2]
- adds r0, r2
- strh r0, [r4, 0x2]
- ldr r3, [sp, 0x4]
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- strh r0, [r3, 0x1C]
- b _080AD8CA
-_080AD4A0:
- lsls r0, r7, 2
- ldr r2, _080AD4E0
- adds r0, r2
- ldrb r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080AD4B2
- b _080AD8CA
-_080AD4B2:
- ldr r3, _080AD4E4
- adds r0, r2, r3
- ldrb r1, [r0, 0x6]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080AD4C2
- b _080AD8CA
-_080AD4C2:
- movs r1, 0x1
- negs r1, r1
- movs r0, 0x1
-_080AD4C8:
- bl sub_80B1EA8
-_080AD4CC:
- ldr r0, _080AD4E8
- mov r1, r9
- add r1, r8
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- strh r0, [r1, 0x1C]
- b _080AD8CA
- .align 2, 0
-_080AD4E0: .4byte 0x02019338
-_080AD4E4: .4byte 0xfffffecc
-_080AD4E8: .4byte gTasks
-_080AD4EC:
- ldr r0, _080AD510
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080AD4FE
- b _080AD8CA
-_080AD4FE:
- mov r0, r9
- add r0, r8
- lsls r0, 3
- add r0, r12
- strh r1, [r0, 0x1C]
- strh r1, [r0, 0x1E]
- movs r1, 0x2B
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD510: .4byte gPaletteFade
-_080AD514:
- lsls r0, r7, 2
- ldr r1, _080AD534
- adds r0, r1
- ldrb r1, [r0, 0x2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080AD526
- b _080AD8CA
-_080AD526:
- bl sub_80AF138
- ldr r0, _080AD538
- mov r4, r8
- lsls r1, r4, 2
- b _080AD6EC
- .align 2, 0
-_080AD534: .4byte 0x02019338
-_080AD538: .4byte gTasks
-_080AD53C:
- bl sub_80AF138
- ldr r0, _080AD5A8
- ldr r4, _080AD5AC
- ldr r1, [r4]
- lsls r1, 20
- lsrs r1, 29
- lsls r1, 6
- ldr r5, _080AD5B0
- adds r1, r5
- bl StringCopy
- ldr r0, _080AD5B4
- lsls r1, r7, 6
- adds r1, r5
- bl StringCopy
- ldr r0, _080AD5B8
- lsls r1, r7, 3
- subs r1, r7
- lsls r1, 2
- subs r4, 0xC8
- adds r1, r4
- ldrh r2, [r1, 0x6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080AD5BC
- adds r1, r2
- bl StringCopy
- ldr r4, _080AD5C0
- ldr r1, _080AD5C4
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080AD5C8
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080AD5CC
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3A
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD5A8: .4byte gStringVar3
-_080AD5AC: .4byte 0x02019328
-_080AD5B0: .4byte gUnknown_02038572
-_080AD5B4: .4byte gStringVar1
-_080AD5B8: .4byte gStringVar2
-_080AD5BC: .4byte gMoveNames
-_080AD5C0: .4byte gStringVar4
-_080AD5C4: .4byte gUnknown_083CC14A
-_080AD5C8: .4byte gMenuWindow
-_080AD5CC: .4byte gTasks
-_080AD5D0:
- ldr r5, _080AD614
- adds r0, r5, 0
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AD5E0
- b _080AD8CA
-_080AD5E0:
- bl sub_80AF138
- ldr r4, _080AD618
- ldr r1, _080AD61C
- adds r0, r4, 0
- bl StringExpandPlaceholders
- movs r2, 0xC2
- lsls r2, 2
- movs r0, 0xF
- str r0, [sp]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080AD620
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3B
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD614: .4byte gMenuWindow
-_080AD618: .4byte gStringVar4
-_080AD61C: .4byte gUnknown_083CC16E
-_080AD620: .4byte gTasks
-_080AD624:
- ldr r0, _080AD640
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AD632
- b _080AD8CA
-_080AD632:
- bl sub_80AF138
- ldr r0, _080AD644
- mov r3, r8
- lsls r1, r3, 2
- b _080AD6EC
- .align 2, 0
-_080AD640: .4byte gMenuWindow
-_080AD644: .4byte gTasks
-_080AD648:
- lsls r0, r7, 3
- subs r0, r7
- lsls r0, 2
- ldr r1, _080AD6B4
- adds r4, r0, r1
- ldrb r1, [r4, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080AD664
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x15]
-_080AD664:
- adds r0, r7, 0
- bl sub_80B09B0
- ldr r0, _080AD6B8
- lsls r1, r7, 6
- ldr r2, _080AD6BC
- adds r1, r2
- bl StringCopy
- ldr r0, _080AD6C0
- ldrh r2, [r4, 0x6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080AD6C4
- adds r1, r2
- bl StringCopy
- ldr r4, _080AD6C8
- ldr r1, _080AD6CC
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080AD6D0
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080AD6D4
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x22
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD6B4: .4byte 0x02019260
-_080AD6B8: .4byte gStringVar1
-_080AD6BC: .4byte gUnknown_02038572
-_080AD6C0: .4byte gStringVar2
-_080AD6C4: .4byte gMoveNames
-_080AD6C8: .4byte gStringVar4
-_080AD6CC: .4byte gUnknown_083CBF60
-_080AD6D0: .4byte gMenuWindow
-_080AD6D4: .4byte gTasks
-_080AD6D8:
- ldr r0, _080AD6F8
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- bne _080AD6E6
- b _080AD8CA
-_080AD6E6:
- ldr r0, _080AD6FC
- mov r5, r8
- lsls r1, r5, 2
-_080AD6EC:
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x37
- strh r0, [r1, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD6F8: .4byte gMenuWindow
-_080AD6FC: .4byte gTasks
-_080AD700:
- bl sub_80B1BDC
- ldr r0, _080AD718
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x38
- strh r0, [r1, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD718: .4byte gTasks
-_080AD71C:
- ldrb r1, [r6, 0x6]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080AD72C
- b _080AD8CA
-_080AD72C:
- movs r0, 0x13
- ldrsb r0, [r6, r0]
- cmp r0, 0x4
- ble _080AD73A
- strb r1, [r6, 0x13]
- bl sub_80B1928
-_080AD73A:
- ldr r0, _080AD74C
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0xA
- strh r0, [r1, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD74C: .4byte gTasks
-_080AD750:
- mov r4, r8
- lsls r2, r4, 2
- add r2, r8
- lsls r2, 3
- add r2, r12
- ldrb r5, [r2, 0xC]
- ldr r1, _080AD774
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _080AD778
- str r1, [r0]
- movs r0, 0xB
- strh r0, [r2, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD774: .4byte gSprites
-_080AD778: .4byte sub_80AD92C
-_080AD77C:
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- mov r1, r12
- adds r4, r0, r1
- ldrb r5, [r4, 0xC]
- ldr r1, _080AD7B4
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- adds r6, r0, r1
- adds r0, r6, 0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- blt _080AD7A2
- b _080AD8CA
-_080AD7A2:
- adds r0, r6, 0
- bl FreeSpriteOamMatrix
- adds r0, r6, 0
- bl DestroySprite
- movs r0, 0x14
- strh r0, [r4, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD7B4: .4byte gSprites
-_080AD7B8:
- movs r6, 0
- mov r2, r8
- lsls r2, 2
- mov r9, r2
-_080AD7C0:
- lsls r0, r6, 24
- lsrs r0, 24
- movs r1, 0x1
- bl sub_80B0CDC
- adds r6, 0x1
- cmp r6, 0x3
- ble _080AD7C0
- ldr r1, _080AD7E4
- mov r0, r9
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- movs r1, 0x15
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD7E4: .4byte gTasks
-_080AD7E8:
- bl sub_80AF138
- ldr r0, _080AD828
- lsls r1, r7, 6
- ldr r2, _080AD82C
- adds r1, r2
- bl StringCopy
- ldr r4, _080AD830
- ldr r1, _080AD834
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080AD838
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080AD83C
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- movs r1, 0x20
- strh r1, [r0, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD828: .4byte gStringVar1
-_080AD82C: .4byte gUnknown_02038572
-_080AD830: .4byte gStringVar4
-_080AD834: .4byte gUnknown_083CB00D
-_080AD838: .4byte gMenuWindow
-_080AD83C: .4byte gTasks
-_080AD840:
- ldr r0, _080AD860
- bl sub_80037A0
- lsls r0, 24
- cmp r0, 0
- beq _080AD8CA
- ldr r0, _080AD864
- mov r4, r8
- lsls r1, r4, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r0, 0x15
- strh r0, [r1, 0x8]
- b _080AD8CA
- .align 2, 0
-_080AD860: .4byte gMenuWindow
-_080AD864: .4byte gTasks
-_080AD868:
- mov r5, r8
- lsls r0, r5, 2
- add r0, r8
- lsls r0, 3
- mov r2, r12
- adds r1, r0, r2
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- strh r0, [r1, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- ble _080AD8CA
- movs r0, 0
- strh r0, [r1, 0x1C]
- movs r0, 0x16
- strh r0, [r1, 0x8]
- b _080AD8CA
-_080AD88C:
- ldrb r0, [r6, 0x10]
- adds r0, 0x1
- movs r1, 0
- strb r0, [r6, 0x10]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080AD8B8
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- strh r1, [r0, 0xC]
- ldr r1, _080AD8B4
- str r1, [r0]
- b _080AD8C4
- .align 2, 0
-_080AD8B4: .4byte sub_80AD960
-_080AD8B8:
- mov r4, r8
- lsls r0, r4, 2
- add r0, r8
- lsls r0, 3
- add r0, r12
- strh r1, [r0, 0x8]
-_080AD8C4:
- movs r0, 0
- bl nullsub_18
-_080AD8CA:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AC2CC
-
- thumb_func_start sub_80AD8DC
-sub_80AD8DC: @ 80AD8DC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080AD8F8
- ldrb r2, [r3, 0x7]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r3, 0x7]
- bl DestroyTask
- pop {r0}
- bx r0
- .align 2, 0
-_080AD8F8: .4byte 0x02019204
- thumb_func_end sub_80AD8DC
-
- thumb_func_start sub_80AD8FC
-sub_80AD8FC: @ 80AD8FC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x24]
- movs r3, 0x24
- ldrsh r2, [r1, r3]
- cmp r2, 0
- beq _080AD910
- subs r0, 0x2
- strh r0, [r1, 0x24]
- b _080AD924
-_080AD910:
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _080AD924
- strh r2, [r1, 0x2E]
- ldr r0, _080AD928
- str r0, [r1, 0x1C]
-_080AD924:
- pop {r0}
- bx r0
- .align 2, 0
-_080AD928: .4byte SpriteCallbackDummy
- thumb_func_end sub_80AD8FC
-
- thumb_func_start sub_80AD92C
-sub_80AD92C: @ 80AD92C
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x24]
- subs r0, 0x6
- strh r0, [r2, 0x24]
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- movs r3, 0x24
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080AD956
- ldr r0, _080AD95C
- str r0, [r2, 0x1C]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080AD956:
- pop {r0}
- bx r0
- .align 2, 0
-_080AD95C: .4byte SpriteCallbackDummy
- thumb_func_end sub_80AD92C
-
- thumb_func_start sub_80AD960
-sub_80AD960: @ 80AD960
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AD984
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080AD9F2
- cmp r0, 0x1
- bgt _080AD988
- cmp r0, 0
- beq _080AD98E
- b _080ADA10
- .align 2, 0
-_080AD984: .4byte gTasks
-_080AD988:
- cmp r0, 0x2
- beq _080ADA08
- b _080ADA10
-_080AD98E:
- ldr r0, _080AD9D8
- ldrb r1, [r0]
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080AD9E8
- ldr r2, _080AD9DC
- ldrb r0, [r2, 0x7]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x7]
- bl sub_80AE074
- lsls r0, 24
- cmp r0, 0
- beq _080AD9B8
- bl sub_80AF2FC
- bl sub_80AF3C0
-_080AD9B8:
- ldr r4, _080AD9E0
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080AD9E4
- adds r1, r4, 0
- bl SetTaskFuncWithFollowupFunc
- bl sub_80AF860
- strh r6, [r5, 0x8]
- b _080ADA10
- .align 2, 0
-_080AD9D8: .4byte gUnknown_0203869A
-_080AD9DC: .4byte 0x02019204
-_080AD9E0: .4byte sub_80C8C80
-_080AD9E4: .4byte sub_80AD8DC
-_080AD9E8:
- bl sub_80AF2FC
- bl sub_80AF3C0
- b _080AD9FE
-_080AD9F2:
- ldr r0, _080ADA04
- ldrb r1, [r0, 0x7]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080ADA10
-_080AD9FE:
- movs r0, 0x2
- strh r0, [r5, 0x8]
- b _080ADA10
- .align 2, 0
-_080ADA04: .4byte 0x02019204
-_080ADA08:
- movs r0, 0
- strh r0, [r5, 0x8]
- ldr r0, _080ADA18
- str r0, [r5]
-_080ADA10:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADA18: .4byte sub_80ADA1C
- thumb_func_end sub_80AD960
-
- thumb_func_start sub_80ADA1C
-sub_80ADA1C: @ 80ADA1C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80B1FD0
- ldr r1, _080ADA44
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- strh r1, [r0, 0xA]
- ldr r1, _080ADA48
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADA44: .4byte gTasks
-_080ADA48: .4byte sub_80ADA4C
- thumb_func_end sub_80ADA1C
-
- thumb_func_start sub_80ADA4C
-sub_80ADA4C: @ 80ADA4C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ADA70
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _080ADA92
- cmp r5, 0x1
- bgt _080ADA74
- cmp r5, 0
- beq _080ADA7A
- b _080ADACE
- .align 2, 0
-_080ADA70: .4byte gTasks
-_080ADA74:
- cmp r5, 0x2
- beq _080ADAC0
- b _080ADACE
-_080ADA7A:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080ADACE
- movs r0, 0x2
- bl sub_80B25E4
- strh r5, [r4, 0xA]
- b _080ADAB2
-_080ADA92:
- ldr r0, _080ADABC
- ldrb r1, [r0, 0x7]
- movs r0, 0x2
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080ADACE
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080ADACE
- strh r1, [r4, 0xA]
-_080ADAB2:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080ADACE
- .align 2, 0
-_080ADABC: .4byte 0x02019204
-_080ADAC0:
- bl sub_80AFF10
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- ldr r0, _080ADAD4
- str r0, [r4]
-_080ADACE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADAD4: .4byte sub_80ADAD8
- thumb_func_end sub_80ADA4C
-
- thumb_func_start sub_80ADAD8
-sub_80ADAD8: @ 80ADAD8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80AFF28
- lsls r0, 24
- cmp r0, 0
- beq _080ADAF6
- ldr r0, _080ADAFC
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ADB00
- str r0, [r1]
-_080ADAF6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADAFC: .4byte gTasks
-_080ADB00: .4byte sub_80ADB04
- thumb_func_end sub_80ADAD8
-
- thumb_func_start sub_80ADB04
-sub_80ADB04: @ 80ADB04
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ADB30
- ldr r3, _080ADB34
- ldr r1, _080ADB38
- str r2, [r1]
- str r3, [r1, 0x4]
- ldr r2, _080ADB3C
- str r2, [r1, 0x8]
- ldr r1, [r1, 0x8]
- ldr r2, _080ADB40
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- movs r0, 0x2
- strh r0, [r1, 0xA]
- ldr r0, _080ADB44
- str r0, [r1]
- bx lr
- .align 2, 0
-_080ADB30: .4byte 0x02018204
-_080ADB34: .4byte gPlttBufferUnfaded
-_080ADB38: .4byte 0x040000d4
-_080ADB3C: .4byte 0x84000100
-_080ADB40: .4byte gTasks
-_080ADB44: .4byte sub_80ADB48
- thumb_func_end sub_80ADB04
-
- thumb_func_start sub_80ADB48
-sub_80ADB48: @ 80ADB48
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ADB80
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080ADB7A
- movs r0, 0
- strh r0, [r1, 0x8]
- ldrh r0, [r1, 0xA]
- subs r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- cmp r0, 0
- bne _080ADB7A
- ldr r0, _080ADB84
- str r0, [r1]
-_080ADB7A:
- pop {r0}
- bx r0
- .align 2, 0
-_080ADB80: .4byte gTasks
-_080ADB84: .4byte sub_80ADB88
- thumb_func_end sub_80ADB48
-
- thumb_func_start sub_80ADB88
-sub_80ADB88: @ 80ADB88
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _080ADBEC
- ldrb r1, [r6]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _080ADBF0
- adds r0, r1
- ldrb r4, [r0, 0x1A]
- bl sub_80AF138
- ldr r0, _080ADBF4
- ldrb r1, [r6]
- lsls r1, 6
- ldr r2, _080ADBF8
- adds r1, r2
- bl StringCopy
- ldr r6, _080ADBFC
- ldr r0, _080ADC00
- lsls r4, 2
- adds r4, r0
- ldr r1, [r4]
- adds r0, r6, 0
- bl StringExpandPlaceholders
- ldr r0, _080ADC04
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r6, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080ADC08
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ADC0C
- str r1, [r0]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADBEC: .4byte gUnknown_02038695
-_080ADBF0: .4byte 0x02019260
-_080ADBF4: .4byte gStringVar1
-_080ADBF8: .4byte gUnknown_02038572
-_080ADBFC: .4byte gStringVar4
-_080ADC00: .4byte gUnknown_083CB2F0
-_080ADC04: .4byte gMenuWindow
-_080ADC08: .4byte gTasks
-_080ADC0C: .4byte sub_80ADC10
- thumb_func_end sub_80ADB88
-
- thumb_func_start sub_80ADC10
-sub_80ADC10: @ 80ADC10
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080ADC40
- bl sub_80037A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080ADC3A
- ldr r1, _080ADC44
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, _080ADC48
- str r1, [r0]
- bl sub_80B0D7C
-_080ADC3A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADC40: .4byte gMenuWindow
-_080ADC44: .4byte gTasks
-_080ADC48: .4byte sub_80ADC4C
- thumb_func_end sub_80ADC10
-
- thumb_func_start sub_80ADC4C
-sub_80ADC4C: @ 80ADC4C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ADC7C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- adds r1, r0, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- ble _080ADC76
- movs r0, 0
- strh r0, [r4, 0x8]
- bl sub_80AFF10
- ldr r0, _080ADC80
- str r0, [r4]
-_080ADC76:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADC7C: .4byte gTasks
-_080ADC80: .4byte sub_80ADC84
- thumb_func_end sub_80ADC4C
-
- thumb_func_start sub_80ADC84
-sub_80ADC84: @ 80ADC84
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80AFF28
- lsls r0, 24
- cmp r0, 0
- beq _080ADCA6
- ldr r1, _080ADCAC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, _080ADCB0
- str r1, [r0]
-_080ADCA6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADCAC: .4byte gTasks
-_080ADCB0: .4byte sub_80ADCB4
- thumb_func_end sub_80ADC84
-
- thumb_func_start sub_80ADCB4
-sub_80ADCB4: @ 80ADCB4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80B2184
- ldr r1, _080ADCD4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ADCD8
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADCD4: .4byte gTasks
-_080ADCD8: .4byte sub_80B237C
- thumb_func_end sub_80ADCB4
-
- thumb_func_start sub_80ADCDC
-sub_80ADCDC: @ 80ADCDC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80B2280
- ldr r1, _080ADCFC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ADD00
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADCFC: .4byte gTasks
-_080ADD00: .4byte sub_80ADD04
- thumb_func_end sub_80ADCDC
-
- thumb_func_start sub_80ADD04
-sub_80ADD04: @ 80ADD04
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, _080ADD40
- ldrb r2, [r3]
- movs r1, 0x4
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3]
- ldr r2, _080ADD44
- ldrb r0, [r2]
- ands r1, r0
- strb r1, [r2]
- ldr r1, _080ADD48
- ldrb r0, [r1, 0x1]
- adds r0, 0x1
- strb r0, [r1, 0x1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080ADD54
- ldr r0, _080ADD4C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ADD50
- b _080ADD64
- .align 2, 0
-_080ADD40: .4byte REG_BG0CNT
-_080ADD44: .4byte REG_BG2CNT
-_080ADD48: .4byte 0x02019204
-_080ADD4C: .4byte gTasks
-_080ADD50: .4byte sub_80ADDA4
-_080ADD54:
- bl sub_80B1B14
- ldr r0, _080ADD6C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ADD70
-_080ADD64:
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADD6C: .4byte gTasks
-_080ADD70: .4byte sub_80ADD74
- thumb_func_end sub_80ADD04
-
- thumb_func_start sub_80ADD74
-sub_80ADD74: @ 80ADD74
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080ADD98
- ldrb r1, [r0, 0x6]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080ADD94
- ldr r0, _080ADD9C
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ADDA0
- str r0, [r1]
-_080ADD94:
- pop {r0}
- bx r0
- .align 2, 0
-_080ADD98: .4byte 0x02019204
-_080ADD9C: .4byte gTasks
-_080ADDA0: .4byte sub_80ABB70
- thumb_func_end sub_80ADD74
-
- thumb_func_start sub_80ADDA4
-sub_80ADDA4: @ 80ADDA4
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080ADE24
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080ADE28
- strh r1, [r0]
- ldr r3, _080ADE2C
- ldr r2, _080ADE30
- movs r1, 0x3
-_080ADDBC:
- ldrh r0, [r3, 0x4]
- strh r0, [r2]
- adds r3, 0x1C
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080ADDBC
- movs r5, 0
- bl sub_80AF668
- bl sub_80AF138
- ldr r0, _080ADE34
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _080ADE2C
- adds r0, r1
- ldrh r0, [r0, 0x8]
- bl sub_80BE23C
- ldr r1, _080ADE38
- ldr r0, _080ADE3C
- ldr r0, [r0]
- str r0, [r1]
- ldr r4, _080ADE40
- ldr r1, _080ADE44
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080ADE48
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- ldr r1, _080ADE4C
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0xC]
- ldr r1, _080ADE50
- str r1, [r0]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADE24: .4byte gUnknown_030042A0
-_080ADE28: .4byte gUnknown_03004280
-_080ADE2C: .4byte 0x02019260
-_080ADE30: .4byte gUnknown_02038680
-_080ADE34: .4byte gUnknown_02038695
-_080ADE38: .4byte gUnknown_03005D28
-_080ADE3C: .4byte gRngValue
-_080ADE40: .4byte gStringVar4
-_080ADE44: .4byte gUnknown_083CB02C
-_080ADE48: .4byte gMenuWindow
-_080ADE4C: .4byte gTasks
-_080ADE50: .4byte sub_80ADE54
- thumb_func_end sub_80ADDA4
-
- thumb_func_start sub_80ADE54
-sub_80ADE54: @ 80ADE54
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080ADE98
- bl sub_80037A0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080ADE92
- bl sub_80B2184
- ldr r1, _080ADE9C
- movs r0, 0
- strh r0, [r1]
- ldr r1, _080ADEA0
- movs r0, 0xA0
- strh r0, [r1]
- movs r0, 0x62
- movs r1, 0
- bl PlaySE12WithPanning
- ldr r1, _080ADEA4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, _080ADEA8
- str r1, [r0]
-_080ADE92:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADE98: .4byte gMenuWindow
-_080ADE9C: .4byte gUnknown_030042C0
-_080ADEA0: .4byte gUnknown_030041B4
-_080ADEA4: .4byte gTasks
-_080ADEA8: .4byte sub_80ADEAC
- thumb_func_end sub_80ADE54
-
- thumb_func_start sub_80ADEAC
-sub_80ADEAC: @ 80ADEAC
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _080ADEE0
- ldrh r0, [r1]
- subs r0, 0x7
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bge _080ADEC4
- movs r0, 0
- strh r0, [r1]
-_080ADEC4:
- ldrh r2, [r1]
- cmp r2, 0
- bne _080ADEDA
- ldr r0, _080ADEE4
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- ldr r0, _080ADEE8
- str r0, [r1]
- strh r2, [r1, 0x8]
-_080ADEDA:
- pop {r0}
- bx r0
- .align 2, 0
-_080ADEE0: .4byte gUnknown_030041B4
-_080ADEE4: .4byte gTasks
-_080ADEE8: .4byte sub_80ADEEC
- thumb_func_end sub_80ADEAC
-
- thumb_func_start sub_80ADEEC
-sub_80ADEEC: @ 80ADEEC
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ADF20
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- adds r1, r0, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x31
- ble _080ADF40
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, _080ADF24
- ldrb r0, [r0]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080ADF2C
- ldr r0, _080ADF28
- b _080ADF3E
- .align 2, 0
-_080ADF20: .4byte gTasks
-_080ADF24: .4byte gUnknown_0203869A
-_080ADF28: .4byte sub_80ADF4C
-_080ADF2C:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _080ADF48
-_080ADF3E:
- str r0, [r4]
-_080ADF40:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADF48: .4byte sub_80ADFD8
- thumb_func_end sub_80ADEEC
-
- thumb_func_start sub_80ADF4C
-sub_80ADF4C: @ 80ADF4C
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080ADF88
- adds r0, r5, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080ADF8C
- adds r1, r5, 0
- bl SetTaskFuncWithFollowupFunc
- ldr r1, _080ADF90
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080ADF94
- str r1, [r0]
- bl sub_80AF860
- movs r0, 0
- bl sub_80AFFE0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ADF88: .4byte sub_80C8AD0
-_080ADF8C: .4byte sub_80ADF98
-_080ADF90: .4byte gTasks
-_080ADF94: .4byte nullsub_89
- thumb_func_end sub_80ADF4C
-
- thumb_func_start sub_80ADF98
-sub_80ADF98: @ 80ADF98
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r2, _080ADFCC
- ldr r0, _080ADFD0
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _080ADFD4
- str r1, [r0]
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080ADFCC: .4byte gTasks
-_080ADFD0: .4byte 0x02019204
-_080ADFD4: .4byte sub_80ADFD8
- thumb_func_end sub_80ADF98
-
- thumb_func_start sub_80ADFD8
-sub_80ADFD8: @ 80ADFD8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080AE000
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080ADFFC
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _080AE004
- ldr r1, _080AE008
- str r1, [r0]
- ldr r0, _080AE00C
- bl SetMainCallback2
-_080ADFFC:
- pop {r0}
- bx r0
- .align 2, 0
-_080AE000: .4byte gPaletteFade
-_080AE004: .4byte gUnknown_0300485C
-_080AE008: .4byte sub_80AE010
-_080AE00C: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_80ADFD8
-
- thumb_func_start sub_80AE010
-sub_80AE010: @ 80AE010
- push {lr}
- bl ScriptContext2_Disable
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80AE010
-
- thumb_func_start sub_80AE020
-sub_80AE020: @ 80AE020
- push {r4,lr}
- adds r4, r0, 0
- b _080AE028
-_080AE026:
- adds r4, 0x1
-_080AE028:
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080AE04C
- cmp r0, 0xFC
- bne _080AE026
- ldrb r0, [r4, 0x1]
- cmp r0, 0
- bne _080AE026
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- movs r1, 0xFF
- strb r1, [r0]
- adds r1, r4, 0x2
- bl StringAppend
-_080AE04C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AE020
-
- thumb_func_start sub_80AE054
-sub_80AE054: @ 80AE054
- push {lr}
- ldr r0, _080AE06C
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080AE068
- ldr r1, _080AE070
- movs r0, 0x3
- strb r0, [r1]
-_080AE068:
- pop {r0}
- bx r0
- .align 2, 0
-_080AE06C: .4byte gUnknown_0203869A
-_080AE070: .4byte gUnknown_02038695
- thumb_func_end sub_80AE054
-
- thumb_func_start sub_80AE074
-sub_80AE074: @ 80AE074
- push {lr}
- ldr r0, _080AE088
- ldr r1, _080AE08C
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080AE090
- movs r0, 0
- b _080AE092
- .align 2, 0
-_080AE088: .4byte gUnknown_02038695
-_080AE08C: .4byte gUnknown_0203869B
-_080AE090:
- movs r0, 0x1
-_080AE092:
- pop {r1}
- bx r1
- thumb_func_end sub_80AE074
-
- thumb_func_start sub_80AE098
-sub_80AE098: @ 80AE098
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r6, _080AE0F0
- mov r0, sp
- adds r1, r6, 0
- bl StringCopy
- mov r0, sp
- bl SkipExtCtrlCodes
- ldr r0, _080AE0F4
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AE0CE
- mov r0, sp
- ldrb r2, [r0, 0x5]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- mov r0, sp
- strb r2, [r0, 0x7]
-_080AE0CE:
- ldr r5, _080AE0F8
- ldrb r0, [r5]
- lsls r0, 6
- ldr r4, _080AE0FC
- adds r0, r4
- mov r1, sp
- movs r2, 0x8
- bl memcpy
- ldrb r0, [r6, 0x8]
- cmp r0, 0
- bne _080AE100
- ldrb r0, [r5]
- lsls r0, 6
- adds r0, r4, r0
- movs r1, 0xD8
- b _080AE108
- .align 2, 0
-_080AE0F0: .4byte gSaveBlock2
-_080AE0F4: .4byte gUnknown_0203869A
-_080AE0F8: .4byte gUnknown_02038695
-_080AE0FC: .4byte gUnknown_0203857D
-_080AE100:
- ldrb r0, [r5]
- lsls r0, 6
- adds r0, r4, r0
- movs r1, 0xD9
-_080AE108:
- strb r1, [r0, 0x8]
- ldr r5, _080AE17C
- ldr r4, _080AE180
- ldrb r0, [r4]
- lsls r0, 6
- adds r1, r5, 0
- adds r1, 0x18
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- ldrb r0, [r4]
- lsls r0, 6
- adds r0, r5
- adds r0, 0x2C
- strb r1, [r0]
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _080AE184
- adds r6, r1, r0
- adds r0, r6, 0
- movs r1, 0xB
- bl GetMonData
- ldrb r1, [r4]
- lsls r1, 6
- adds r1, r5
- strh r0, [r1]
- adds r0, r6, 0
- movs r1, 0x2
- mov r2, sp
- bl GetMonData
- mov r0, sp
- bl StringGetEnd10
- ldr r0, _080AE188
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AE19A
- mov r0, sp
- bl SkipExtCtrlCodes
- adds r0, r6, 0
- movs r1, 0x3
- bl GetMonData
- cmp r0, 0x1
- bne _080AE18C
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- movs r0, 0xFC
- strb r0, [r1, 0xA]
- b _080AE19A
- .align 2, 0
-_080AE17C: .4byte gUnknown_02038570
-_080AE180: .4byte gUnknown_02038695
-_080AE184: .4byte gPlayerParty
-_080AE188: .4byte gUnknown_0203869A
-_080AE18C:
- mov r0, sp
- ldrb r2, [r0, 0x5]
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x5]
- mov r0, sp
- strb r2, [r0, 0xA]
-_080AE19A:
- ldr r5, _080AE2C4
- ldrb r0, [r5]
- lsls r0, 6
- ldr r1, _080AE2C8
- mov r8, r1
- add r0, r8
- mov r1, sp
- movs r2, 0xB
- bl memcpy
- movs r0, 0x64
- adds r4, r7, 0
- muls r4, r0
- ldr r0, _080AE2CC
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x16
- bl GetMonData
- mov r6, r8
- subs r6, 0x2
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- adds r1, 0x26
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x17
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- adds r1, 0x27
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x18
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- adds r1, 0x28
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x21
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- adds r1, 0x29
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x2F
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- adds r1, 0x2A
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0x30
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- adds r1, 0x2B
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0xD
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- strh r0, [r1, 0x1E]
- adds r0, r4, 0
- movs r1, 0xE
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- strh r0, [r1, 0x20]
- adds r0, r4, 0
- movs r1, 0xF
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- strh r0, [r1, 0x22]
- adds r0, r4, 0
- movs r1, 0x10
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- adds r1, r6
- strh r0, [r1, 0x24]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- mov r2, r8
- adds r2, 0x36
- adds r1, r2
- str r0, [r1]
- adds r0, r4, 0
- movs r1, 0x1
- bl GetMonData
- ldrb r1, [r5]
- lsls r1, 6
- movs r2, 0x3A
- add r8, r2
- add r1, r8
- str r0, [r1]
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- lsls r0, 16
- lsrs r2, r0, 16
- mov r8, r2
- ldrb r0, [r5]
- lsls r0, 6
- adds r1, r0, r6
- adds r0, r1, 0
- adds r0, 0x26
- ldrb r3, [r0]
- adds r0, 0x1
- ldrb r4, [r0]
- adds r0, 0x1
- ldrb r5, [r0]
- adds r0, 0x1
- ldrb r6, [r0]
- adds r0, 0x1
- ldrb r7, [r0]
- cmp r2, 0xFE
- bne _080AE2D0
- adds r3, 0x14
- b _080AE31E
- .align 2, 0
-_080AE2C4: .4byte gUnknown_02038695
-_080AE2C8: .4byte gUnknown_02038572
-_080AE2CC: .4byte gPlayerParty
-_080AE2D0:
- cmp r2, 0xFF
- bne _080AE2E0
- lsls r0, r4, 16
- movs r1, 0xA0
- lsls r1, 13
- adds r0, r1
- lsrs r4, r0, 16
- b _080AE31E
-_080AE2E0:
- movs r0, 0x80
- lsls r0, 1
- cmp r2, r0
- bne _080AE2F4
- lsls r0, r5, 16
- movs r2, 0xA0
- lsls r2, 13
- adds r0, r2
- lsrs r5, r0, 16
- b _080AE31E
-_080AE2F4:
- ldr r0, _080AE308
- cmp r2, r0
- bne _080AE30C
- lsls r0, r6, 16
- movs r1, 0xA0
- lsls r1, 13
- adds r0, r1
- lsrs r6, r0, 16
- b _080AE31E
- .align 2, 0
-_080AE308: .4byte 0x00000101
-_080AE30C:
- movs r0, 0x81
- lsls r0, 1
- cmp r8, r0
- bne _080AE31E
- lsls r0, r7, 16
- movs r2, 0xA0
- lsls r2, 13
- adds r0, r2
- lsrs r7, r0, 16
-_080AE31E:
- cmp r3, 0xFF
- ble _080AE324
- movs r3, 0xFF
-_080AE324:
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080AE32E
- movs r4, 0xFF
-_080AE32E:
- lsls r0, r5, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080AE338
- movs r5, 0xFF
-_080AE338:
- lsls r0, r6, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080AE342
- movs r6, 0xFF
-_080AE342:
- lsls r0, r7, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080AE34C
- movs r7, 0xFF
-_080AE34C:
- ldr r2, _080AE390
- ldr r1, _080AE394
- ldrb r0, [r1]
- lsls r0, 6
- adds r0, r2
- adds r0, 0x26
- strb r3, [r0]
- ldrb r0, [r1]
- lsls r0, 6
- adds r0, r2
- adds r0, 0x27
- strb r4, [r0]
- ldrb r0, [r1]
- lsls r0, 6
- adds r0, r2
- adds r0, 0x28
- strb r5, [r0]
- ldrb r0, [r1]
- lsls r0, 6
- adds r0, r2
- adds r0, 0x29
- strb r6, [r0]
- ldrb r0, [r1]
- lsls r0, 6
- adds r0, r2
- adds r0, 0x2A
- strb r7, [r0]
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AE390: .4byte gUnknown_02038570
-_080AE394: .4byte gUnknown_02038695
- thumb_func_end sub_80AE098
-
- thumb_func_start sub_80AE398
-sub_80AE398: @ 80AE398
- push {r4-r7,lr}
- sub sp, 0x40
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- movs r6, 0
- bl sub_80AE054
- movs r5, 0
- ldr r2, _080AE470
-_080AE3AE:
- ldrb r1, [r2, 0x1C]
- lsls r0, r1, 30
- lsrs r0, 30
- cmp r7, r0
- bne _080AE3FE
- cmp r4, 0
- bne _080AE3C2
- lsls r0, r1, 29
- cmp r0, 0
- blt _080AE3F2
-_080AE3C2:
- cmp r4, 0x1
- bne _080AE3CE
- ldrb r0, [r2, 0x1C]
- lsls r0, 28
- cmp r0, 0
- blt _080AE3F2
-_080AE3CE:
- cmp r4, 0x2
- bne _080AE3DA
- ldrb r0, [r2, 0x1C]
- lsls r0, 27
- cmp r0, 0
- blt _080AE3F2
-_080AE3DA:
- cmp r4, 0x3
- bne _080AE3E6
- ldrb r0, [r2, 0x1C]
- lsls r0, 26
- cmp r0, 0
- blt _080AE3F2
-_080AE3E6:
- cmp r4, 0x4
- bne _080AE3FE
- ldrb r0, [r2, 0x1C]
- lsls r0, 25
- cmp r0, 0
- bge _080AE3FE
-_080AE3F2:
- adds r0, r6, 0
- adds r1, r0, 0x1
- lsls r1, 24
- lsrs r6, r1, 24
- add r0, sp
- strb r5, [r0]
-_080AE3FE:
- adds r2, 0x40
- adds r5, 0x1
- cmp r5, 0x3B
- ble _080AE3AE
- mov r0, sp
- adds r1, r0, r6
- movs r0, 0xFF
- strb r0, [r1]
- movs r5, 0
- ldr r7, _080AE470
-_080AE412:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _080AE474
- lsls r2, r5, 6
- adds r2, r1
- mov r1, sp
- adds r4, r1, r0
- ldrb r1, [r4]
- lsls r1, 6
- adds r1, r7
- adds r0, r2, 0
- movs r2, 0x40
- bl memcpy
- ldrb r0, [r4]
- adds r2, r5, 0x1
- subs r1, r6, 0x1
- cmp r0, 0xFF
- beq _080AE454
- adds r3, r4, 0
-_080AE448:
- ldrb r0, [r3, 0x1]
- strb r0, [r3]
- adds r3, 0x1
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _080AE448
-_080AE454:
- lsls r0, r1, 24
- lsrs r6, r0, 24
- adds r5, r2, 0
- cmp r5, 0x2
- ble _080AE412
- ldr r0, _080AE478
- ldrb r0, [r0]
- bl sub_80AE098
- add sp, 0x40
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AE470: .4byte gUnknown_083C9408
-_080AE474: .4byte gUnknown_02038570
-_080AE478: .4byte gUnknown_02038694
- thumb_func_end sub_80AE398
-
- thumb_func_start sub_80AE47C
-sub_80AE47C: @ 80AE47C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _080AE48E
- movs r0, 0x3
- b _080AE50A
-_080AE48E:
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _080AE49E
- movs r0, 0x4
- b _080AE50A
-_080AE49E:
- ldr r0, _080AE4B0
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080AE4F2
- lsls r0, 2
- ldr r1, _080AE4B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AE4B0: .4byte gUnknown_0203869C
-_080AE4B4: .4byte _080AE4B8
- .align 2, 0
-_080AE4B8:
- .4byte _080AE4CC
- .4byte _080AE4D2
- .4byte _080AE4D8
- .4byte _080AE4DE
- .4byte _080AE4E4
-_080AE4CC:
- adds r0, r4, 0
- movs r1, 0x32
- b _080AE4E8
-_080AE4D2:
- adds r0, r4, 0
- movs r1, 0x33
- b _080AE4E8
-_080AE4D8:
- adds r0, r4, 0
- movs r1, 0x34
- b _080AE4E8
-_080AE4DE:
- adds r0, r4, 0
- movs r1, 0x35
- b _080AE4E8
-_080AE4E4:
- adds r0, r4, 0
- movs r1, 0x36
-_080AE4E8:
- bl GetMonData
- lsls r0, 24
- lsrs r1, r0, 24
- b _080AE4F6
-_080AE4F2:
- movs r0, 0
- b _080AE50A
-_080AE4F6:
- ldr r0, _080AE510
- adds r2, r1, 0
- ldrh r1, [r0]
- movs r0, 0x2
- cmp r2, r1
- bhi _080AE50A
- movs r0, 0
- cmp r2, r1
- bcc _080AE50A
- movs r0, 0x1
-_080AE50A:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080AE510: .4byte gUnknown_0203869E
- thumb_func_end sub_80AE47C
-
- thumb_func_start sub_80AE514
-sub_80AE514: @ 80AE514
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- movs r5, 0
- ldr r7, _080AE588
- adds r0, r7, 0x1
- mov r9, r0
- ldr r6, _080AE58C
- adds r3, r6, 0x1
- mov r8, r3
-_080AE52C:
- ldr r4, _080AE590
- adds r4, r5, r4
- ldrb r0, [r4]
- lsls r0, 1
- adds r1, r0, r7
- ldrb r2, [r1]
- mov r3, r9
- adds r1, r0, r3
- ldrb r3, [r1]
- adds r0, r6
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- ldrb r0, [r4]
- lsls r0, 1
- add r0, r8
- ldrb r0, [r0]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldr r0, _080AE594
- movs r1, 0
- bl FillWindowRect_DefaultPalette
- adds r0, r5, 0
- bl sub_80AE5BC
- adds r0, r5, 0
- bl sub_80AE6CC
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080AE52C
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AE588: .4byte gUnknown_083CA308
-_080AE58C: .4byte gUnknown_083CA310
-_080AE590: .4byte gUnknown_02038696
-_080AE594: .4byte gUnknown_03004210
- thumb_func_end sub_80AE514
-
- thumb_func_start PutWindowTilemap
-PutWindowTilemap: @ 80AE598
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r1, _080AE5B8
- bl StringCopy
- strb r4, [r0]
- adds r0, 0x1
- adds r1, r5, 0
- bl StringCopy
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AE5B8: .4byte gUnknown_083CC59C
- thumb_func_end PutWindowTilemap
-
- thumb_func_start sub_80AE5BC
-sub_80AE5BC: @ 80AE5BC
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r0, r1, 24
- movs r2, 0xA0
- lsls r2, 20
- adds r1, r2
- lsrs r1, 24
- bl sub_80AE5D4
- pop {r0}
- bx r0
- thumb_func_end sub_80AE5BC
-
- thumb_func_start sub_80AE5D4
-sub_80AE5D4: @ 80AE5D4
- push {r4-r7,lr}
- sub sp, 0x8
- adds r2, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080AE660
- ldr r1, _080AE664
- adds r0, r3, 0
- bl PutWindowTilemap
- adds r3, r0, 0
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x6
- strb r0, [r3, 0x1]
- movs r0, 0x4
- strb r0, [r3, 0x2]
- adds r3, 0x3
- movs r0, 0xBA
- strb r0, [r3]
- adds r3, 0x1
- ldr r0, _080AE668
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080AE67C
- ldr r1, _080AE66C
- lsls r0, r4, 3
- subs r0, r4
- lsls r2, r0, 2
- adds r0, r2, r1
- ldrh r6, [r0, 0x1A]
- cmp r6, 0x1
- bne _080AE67C
- adds r1, 0x8
- adds r1, r2, r1
- adds r0, r3, 0
- bl StringCopy
- ldr r0, _080AE670
- ldr r1, _080AE660
- ldr r2, _080AE674
- adds r2, r4, r2
- ldrb r4, [r2]
- movs r2, 0x16
- muls r2, r4
- movs r3, 0x94
- lsls r3, 2
- adds r2, r3
- ldr r5, _080AE678
- lsls r4, 1
- adds r3, r4, r5
- ldrb r3, [r3]
- lsls r3, 27
- movs r7, 0xFB
- lsls r7, 24
- adds r3, r7
- lsrs r3, 24
- adds r5, 0x1
- adds r4, r5
- ldrb r4, [r4]
- lsls r4, 3
- str r4, [sp]
- str r6, [sp, 0x4]
- bl sub_8004D04
- b _080AE6B0
- .align 2, 0
-_080AE660: .4byte gUnknown_020238CC
-_080AE664: .4byte gEmptyString_81E72B0
-_080AE668: .4byte gUnknown_0203869A
-_080AE66C: .4byte gLinkPlayers
-_080AE670: .4byte gUnknown_03004210
-_080AE674: .4byte gUnknown_02038696
-_080AE678: .4byte gUnknown_083CA310
-_080AE67C:
- lsls r1, r4, 6
- ldr r0, _080AE6B8
- adds r1, r0
- adds r0, r3, 0
- bl StringCopy
- ldr r0, _080AE6BC
- ldr r1, _080AE6C0
- ldr r2, _080AE6C4
- adds r2, r4, r2
- ldrb r4, [r2]
- movs r2, 0x16
- muls r2, r4
- movs r3, 0x94
- lsls r3, 2
- adds r2, r3
- ldr r5, _080AE6C8
- lsls r4, 1
- adds r3, r4, r5
- ldrb r3, [r3]
- adds r5, 0x1
- adds r4, r5
- ldrb r4, [r4]
- str r4, [sp]
- bl sub_8003460
-_080AE6B0:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AE6B8: .4byte gUnknown_0203857D
-_080AE6BC: .4byte gUnknown_03004210
-_080AE6C0: .4byte gUnknown_020238CC
-_080AE6C4: .4byte gUnknown_02038696
-_080AE6C8: .4byte gUnknown_083CA310
- thumb_func_end sub_80AE5D4
-
- thumb_func_start sub_80AE6CC
-sub_80AE6CC: @ 80AE6CC
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r0, r1, 24
- movs r2, 0xA0
- lsls r2, 20
- adds r1, r2
- lsrs r1, 24
- bl sub_80AE6E4
- pop {r0}
- bx r0
- thumb_func_end sub_80AE6CC
-
- thumb_func_start sub_80AE6E4
-sub_80AE6E4: @ 80AE6E4
- push {r4-r6,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r2, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080AE75C
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x6
- strb r0, [r3, 0x1]
- movs r0, 0x4
- strb r0, [r3, 0x2]
- adds r3, 0x3
- lsls r1, r4, 6
- ldr r0, _080AE760
- adds r1, r0
- adds r0, r3, 0
- bl PutWindowTilemap
- adds r3, r0, 0
- movs r0, 0xFF
- strb r0, [r3]
- ldr r0, _080AE764
- ldr r1, _080AE75C
- ldr r2, _080AE768
- adds r4, r2
- ldrb r4, [r4]
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 18
- movs r3, 0x80
- lsls r3, 18
- adds r2, r3
- lsrs r2, 16
- ldr r5, _080AE76C
- lsls r4, 1
- adds r3, r4, r5
- ldrb r3, [r3]
- lsls r3, 27
- movs r6, 0xFD
- lsls r6, 24
- adds r3, r6
- lsrs r3, 24
- adds r5, 0x1
- adds r4, r5
- ldrb r4, [r4]
- lsls r4, 3
- str r4, [sp]
- movs r4, 0x1
- str r4, [sp, 0x4]
- bl sub_8004D04
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AE75C: .4byte gUnknown_020238CC
-_080AE760: .4byte gUnknown_02038572
-_080AE764: .4byte gUnknown_03004210
-_080AE768: .4byte gUnknown_02038696
-_080AE76C: .4byte gUnknown_083CA308
- thumb_func_end sub_80AE6E4
-
- thumb_func_start sub_80AE770
-sub_80AE770: @ 80AE770
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r0, r1, 24
- cmp r0, 0x4
- bhi _080AE7FC
- lsls r0, 2
- ldr r1, _080AE788
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AE788: .4byte _080AE78C
- .align 2, 0
-_080AE78C:
- .4byte _080AE7A0
- .4byte _080AE7B8
- .4byte _080AE7D0
- .4byte _080AE7E0
- .4byte _080AE7FC
-_080AE7A0:
- ldr r0, _080AE7B4
- lsls r2, 6
- adds r1, r2, r0
- adds r3, r1, 0
- adds r3, 0x26
- ldrb r5, [r3]
- adds r3, 0x4
- ldrb r4, [r3]
- adds r1, 0x27
- b _080AE80E
- .align 2, 0
-_080AE7B4: .4byte gUnknown_02038570
-_080AE7B8:
- ldr r0, _080AE7CC
- lsls r2, 6
- adds r1, r2, r0
- adds r3, r1, 0
- adds r3, 0x27
- ldrb r5, [r3]
- subs r3, 0x1
- ldrb r4, [r3]
- adds r1, 0x28
- b _080AE80E
- .align 2, 0
-_080AE7CC: .4byte gUnknown_02038570
-_080AE7D0:
- ldr r1, _080AE7DC
- lsls r2, 6
- adds r3, r2, r1
- adds r0, r3, 0
- adds r0, 0x28
- b _080AE7EA
- .align 2, 0
-_080AE7DC: .4byte gUnknown_02038570
-_080AE7E0:
- ldr r1, _080AE7F8
- lsls r2, 6
- adds r3, r2, r1
- adds r0, r3, 0
- adds r0, 0x29
-_080AE7EA:
- ldrb r5, [r0]
- subs r0, 0x1
- ldrb r4, [r0]
- adds r0, 0x2
- ldrb r3, [r0]
- adds r0, r1, 0
- b _080AE810
- .align 2, 0
-_080AE7F8: .4byte gUnknown_02038570
-_080AE7FC:
- ldr r0, _080AE828
- lsls r2, 6
- adds r1, r2, r0
- adds r3, r1, 0
- adds r3, 0x2A
- ldrb r5, [r3]
- subs r3, 0x1
- ldrb r4, [r3]
- adds r1, 0x26
-_080AE80E:
- ldrb r3, [r1]
-_080AE810:
- adds r1, r2, r0
- adds r1, 0x2B
- adds r0, r4, r3
- ldrb r1, [r1]
- adds r0, r1
- asrs r0, 1
- adds r0, r5, r0
- lsls r0, 16
- lsrs r0, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AE828: .4byte gUnknown_02038570
- thumb_func_end sub_80AE770
-
- thumb_func_start sub_80AE82C
-sub_80AE82C: @ 80AE82C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r6, _080AE854
-_080AE836:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80AE770
- lsls r1, r4, 1
- adds r1, r6
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AE836
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AE854: .4byte gUnknown_02038670
- thumb_func_end sub_80AE82C
-
- thumb_func_start sub_80AE858
-sub_80AE858: @ 80AE858
- push {r4,r5,lr}
- ldr r0, _080AE8A0
- bl LoadCompressedObjectPic
- ldr r0, _080AE8A4
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r0, _080AE8A8
- movs r1, 0x70
- movs r2, 0x24
- movs r3, 0x1E
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080AE8AC
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r5, r2, r4
- ldrb r3, [r5, 0x5]
- movs r1, 0xF
- ands r1, r3
- movs r3, 0x10
- orrs r1, r3
- strb r1, [r5, 0x5]
- adds r4, 0x1C
- adds r2, r4
- ldr r1, _080AE8B0
- str r1, [r2]
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AE8A0: .4byte gUnknown_083CA4BC
-_080AE8A4: .4byte gContest2Pal
-_080AE8A8: .4byte gSpriteTemplate_83CA4A4
-_080AE8AC: .4byte gSprites
-_080AE8B0: .4byte SpriteCallbackDummy
- thumb_func_end sub_80AE858
-
- thumb_func_start sub_80AE8B4
-sub_80AE8B4: @ 80AE8B4
- push {lr}
- ldr r0, _080AE8F8
- bl LoadCompressedObjectPic
- ldr r0, _080AE8FC
- bl LoadCompressedObjectPalette
- ldr r0, _080AE900
- movs r1, 0x60
- movs r2, 0xA
- movs r3, 0x1D
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080AE904
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- movs r1, 0x3E
- adds r1, r2
- mov r12, r1
- ldrb r1, [r1]
- movs r3, 0x4
- orrs r1, r3
- mov r3, r12
- strb r1, [r3]
- ldrh r1, [r2, 0x4]
- lsls r1, 22
- lsrs r1, 22
- strh r1, [r2, 0x2E]
- pop {r1}
- bx r1
- .align 2, 0
-_080AE8F8: .4byte gUnknown_083CA4C4
-_080AE8FC: .4byte gUnknown_083CA4CC
-_080AE900: .4byte gUnknown_083CA4D4
-_080AE904: .4byte gSprites
- thumb_func_end sub_80AE8B4
-
- thumb_func_start unref_sub_80AE908
-unref_sub_80AE908: @ 80AE908
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- ldr r0, _080AE9D4
- mov r9, r0
- ldr r1, _080AE9D8
- mov r8, r1
- ldrb r0, [r1]
- lsls r0, 6
- add r0, r9
- ldrh r5, [r0]
- lsls r6, r5, 3
- ldr r0, _080AE9DC
- adds r0, r6, r0
- ldr r2, _080AE9E0
- mov r10, r2
- lsls r2, r5, 2
- add r2, r10
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _080AE9E4
- ldr r4, [r4, 0x4]
- str r4, [sp]
- str r5, [sp, 0x4]
- bl DecompressPicFromTable_2
- ldr r0, _080AE9E8
- adds r6, r0
- ldr r0, [r6]
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x20
- bl LoadCompressedPalette
- mov r1, r8
- ldrb r0, [r1]
- lsls r0, 6
- add r0, r9
- ldrh r0, [r0]
- movs r1, 0x1
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _080AE9EC
- mov r2, r8
- ldrb r1, [r2]
- lsls r1, 6
- add r1, r9
- ldrh r1, [r1]
- lsls r1, 2
- add r1, r10
- ldrb r1, [r1]
- movs r2, 0x8
- subs r2, r1
- lsls r2, 18
- movs r1, 0xA0
- lsls r1, 15
- adds r2, r1
- asrs r2, 16
- movs r1, 0x70
- movs r3, 0x1E
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080AE9F0
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- adds r0, r3, r5
- ldrb r2, [r0, 0x5]
- movs r1, 0xF
- ands r1, r2
- movs r2, 0x10
- orrs r1, r2
- strb r1, [r0, 0x5]
- adds r1, r5, 0
- adds r1, 0x1C
- adds r1, r3, r1
- ldr r2, _080AE9F4
- str r2, [r1]
- adds r5, 0x10
- adds r3, r5
- ldr r1, _080AE9F8
- str r1, [r3]
- movs r1, 0
- bl StartSpriteAffineAnim
- adds r0, r4, 0
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080AE9D4: .4byte gUnknown_02038570
-_080AE9D8: .4byte gUnknown_02038695
-_080AE9DC: .4byte gMonFrontPicTable
-_080AE9E0: .4byte gMonFrontPicCoords
-_080AE9E4: .4byte gUnknown_081FAF4C
-_080AE9E8: .4byte gMonPaletteTable
-_080AE9EC: .4byte gUnknown_02024E8C
-_080AE9F0: .4byte gSprites
-_080AE9F4: .4byte SpriteCallbackDummy
-_080AE9F8: .4byte gSpriteAffineAnimTable_81E7C18
- thumb_func_end unref_sub_80AE908
-
- thumb_func_start sub_80AE9FC
-sub_80AE9FC: @ 80AE9FC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- mov r8, r1
- adds r6, r2, 0
- lsls r0, 16
- lsrs r0, 16
- bl sub_80B2778
- mov r9, r0
- mov r5, r9
- lsls r0, r5, 3
- ldr r1, _080AEACC
- adds r0, r1
- ldr r1, _080AEAD0
- lsls r2, r5, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _080AEAD4
- ldr r4, [r4]
- str r4, [sp]
- str r5, [sp, 0x4]
- str r6, [sp, 0x8]
- bl sub_800D334
- adds r0, r5, 0
- mov r1, r8
- adds r2, r6, 0
- bl species_and_otid_get_pal
- movs r1, 0x90
- lsls r1, 1
- movs r2, 0x20
- bl LoadCompressedPalette
- adds r0, r5, 0
- movs r1, 0
- bl GetMonSpriteTemplate_803C56C
- ldr r4, _080AEAD8
- movs r0, 0x2
- adds r1, r5, 0
- movs r2, 0
- bl sub_8077E44
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r4, 0
- movs r1, 0x70
- movs r3, 0x1E
- bl CreateSprite
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080AEADC
- mov r8, r0
- lsls r0, r7, 4
- adds r0, r7
- lsls r6, r0, 2
- mov r0, r8
- adds r4, r6, r0
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- movs r1, 0xD
- negs r1, r1
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r4, 0x5]
- movs r0, 0x2
- bl sub_8079E90
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- mov r0, r8
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, _080AEAE0
- str r1, [r0]
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- strh r0, [r4, 0x2E]
- strh r5, [r4, 0x32]
- adds r0, r5, 0
- bl sub_80AEB1C
- lsls r0, 24
- cmp r0, 0
- beq _080AEAE8
- mov r0, r8
- adds r0, 0x10
- adds r0, r6, r0
- ldr r1, _080AEAE4
- b _080AEAF0
- .align 2, 0
-_080AEACC: .4byte gMonBackPicTable
-_080AEAD0: .4byte gMonBackPicCoords
-_080AEAD4: .4byte gUnknown_081FAF4C
-_080AEAD8: .4byte gUnknown_02024E8C
-_080AEADC: .4byte gSprites
-_080AEAE0: .4byte SpriteCallbackDummy
-_080AEAE4: .4byte gSpriteAffineAnimTable_81E7C18
-_080AEAE8:
- mov r0, r8
- adds r0, 0x10
- adds r0, r6, r0
- ldr r1, _080AEB14
-_080AEAF0:
- str r1, [r0]
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, _080AEB18
- adds r0, r1
- movs r1, 0
- bl StartSpriteAffineAnim
- adds r0, r7, 0
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AEB14: .4byte gSpriteAffineAnimTable_81E7BEC
-_080AEB18: .4byte gSprites
- thumb_func_end sub_80AE9FC
-
- thumb_func_start sub_80AEB1C
-sub_80AEB1C: @ 80AEB1C
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xC9
- beq _080AEB2A
- movs r0, 0x1
- b _080AEB2C
-_080AEB2A:
- movs r0, 0
-_080AEB2C:
- pop {r1}
- bx r1
- thumb_func_end sub_80AEB1C
-
- thumb_func_start sub_80AEB30
-sub_80AEB30: @ 80AEB30
- push {lr}
- ldr r0, _080AEB44
- bl sub_80AEB4C
- ldr r0, _080AEB48
- bl sub_80AEB4C
- pop {r0}
- bx r0
- .align 2, 0
-_080AEB44: .4byte 0x0600c000
-_080AEB48: .4byte 0x0600e000
- thumb_func_end sub_80AEB30
-
- thumb_func_start sub_80AEB4C
-sub_80AEB4C: @ 80AEB4C
- movs r1, 0xA0
- lsls r1, 3
- adds r2, r0, r1
- ldr r1, _080AEB60
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _080AEB64
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bx lr
- .align 2, 0
-_080AEB60: .4byte 0x040000d4
-_080AEB64: .4byte 0x80000140
- thumb_func_end sub_80AEB4C
-
- thumb_func_start sub_80AEB68
-sub_80AEB68: @ 80AEB68
- push {lr}
- lsls r0, 16
- lsls r1, 24
- lsrs r3, r1, 24
- ldr r2, _080AEB90
- ldr r1, _080AEB94
- lsrs r0, 13
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _080AEBD0
- lsls r0, 2
- ldr r1, _080AEB98
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AEB90: .4byte gContestEffects
-_080AEB94: .4byte gContestMoves
-_080AEB98: .4byte _080AEB9C
- .align 2, 0
-_080AEB9C:
- .4byte _080AEBC0
- .4byte _080AEBC0
- .4byte _080AEBC8
- .4byte _080AEBC8
- .4byte _080AEBD0
- .4byte _080AEBD0
- .4byte _080AEBD0
- .4byte _080AEBD0
- .4byte _080AEBC0
-_080AEBC0:
- ldr r0, _080AEBC4
- b _080AEBD2
- .align 2, 0
-_080AEBC4: .4byte 0x00009082
-_080AEBC8:
- ldr r0, _080AEBCC
- b _080AEBD2
- .align 2, 0
-_080AEBCC: .4byte 0x00009088
-_080AEBD0:
- ldr r0, _080AEBE8
-_080AEBD2:
- lsls r1, r3, 12
- movs r2, 0x90
- lsls r2, 8
- adds r1, r2
- lsls r0, 16
- asrs r0, 16
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_080AEBE8: .4byte 0x00009086
- thumb_func_end sub_80AEB68
-
- thumb_func_start sub_80AEBEC
-sub_80AEBEC: @ 80AEBEC
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _080AEC74
- movs r1, 0x10
- str r1, [sp]
- movs r1, 0x22
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x1F
- bl FillWindowRect_DefaultPalette
- ldr r1, _080AEC78
- lsls r0, r4, 3
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 29
- ldr r1, _080AEC7C
- cmp r0, 0
- beq _080AEC34
- adds r1, 0x5
- cmp r0, 0x1
- beq _080AEC34
- adds r1, 0x5
- cmp r0, 0x2
- beq _080AEC34
- adds r1, 0x40
- cmp r0, 0x3
- bne _080AEC34
- subs r1, 0x20
-_080AEC34:
- ldr r0, _080AEC74
- mov r8, r0
- ldr r6, _080AEC78
- lsls r5, r4, 3
- ldr r7, _080AEC80
- ldr r0, _080AEC84
- mov r9, r0
- ldr r4, _080AEC88
- ldr r3, _080AEC8C
- movs r2, 0x4
-_080AEC48:
- strh r1, [r3]
- adds r0, r1, 0
- adds r0, 0x10
- strh r0, [r4]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- adds r4, 0x2
- adds r3, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080AEC48
- adds r0, r5, r6
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0, r7
- ldrb r0, [r1, 0x1]
- cmp r0, 0xFF
- bne _080AEC90
- movs r0, 0
- b _080AEC9C
- .align 2, 0
-_080AEC74: .4byte gUnknown_03004210
-_080AEC78: .4byte gContestMoves
-_080AEC7C: .4byte 0x00004040
-_080AEC80: .4byte gContestEffects
-_080AEC84: .4byte gUnknown_083CADD4
-_080AEC88: .4byte 0x0600c816
-_080AEC8C: .4byte 0x0600c7d6
-_080AEC90:
- ldrb r0, [r1, 0x1]
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
-_080AEC9C:
- cmp r0, 0x8
- bls _080AECA2
- movs r0, 0x8
-_080AECA2:
- movs r2, 0
- ldr r1, _080AECB8
- adds r4, r1, 0
- adds r1, 0x23
- adds r3, r1, 0
- ldr r1, _080AECBC
-_080AECAE:
- cmp r2, r0
- bge _080AECC0
- strh r4, [r1]
- b _080AECC2
- .align 2, 0
-_080AECB8: .4byte 0x00005012
-_080AECBC: .4byte 0x0600c7ea
-_080AECC0:
- strh r3, [r1]
-_080AECC2:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x7
- ble _080AECAE
- adds r0, r5, r6
- ldrb r0, [r0]
- lsls r0, 2
- adds r1, r0, r7
- ldrb r0, [r1, 0x2]
- cmp r0, 0xFF
- bne _080AECDC
- movs r0, 0
- b _080AECE8
-_080AECDC:
- ldrb r0, [r1, 0x2]
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
-_080AECE8:
- cmp r0, 0x8
- bls _080AECEE
- movs r0, 0x8
-_080AECEE:
- movs r2, 0
- ldr r1, _080AED04
- adds r4, r1, 0
- adds r1, 0x22
- adds r3, r1, 0
- ldr r1, _080AED08
-_080AECFA:
- cmp r2, r0
- bge _080AED0C
- strh r4, [r1]
- b _080AED0E
- .align 2, 0
-_080AED04: .4byte 0x00005014
-_080AED08: .4byte 0x0600c82a
-_080AED0C:
- strh r3, [r1]
-_080AED0E:
- adds r1, 0x2
- adds r2, 0x1
- cmp r2, 0x7
- ble _080AECFA
- adds r0, r5, r6
- ldrb r0, [r0]
- lsls r0, 2
- add r0, r9
- ldr r1, [r0]
- movs r2, 0xD9
- lsls r2, 2
- movs r0, 0x23
- str r0, [sp]
- mov r0, r8
- movs r3, 0xB
- bl sub_8003460
- ldr r1, _080AED50
- ldr r2, _080AED54
- movs r0, 0x1F
- str r0, [sp]
- mov r0, r8
- movs r3, 0x10
- bl sub_8003460
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AED50: .4byte gUnknown_083CC5A2
-_080AED54: .4byte 0x00000362
- thumb_func_end sub_80AEBEC
-
- thumb_func_start sub_80AED58
-sub_80AED58: @ 80AED58
- push {lr}
- sub sp, 0x8
- ldr r0, _080AED78
- movs r1, 0x1C
- str r1, [sp]
- movs r1, 0x28
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x23
- bl FillWindowRect_DefaultPalette
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080AED78: .4byte gUnknown_03004210
- thumb_func_end sub_80AED58
-
- thumb_func_start sub_80AED7C
-sub_80AED7C: @ 80AED7C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r0, _080AEDD8
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- bne _080AEDEC
- cmp r6, 0
- beq _080AEDEC
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80AEB68
- lsls r0, 16
- lsrs r0, 16
- lsls r3, r5, 6
- ldr r1, _080AEDDC
- adds r1, r3, r1
- strh r0, [r1]
- ldr r1, _080AEDE0
- adds r1, r3, r1
- adds r2, r0, 0x1
- strh r2, [r1]
- ldr r1, _080AEDE4
- adds r2, r3, r1
- adds r1, r0, 0
- adds r1, 0x10
- strh r1, [r2]
- ldr r1, _080AEDE8
- adds r3, r1
- adds r0, 0x11
- strh r0, [r3]
- b _080AEE08
- .align 2, 0
-_080AEDD8: .4byte gUnknown_02038696
-_080AEDDC: .4byte 0x0600c028
-_080AEDE0: .4byte 0x0600c02a
-_080AEDE4: .4byte 0x0600c068
-_080AEDE8: .4byte 0x0600c06a
-_080AEDEC:
- lsls r1, r5, 6
- ldr r0, _080AEE10
- adds r0, r1, r0
- movs r2, 0
- strh r2, [r0]
- ldr r0, _080AEE14
- adds r0, r1, r0
- strh r2, [r0]
- ldr r3, _080AEE18
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, _080AEE1C
- adds r1, r0
- strh r2, [r1]
-_080AEE08:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AEE10: .4byte 0x0600c028
-_080AEE14: .4byte 0x0600c02a
-_080AEE18: .4byte 0x0600c068
-_080AEE1C: .4byte 0x0600c06a
- thumb_func_end sub_80AED7C
-
- thumb_func_start unref_sub_80AEE20
-unref_sub_80AEE20: @ 80AEE20
- push {r4,lr}
- movs r4, 0
-_080AEE24:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, _080AEE48
- adds r0, r1
- ldrh r0, [r0, 0x6]
- adds r1, r4, 0
- bl sub_80AED7C
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AEE24
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AEE48: .4byte 0x02019260
- thumb_func_end unref_sub_80AEE20
-
- thumb_func_start sub_80AEE4C
-sub_80AEE4C: @ 80AEE4C
- ldr r0, _080AEE50
- bx lr
- .align 2, 0
-_080AEE50: .4byte 0x00002034
- thumb_func_end sub_80AEE4C
-
- thumb_func_start sub_80AEE54
-sub_80AEE54: @ 80AEE54
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- lsls r5, r7, 3
- subs r0, r5, r7
- lsls r0, 2
- ldr r1, _080AEE84
- adds r0, r1
- ldrb r0, [r0, 0x10]
- movs r2, 0x30
- ands r2, r0
- mov r10, r1
- cmp r2, 0
- bne _080AEE88
- movs r0, 0
- b _080AEF3C
- .align 2, 0
-_080AEE84: .4byte 0x02019260
-_080AEE88:
- ldr r0, _080AEEB0
- adds r0, r7, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- cmp r2, 0x10
- bne _080AEEF0
- adds r0, r7, 0
- bl sub_80AEE4C
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- movs r4, 0
- adds r6, r5, 0
- b _080AEEC4
- .align 2, 0
-_080AEEB0: .4byte gUnknown_02038696
-_080AEEB4:
- mov r1, r9
- adds r0, r1, r4
- lsls r0, 6
- ldr r1, _080AEEE8
- adds r0, r1
- mov r1, r8
- strh r1, [r0]
- adds r4, 0x1
-_080AEEC4:
- subs r0, r6, r7
- lsls r0, 2
- ldr r1, _080AEEEC
- adds r5, r0, r1
- movs r0, 0xD
- ldrsb r0, [r5, r0]
- movs r1, 0xA
- bl __divsi3
- lsls r0, 24
- asrs r0, 24
- cmp r0, r4
- bgt _080AEEB4
- ldr r0, [sp]
- cmp r0, 0
- beq _080AEF3A
- movs r0, 0x5B
- b _080AEF2C
- .align 2, 0
-_080AEEE8: .4byte 0x0600c026
-_080AEEEC: .4byte 0x02019260
-_080AEEF0:
- movs r1, 0
- mov r8, r1
- movs r4, 0x3
- adds r6, r5, 0
- b _080AEF0A
-_080AEEFA:
- mov r1, r9
- adds r0, r1, r4
- lsls r0, 6
- ldr r1, _080AEF4C
- adds r0, r1
- mov r1, r8
- strh r1, [r0]
- subs r4, 0x1
-_080AEF0A:
- subs r0, r6, r7
- lsls r0, 2
- mov r1, r10
- adds r5, r0, r1
- movs r0, 0xD
- ldrsb r0, [r5, r0]
- movs r1, 0xA
- bl __divsi3
- lsls r0, 24
- asrs r0, 24
- cmp r0, r4
- blt _080AEEFA
- ldr r0, [sp]
- cmp r0, 0
- beq _080AEF3A
- movs r0, 0x26
-_080AEF2C:
- bl PlaySE
- ldrb r1, [r5, 0x10]
- movs r0, 0x31
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x10]
-_080AEF3A:
- movs r0, 0x1
-_080AEF3C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AEF4C: .4byte 0x0600bfe6
- thumb_func_end sub_80AEE54
-
- thumb_func_start sub_80AEF50
-sub_80AEF50: @ 80AEF50
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r5, 0
-_080AEF5A:
- ldr r0, _080AEF80
- adds r0, r5, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x2
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80AEE4C
- lsls r0, 16
- lsrs r6, r0, 16
- movs r4, 0
- lsls r7, r5, 3
- adds r2, r5, 0x1
- b _080AEF92
- .align 2, 0
-_080AEF80: .4byte gUnknown_02038696
-_080AEF84:
- mov r1, r8
- adds r0, r1, r4
- lsls r0, 6
- ldr r3, _080AEFE0
- adds r0, r3
- strh r6, [r0]
- adds r4, 0x1
-_080AEF92:
- subs r0, r7, r5
- lsls r0, 2
- ldr r1, _080AEFE4
- adds r0, r1
- ldrb r0, [r0, 0xD]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0xA
- str r2, [sp]
- bl __divsi3
- lsls r0, 24
- asrs r0, 24
- ldr r2, [sp]
- cmp r4, r0
- blt _080AEF84
- movs r6, 0
- cmp r4, 0x2
- bgt _080AEFCE
- lsls r0, r4, 6
- ldr r1, _080AEFE0
- adds r0, r1
- mov r3, r8
- lsls r1, r3, 6
- adds r0, r1
-_080AEFC4:
- strh r6, [r0]
- adds r0, 0x40
- adds r4, 0x1
- cmp r4, 0x2
- ble _080AEFC4
-_080AEFCE:
- adds r5, r2, 0
- cmp r5, 0x3
- ble _080AEF5A
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AEFE0: .4byte 0x0600c026
-_080AEFE4: .4byte 0x02019260
- thumb_func_end sub_80AEF50
-
- thumb_func_start sub_80AEFE8
-sub_80AEFE8: @ 80AEFE8
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- cmp r1, 0x4
- bhi _080AF02A
- lsls r0, r1, 2
- ldr r1, _080AF000
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080AF000: .4byte _080AF004
- .align 2, 0
-_080AF004:
- .4byte _080AF018
- .4byte _080AF01C
- .4byte _080AF020
- .4byte _080AF024
- .4byte _080AF028
-_080AF018:
- movs r0, 0x80
- b _080AF02A
-_080AF01C:
- movs r0, 0x84
- b _080AF02A
-_080AF020:
- movs r0, 0x86
- b _080AF02A
-_080AF024:
- movs r0, 0x88
- b _080AF02A
-_080AF028:
- movs r0, 0x82
-_080AF02A:
- movs r1, 0x90
- lsls r1, 8
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80AEFE8
-
- thumb_func_start sub_80AF038
-sub_80AF038: @ 80AF038
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r5, 0x1
- movs r4, 0
- ldr r0, _080AF074
- adds r0, r3, r0
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x2
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- ldr r1, _080AF078
- adds r2, r0, r1
- ldr r0, [r2, 0x10]
- ldr r1, _080AF07C
- ands r0, r1
- cmp r0, 0
- bne _080AF06C
- ldrb r0, [r2, 0xF]
- cmp r0, 0
- beq _080AF080
-_080AF06C:
- adds r0, r3, 0
- movs r1, 0
- b _080AF0A6
- .align 2, 0
-_080AF074: .4byte gUnknown_02038696
-_080AF078: .4byte 0x02019260
-_080AF07C: .4byte 0x00ff0003
-_080AF080:
- ldrb r1, [r2, 0xC]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080AF090
- adds r0, r3, 0
- movs r1, 0x1
- b _080AF0A6
-_080AF090:
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080AF0A2
- ldrb r1, [r2, 0xB]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080AF0B0
-_080AF0A2:
- adds r0, r3, 0
- movs r1, 0x2
-_080AF0A6:
- bl sub_80AEFE8
- lsls r0, 16
- lsrs r4, r0, 16
- b _080AF0B2
-_080AF0B0:
- movs r5, 0
-_080AF0B2:
- cmp r5, 0
- beq _080AF0EC
- lsls r2, r6, 6
- ldr r0, _080AF0DC
- adds r0, r2, r0
- strh r4, [r0]
- ldr r0, _080AF0E0
- adds r0, r2, r0
- adds r1, r4, 0x1
- strh r1, [r0]
- ldr r0, _080AF0E4
- adds r1, r2, r0
- adds r0, r4, 0
- adds r0, 0x10
- strh r0, [r1]
- ldr r0, _080AF0E8
- adds r2, r0
- adds r0, r4, 0
- adds r0, 0x11
- strh r0, [r2]
- b _080AF106
- .align 2, 0
-_080AF0DC: .4byte 0x0600c028
-_080AF0E0: .4byte 0x0600c02a
-_080AF0E4: .4byte 0x0600c068
-_080AF0E8: .4byte 0x0600c06a
-_080AF0EC:
- lsls r1, r6, 6
- ldr r0, _080AF110
- adds r0, r1, r0
- strh r5, [r0]
- ldr r0, _080AF114
- adds r0, r1, r0
- strh r5, [r0]
- ldr r2, _080AF118
- adds r0, r1, r2
- strh r5, [r0]
- ldr r0, _080AF11C
- adds r1, r0
- strh r5, [r1]
-_080AF106:
- adds r0, r5, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080AF110: .4byte 0x0600c028
-_080AF114: .4byte 0x0600c02a
-_080AF118: .4byte 0x0600c068
-_080AF11C: .4byte 0x0600c06a
- thumb_func_end sub_80AF038
-
- thumb_func_start sub_80AF120
-sub_80AF120: @ 80AF120
- push {r4,lr}
- movs r4, 0
-_080AF124:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80AF038
- adds r4, 0x1
- cmp r4, 0x3
- ble _080AF124
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF120
-
- thumb_func_start sub_80AF138
-sub_80AF138: @ 80AF138
- push {lr}
- sub sp, 0x8
- ldr r0, _080AF158
- movs r1, 0x11
- str r1, [sp]
- movs r1, 0x12
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0x1
- movs r3, 0xF
- bl FillWindowRect_DefaultPalette
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080AF158: .4byte gUnknown_03004210
- thumb_func_end sub_80AF138
-
- thumb_func_start sub_80AF15C
-sub_80AF15C: @ 80AF15C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- adds r0, r4, 0
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- beq _080AF174
- movs r0, 0
- b _080AF1AA
-_080AF174:
- ldr r0, _080AF190
- ldrb r0, [r0]
- cmp r4, r0
- beq _080AF198
- adds r0, r4, 0
- bl sub_81288F4
- bl sub_8128944
- lsls r0, 24
- ldr r2, _080AF194
- lsrs r0, 23
- lsls r1, r4, 6
- b _080AF1A2
- .align 2, 0
-_080AF190: .4byte gUnknown_02038695
-_080AF194: .4byte gUnknown_02038570
-_080AF198:
- ldr r2, _080AF1B0
- ldr r0, _080AF1B4
- ldrb r0, [r0]
- lsls r0, 1
- lsls r1, r5, 6
-_080AF1A2:
- adds r0, r1
- adds r2, 0x1E
- adds r0, r2
- ldrh r0, [r0]
-_080AF1AA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AF1B0: .4byte gUnknown_02038570
-_080AF1B4: .4byte 0x02019204
- thumb_func_end sub_80AF15C
-
- thumb_func_start sub_80AF1B8
-sub_80AF1B8: @ 80AF1B8
- push {r4,lr}
- movs r4, 0
-_080AF1BC:
- adds r0, r4, 0
- bl sub_80AF15C
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- ldr r2, _080AF1E0
- adds r1, r2
- strh r0, [r1, 0x6]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AF1BC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF1E0: .4byte 0x02019260
- thumb_func_end sub_80AF1B8
-
- thumb_func_start sub_80AF1E4
-sub_80AF1E4: @ 80AF1E4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- cmp r1, 0
- bne _080AF1FC
- adds r0, r5, 0
- adds r0, 0xA
- lsls r0, 24
- lsrs r3, r0, 24
- b _080AF1FE
-_080AF1FC:
- movs r3, 0xE
-_080AF1FE:
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- ldr r1, _080AF21C
- adds r1, r0, r1
- ldrh r0, [r1, 0x6]
- cmp r0, 0
- bne _080AF228
- ldr r0, _080AF220
- ldr r1, _080AF224
- adds r2, r3, 0
- bl PutWindowTilemap
- b _080AF23A
- .align 2, 0
-_080AF21C: .4byte 0x02019260
-_080AF220: .4byte gUnknown_020238CC
-_080AF224: .4byte gUnknownText_MissedTurn
-_080AF228:
- ldr r0, _080AF270
- ldrh r2, [r1, 0x6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080AF274
- adds r1, r2
- adds r2, r3, 0
- bl PutWindowTilemap
-_080AF23A:
- adds r0, r5, 0
- bl sub_80AF2A0
- ldr r0, _080AF278
- ldr r1, _080AF270
- lsls r2, r5, 2
- adds r2, r5
- lsls r2, 18
- movs r3, 0xAE
- lsls r3, 18
- adds r2, r3
- lsrs r2, 16
- ldr r4, _080AF27C
- lsls r5, 1
- adds r3, r5, r4
- ldrb r3, [r3]
- adds r4, 0x1
- adds r5, r4
- ldrb r4, [r5]
- str r4, [sp]
- bl sub_8003460
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF270: .4byte gUnknown_020238CC
-_080AF274: .4byte gMoveNames
-_080AF278: .4byte gUnknown_03004210
-_080AF27C: .4byte gUnknown_083CA318
- thumb_func_end sub_80AF1E4
-
- thumb_func_start unref_sub_80AF280
-unref_sub_80AF280: @ 80AF280
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
-_080AF288:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80AF1E4
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AF288
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80AF280
-
- thumb_func_start sub_80AF2A0
-sub_80AF2A0: @ 80AF2A0
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- ldr r4, _080AF2D8
- ldr r1, _080AF2DC
- lsrs r0, 23
- adds r2, r0, r1
- ldrb r2, [r2]
- adds r1, 0x1
- adds r0, r1
- ldrb r3, [r0]
- adds r0, r2, 0x7
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- adds r0, r4, 0
- movs r1, 0
- bl FillWindowRect_DefaultPalette
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF2D8: .4byte gUnknown_03004210
-_080AF2DC: .4byte gUnknown_083CA318
- thumb_func_end sub_80AF2A0
-
- thumb_func_start unref_sub_80AF2E0
-unref_sub_80AF2E0: @ 80AF2E0
- push {r4,lr}
- movs r4, 0
-_080AF2E4:
- adds r0, r4, 0
- bl sub_80AF2A0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AF2E4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80AF2E0
-
- thumb_func_start sub_80AF2FC
-sub_80AF2FC: @ 80AF2FC
- push {r4-r7,lr}
- sub sp, 0x8
- movs r4, 0
- ldr r2, _080AF398
-_080AF304:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x2]
- ldrh r3, [r0, 0x4]
- adds r1, r3
- strh r1, [r0, 0x4]
- lsls r0, r4, 1
- add r0, sp
- strh r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AF304
- movs r4, 0
-_080AF326:
- movs r2, 0x3
- cmp r2, r4
- bls _080AF354
-_080AF32C:
- subs r5, r2, 0x1
- lsls r0, r5, 1
- mov r7, sp
- adds r3, r7, r0
- lsls r0, r2, 1
- adds r2, r7, r0
- ldrh r6, [r3]
- movs r0, 0
- ldrsh r1, [r3, r0]
- movs r7, 0
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _080AF34C
- ldrh r0, [r2]
- strh r6, [r2]
- strh r0, [r3]
-_080AF34C:
- lsls r0, r5, 24
- lsrs r2, r0, 24
- cmp r2, r4
- bhi _080AF32C
-_080AF354:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _080AF326
- movs r4, 0
- ldr r0, _080AF398
- mov r12, r0
- movs r7, 0x4
- negs r7, r7
- movs r6, 0x3
-_080AF36A:
- movs r2, 0
- lsls r0, r4, 3
- adds r5, r4, 0x1
- subs r0, r4
- lsls r0, 2
- mov r1, r12
- adds r3, r0, r1
- movs r4, 0x4
- ldrsh r1, [r3, r4]
-_080AF37C:
- lsls r0, r2, 1
- add r0, sp
- movs r4, 0
- ldrsh r0, [r0, r4]
- cmp r1, r0
- bne _080AF39C
- ands r2, r6
- ldrb r1, [r3, 0xB]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0xB]
- b _080AF3A6
- .align 2, 0
-_080AF398: .4byte 0x02019260
-_080AF39C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080AF37C
-_080AF3A6:
- lsls r0, r5, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AF36A
- movs r0, 0x1
- bl sub_80B0F28
- bl sub_80B159C
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF2FC
-
- thumb_func_start sub_80AF3C0
-sub_80AF3C0: @ 80AF3C0
- push {lr}
- ldr r2, _080AF3D0
- adds r3, r2, 0
-_080AF3C6:
- ldrh r0, [r2, 0x6]
- cmp r0, 0
- bne _080AF3D4
- movs r1, 0x5
- b _080AF3F2
- .align 2, 0
-_080AF3D0: .4byte 0x02019260
-_080AF3D4:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- movs r1, 0
- cmp r0, 0
- ble _080AF3F2
- movs r1, 0x1
- cmp r0, 0x1D
- ble _080AF3F2
- movs r1, 0x2
- cmp r0, 0x3B
- ble _080AF3F2
- movs r1, 0x4
- cmp r0, 0x4F
- bgt _080AF3F2
- movs r1, 0x3
-_080AF3F2:
- strb r1, [r2, 0x1A]
- adds r2, 0x1C
- adds r0, r3, 0
- adds r0, 0x54
- cmp r2, r0
- ble _080AF3C6
- pop {r0}
- bx r0
- thumb_func_end sub_80AF3C0
-
- thumb_func_start sub_80AF404
-sub_80AF404: @ 80AF404
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _080AF42C
- adds r2, r1, r0
- ldrb r1, [r2, 0xC]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080AF428
- ldrb r1, [r2, 0xB]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080AF430
-_080AF428:
- movs r0, 0
- b _080AF432
- .align 2, 0
-_080AF42C: .4byte 0x02019260
-_080AF430:
- movs r0, 0x1
-_080AF432:
- pop {r1}
- bx r1
- thumb_func_end sub_80AF404
-
- thumb_func_start sub_80AF438
-sub_80AF438: @ 80AF438
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- ldr r0, _080AF594
- mov r10, r0
- movs r1, 0
- mov r12, r1
- movs r0, 0x7
- negs r0, r0
- mov r9, r0
- movs r1, 0x2
- negs r1, r1
- mov r8, r1
-_080AF458:
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- mov r1, r10
- adds r3, r0, r1
- movs r0, 0
- strh r0, [r3, 0x2]
- strh r0, [r3]
- mov r0, r12
- strb r0, [r3, 0x12]
- ldrb r2, [r3, 0xC]
- movs r0, 0x6
- ands r0, r2
- cmp r0, 0
- beq _080AF48A
- lsls r0, r2, 29
- lsrs r0, 30
- subs r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 1
- mov r1, r9
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xC]
-_080AF48A:
- mov r1, r12
- strb r1, [r3, 0xE]
- ldrb r0, [r3, 0x10]
- mov r1, r8
- ands r1, r0
- mov r0, r12
- strb r0, [r3, 0xF]
- movs r0, 0x3
- negs r0, r0
- ands r1, r0
- movs r6, 0x5
- negs r6, r6
- ands r1, r6
- movs r7, 0x9
- negs r7, r7
- ands r1, r7
- ldrb r0, [r3, 0xC]
- mov r4, r8
- ands r4, r0
- strb r4, [r3, 0xC]
- movs r0, 0xFF
- strb r0, [r3, 0x13]
- movs r0, 0x1
- negs r0, r0
- strb r0, [r3, 0x14]
- subs r0, 0x30
- ands r1, r0
- strb r1, [r3, 0x10]
- ldrb r2, [r3, 0x15]
- lsls r1, r2, 31
- lsrs r1, 31
- lsls r1, 2
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r1
- mov r1, r8
- ands r0, r1
- strb r0, [r3, 0x15]
- ldrb r0, [r3, 0x11]
- movs r2, 0x4
- negs r2, r2
- ands r2, r0
- movs r0, 0x21
- negs r0, r0
- ands r2, r0
- strb r2, [r3, 0x11]
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _080AF500
- adds r0, r4, 0
- mov r1, r9
- ands r0, r1
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r3, 0xC]
- adds r0, r2, 0
- ands r0, r6
- strb r0, [r3, 0x11]
-_080AF500:
- ldrb r2, [r3, 0x11]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _080AF518
- ldrb r0, [r3, 0xB]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r3, 0xB]
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r3, 0x11]
-_080AF518:
- ldrb r0, [r3, 0x11]
- movs r1, 0x11
- negs r1, r1
- ands r1, r0
- strb r1, [r3, 0x11]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080AF458
- movs r5, 0
- mov r6, r10
- mov r9, r5
- adds r7, r6, 0
- subs r7, 0x5C
- movs r0, 0x18
- negs r0, r0
- adds r0, r6
- mov r8, r0
-_080AF53E:
- lsls r4, r5, 3
- subs r4, r5
- lsls r4, 2
- adds r4, r6
- ldrh r2, [r4, 0x6]
- strh r2, [r4, 0x8]
- lsls r1, r5, 1
- ldrb r0, [r7, 0x1]
- lsls r0, 3
- adds r1, r0
- adds r0, r6, 0
- subs r0, 0x40
- adds r0, r1
- strh r2, [r0]
- ldrh r0, [r4, 0x6]
- bl contest_get_move_excitement
- ldrb r1, [r7, 0x1]
- lsls r1, 2
- adds r1, r5, r1
- add r1, r8
- strb r0, [r1]
- mov r1, r9
- strh r1, [r4, 0x6]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080AF53E
- ldr r2, _080AF598
- ldrb r1, [r2, 0x1]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF594: .4byte 0x02019260
-_080AF598: .4byte 0x02019328
- thumb_func_end sub_80AF438
-
- thumb_func_start sub_80AF59C
-sub_80AF59C: @ 80AF59C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _080AF5C4
- adds r2, r1, r0
- ldrb r1, [r2, 0xC]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080AF5C0
- ldrb r1, [r2, 0xB]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080AF5C8
-_080AF5C0:
- movs r0, 0x1
- b _080AF5CA
- .align 2, 0
-_080AF5C4: .4byte 0x02019260
-_080AF5C8:
- movs r0, 0
-_080AF5CA:
- pop {r1}
- bx r1
- thumb_func_end sub_80AF59C
-
- thumb_func_start unref_sub_80AF5D0
-unref_sub_80AF5D0: @ 80AF5D0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- ldr r1, _080AF5E8
- ldrb r1, [r1]
- cmp r0, r1
- beq _080AF600
-_080AF5E2:
- movs r0, 0x1
- b _080AF626
- .align 2, 0
-_080AF5E8: .4byte gUnknown_02038695
-_080AF5EC:
- ldrb r0, [r4, 0x6]
- movs r1, 0x1
- b _080AF5F6
-_080AF5F2:
- ldrb r0, [r4, 0x6]
- movs r1, 0x2
-_080AF5F6:
- orrs r0, r1
- strb r0, [r4, 0x6]
- b _080AF5E2
-_080AF5FC:
- strb r3, [r2]
- b _080AF5E2
-_080AF600:
- movs r0, 0
- ldr r4, _080AF62C
- adds r5, r4, 0x2
-_080AF606:
- cmp r3, 0x3
- beq _080AF5EC
- cmp r3, 0x4
- beq _080AF5F2
- adds r2, r0, r5
- ldrb r1, [r2]
- cmp r1, r3
- beq _080AF5E2
- cmp r1, 0xFF
- beq _080AF5FC
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080AF606
- movs r0, 0
-_080AF626:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080AF62C: .4byte 0x02019204
- thumb_func_end unref_sub_80AF5D0
-
- thumb_func_start sub_80AF630
-sub_80AF630: @ 80AF630
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80AF688
- ldr r1, _080AF65C
- lsls r4, 1
- adds r1, r4, r1
- strh r0, [r1]
- ldr r2, _080AF660
- adds r2, r4, r2
- ldr r1, _080AF664
- adds r4, r1
- ldrh r4, [r4]
- adds r0, r4
- strh r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF65C: .4byte gUnknown_02038688
-_080AF660: .4byte gUnknown_02038678
-_080AF664: .4byte gUnknown_02038670
- thumb_func_end sub_80AF630
-
- thumb_func_start sub_80AF668
-sub_80AF668: @ 80AF668
- push {r4,lr}
- movs r4, 0
-_080AF66C:
- adds r0, r4, 0
- bl sub_80AF630
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080AF66C
- bl sub_80AF6A0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF668
-
- thumb_func_start sub_80AF688
-sub_80AF688: @ 80AF688
- lsls r0, 24
- ldr r1, _080AF69C
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 17
- asrs r0, 16
- bx lr
- .align 2, 0
-_080AF69C: .4byte gUnknown_02038680
- thumb_func_end sub_80AF688
-
- thumb_func_start sub_80AF6A0
-sub_80AF6A0: @ 80AF6A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x70
- mov r0, sp
- movs r1, 0
- movs r2, 0x8
- bl memset
- movs r0, 0
- mov r9, r0
- mov r1, sp
- adds r1, 0x8
- str r1, [sp, 0x64]
- mov r3, sp
- adds r3, 0xC
- str r3, [sp, 0x68]
- mov r6, sp
- adds r6, 0x14
- str r6, [sp, 0x6C]
- mov r4, sp
-_080AF6CE:
- bl Random
- strh r0, [r4]
- movs r2, 0
- cmp r2, r9
- bge _080AF70C
- mov r1, sp
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1]
- cmp r0, r1
- bne _080AF6F0
- subs r4, 0x2
- movs r7, 0x1
- negs r7, r7
- add r9, r7
- b _080AF70C
-_080AF6F0:
- adds r2, 0x1
- cmp r2, r9
- bge _080AF70C
- lsls r0, r2, 1
- mov r3, sp
- adds r1, r3, r0
- ldrh r0, [r4]
- ldrh r1, [r1]
- cmp r0, r1
- bne _080AF6F0
- subs r4, 0x2
- movs r6, 0x1
- negs r6, r6
- add r9, r6
-_080AF70C:
- adds r4, 0x2
- movs r7, 0x1
- add r9, r7
- mov r0, r9
- cmp r0, 0x3
- ble _080AF6CE
- movs r1, 0
- mov r9, r1
- mov r4, sp
- ldr r6, _080AF81C
- ldr r2, [sp, 0x64]
- ldr r5, _080AF820
- ldr r3, [sp, 0x68]
-_080AF726:
- mov r7, r9
- lsls r1, r7, 4
- movs r7, 0
- ldrsh r0, [r6, r7]
- str r0, [r2]
- movs r7, 0
- ldrsh r0, [r5, r7]
- str r0, [r3]
- ldrh r0, [r4]
- str r0, [r2, 0x8]
- ldr r0, [sp, 0x6C]
- adds r1, r0, r1
- mov r7, r9
- str r7, [r1]
- adds r4, 0x2
- adds r6, 0x2
- adds r2, 0x10
- adds r5, 0x2
- adds r3, 0x10
- movs r0, 0x1
- add r9, r0
- mov r1, r9
- cmp r1, 0x3
- ble _080AF726
- movs r3, 0
- mov r9, r3
-_080AF75A:
- movs r4, 0x3
- cmp r4, r9
- ble _080AF7E4
- add r7, sp, 0x48
- ldr r6, [sp, 0x68]
- str r6, [sp, 0x58]
- ldr r0, [sp, 0x64]
- adds r0, 0x8
- str r0, [sp, 0x5C]
- ldr r1, [sp, 0x6C]
- str r1, [sp, 0x60]
-_080AF770:
- subs r3, r4, 0x1
- mov r10, r3
- mov r0, r10
- adds r1, r4, 0
- ldr r2, [sp, 0x64]
- bl sub_80AF828
- lsls r0, 24
- cmp r0, 0
- beq _080AF7DE
- mov r6, r10
- lsls r2, r6, 4
- ldr r0, [sp, 0x64]
- adds r3, r0, r2
- ldr r0, [r3]
- str r0, [sp, 0x48]
- ldr r1, [sp, 0x58]
- adds r6, r1, r2
- ldr r0, [r6]
- str r0, [r7, 0x4]
- ldr r0, [sp, 0x5C]
- adds r0, r2
- mov r8, r0
- ldr r0, [r0]
- str r0, [r7, 0x8]
- ldr r1, [sp, 0x60]
- adds r2, r1, r2
- ldr r0, [r2]
- str r0, [r7, 0xC]
- lsls r1, r4, 4
- ldr r0, [sp, 0x64]
- adds r5, r0, r1
- ldr r0, [r5]
- str r0, [r3]
- ldr r3, [sp, 0x58]
- adds r4, r3, r1
- ldr r0, [r4]
- str r0, [r6]
- ldr r6, [sp, 0x5C]
- adds r3, r6, r1
- ldr r0, [r3]
- mov r6, r8
- str r0, [r6]
- ldr r0, [sp, 0x60]
- adds r1, r0, r1
- ldr r0, [r1]
- str r0, [r2]
- ldr r0, [sp, 0x48]
- str r0, [r5]
- ldr r0, [r7, 0x4]
- str r0, [r4]
- ldr r0, [r7, 0x8]
- str r0, [r3]
- ldr r0, [r7, 0xC]
- str r0, [r1]
-_080AF7DE:
- mov r4, r10
- cmp r4, r9
- bgt _080AF770
-_080AF7E4:
- movs r1, 0x1
- add r9, r1
- mov r3, r9
- cmp r3, 0x2
- ble _080AF75A
- movs r6, 0
- mov r9, r6
- ldr r2, _080AF824
- ldr r1, [sp, 0x6C]
-_080AF7F6:
- ldr r0, [r1]
- adds r0, r2
- mov r7, r9
- strb r7, [r0]
- adds r1, 0x10
- movs r0, 0x1
- add r9, r0
- mov r3, r9
- cmp r3, 0x3
- ble _080AF7F6
- add sp, 0x70
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AF81C: .4byte gUnknown_02038678
-_080AF820: .4byte gUnknown_02038670
-_080AF824: .4byte gUnknown_02038690
- thumb_func_end sub_80AF6A0
-
- thumb_func_start sub_80AF828
-sub_80AF828: @ 80AF828
- push {lr}
- lsls r0, 4
- adds r0, r2
- lsls r1, 4
- adds r3, r1, r2
- ldr r2, [r0]
- ldr r1, [r3]
- cmp r2, r1
- blt _080AF858
- cmp r2, r1
- bgt _080AF84A
- ldr r2, [r0, 0x4]
- ldr r1, [r3, 0x4]
- cmp r2, r1
- blt _080AF858
- cmp r2, r1
- ble _080AF84E
-_080AF84A:
- movs r2, 0
- b _080AF85A
-_080AF84E:
- ldr r1, [r0, 0x8]
- ldr r0, [r3, 0x8]
- movs r2, 0
- cmp r1, r0
- bge _080AF85A
-_080AF858:
- movs r2, 0x1
-_080AF85A:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80AF828
-
- thumb_func_start sub_80AF860
-sub_80AF860: @ 80AF860
- push {lr}
- sub sp, 0x4
- ldr r0, _080AF88C
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080AF890
- strh r1, [r0]
- bl sub_80AF138
- ldr r0, _080AF894
- ldr r1, _080AF898
- movs r2, 0xC2
- lsls r2, 2
- movs r3, 0xF
- str r3, [sp]
- movs r3, 0x1
- bl sub_8003460
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080AF88C: .4byte gUnknown_030042A0
-_080AF890: .4byte gUnknown_03004280
-_080AF894: .4byte gMenuWindow
-_080AF898: .4byte gUnknownText_LinkStandbyAndWinner
- thumb_func_end sub_80AF860
-
- thumb_func_start unref_sub_80AF89C
-unref_sub_80AF89C: @ 80AF89C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r4, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r4, 16
- lsrs r4, 16
- lsls r6, 16
- lsrs r6, 16
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- lsls r2, r3, 2
- ldr r0, _080AF940
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r0, _080AF944
- movs r1, 0x14
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- adds r7, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80AFB74
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 16
- asrs r6, 16
- adds r4, r6
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80AFB74
- adds r4, r0, 0
- subs r4, r5
- lsls r4, 24
- lsrs r4, 24
- mov r0, r9
- bl sub_80AFB40
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _080AF948
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0x8]
- lsls r4, 24
- asrs r4, 24
- strh r4, [r1, 0xA]
- add r0, r8
- strh r0, [r1, 0xC]
- mov r0, r9
- strh r0, [r1, 0xE]
- cmp r6, 0
- bge _080AF932
- mov r0, r9
- bl nullsub_19
-_080AF932:
- adds r0, r7, 0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AF940: .4byte 0x02019338
-_080AF944: .4byte sub_80AF94C
-_080AF948: .4byte gTasks
- thumb_func_end unref_sub_80AF89C
-
- thumb_func_start sub_80AF94C
-sub_80AF94C: @ 80AF94C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080AF988
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- ldrb r5, [r2, 0xE]
- ldrh r3, [r2, 0xA]
- movs r0, 0xA
- ldrsh r1, [r2, r0]
- cmp r1, 0
- bne _080AF990
- adds r0, r5, 0
- bl nullsub_19
- adds r0, r4, 0
- bl DestroyTask
- lsls r1, r5, 2
- ldr r0, _080AF98C
- adds r1, r0
- ldrb r2, [r1, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x2]
- b _080AFA56
- .align 2, 0
-_080AF988: .4byte gTasks
-_080AF98C: .4byte 0x02019338
-_080AF990:
- ldrh r0, [r2, 0x1C]
- adds r0, 0x1
- strh r0, [r2, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- ble _080AFA56
- movs r0, 0
- strh r0, [r2, 0x1C]
- cmp r1, 0
- bge _080AF9BC
- ldrh r0, [r2, 0x8]
- subs r1, r0, 0x1
- strh r1, [r2, 0x8]
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r3, 0x1
- strh r0, [r2, 0xA]
- movs r0, 0x16
- bl PlaySE
- b _080AF9D0
-_080AF9BC:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- lsls r0, 24
- lsrs r6, r0, 24
- subs r0, r3, 0x1
- strh r0, [r2, 0xA]
- movs r0, 0x15
- bl PlaySE
-_080AF9D0:
- ldr r3, _080AFA00
- lsls r0, r4, 2
- adds r0, r4
- lsls r2, r0, 3
- adds r0, r2, r3
- ldrh r1, [r0, 0xC]
- ldr r0, _080AFA04
- cmp r1, r0
- beq _080AFA38
- adds r0, r3, r2
- adds r0, 0xC
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 5
- adds r1, 0x93
- adds r1, r6, r1
- lsls r1, 1
- ldr r2, _080AFA08
- adds r1, r2
- movs r2, 0x2
- bl RequestSpriteCopy
- b _080AFA56
- .align 2, 0
-_080AFA00: .4byte gTasks
-_080AFA04: .4byte 0x0000ffff
-_080AFA08: .4byte 0x0600c000
-_080AFA0C:
- adds r0, r2, r3
- lsls r1, 1
- adds r1, 0xE
- adds r0, r1
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 5
- adds r1, 0x93
- adds r1, r6, r1
- lsls r1, 1
- ldr r7, _080AFA34
- adds r1, r7
- movs r2, 0x2
- bl RequestSpriteCopy
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080AFA56
- .align 2, 0
-_080AFA34: .4byte 0x0600c000
-_080AFA38:
- movs r1, 0
- adds r3, 0x8
-_080AFA3C:
- adds r0, r1, 0x4
- lsls r0, 1
- adds r0, r2
- adds r4, r0, r3
- movs r7, 0
- ldrsh r0, [r4, r7]
- cmp r0, 0
- blt _080AFA0C
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _080AFA3C
-_080AFA56:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80AF94C
-
- thumb_func_start sub_80AFA5C
-sub_80AFA5C: @ 80AFA5C
- push {r4-r7,lr}
- sub sp, 0x4
- movs r3, 0
- ldr r0, _080AFAAC
- mov r12, r0
- mov r4, sp
- movs r6, 0
- ldr r2, _080AFAB0
- ldr r5, _080AFAB4
-_080AFA6E:
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 5
- adds r0, r1, 0
- adds r0, 0x56
- lsls r0, 1
- add r0, r12
- strh r6, [r4]
- mov r7, sp
- str r7, [r2]
- str r0, [r2, 0x4]
- str r5, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r1, 0x76
- lsls r1, 1
- add r1, r12
- strh r6, [r4]
- str r7, [r2]
- str r1, [r2, 0x4]
- str r5, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080AFA6E
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFAAC: .4byte 0x0600c000
-_080AFAB0: .4byte 0x040000d4
-_080AFAB4: .4byte 0x81000008
- thumb_func_end sub_80AFA5C
-
- thumb_func_start unref_sub_80AFAB8
-unref_sub_80AFAB8: @ 80AFAB8
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r0, 16
- asrs r0, 16
- bl sub_80AFB74
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _080AFAF4
- cmp r4, 0
- beq _080AFAE0
- ldr r2, _080AFAF8
- cmp r4, 0x1
- beq _080AFAE0
- ldr r2, _080AFAFC
- cmp r4, 0x2
- bne _080AFAE0
- ldr r2, _080AFB00
-_080AFAE0:
- movs r1, 0
- lsls r3, r4, 2
- movs r6, 0
-_080AFAE6:
- cmp r1, r5
- bcs _080AFB04
- lsls r0, r1, 1
- add r0, sp
- strh r2, [r0]
- b _080AFB0A
- .align 2, 0
-_080AFAF4: .4byte 0x000050a2
-_080AFAF8: .4byte 0x000060a2
-_080AFAFC: .4byte 0x000080a2
-_080AFB00: .4byte 0x000070a2
-_080AFB04:
- lsls r0, r1, 1
- add r0, sp
- strh r6, [r0]
-_080AFB0A:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x8
- bls _080AFAE6
- adds r0, r3, r4
- lsls r0, 6
- ldr r1, _080AFB34
- adds r0, r1
- ldr r1, _080AFB38
- mov r2, sp
- str r2, [r1]
- str r0, [r1, 0x4]
- ldr r0, _080AFB3C
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFB34: .4byte 0x0600c128
-_080AFB38: .4byte 0x040000d4
-_080AFB3C: .4byte 0x80000009
- thumb_func_end unref_sub_80AFAB8
-
- thumb_func_start sub_80AFB40
-sub_80AFB40: @ 80AFB40
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080AFB64
- cmp r0, 0
- beq _080AFB5A
- ldr r1, _080AFB68
- cmp r0, 0x1
- beq _080AFB5A
- ldr r1, _080AFB6C
- cmp r0, 0x2
- bne _080AFB5A
- ldr r1, _080AFB70
-_080AFB5A:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- .align 2, 0
-_080AFB64: .4byte 0x00005011
-_080AFB68: .4byte 0x00006011
-_080AFB6C: .4byte 0x00008011
-_080AFB70: .4byte 0x00007011
- thumb_func_end sub_80AFB40
-
- thumb_func_start sub_80AFB74
-sub_80AFB74: @ 80AFB74
- push {lr}
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xA
- bl __divsi3
- lsls r0, 24
- lsrs r1, r0, 24
- asrs r2, r0, 24
- cmp r2, 0x10
- ble _080AFB8E
- movs r1, 0x10
- b _080AFB98
-_080AFB8E:
- movs r0, 0x10
- negs r0, r0
- cmp r2, r0
- bge _080AFB98
- movs r1, 0xF0
-_080AFB98:
- lsls r0, r1, 24
- asrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80AFB74
-
- thumb_func_start sub_80AFBA0
-sub_80AFBA0: @ 80AFBA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r2, r7, 2
- ldr r0, _080AFC30
- adds r2, r0
- ldrb r0, [r2, 0x2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldr r0, _080AFC34
- movs r1, 0x14
- bl CreateTask
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r5, 16
- asrs r5, 16
- adds r0, r5, 0
- bl sub_80AFB74
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- adds r5, r0
- lsls r5, 16
- asrs r5, 16
- adds r0, r5, 0
- bl sub_80AFB74
- lsls r4, 24
- asrs r4, 24
- subs r0, r4
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r7, 0
- bl sub_80AFB40
- ldr r2, _080AFC38
- lsls r3, r6, 2
- adds r0, r3, r6
- lsls r0, 3
- adds r1, r0, r2
- adds r0, r4, 0
- cmp r4, 0
- bge _080AFC14
- negs r0, r4
-_080AFC14:
- strh r0, [r1, 0x8]
- lsls r0, r5, 24
- asrs r0, 24
- strh r0, [r1, 0xA]
- cmp r4, 0
- bgt _080AFC28
- cmp r4, 0
- bne _080AFC3C
- cmp r0, 0
- ble _080AFC3C
-_080AFC28:
- movs r0, 0x1
- strh r0, [r1, 0xC]
- b _080AFC4A
- .align 2, 0
-_080AFC30: .4byte 0x02019338
-_080AFC34: .4byte sub_80AFC74
-_080AFC38: .4byte gTasks
-_080AFC3C:
- ldr r2, _080AFC6C
- lsls r3, r6, 2
- adds r0, r3, r6
- lsls r0, 3
- adds r0, r2
- ldr r1, _080AFC70
- strh r1, [r0, 0xC]
-_080AFC4A:
- adds r0, r3, r6
- lsls r0, 3
- adds r0, r2
- strh r7, [r0, 0xE]
- mov r1, r8
- lsls r0, r1, 16
- cmp r0, 0
- bge _080AFC60
- adds r0, r7, 0
- bl nullsub_19
-_080AFC60:
- adds r0, r6, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080AFC6C: .4byte gTasks
-_080AFC70: .4byte 0x0000ffff
- thumb_func_end sub_80AFBA0
-
- thumb_func_start sub_80AFC74
-sub_80AFC74: @ 80AFC74
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r1, _080AFCD4
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r4, r0, r1
- ldrb r7, [r4, 0xE]
- ldrh r3, [r4, 0x8]
- ldrh r1, [r4, 0xA]
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xE
- bgt _080AFCA6
- b _080AFE1C
-_080AFCA6:
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r2, [r4, 0xA]
- movs r5, 0xA
- ldrsh r0, [r4, r5]
- cmp r0, 0
- bne _080AFCDC
- adds r0, r7, 0
- bl nullsub_19
- mov r0, r8
- bl DestroyTask
- lsls r1, r7, 2
- ldr r0, _080AFCD8
- adds r1, r0
- ldrb r2, [r1, 0x2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x2]
- b _080AFE1C
- .align 2, 0
-_080AFCD4: .4byte gTasks
-_080AFCD8: .4byte 0x02019338
-_080AFCDC:
- cmp r3, 0
- bne _080AFD28
- lsls r0, r1, 16
- mov r9, r0
- cmp r0, 0
- bge _080AFCFA
- adds r0, r7, 0
- bl sub_80AFB40
- adds r0, 0x2
- lsls r0, 16
- lsrs r6, r0, 16
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- b _080AFD08
-_080AFCFA:
- adds r0, r7, 0
- bl sub_80AFB40
- lsls r0, 16
- lsrs r6, r0, 16
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
-_080AFD08:
- strh r0, [r4, 0xA]
- ldr r1, _080AFD24
- mov r2, r8
- lsls r0, r2, 2
- add r0, r8
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r2, r1, 0x1
- strh r2, [r0, 0x8]
- lsls r1, 24
- lsrs r5, r1, 24
- b _080AFD94
- .align 2, 0
-_080AFD24: .4byte gTasks
-_080AFD28:
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bge _080AFD62
- lsls r0, r1, 16
- mov r9, r0
- cmp r0, 0
- bge _080AFD50
- ldrh r0, [r4, 0x8]
- adds r1, r0, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r2, 0x1
- strh r0, [r4, 0xA]
- adds r0, r7, 0
- bl sub_80AFB40
- adds r0, 0x2
- b _080AFD90
-_080AFD50:
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- subs r0, r2, 0x1
- strh r0, [r4, 0xA]
- b _080AFD94
-_080AFD62:
- lsls r0, r1, 16
- mov r9, r0
- cmp r0, 0
- bge _080AFD7C
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 24
- lsrs r5, r0, 24
- movs r6, 0
- adds r0, r2, 0x1
- strh r0, [r4, 0xA]
- b _080AFD94
-_080AFD7C:
- ldrh r0, [r4, 0x8]
- adds r1, r0, 0x1
- strh r1, [r4, 0x8]
- lsls r0, 24
- lsrs r5, r0, 24
- subs r0, r2, 0x1
- strh r0, [r4, 0xA]
- adds r0, r7, 0
- bl sub_80AFB40
-_080AFD90:
- lsls r0, 16
- lsrs r6, r0, 16
-_080AFD94:
- mov r10, r5
- cmp r5, 0x7
- bls _080AFDA2
- adds r0, r5, 0
- adds r0, 0x18
- lsls r0, 24
- lsrs r5, r0, 24
-_080AFDA2:
- mov r0, sp
- strh r6, [r0]
- ldr r0, _080AFDE8
- adds r0, r7, r0
- ldrb r0, [r0]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, 0x56
- adds r1, r5, r1
- lsls r1, 1
- ldr r0, _080AFDEC
- adds r1, r0
- ldr r2, _080AFDF0
- mov r0, sp
- bl CpuSet
- mov r2, r9
- cmp r2, 0
- ble _080AFDFC
- movs r0, 0x60
- bl PlaySE
- ldr r4, _080AFDF4
- adds r0, r4, 0
- bl m4aMPlayImmInit
- ldr r1, _080AFDF8
- mov r3, r10
- lsls r2, r3, 24
- asrs r2, 16
- adds r0, r4, 0
- bl m4aMPlayPitchControl
- b _080AFE02
- .align 2, 0
-_080AFDE8: .4byte gUnknown_02038696
-_080AFDEC: .4byte 0x0600c000
-_080AFDF0: .4byte 0x01000001
-_080AFDF4: .4byte gMPlay_SE1
-_080AFDF8: .4byte 0x0000ffff
-_080AFDFC:
- movs r0, 0x16
- bl PlaySE
-_080AFE02:
- cmp r5, 0
- bne _080AFE1C
- cmp r6, 0
- bne _080AFE1C
- ldr r0, _080AFE2C
- mov r5, r8
- lsls r1, r5, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- negs r0, r0
- strh r0, [r1, 0xC]
-_080AFE1C:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFE2C: .4byte gTasks
- thumb_func_end sub_80AFC74
-
- thumb_func_start sub_80AFE30
-sub_80AFE30: @ 80AFE30
- push {r4,r5,lr}
- ldr r0, _080AFE64
- bl LoadSpriteSheet
- movs r4, 0
- ldr r5, _080AFE68
-_080AFE3C:
- ldr r0, _080AFE6C
- adds r0, r4, r0
- ldrb r0, [r0]
- adds r0, r5
- ldrb r2, [r0]
- ldr r0, _080AFE70
- movs r1, 0xB4
- movs r3, 0x1
- bl CreateSprite
- lsls r1, r4, 2
- ldr r2, _080AFE74
- adds r1, r2
- strb r0, [r1]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080AFE3C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFE64: .4byte gUnknown_083CA350
-_080AFE68: .4byte gUnknown_083CA338
-_080AFE6C: .4byte gUnknown_02038696
-_080AFE70: .4byte gSpriteTemplate_83CA3AC
-_080AFE74: .4byte 0x02019338
- thumb_func_end sub_80AFE30
-
- thumb_func_start sub_80AFE78
-sub_80AFE78: @ 80AFE78
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r2, r6, 2
- ldr r3, _080AFEB0
- adds r2, r3
- ldrb r0, [r2, 0x2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2, 0x2]
- ldrb r7, [r2]
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- subs r3, 0xD8
- adds r0, r3
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- movs r1, 0xA
- bl __divsi3
- lsls r0, 17
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x38
- ble _080AFEB4
- movs r5, 0x38
- b _080AFEBA
- .align 2, 0
-_080AFEB0: .4byte 0x02019338
-_080AFEB4:
- cmp r0, 0
- bge _080AFEBA
- movs r5, 0
-_080AFEBA:
- ldr r2, _080AFEEC
- lsls r3, r7, 4
- adds r0, r3, r7
- lsls r0, 2
- adds r4, r0, r2
- movs r0, 0x3E
- adds r0, r4
- mov r12, r0
- ldrb r1, [r0]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- mov r1, r12
- strb r0, [r1]
- strh r6, [r4, 0x2E]
- strh r5, [r4, 0x30]
- lsls r0, r5, 16
- asrs r0, 16
- movs r5, 0x24
- ldrsh r1, [r4, r5]
- cmp r0, r1
- ble _080AFEF0
- movs r0, 0x1
- b _080AFEF2
- .align 2, 0
-_080AFEEC: .4byte gSprites
-_080AFEF0:
- ldr r0, _080AFF08
-_080AFEF2:
- strh r0, [r4, 0x32]
- adds r0, r3, r7
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _080AFF0C
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFF08: .4byte 0x0000ffff
-_080AFF0C: .4byte sub_80AFF60
- thumb_func_end sub_80AFE78
-
- thumb_func_start sub_80AFF10
-sub_80AFF10: @ 80AFF10
- push {r4,lr}
- movs r4, 0
-_080AFF14:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80AFE78
- adds r4, 0x1
- cmp r4, 0x3
- ble _080AFF14
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AFF10
-
- thumb_func_start sub_80AFF28
-sub_80AFF28: @ 80AFF28
- push {r4,lr}
- movs r3, 0
- ldr r2, _080AFF54
- ldrb r1, [r2, 0x2]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080AFF4C
- movs r4, 0x1
-_080AFF3A:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x3
- bgt _080AFF4C
- ldrb r1, [r2, 0x2]
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080AFF3A
-_080AFF4C:
- cmp r3, 0x4
- beq _080AFF58
- movs r0, 0
- b _080AFF5A
- .align 2, 0
-_080AFF54: .4byte 0x02019338
-_080AFF58:
- movs r0, 0x1
-_080AFF5A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80AFF28
-
- thumb_func_start sub_80AFF60
-sub_80AFF60: @ 80AFF60
- push {r4,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x24]
- movs r0, 0x24
- ldrsh r1, [r3, r0]
- movs r4, 0x30
- ldrsh r0, [r3, r4]
- cmp r1, r0
- bne _080AFF94
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r1, 2
- ldr r0, _080AFF8C
- adds r1, r0
- ldrb r2, [r1, 0x2]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x2]
- ldr r0, _080AFF90
- str r0, [r3, 0x1C]
- b _080AFF9A
- .align 2, 0
-_080AFF8C: .4byte 0x02019338
-_080AFF90: .4byte SpriteCallbackDummy
-_080AFF94:
- ldrh r0, [r3, 0x32]
- adds r0, r2, r0
- strh r0, [r3, 0x24]
-_080AFF9A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80AFF60
-
- thumb_func_start sub_80AFFA0
-sub_80AFFA0: @ 80AFFA0
- push {r4-r6,lr}
- movs r2, 0
- ldr r6, _080AFFD0
- ldr r5, _080AFFD4
- ldr r3, _080AFFD8
- ldr r4, _080AFFDC
-_080AFFAC:
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r0, r2, r4
- ldrb r0, [r0]
- adds r0, r5
- ldrb r0, [r0]
- strh r0, [r1, 0x22]
- adds r3, 0x4
- adds r2, 0x1
- cmp r2, 0x3
- ble _080AFFAC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080AFFD0: .4byte gSprites
-_080AFFD4: .4byte gUnknown_083CA338
-_080AFFD8: .4byte 0x02019338
-_080AFFDC: .4byte gUnknown_02038696
- thumb_func_end sub_80AFFA0
-
- thumb_func_start sub_80AFFE0
-sub_80AFFE0: @ 80AFFE0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r6, _080B0008
- ldr r4, _080B000C
- ldr r2, _080B0010
-_080AFFEE:
- adds r0, r3, r6
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _080B0024
- cmp r5, 0
- bne _080B0014
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r0, 0xB4
- b _080B0022
- .align 2, 0
-_080B0008: .4byte gUnknown_02038696
-_080B000C: .4byte gSprites
-_080B0010: .4byte 0x02019338
-_080B0014:
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r0, 0x80
- lsls r0, 1
-_080B0022:
- strh r0, [r1, 0x20]
-_080B0024:
- adds r2, 0x4
- adds r3, 0x1
- cmp r3, 0x3
- ble _080AFFEE
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80AFFE0
-
- thumb_func_start sub_80B0034
-sub_80B0034: @ 80B0034
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080B00A8
- bl LoadSpritePalette
- movs r5, 0
- ldr r0, _080B00AC
- mov r8, r0
- ldr r7, _080B00B0
- movs r6, 0
-_080B004A:
- lsls r0, r5, 3
- ldr r1, _080B00B4
- adds r0, r1
- bl LoadCompressedObjectPic
- ldr r0, _080B00B8
- adds r0, r6, r0
- ldr r1, _080B00BC
- adds r1, r5, r1
- ldrb r1, [r1]
- add r1, r8
- ldrb r2, [r1]
- movs r1, 0xCC
- movs r3, 0
- bl CreateSprite
- lsls r4, r5, 2
- ldr r1, _080B00C0
- adds r4, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, _080B00C4
- bl SetSubspriteTables
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r6, 0x18
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B004A
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B00A8: .4byte gUnknown_083CA3E4
-_080B00AC: .4byte gUnknown_083CA33C
-_080B00B0: .4byte gSprites
-_080B00B4: .4byte gUnknown_083CA3C4
-_080B00B8: .4byte gSpriteTemplate_83CA3F4
-_080B00BC: .4byte gUnknown_02038696
-_080B00C0: .4byte 0x02019338
-_080B00C4: .4byte gUnknown_083CA464
- thumb_func_end sub_80B0034
-
- thumb_func_start sub_80B00C8
-sub_80B00C8: @ 80B00C8
- push {lr}
- ldr r0, _080B0104
- bl LoadCompressedObjectPic
- ldr r0, _080B0108
- bl LoadSpritePalette
- ldr r0, _080B010C
- movs r1, 0x1E
- movs r2, 0x2C
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B0110
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r3, 0x4
- orrs r2, r3
- strb r2, [r1]
- ldr r1, _080B0114
- adds r1, 0x58
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080B0104: .4byte gUnknown_083CA46C
-_080B0108: .4byte gUnknown_083CA474
-_080B010C: .4byte gSpriteTemplate_83CA484
-_080B0110: .4byte gSprites
-_080B0114: .4byte 0x02019204
- thumb_func_end sub_80B00C8
-
- thumb_func_start nullsub_18
-nullsub_18: @ 80B0118
- bx lr
- thumb_func_end nullsub_18
-
- thumb_func_start unref_sub_80B011C
-unref_sub_80B011C: @ 80B011C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080B0198
- bl LoadCompressedObjectPic
- movs r4, 0
- ldr r5, _080B019C
-_080B012C:
- lsls r0, r4, 3
- adds r0, r5
- bl LoadCompressedObjectPalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B012C
- movs r4, 0
- ldr r5, _080B01A0
- adds r0, r5, 0x1
- mov r8, r0
- ldr r7, _080B01A4
- ldr r6, _080B01A8
-_080B014A:
- lsls r2, r4, 1
- adds r0, r2, r4
- lsls r0, 3
- ldr r1, _080B01AC
- adds r0, r1
- adds r1, r2, r5
- ldrb r1, [r1]
- add r2, r8
- ldrb r2, [r2]
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- movs r2, 0x3E
- adds r2, r1
- mov r12, r2
- ldrb r2, [r2]
- movs r3, 0x4
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- strh r4, [r1, 0x2E]
- adds r1, r4, r6
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B014A
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0198: .4byte gUnknown_083CC3AC
-_080B019C: .4byte gUnknown_083CC3B4
-_080B01A0: .4byte gUnknown_083CA330
-_080B01A4: .4byte gSprites
-_080B01A8: .4byte 0x0201920d
-_080B01AC: .4byte gSpriteTemplate_83CC454
- thumb_func_end unref_sub_80B011C
-
- thumb_func_start unref_sub_80B01B0
-unref_sub_80B01B0: @ 80B01B0
- push {r4,r5,lr}
- movs r2, 0
- ldr r5, _080B01D4
- ldr r4, _080B01D8
- ldr r3, _080B01DC
-_080B01BA:
- adds r0, r2, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- str r3, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _080B01BA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B01D4: .4byte 0x0201920d
-_080B01D8: .4byte gSprites + 0x1C
-_080B01DC: .4byte ObjectCB_SwitchPocketRotatingBallInit
- thumb_func_end unref_sub_80B01B0
-
- thumb_func_start unref_sub_80B01E0
-unref_sub_80B01E0: @ 80B01E0
- push {r4,r5,lr}
- movs r3, 0
- ldr r2, _080B0224
- ldr r4, _080B0228
- ldrb r1, [r4, 0x9]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, [r0]
- ldr r0, _080B022C
- cmp r1, r0
- bne _080B021A
- adds r5, r4, 0
- adds r5, 0x9
- adds r4, r1, 0
-_080B0202:
- adds r3, 0x1
- cmp r3, 0x3
- bgt _080B021A
- adds r0, r3, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- cmp r0, r4
- beq _080B0202
-_080B021A:
- cmp r3, 0x4
- beq _080B0230
- movs r0, 0
- b _080B0232
- .align 2, 0
-_080B0224: .4byte gSprites
-_080B0228: .4byte 0x02019204
-_080B022C: .4byte SpriteCallbackDummy
-_080B0230:
- movs r0, 0x1
-_080B0232:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80B01E0
-
- thumb_func_start ObjectCB_SwitchPocketRotatingBallInit
-ObjectCB_SwitchPocketRotatingBallInit: @ 80B0238
- push {r4,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080B0268
- ldr r0, _080B0264
- b _080B0272
- .align 2, 0
-_080B0264: .4byte sub_80B02A8
-_080B0268:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, _080B027C
-_080B0272:
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B027C: .4byte sub_80B0280
- thumb_func_end ObjectCB_SwitchPocketRotatingBallInit
-
- thumb_func_start sub_80B0280
-sub_80B0280: @ 80B0280
- push {lr}
- adds r3, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080B02A0
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080B02A4
- str r0, [r3, 0x1C]
-_080B02A0:
- pop {r0}
- bx r0
- .align 2, 0
-_080B02A4: .4byte sub_80B02A8
- thumb_func_end sub_80B0280
-
- thumb_func_start sub_80B02A8
-sub_80B02A8: @ 80B02A8
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _080B02EC
- adds r0, r1
- ldrb r1, [r0, 0xB]
- lsls r1, 30
- lsrs r1, 30
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, _080B02F0
- str r0, [r4, 0x1C]
- movs r0, 0x18
- bl PlaySE
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B02EC: .4byte 0x02019260
-_080B02F0: .4byte sub_80B02F4
- thumb_func_end sub_80B02A8
-
- thumb_func_start sub_80B02F4
-sub_80B02F4: @ 80B02F4
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080B0318
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- ldrb r0, [r4, 0x1]
- movs r1, 0x4
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x1]
- ldr r0, _080B0320
- str r0, [r4, 0x1C]
-_080B0318:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0320: .4byte SpriteCallbackDummy
- thumb_func_end sub_80B02F4
-
- thumb_func_start sub_80B0324
-sub_80B0324: @ 80B0324
- push {r4,lr}
- ldr r0, _080B035C
- movs r1, 0x1E
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B0360
- strb r0, [r1, 0xD]
- movs r2, 0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r4, _080B0364
- movs r3, 0xFF
-_080B0342:
- lsls r0, r2, 3
- adds r0, r1
- adds r0, r4
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080B0342
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B035C: .4byte sub_80B0458
-_080B0360: .4byte 0x02019204
-_080B0364: .4byte gUnknown_03004B28
- thumb_func_end sub_80B0324
-
- thumb_func_start sub_80B0368
-sub_80B0368: @ 80B0368
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080B03A0
- ldr r5, _080B03A4
- ldrb r2, [r5, 0xD]
- lsls r1, r2, 2
- adds r1, r2
- adds r1, r0
- lsls r1, 3
- adds r3, 0x8
- adds r1, r3
- movs r4, 0
- strh r4, [r1]
- lsls r0, 2
- adds r0, 0x1
- lsls r0, 1
- ldrb r2, [r5, 0xD]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- adds r0, r3
- strh r4, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B03A0: .4byte gTasks
-_080B03A4: .4byte 0x02019204
- thumb_func_end sub_80B0368
-
- thumb_func_start sub_80B03A8
-sub_80B03A8: @ 80B03A8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B03D0
- movs r1, 0x1F
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B03D4
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B03D0: .4byte sub_80B03D8
-_080B03D4: .4byte gTasks
- thumb_func_end sub_80B03A8
-
- thumb_func_start sub_80B03D8
-sub_80B03D8: @ 80B03D8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r2, _080B044C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x8]
- adds r4, r0, 0
- ldr r6, _080B0450
- ldrb r1, [r6, 0xD]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, r4
- lsls r0, 3
- adds r7, r2, 0
- adds r7, 0x8
- adds r1, r0, r7
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080B040C
- cmp r0, 0xFF
- bne _080B0444
-_080B040C:
- movs r3, 0
- movs r0, 0xFF
- strh r0, [r1]
- lsls r1, r4, 2
- adds r1, 0x1
- lsls r1, 1
- ldrb r2, [r6, 0xD]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r1, r7
- strh r3, [r1]
- adds r0, r6, 0
- adds r0, 0x14
- adds r0, r4, r0
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 4
- adds r0, 0x6
- ldr r3, _080B0454
- movs r1, 0x2
- movs r2, 0
- bl BlendPalette
- adds r0, r5, 0
- bl DestroyTask
-_080B0444:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B044C: .4byte gTasks
-_080B0450: .4byte 0x02019204
-_080B0454: .4byte 0x00004bff
- thumb_func_end sub_80B03D8
-
- thumb_func_start sub_80B0458
-sub_80B0458: @ 80B0458
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- lsls r1, r0, 2
- adds r1, r0
- mov r9, r1
- lsls r7, r1, 3
- ldr r0, _080B04A8
- mov r8, r0
- movs r1, 0x8
- negs r1, r1
- add r1, r8
- mov r10, r1
-_080B047C:
- lsls r0, r6, 26
- lsrs r3, r0, 24
- lsls r0, r3, 1
- adds r0, r7
- mov r4, r8
- adds r2, r0, r4
- ldrh r4, [r2]
- movs r5, 0
- ldrsh r0, [r2, r5]
- cmp r0, 0xFF
- beq _080B04F6
- adds r0, r3, 0x1
- lsls r1, r0, 1
- adds r1, r7
- add r1, r8
- movs r5, 0
- ldrsh r1, [r1, r5]
- adds r5, r0, 0
- cmp r1, 0
- bne _080B04AC
- adds r0, r4, 0x1
- b _080B04AE
- .align 2, 0
-_080B04A8: .4byte gUnknown_03004B28
-_080B04AC:
- subs r0, r4, 0x1
-_080B04AE:
- strh r0, [r2]
- lsls r1, r3, 1
- mov r0, r9
- lsls r2, r0, 3
- adds r0, r1, r2
- mov r3, r10
- adds r3, 0x8
- adds r0, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- adds r4, r1, 0
- cmp r0, 0x10
- beq _080B04CC
- cmp r0, 0
- bne _080B04DA
-_080B04CC:
- lsls r0, r5, 1
- adds r0, r2
- adds r0, r3
- ldrh r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0]
-_080B04DA:
- ldr r0, _080B0510
- adds r0, 0x14
- adds r0, r6, r0
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 4
- adds r0, 0x6
- adds r1, r4, r7
- add r1, r8
- ldrb r2, [r1]
- movs r1, 0x2
- ldr r3, _080B0514
- bl BlendPalette
-_080B04F6:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _080B047C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0510: .4byte 0x02019204
-_080B0514: .4byte 0x00004bff
- thumb_func_end sub_80B0458
-
- thumb_func_start sub_80B0518
-sub_80B0518: @ 80B0518
- push {r4,lr}
- ldr r0, _080B0540
- movs r1, 0x1E
- bl CreateTask
- ldr r1, _080B0544
- strb r0, [r1, 0xE]
- movs r4, 0
-_080B0528:
- adds r0, r4, 0
- bl sub_80B0548
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B0528
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0540: .4byte sub_80B05FC
-_080B0544: .4byte 0x02019204
- thumb_func_end sub_80B0518
-
- thumb_func_start sub_80B0548
-sub_80B0548: @ 80B0548
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080B0580
- ldr r4, _080B0584
- ldrb r2, [r4, 0xE]
- lsls r1, r2, 2
- adds r1, r2
- adds r1, r0
- lsls r1, 3
- adds r3, 0x8
- adds r1, r3
- movs r5, 0
- movs r2, 0xFF
- strh r2, [r1]
- lsls r0, 2
- adds r0, 0x1
- lsls r0, 1
- ldrb r2, [r4, 0xE]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r0, r1
- adds r0, r3
- strh r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0580: .4byte gTasks
-_080B0584: .4byte 0x02019204
- thumb_func_end sub_80B0548
-
- thumb_func_start sub_80B0588
-sub_80B0588: @ 80B0588
- push {r4,lr}
- movs r4, 0
-_080B058C:
- adds r0, r4, 0
- bl sub_80B05A4
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B058C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B0588
-
- thumb_func_start sub_80B05A4
-sub_80B05A4: @ 80B05A4
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80B0548
- adds r0, r4, 0x5
- lsls r2, r0, 5
- ldr r3, _080B05E8
- adds r6, r2, r3
- ldr r5, _080B05EC
- adds r2, r5
- ldr r1, _080B05F0
- str r6, [r1]
- str r2, [r1, 0x4]
- ldr r2, _080B05F4
- str r2, [r1, 0x8]
- ldr r6, [r1, 0x8]
- lsls r0, 4
- adds r4, 0xC
- adds r0, r4
- lsls r0, 1
- subs r3, 0x14
- adds r3, r0, r3
- subs r5, 0x14
- adds r0, r5
- str r3, [r1]
- str r0, [r1, 0x4]
- str r2, [r1, 0x8]
- ldr r0, [r1, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B05E8: .4byte gPlttBufferUnfaded + 0x14
-_080B05EC: .4byte gPlttBufferFaded + 0x14
-_080B05F0: .4byte 0x040000d4
-_080B05F4: .4byte 0x80000001
- thumb_func_end sub_80B05A4
-
- thumb_func_start nullsub_19
-nullsub_19: @ 80B05F8
- bx lr
- thumb_func_end nullsub_19
-
- thumb_func_start sub_80B05FC
-sub_80B05FC: @ 80B05FC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- movs r7, 0
- lsls r1, r0, 2
- adds r1, r0
- mov r9, r1
- lsls r6, r1, 3
- ldr r0, _080B0664
- mov r8, r0
- ldr r1, _080B0668
- mov r10, r1
-_080B061C:
- lsls r0, r7, 26
- lsrs r3, r0, 24
- lsls r0, r3, 1
- adds r0, r6
- mov r4, r8
- adds r2, r0, r4
- movs r5, 0
- ldrsh r0, [r2, r5]
- cmp r0, 0xFF
- beq _080B06C2
- adds r0, r3, 0x2
- lsls r0, 1
- adds r0, r6
- adds r1, r0, r4
- ldrh r0, [r1]
- adds r0, 0x1
- movs r4, 0
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080B06C2
- strh r4, [r1]
- adds r0, r3, 0x1
- lsls r1, r0, 1
- adds r1, r6
- add r1, r8
- movs r4, 0
- ldrsh r1, [r1, r4]
- adds r4, r0, 0
- cmp r1, 0
- bne _080B066C
- ldrh r0, [r2]
- adds r0, 0x1
- b _080B0670
- .align 2, 0
-_080B0664: .4byte gUnknown_03004B28
-_080B0668: .4byte 0x00004bff
-_080B066C:
- ldrh r0, [r2]
- subs r0, 0x1
-_080B0670:
- strh r0, [r2]
- lsls r1, r3, 1
- mov r5, r9
- lsls r2, r5, 3
- adds r0, r1, r2
- ldr r3, _080B06DC
- adds r3, 0x8
- adds r0, r3
- movs r5, 0
- ldrsh r0, [r0, r5]
- adds r5, r1, 0
- cmp r0, 0x10
- beq _080B068E
- cmp r0, 0
- bne _080B069C
-_080B068E:
- lsls r0, r4, 1
- adds r0, r2
- adds r0, r3
- ldrh r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0]
-_080B069C:
- adds r4, r7, 0x5
- lsls r4, 4
- adds r0, r4, 0
- adds r0, 0xA
- adds r5, r6
- add r5, r8
- ldrb r2, [r5]
- movs r1, 0x1
- mov r3, r10
- bl BlendPalette
- adds r4, 0xC
- adds r4, r7
- ldrb r2, [r5]
- adds r0, r4, 0
- movs r1, 0x1
- mov r3, r10
- bl BlendPalette
-_080B06C2:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3
- bls _080B061C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B06DC: .4byte gTasks
- thumb_func_end sub_80B05FC
-
- thumb_func_start unref_sub_80B06E0
-unref_sub_80B06E0: @ 80B06E0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- ldr r0, _080B073C
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r0, _080B0740
- mov r8, r0
- ldr r1, _080B0744
- mov r12, r1
-_080B0704:
- lsls r4, r3, 2
- lsls r0, r3, 26
- lsrs r0, 23
- adds r0, r6
- add r0, r8
- adds r2, r7, r3
- ldrb r1, [r2]
- strh r1, [r0]
- ldrb r0, [r2]
- cmp r0, 0
- beq _080B0726
- mov r1, r12
- adds r0, r4, r1
- ldrb r1, [r0, 0x2]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0, 0x2]
-_080B0726:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080B0704
- adds r0, r5, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080B073C: .4byte sub_80B0748
-_080B0740: .4byte gUnknown_03004B28
-_080B0744: .4byte 0x02019338
- thumb_func_end unref_sub_80B06E0
-
- thumb_func_start sub_80B0748
-sub_80B0748: @ 80B0748
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- ldr r2, _080B07F4
- movs r1, 0x8
- adds r1, r2
- mov r10, r1
- ldr r3, [sp]
- lsls r3, 2
- str r3, [sp, 0x1C]
- ldr r1, [sp]
- adds r0, r3, r1
- lsls r0, 3
- str r0, [sp, 0xC]
-_080B0774:
- ldr r0, _080B07F8
- ldr r3, [sp, 0x4]
- adds r0, r3, r0
- ldrb r4, [r0]
- lsls r0, r4, 26
- lsrs r1, r0, 24
- lsls r0, r1, 1
- str r0, [sp, 0x8]
- ldr r3, [sp]
- lsls r0, r3, 2
- adds r0, r3
- lsls r6, r0, 3
- ldr r3, [sp, 0x8]
- adds r0, r3, r6
- add r0, r10
- mov r9, r0
- ldrb r7, [r0]
- cmp r7, 0
- bne _080B079C
- b _080B0910
-_080B079C:
- adds r3, r1, 0x1
- lsls r0, r3, 1
- adds r0, r6
- add r0, r10
- ldrb r0, [r0]
- mov r8, r0
- adds r2, r1, 0x2
- lsls r0, r2, 1
- adds r0, r6
- add r0, r10
- ldrb r5, [r0]
- adds r1, 0x3
- lsls r0, r1, 1
- adds r0, r6
- add r0, r10
- ldrb r6, [r0]
- str r3, [sp, 0x10]
- str r2, [sp, 0x14]
- str r1, [sp, 0x18]
- cmp r7, 0x1
- bne _080B0818
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x1
- beq _080B07D2
- b _080B08EA
-_080B07D2:
- movs r6, 0
- adds r0, r4, 0x5
- lsls r0, 4
- adds r0, 0x1
- movs r1, 0x3
- adds r2, r5, 0
- ldr r3, _080B07FC
- bl BlendPalette
- cmp r5, 0
- bne _080B0800
- mov r0, r8
- cmp r0, 0x4
- bne _080B0800
- mov r1, r9
- strh r6, [r1]
- b _080B08EA
- .align 2, 0
-_080B07F4: .4byte gTasks
-_080B07F8: .4byte gUnknown_02038696
-_080B07FC: .4byte 0x00007fff
-_080B0800:
- adds r0, r5, 0x2
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xD
- bls _080B08EA
- movs r5, 0
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- b _080B08EA
-_080B0818:
- cmp r7, 0x2
- beq _080B0820
- cmp r7, 0x4
- bne _080B0896
-_080B0820:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bne _080B08EA
- movs r6, 0
- adds r0, r4, 0x5
- lsls r0, 4
- adds r0, 0x1
- ldr r2, _080B0854
- lsls r1, r4, 1
- adds r1, r2
- ldrh r3, [r1]
- movs r1, 0x3
- adds r2, r5, 0
- bl BlendPalette
- cmp r5, 0
- bne _080B0858
- mov r2, r8
- cmp r2, 0x2
- bne _080B0858
- mov r3, r9
- strh r6, [r3]
- b _080B08EA
- .align 2, 0
-_080B0854: .4byte gUnknown_083CC5A4
-_080B0858:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xE
- bne _080B08EA
- movs r5, 0
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r7, 0x4
- bne _080B08EA
- cmp r0, 0x1
- bne _080B08EA
- adds r4, 0x9
- lsls r4, 4
- adds r0, r4, 0x2
- movs r1, 0x1
- movs r2, 0x4
- movs r3, 0
- bl BlendPalette
- adds r4, 0x5
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x4
- movs r3, 0
- bl BlendPalette
- b _080B08EA
-_080B0896:
- cmp r7, 0x3
- bne _080B08EA
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xC
- bne _080B08EA
- movs r6, 0
- adds r0, r4, 0x5
- lsls r0, 4
- adds r4, r0, 0x1
- adds r0, r4, 0
- movs r1, 0x3
- adds r2, r5, 0
- movs r3, 0
- bl BlendPalette
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x5
- bne _080B08EA
- ldr r0, _080B0930
- lsls r1, r4, 1
- adds r0, r1, r0
- ldrh r2, [r0]
- ldr r0, _080B0934
- adds r1, r0
- ldrh r0, [r1]
- ldr r1, _080B0938
- str r2, [r1]
- str r0, [r1, 0x4]
- movs r0, 0x80
- lsls r0, 24
- orrs r7, r0
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, [sp, 0x8]
- ldr r2, [sp, 0xC]
- adds r0, r1, r2
- add r0, r10
- strh r6, [r0]
-_080B08EA:
- ldr r3, [sp, 0x10]
- lsls r0, r3, 1
- ldr r1, [sp, 0xC]
- adds r0, r1
- add r0, r10
- mov r2, r8
- strh r2, [r0]
- ldr r3, [sp, 0x14]
- lsls r0, r3, 1
- adds r0, r1
- add r0, r10
- strh r5, [r0]
- ldr r1, [sp, 0x18]
- lsls r0, r1, 1
- ldr r2, [sp, 0xC]
- adds r0, r2
- add r0, r10
- strh r6, [r0]
- ldr r2, _080B093C
-_080B0910:
- ldr r0, [sp, 0x4]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- cmp r0, 0x3
- bhi _080B0920
- b _080B0774
-_080B0920:
- movs r4, 0
- ldr r3, [sp, 0x1C]
- ldr r1, [sp]
- adds r0, r3, r1
- lsls r1, r0, 3
- adds r2, 0x8
- adds r0, r1, r2
- b _080B0950
- .align 2, 0
-_080B0930: .4byte gPlttBufferFaded
-_080B0934: .4byte gPlttBufferUnfaded
-_080B0938: .4byte 0x040000d4
-_080B093C: .4byte gTasks
-_080B0940:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bhi _080B0958
- lsls r0, r4, 3
- adds r0, r1
- adds r0, r2
-_080B0950:
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- beq _080B0940
-_080B0958:
- cmp r4, 0x4
- bne _080B0980
- movs r4, 0
- ldr r3, _080B0990
- movs r5, 0x3
- negs r5, r5
-_080B0964:
- lsls r1, r4, 2
- adds r1, r3
- ldrb r2, [r1, 0x2]
- adds r0, r5, 0
- ands r0, r2
- strb r0, [r1, 0x2]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B0964
- ldr r0, [sp]
- bl DestroyTask
-_080B0980:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0990: .4byte 0x02019338
- thumb_func_end sub_80B0748
-
- thumb_func_start unref_sub_80B0994
-unref_sub_80B0994: @ 80B0994
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _080B09A6
- ldr r0, _080B09AC
- ldrb r1, [r0, 0x6]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x6]
-_080B09A6:
- pop {r0}
- bx r0
- .align 2, 0
-_080B09AC: .4byte 0x02019204
- thumb_func_end unref_sub_80B0994
-
- thumb_func_start sub_80B09B0
-sub_80B09B0: @ 80B09B0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- ldr r1, _080B09D4
- adds r0, r1
- ldrb r1, [r0, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B09D8
- adds r0, r2, 0
- bl sub_80B0368
- b _080B09DE
- .align 2, 0
-_080B09D4: .4byte 0x02019260
-_080B09D8:
- adds r0, r2, 0
- bl sub_80B03A8
-_080B09DE:
- pop {r0}
- bx r0
- thumb_func_end sub_80B09B0
-
- thumb_func_start sub_80B09E4
-sub_80B09E4: @ 80B09E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r9, r0
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _080B0B2C
- mov r1, r9
- adds r7, r1, r0
- ldrb r0, [r7]
- lsls r5, r0, 2
- adds r5, r0
- lsls r5, 27
- movs r2, 0x80
- lsls r2, 22
- adds r5, r2
- lsrs r5, 24
- lsls r4, r1, 3
- ldr r0, _080B0B30
- adds r0, r4, r0
- bl LoadCompressedObjectPic
- ldr r0, _080B0B34
- adds r4, r0
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r3, r9
- lsls r4, r3, 1
- add r4, r9
- lsls r4, 3
- ldr r0, _080B0B38
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB8
- adds r2, r5, 0
- movs r3, 0x1D
- bl CreateSprite
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- adds r0, r4, 0
- movs r1, 0xF8
- adds r2, r5, 0
- movs r3, 0x1D
- bl CreateSprite
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r1, _080B0B3C
- mov r10, r1
- lsls r5, r6, 4
- adds r5, r6
- lsls r5, 2
- add r5, r10
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x40
- ldr r3, _080B0B40
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080B0B44
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldrb r0, [r7]
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 6
- ldr r0, _080B0B48
- adds r3, r0
- mov r1, r8
- lsls r4, r1, 4
- add r4, r8
- lsls r4, 2
- add r4, r10
- ldrh r0, [r4, 0x4]
- lsls r0, 22
- lsrs r0, 17
- ldr r2, _080B0B4C
- mov r10, r2
- add r0, r10
- str r0, [sp]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0xC0
- lsls r2, 19
- bl sub_8040F80
- ldrb r0, [r7]
- lsls r3, r0, 2
- adds r3, r0
- lsls r3, 6
- ldr r7, _080B0B50
- adds r3, r7
- ldrh r0, [r5, 0x4]
- lsls r0, 22
- lsrs r0, 17
- add r0, r10
- str r0, [sp]
- movs r0, 0
- movs r1, 0x3
- movs r2, 0xC0
- lsls r2, 19
- bl sub_8040F80
- ldrh r0, [r4, 0x4]
- lsls r0, 22
- lsrs r0, 17
- movs r1, 0xA0
- lsls r1, 3
- adds r0, r1
- add r0, r10
- movs r2, 0
- str r2, [sp, 0x8]
- ldr r1, _080B0B54
- add r3, sp, 0x8
- mov r12, r3
- str r3, [r1]
- str r0, [r1, 0x4]
- ldr r3, _080B0B58
- str r3, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0x4
- strb r2, [r0]
- strb r2, [r0]
- ldrh r0, [r5, 0x4]
- lsls r0, 22
- lsrs r0, 17
- movs r7, 0xA0
- lsls r7, 3
- adds r0, r7
- add r0, r10
- str r2, [sp, 0x8]
- mov r2, r12
- str r2, [r1]
- str r0, [r1, 0x4]
- str r3, [r1, 0x8]
- ldr r0, [r1, 0x8]
- strh r6, [r4, 0x2E]
- mov r3, r8
- strh r3, [r5, 0x2E]
- mov r7, r9
- strh r7, [r4, 0x30]
- mov r0, r9
- strh r0, [r5, 0x30]
- mov r0, r8
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080B0B2C: .4byte gUnknown_02038696
-_080B0B30: .4byte gUnknown_083CC4B4
-_080B0B34: .4byte gUnknown_083CC4D4
-_080B0B38: .4byte gSpriteTemplate_83CC53C
-_080B0B3C: .4byte gSprites
-_080B0B40: .4byte 0x000003ff
-_080B0B44: .4byte 0xfffffc00
-_080B0B48: .4byte 0x0600e026
-_080B0B4C: .4byte 0x06010000
-_080B0B50: .4byte 0x0600e036
-_080B0B54: .4byte 0x040000d4
-_080B0B58: .4byte 0x850000c0
- thumb_func_end sub_80B09E4
-
- thumb_func_start sub_80B0B5C
-sub_80B0B5C: @ 80B0B5C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B0B94
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- adds r5, r1
- ldrh r0, [r5, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r4, r1
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- adds r0, r5, 0
- bl DestroySpriteAndFreeResources
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0B94: .4byte gSprites
- thumb_func_end sub_80B0B5C
-
- thumb_func_start sub_80B0B98
-sub_80B0B98: @ 80B0B98
- ldr r1, _080B0BAC
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080B0BB0
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080B0BAC: .4byte REG_BLDCNT
-_080B0BB0: .4byte 0x00000907
- thumb_func_end sub_80B0B98
-
- thumb_func_start sub_80B0BB4
-sub_80B0BB4: @ 80B0BB4
- ldr r0, _080B0BC0
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080B0BC0: .4byte REG_BLDCNT
- thumb_func_end sub_80B0BB4
-
- thumb_func_start sub_80B0BC4
-sub_80B0BC4: @ 80B0BC4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r4, r0, 0
- mov r9, r1
- lsls r4, 24
- lsrs r4, 24
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- bl sub_80B0B98
- ldr r1, _080B0C38
- mov r8, r1
- lsls r6, r4, 4
- adds r6, r4
- lsls r6, 2
- adds r0, r6, r1
- movs r1, 0x30
- ldrsh r2, [r0, r1]
- lsls r2, 2
- ldr r1, _080B0C3C
- adds r2, r1
- ldrb r1, [r2, 0x2]
- movs r3, 0x2
- orrs r1, r3
- strb r1, [r2, 0x2]
- ldrh r5, [r0, 0x2E]
- lsls r5, 24
- lsrs r5, 24
- movs r1, 0x1
- bl StartSpriteAffineAnim
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- mov r1, r8
- adds r0, r4, r1
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r0, 0x1C
- add r8, r0
- add r6, r8
- ldr r0, _080B0C40
- str r0, [r6]
- add r4, r8
- ldr r0, _080B0C44
- str r0, [r4]
- mov r1, r9
- cmp r1, 0
- bne _080B0C48
- movs r0, 0x65
- bl PlaySE
- b _080B0C4E
- .align 2, 0
-_080B0C38: .4byte gSprites
-_080B0C3C: .4byte 0x02019338
-_080B0C40: .4byte sub_80B0C5C
-_080B0C44: .4byte SpriteCallbackDummy
-_080B0C48:
- movs r0, 0x2
- bl PlaySE
-_080B0C4E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B0BC4
-
- thumb_func_start sub_80B0C5C
-sub_80B0C5C: @ 80B0C5C
- push {lr}
- mov r12, r0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080B0CA4
- mov r0, r12
- ldrh r1, [r0, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080B0CA8
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- adds r0, r1, 0
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080B0CA4
- mov r3, r12
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r2
- strb r0, [r1]
- ldr r0, _080B0CAC
- mov r1, r12
- str r0, [r1, 0x1C]
-_080B0CA4:
- pop {r0}
- bx r0
- .align 2, 0
-_080B0CA8: .4byte gSprites
-_080B0CAC: .4byte sub_80B0CB0
- thumb_func_end sub_80B0C5C
-
- thumb_func_start sub_80B0CB0
-sub_80B0CB0: @ 80B0CB0
- push {lr}
- movs r1, 0x30
- ldrsh r2, [r0, r1]
- lsls r2, 2
- ldr r1, _080B0CD8
- adds r2, r1
- ldrb r3, [r2, 0x2]
- movs r1, 0x3
- negs r1, r1
- ands r1, r3
- strb r1, [r2, 0x2]
- ldrh r0, [r0, 0x2E]
- lsls r0, 24
- lsrs r0, 24
- bl sub_80B0B5C
- bl sub_80B0BB4
- pop {r0}
- bx r0
- .align 2, 0
-_080B0CD8: .4byte 0x02019338
- thumb_func_end sub_80B0CB0
-
- thumb_func_start sub_80B0CDC
-sub_80B0CDC: @ 80B0CDC
- lsls r0, 24
- lsrs r0, 22
- ldr r1, _080B0CF0
- adds r0, r1
- ldrb r2, [r0, 0x2]
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x2]
- bx lr
- .align 2, 0
-_080B0CF0: .4byte 0x02019338
- thumb_func_end sub_80B0CDC
-
- thumb_func_start unref_sub_80B0CF4
-unref_sub_80B0CF4: @ 80B0CF4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r0, _080B0D5C
- movs r1, 0xC0
- lsls r1, 9
- adds r0, r1
- ldrb r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strb r1, [r0]
- cmp r1, 0
- bne _080B0D6C
- movs r4, 0
- ldr r6, _080B0D60
- adds r3, r6, 0x1
- mov r8, r3
- ldr r5, _080B0D64
- adds r7, r5, 0x1
-_080B0D1C:
- lsls r1, r4, 1
- adds r0, r1, r6
- ldrb r2, [r0]
- mov r3, r8
- adds r0, r1, r3
- ldrb r3, [r0]
- adds r0, r1, r5
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- adds r1, r7
- ldrb r0, [r1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldr r0, _080B0D68
- movs r1, 0
- bl FillWindowRect_DefaultPalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B0D1C
- bl sub_80AE514
- bl sub_80AEB30
- b _080B0D70
- .align 2, 0
-_080B0D5C: .4byte 0x02000000
-_080B0D60: .4byte gUnknown_083CA308
-_080B0D64: .4byte gUnknown_083CA310
-_080B0D68: .4byte gUnknown_03004210
-_080B0D6C:
- bl sub_80B0D7C
-_080B0D70:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80B0CF4
-
- thumb_func_start sub_80B0D7C
-sub_80B0D7C: @ 80B0D7C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- movs r5, 0
- ldr r0, _080B0ED0
- movs r1, 0xC0
- lsls r1, 9
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B0D98
- b _080B0EC2
-_080B0D98:
- movs r4, 0
- ldr r7, _080B0ED4
- adds r3, r7, 0x1
- mov r9, r3
- ldr r6, _080B0ED8
- adds r0, r6, 0x1
- mov r8, r0
-_080B0DA6:
- lsls r1, r4, 1
- adds r0, r1, r7
- ldrb r2, [r0]
- mov r3, r9
- adds r0, r1, r3
- ldrb r3, [r0]
- adds r0, r1, r6
- ldrb r0, [r0]
- adds r0, 0x5
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- add r1, r8
- ldrb r0, [r1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldr r0, _080B0EDC
- movs r1, 0
- bl FillWindowRect_DefaultPalette
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B0DA6
- movs r4, 0
- ldr r6, _080B0ED8
- adds r7, r6, 0x1
-_080B0DE2:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, _080B0EE0
- adds r0, r1
- ldrh r2, [r0, 0x4]
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080B0E08
- negs r0, r0
- lsls r0, 16
- lsrs r2, r0, 16
- add r1, sp, 0x8
- movs r0, 0xAE
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080B0E08:
- mov r0, sp
- adds r0, r5
- adds r0, 0x8
- lsls r1, r2, 16
- asrs r1, 16
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r0, _080B0EE4
- adds r0, r4, r0
- ldrb r0, [r0]
- movs r1, 0x16
- adds r2, r0, 0
- muls r2, r1
- movs r3, 0x94
- lsls r3, 2
- adds r2, r3
- lsls r0, 1
- adds r1, r0, r6
- ldrb r3, [r1]
- adds r0, r7
- ldrb r0, [r0]
- str r0, [sp]
- ldr r0, _080B0EDC
- add r1, sp, 0x8
- bl sub_8003460
- movs r5, 0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B0DE2
- movs r4, 0
- ldr r6, _080B0ED4
- adds r7, r6, 0x1
-_080B0E52:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, _080B0EE0
- adds r0, r1
- ldrh r2, [r0, 0x2]
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080B0E78
- negs r0, r0
- lsls r0, 16
- lsrs r2, r0, 16
- add r1, sp, 0x8
- movs r0, 0xAE
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080B0E78:
- mov r0, sp
- adds r0, r5
- adds r0, 0x8
- lsls r1, r2, 16
- asrs r1, 16
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r0, _080B0EE4
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r2, r1, 2
- adds r2, r1
- lsls r2, 18
- movs r3, 0x80
- lsls r3, 18
- adds r2, r3
- lsrs r2, 16
- lsls r1, 1
- adds r0, r1, r6
- ldrb r3, [r0]
- adds r1, r7
- ldrb r0, [r1]
- str r0, [sp]
- ldr r0, _080B0EDC
- add r1, sp, 0x8
- bl sub_8003460
- movs r5, 0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080B0E52
- bl sub_80AEB30
-_080B0EC2:
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B0ED0: .4byte 0x02000000
-_080B0ED4: .4byte gUnknown_083CA308
-_080B0ED8: .4byte gUnknown_083CA310
-_080B0EDC: .4byte gUnknown_03004210
-_080B0EE0: .4byte 0x02019260
-_080B0EE4: .4byte gUnknown_02038696
- thumb_func_end sub_80B0D7C
-
- thumb_func_start unref_sub_80B0EE8
-unref_sub_80B0EE8: @ 80B0EE8
- push {r4-r7,lr}
- adds r7, r0, 0
- movs r4, 0
- subs r0, r1, 0x1
- cmp r4, r0
- bge _080B0F20
- adds r6, r0, 0
-_080B0EF6:
- adds r3, r0, 0
- adds r5, r4, 0x1
- cmp r0, r4
- ble _080B0F18
- lsls r0, 2
- subs r0, 0x4
- adds r0, r7
-_080B0F04:
- ldr r1, [r0]
- ldr r2, [r0, 0x4]
- cmp r1, r2
- ble _080B0F10
- str r1, [r0, 0x4]
- str r2, [r0]
-_080B0F10:
- subs r0, 0x4
- subs r3, 0x1
- cmp r3, r4
- bgt _080B0F04
-_080B0F18:
- adds r4, r5, 0
- adds r0, r6, 0
- cmp r4, r0
- blt _080B0EF6
-_080B0F20:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80B0EE8
-
- thumb_func_start sub_80B0F28
-sub_80B0F28: @ 80B0F28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- add r4, sp, 0x4
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x8
- bl memset
- movs r5, 0
- add r4, sp, 0x4
- adds r6, r4, 0
- movs r7, 0
-_080B0F4E:
- bl Random
- adds r1, r0, 0
- mov r0, sp
- adds r0, r7
- adds r0, 0x4
- strh r1, [r0]
- movs r2, 0
- cmp r2, r5
- bge _080B0F86
- lsls r0, r1, 16
- lsrs r0, 16
- mov r1, sp
- ldrh r1, [r1, 0x4]
- cmp r0, r1
- beq _080B0F80
-_080B0F6E:
- adds r2, 0x1
- cmp r2, r5
- bge _080B0F86
- lsls r0, r2, 1
- adds r0, r4, r0
- ldrh r1, [r6]
- ldrh r0, [r0]
- cmp r1, r0
- bne _080B0F6E
-_080B0F80:
- subs r6, 0x2
- subs r7, 0x2
- subs r5, 0x1
-_080B0F86:
- adds r6, 0x2
- adds r7, 0x2
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B0F4E
- mov r2, r8
- cmp r2, 0
- bne _080B1050
- movs r5, 0
- ldr r3, _080B1008
- mov r8, r3
-_080B0F9C:
- mov r6, r8
- strb r5, [r6]
- movs r4, 0
- cmp r4, r5
- bge _080B1018
- ldr r7, _080B100C
- mov r9, r7
- lsls r0, r5, 1
- adds r1, r0, 0
- add r1, r9
- mov r12, r1
- mov r2, sp
- adds r2, 0x4
- str r2, [sp, 0xC]
- add r0, sp
- adds r0, 0x4
- str r0, [sp, 0x10]
- ldr r3, _080B1008
- adds r6, r3, 0
- mov r10, r6
-_080B0FC4:
- ldrb r0, [r3]
- lsls r2, r0, 1
- mov r7, r9
- adds r0, r2, r7
- movs r6, 0
- ldrsh r1, [r0, r6]
- mov r7, r12
- movs r6, 0
- ldrsh r0, [r7, r6]
- cmp r1, r0
- blt _080B0FEC
- cmp r1, r0
- bne _080B1010
- ldr r7, [sp, 0xC]
- adds r0, r7, r2
- ldrh r0, [r0]
- ldr r1, [sp, 0x10]
- ldrh r1, [r1]
- cmp r0, r1
- bcs _080B1010
-_080B0FEC:
- adds r2, r5, 0
- cmp r5, r4
- ble _080B1004
- subs r0, r5, 0x1
- mov r6, r10
- adds r1, r0, r6
-_080B0FF8:
- ldrb r0, [r1]
- strb r0, [r1, 0x1]
- subs r1, 0x1
- subs r2, 0x1
- cmp r2, r4
- bgt _080B0FF8
-_080B1004:
- strb r5, [r3]
- b _080B1018
- .align 2, 0
-_080B1008: .4byte gUnknown_02038696
-_080B100C: .4byte gUnknown_02038670
-_080B1010:
- adds r3, 0x1
- adds r4, 0x1
- cmp r4, r5
- blt _080B0FC4
-_080B1018:
- cmp r4, r5
- bne _080B1020
- mov r7, r8
- strb r5, [r7]
-_080B1020:
- movs r0, 0x1
- add r8, r0
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B0F9C
- ldr r4, _080B104C
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x4
- bl memcpy
- movs r5, 0
-_080B1038:
- mov r1, sp
- adds r0, r1, r5
- ldrb r0, [r0]
- adds r0, r4
- strb r5, [r0]
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B1038
- b _080B10FC
- .align 2, 0
-_080B104C: .4byte gUnknown_02038696
-_080B1050:
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0x4
- bl memset
- movs r5, 0
- ldr r3, _080B1070
- movs r6, 0
-_080B1060:
- ldr r0, _080B1074
- adds r0, r6, r0
- ldrb r0, [r0, 0xB]
- lsls r0, 30
- lsrs r2, r0, 30
- mov r7, sp
- adds r1, r7, r2
- b _080B1082
- .align 2, 0
-_080B1070: .4byte gUnknown_02038696
-_080B1074: .4byte 0x02019260
-_080B1078:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- mov r0, sp
- adds r1, r0, r2
-_080B1082:
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080B1078
- strb r5, [r1]
- strb r2, [r3]
- adds r3, 0x1
- adds r6, 0x1C
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B1060
- movs r5, 0
-_080B1098:
- movs r4, 0x3
- adds r1, r5, 0x1
- mov r10, r1
- cmp r4, r5
- ble _080B10F6
- mov r9, r4
- ldr r2, _080B110C
- mov r8, r2
- add r3, sp, 0x4
- mov r12, r3
-_080B10AC:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r6, _080B1110
- adds r1, r0, r6
- ldrb r2, [r1, 0xB]
- ldr r7, _080B1114
- adds r0, r7
- ldrb r3, [r0, 0xB]
- mov r1, r9
- ands r1, r2
- mov r0, r9
- ands r0, r3
- subs r3, r4, 0x1
- cmp r1, r0
- bne _080B10F0
- mov r0, r8
- adds r7, r3, r0
- adds r2, r4, r0
- ldrb r6, [r7]
- ldrb r1, [r2]
- cmp r6, r1
- bcs _080B10F0
- lsls r0, r3, 1
- add r0, r12
- lsls r1, r4, 1
- add r1, r12
- ldrh r0, [r0]
- ldrh r1, [r1]
- cmp r0, r1
- bcs _080B10F0
- ldrb r0, [r2]
- strb r6, [r2]
- strb r0, [r7]
-_080B10F0:
- adds r4, r3, 0
- cmp r4, r5
- bgt _080B10AC
-_080B10F6:
- mov r5, r10
- cmp r5, 0x2
- ble _080B1098
-_080B10FC:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B110C: .4byte gUnknown_02038696
-_080B1110: .4byte 0x02019244
-_080B1114: .4byte 0x02019260
- thumb_func_end sub_80B0F28
-
- thumb_func_start sub_80B1118
-sub_80B1118: @ 80B1118
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0xA0
-_080B111E:
- ldr r0, _080B1144
- adds r0, r5, r0
- ldr r1, _080B1148
- adds r1, r4, r1
- ldrb r1, [r1]
- adds r1, 0x5
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- adds r5, 0x20
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B111E
- bl sub_80AE514
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1144: .4byte 0x02018004
-_080B1148: .4byte gUnknown_02038696
- thumb_func_end sub_80B1118
-
- thumb_func_start sub_80B114C
-sub_80B114C: @ 80B114C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r7, r6, 3
- subs r0, r7, r6
- lsls r0, 2
- ldr r4, _080B11B8
- adds r5, r0, r4
- movs r0, 0
- strh r0, [r5, 0x2]
- strh r0, [r5]
- adds r0, r6, 0
- bl sub_80AF404
- lsls r0, 24
- mov r8, r4
- cmp r0, 0
- bne _080B1176
- b _080B13DC
-_080B1176:
- ldrh r0, [r5, 0x6]
- ldr r1, _080B11BC
- lsls r0, 3
- adds r0, r1
- ldrb r1, [r0]
- mov r12, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 29
- strb r0, [r5, 0xA]
- ldrh r0, [r5, 0x6]
- ldrh r1, [r5, 0x8]
- cmp r0, r1
- bne _080B11C0
- cmp r0, 0
- beq _080B11C0
- ldrb r0, [r5, 0x15]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r5, 0x15]
- ldrb r2, [r5, 0xB]
- lsls r1, r2, 25
- lsrs r1, 29
- adds r1, 0x1
- movs r0, 0x7
- ands r1, r0
- lsls r1, 4
- movs r0, 0x71
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0xB]
- b _080B11D8
- .align 2, 0
-_080B11B8: .4byte 0x02019260
-_080B11BC: .4byte gContestMoves
-_080B11C0:
- lsls r4, r6, 3
- subs r1, r4, r6
- lsls r1, 2
- ldr r3, _080B1264
- adds r1, r3
- ldrb r2, [r1, 0xB]
- movs r0, 0x71
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0xB]
- adds r7, r4, 0
- mov r8, r3
-_080B11D8:
- subs r0, r7, r6
- lsls r0, 2
- add r0, r8
- ldr r2, _080B1268
- mov r1, r12
- lsls r3, r1, 2
- adds r2, r3, r2
- ldrb r1, [r2, 0x1]
- strh r1, [r0]
- strh r1, [r0, 0x2]
- mov r0, r8
- adds r0, 0x70
- ldrb r1, [r2, 0x2]
- strh r1, [r0, 0x4]
- strh r1, [r0, 0x6]
- strb r6, [r0, 0x11]
- movs r2, 0
- adds r4, r3, 0
- movs r1, 0
- mov r5, r8
- adds r5, 0x7D
- mov r3, r8
-_080B1204:
- strb r1, [r3, 0xE]
- adds r0, r5, r2
- strb r1, [r0]
- adds r3, 0x1C
- adds r2, 0x1
- cmp r2, 0x3
- ble _080B1204
- subs r0, r7, r6
- lsls r0, 2
- ldr r1, _080B1264
- adds r5, r0, r1
- ldrb r1, [r5, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B123C
- ldrh r0, [r5, 0x8]
- ldrh r1, [r5, 0x6]
- bl AreMovesContestCombo
- lsls r0, 24
- cmp r0, 0
- bne _080B123C
- ldrb r1, [r5, 0x15]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x15]
-_080B123C:
- ldr r0, _080B126C
- adds r0, r4, r0
- ldr r0, [r0]
- bl _call_via_r0
- subs r0, r7, r6
- lsls r0, 2
- ldr r1, _080B1264
- adds r2, r0, r1
- ldrb r1, [r2, 0x10]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0x10
- bne _080B1270
- ldrh r1, [r2, 0x2]
- subs r1, 0xA
- movs r0, 0xD
- ldrsb r0, [r2, r0]
- b _080B128A
- .align 2, 0
-_080B1264: .4byte 0x02019260
-_080B1268: .4byte gContestEffects
-_080B126C: .4byte gContestEffectFuncs
-_080B1270:
- ldrb r1, [r2, 0x11]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080B1284
- movs r1, 0xD
- ldrsb r1, [r2, r1]
- lsls r0, r1, 1
- adds r0, r1
- b _080B1288
-_080B1284:
- movs r0, 0xD
- ldrsb r0, [r2, r0]
-_080B1288:
- ldrh r1, [r2, 0x2]
-_080B128A:
- adds r0, r1
- strh r0, [r2, 0x2]
- subs r0, r7, r6
- lsls r0, 2
- ldr r1, _080B12E8
- adds r4, r0, r1
- movs r0, 0
- strb r0, [r4, 0x16]
- ldrb r1, [r4, 0x15]
- subs r0, 0x41
- ands r0, r1
- strb r0, [r4, 0x15]
- adds r0, r6, 0
- bl sub_80B214C
- lsls r0, 24
- cmp r0, 0
- beq _080B1322
- ldrh r0, [r4, 0x8]
- ldrh r1, [r4, 0x6]
- bl AreMovesContestCombo
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080B12EC
- ldrb r1, [r4, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B12EC
- strb r2, [r4, 0x16]
- movs r0, 0x40
- orrs r1, r0
- movs r0, 0x11
- negs r0, r0
- ands r1, r0
- movs r0, 0
- ldrsh r2, [r4, r0]
- ldrb r0, [r4, 0x16]
- muls r0, r2
- strb r0, [r4, 0x17]
- movs r0, 0x8
- orrs r1, r0
- strb r1, [r4, 0x15]
- b _080B1322
- .align 2, 0
-_080B12E8: .4byte 0x02019260
-_080B12EC:
- ldr r2, _080B1310
- subs r0, r7, r6
- lsls r0, 2
- ldr r1, _080B1314
- adds r3, r0, r1
- ldrh r0, [r3, 0x6]
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x2]
- cmp r0, 0
- beq _080B1318
- ldrb r0, [r3, 0x15]
- movs r1, 0x10
- orrs r0, r1
- movs r1, 0x40
- orrs r0, r1
- b _080B1320
- .align 2, 0
-_080B1310: .4byte gContestMoves
-_080B1314: .4byte 0x02019260
-_080B1318:
- ldrb r1, [r3, 0x15]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
-_080B1320:
- strb r0, [r3, 0x15]
-_080B1322:
- subs r0, r7, r6
- lsls r0, 2
- ldr r1, _080B139C
- mov r8, r1
- adds r4, r0, r1
- ldrb r1, [r4, 0x15]
- movs r5, 0x1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080B1348
- ldrb r0, [r4, 0xB]
- lsls r0, 25
- lsrs r0, 29
- adds r0, 0x1
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- strb r1, [r4, 0x18]
-_080B1348:
- ldrb r1, [r4, 0xC]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080B1362
- ldrb r0, [r4, 0x15]
- movs r1, 0x11
- negs r1, r1
- ands r1, r0
- strb r1, [r4, 0x15]
- movs r0, 0
- strh r0, [r4, 0x2]
- strh r0, [r4]
-_080B1362:
- ldrh r0, [r4, 0x6]
- bl contest_get_move_excitement
- mov r2, r8
- adds r2, 0xC8
- strb r0, [r2]
- ldrb r1, [r4, 0x11]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B137A
- strb r5, [r2]
-_080B137A:
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- ble _080B13A4
- mov r0, r8
- subs r0, 0x5C
- ldrb r0, [r0, 0x13]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r2, r1]
- adds r0, r1
- cmp r0, 0x4
- ble _080B13A0
- movs r0, 0x3C
- b _080B13A6
- .align 2, 0
-_080B139C: .4byte 0x02019260
-_080B13A0:
- movs r0, 0xA
- b _080B13A6
-_080B13A4:
- movs r0, 0
-_080B13A6:
- strb r0, [r2, 0x2]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- b _080B13CA
-_080B13BE:
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
-_080B13C4:
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080B13D2
-_080B13CA:
- cmp r2, r6
- beq _080B13C4
- cmp r0, 0
- bne _080B13BE
-_080B13D2:
- subs r0, r7, r6
- lsls r0, 2
- ldr r1, _080B13E8
- adds r0, r1
- strb r2, [r0, 0x1B]
-_080B13DC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B13E8: .4byte 0x02019260
- thumb_func_end sub_80B114C
-
- thumb_func_start sub_80B13EC
-sub_80B13EC: @ 80B13EC
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 2
- ldr r0, _080B1400
- adds r2, r0
- strb r1, [r2, 0x13]
- bx lr
- .align 2, 0
-_080B1400: .4byte 0x02019260
- thumb_func_end sub_80B13EC
-
- thumb_func_start sub_80B1404
-sub_80B1404: @ 80B1404
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 2
- ldr r0, _080B1418
- adds r2, r0
- strb r1, [r2, 0x14]
- bx lr
- .align 2, 0
-_080B1418: .4byte 0x02019260
- thumb_func_end sub_80B1404
-
- thumb_func_start sub_80B141C
-sub_80B141C: @ 80B141C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0x3B
- bls _080B1436
- movs r1, 0x35
- bl sub_80B13EC
- b _080B1466
-_080B1436:
- cmp r1, 0x27
- bls _080B1442
- movs r1, 0x34
- bl sub_80B13EC
- b _080B1466
-_080B1442:
- cmp r1, 0x1D
- bls _080B144E
- movs r1, 0x33
- bl sub_80B13EC
- b _080B1466
-_080B144E:
- cmp r1, 0x13
- bls _080B145A
- movs r1, 0x32
- bl sub_80B13EC
- b _080B1466
-_080B145A:
- cmp r2, 0x9
- bls _080B1466
- adds r0, r3, 0
- movs r1, 0x31
- bl sub_80B13EC
-_080B1466:
- pop {r0}
- bx r0
- thumb_func_end sub_80B141C
-
- thumb_func_start sub_80B146C
-sub_80B146C: @ 80B146C
- push {r4,r5,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _080B14C8
- lsls r1, r4, 6
- ldr r2, _080B14CC
- adds r1, r2
- bl StringCopy
- ldr r0, _080B14D0
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- ldr r4, _080B14D4
- adds r1, r4
- ldrh r2, [r1, 0x6]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080B14D8
- adds r1, r2
- bl StringCopy
- ldr r2, _080B14DC
- adds r0, r4, 0
- adds r0, 0x70
- ldrb r1, [r0, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r0, [r0, 0x6]
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x1]
- lsls r1, r0, 29
- cmp r1, 0
- bne _080B14E8
- ldr r0, _080B14E0
- ldr r1, _080B14E4
- bl StringCopy
- b _080B1538
- .align 2, 0
-_080B14C8: .4byte gStringVar1
-_080B14CC: .4byte gUnknown_02038572
-_080B14D0: .4byte gStringVar2
-_080B14D4: .4byte 0x02019260
-_080B14D8: .4byte gMoveNames
-_080B14DC: .4byte gContestMoves
-_080B14E0: .4byte gStringVar3
-_080B14E4: .4byte gUnknown_083CC280
-_080B14E8:
- lsrs r0, r1, 29
- cmp r0, 0x1
- bne _080B1500
- ldr r0, _080B14F8
- ldr r1, _080B14FC
- bl StringCopy
- b _080B1538
- .align 2, 0
-_080B14F8: .4byte gStringVar3
-_080B14FC: .4byte gUnknown_083CC288
-_080B1500:
- lsrs r0, r1, 29
- cmp r0, 0x2
- bne _080B1518
- ldr r0, _080B1510
- ldr r1, _080B1514
- bl StringCopy
- b _080B1538
- .align 2, 0
-_080B1510: .4byte gStringVar3
-_080B1514: .4byte gUnknown_083CC290
-_080B1518:
- lsrs r0, r1, 29
- cmp r0, 0x3
- bne _080B1530
- ldr r0, _080B1528
- ldr r1, _080B152C
- bl StringCopy
- b _080B1538
- .align 2, 0
-_080B1528: .4byte gStringVar3
-_080B152C: .4byte gUnknown_083CC299
-_080B1530:
- ldr r0, _080B1568
- ldr r1, _080B156C
- bl StringCopy
-_080B1538:
- ldr r4, _080B1570
- ldr r1, _080B1574
- lsls r0, r5, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl StringExpandPlaceholders
- bl sub_80AF138
- ldr r0, _080B1578
- movs r2, 0xC2
- lsls r2, 2
- movs r1, 0xF
- str r1, [sp]
- adds r1, r4, 0
- movs r3, 0x1
- bl sub_8002EB0
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1568: .4byte gStringVar3
-_080B156C: .4byte gUnknown_083CC2A3
-_080B1570: .4byte gStringVar4
-_080B1574: .4byte gUnknown_083CC188
-_080B1578: .4byte gMenuWindow
- thumb_func_end sub_80B146C
-
- thumb_func_start sub_80B157C
-sub_80B157C: @ 80B157C
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _080B1598
- adds r1, r0
- ldrb r0, [r1, 0xC]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1, 0xC]
- movs r0, 0
- strh r0, [r1, 0x6]
- bx lr
- .align 2, 0
-_080B1598: .4byte 0x02019260
- thumb_func_end sub_80B157C
-
- thumb_func_start sub_80B159C
-sub_80B159C: @ 80B159C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- movs r0, 0
- mov r12, r0
- movs r4, 0
- ldr r1, _080B1600
- mov r9, r1
- add r2, sp, 0x4
- mov r6, r9
- movs r5, 0
- adds r3, r2, 0
-_080B15B8:
- mov r0, sp
- adds r1, r0, r4
- adds r0, r4, r6
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, r4
- strb r5, [r0]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B15B8
- movs r4, 0
- ldr r7, _080B1604
- adds r5, r2, 0
- movs r1, 0x1
- mov r8, r1
-_080B15D6:
- movs r2, 0
- adds r1, r7, 0
-_080B15DA:
- ldrb r0, [r1, 0x19]
- cmp r0, r4
- beq _080B1608
- adds r1, 0x1C
- adds r2, 0x1
- cmp r2, 0x3
- ble _080B15DA
-_080B15E8:
- cmp r2, 0x4
- bne _080B1680
- movs r2, 0
- ldrb r0, [r5]
- cmp r0, 0
- bne _080B1616
- ldrb r0, [r7, 0x19]
- cmp r0, 0xFF
- bne _080B1616
- mov r12, r2
- movs r2, 0x1
- b _080B163A
- .align 2, 0
-_080B1600: .4byte gUnknown_02038696
-_080B1604: .4byte 0x02019260
-_080B1608:
- mov r1, sp
- adds r0, r1, r2
- strb r4, [r0]
- adds r0, r5, r2
- mov r1, r8
- strb r1, [r0]
- b _080B15E8
-_080B1616:
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080B1672
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B1616
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r7
- ldrb r0, [r0, 0x19]
- cmp r0, 0xFF
- bne _080B1616
- lsls r0, r2, 24
- lsrs r0, 24
- mov r12, r0
- adds r2, 0x1
-_080B163A:
- cmp r2, 0x3
- bgt _080B1672
- ldr r6, _080B16C8
- lsls r0, r2, 3
- subs r0, r2
- lsls r3, r0, 2
-_080B1646:
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B166A
- adds r0, r3, r7
- ldrb r0, [r0, 0x19]
- cmp r0, 0xFF
- bne _080B166A
- mov r1, r12
- adds r0, r1, r6
- adds r1, r2, r6
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _080B166A
- lsls r0, r2, 24
- lsrs r0, 24
- mov r12, r0
-_080B166A:
- adds r3, 0x1C
- adds r2, 0x1
- cmp r2, 0x3
- ble _080B1646
-_080B1672:
- mov r0, sp
- add r0, r12
- strb r4, [r0]
- mov r1, r12
- adds r0, r5, r1
- mov r1, r8
- strb r1, [r0]
-_080B1680:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B15D6
- movs r4, 0
- ldr r5, _080B16CC
- adds r3, r5, 0
- subs r3, 0x60
- movs r6, 0xFF
- movs r7, 0x3F
-_080B1692:
- adds r1, r4, r5
- mov r0, sp
- adds r2, r0, r4
- ldrb r0, [r2]
- strb r0, [r1]
- ldrb r0, [r3, 0x9]
- orrs r0, r6
- strb r0, [r3, 0x9]
- ldrb r1, [r3]
- adds r0, r7, 0
- ands r0, r1
- strb r0, [r3]
- mov r0, r9
- adds r1, r4, r0
- ldrb r0, [r2]
- strb r0, [r1]
- adds r3, 0x1C
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B1692
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B16C8: .4byte gUnknown_02038696
-_080B16CC: .4byte 0x020192d0
- thumb_func_end sub_80B159C
-
- thumb_func_start sub_80B16D0
-sub_80B16D0: @ 80B16D0
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r1, r0, 0x1
- strh r1, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x54
- ble _080B1702
- movs r0, 0
- strh r0, [r2, 0x30]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldr r0, _080B1708
- str r0, [r2, 0x1C]
- ldr r2, _080B170C
- ldrb r1, [r2, 0x6]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x6]
-_080B1702:
- pop {r0}
- bx r0
- .align 2, 0
-_080B1708: .4byte SpriteCallbackDummy
-_080B170C: .4byte 0x02019204
- thumb_func_end sub_80B16D0
-
- thumb_func_start sub_80B1710
-sub_80B1710: @ 80B1710
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080B172C
- ldrb r5, [r0, 0x12]
- cmp r1, 0x8
- bls _080B1720
- b _080B18C0
-_080B1720:
- lsls r0, r1, 2
- ldr r1, _080B1730
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B172C: .4byte 0x02019204
-_080B1730: .4byte _080B1734
- .align 2, 0
-_080B1734:
- .4byte _080B1758
- .4byte _080B1758
- .4byte _080B1788
- .4byte _080B17BC
- .4byte _080B17F0
- .4byte _080B1824
- .4byte _080B1858
- .4byte _080B18C0
- .4byte _080B188C
-_080B1758:
- ldr r0, _080B177C
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x2E]
- ldr r2, _080B1780
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B1784
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x20
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B177C: .4byte gSprites
-_080B1780: .4byte 0x000003ff
-_080B1784: .4byte 0xfffffc00
-_080B1788:
- ldr r0, _080B17B0
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x4
- ldr r3, _080B17B4
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B17B8
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x1F
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B17B0: .4byte gSprites
-_080B17B4: .4byte 0x000003ff
-_080B17B8: .4byte 0xfffffc00
-_080B17BC:
- ldr r0, _080B17E4
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x8
- ldr r3, _080B17E8
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B17EC
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x1F
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B17E4: .4byte gSprites
-_080B17E8: .4byte 0x000003ff
-_080B17EC: .4byte 0xfffffc00
-_080B17F0:
- ldr r0, _080B1818
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0xC
- ldr r3, _080B181C
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B1820
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x2D
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B1818: .4byte gSprites
-_080B181C: .4byte 0x000003ff
-_080B1820: .4byte 0xfffffc00
-_080B1824:
- ldr r0, _080B184C
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0xC
- ldr r3, _080B1850
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B1854
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x2D
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B184C: .4byte gSprites
-_080B1850: .4byte 0x000003ff
-_080B1854: .4byte 0xfffffc00
-_080B1858:
- ldr r0, _080B1880
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x10
- ldr r3, _080B1884
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B1888
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x2D
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B1880: .4byte gSprites
-_080B1884: .4byte 0x000003ff
-_080B1888: .4byte 0xfffffc00
-_080B188C:
- ldr r0, _080B18B4
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x18
- ldr r3, _080B18B8
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B18BC
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0xC3
- bl PlaySE
- b _080B18E4
- .align 2, 0
-_080B18B4: .4byte gSprites
-_080B18B8: .4byte 0x000003ff
-_080B18BC: .4byte 0xfffffc00
-_080B18C0:
- ldr r0, _080B1914
- lsls r4, r5, 4
- adds r1, r4, r5
- lsls r1, 2
- adds r1, r0
- ldrh r2, [r1, 0x2E]
- adds r2, 0x14
- ldr r3, _080B1918
- adds r0, r3, 0
- ands r2, r0
- ldrh r3, [r1, 0x4]
- ldr r0, _080B191C
- ands r0, r3
- orrs r0, r2
- strh r0, [r1, 0x4]
- movs r0, 0x2D
- bl PlaySE
-_080B18E4:
- adds r2, r4, 0
- ldr r4, _080B1914
- adds r2, r5
- lsls r2, 2
- adds r1, r2, r4
- movs r0, 0
- strh r0, [r1, 0x30]
- adds r1, 0x3E
- ldrb r3, [r1]
- subs r0, 0x5
- ands r0, r3
- strb r0, [r1]
- adds r4, 0x1C
- adds r2, r4
- ldr r0, _080B1920
- str r0, [r2]
- ldr r2, _080B1924
- ldrb r0, [r2, 0x6]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0x6]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1914: .4byte gSprites
-_080B1918: .4byte 0x000003ff
-_080B191C: .4byte 0xfffffc00
-_080B1920: .4byte sub_80B16D0
-_080B1924: .4byte 0x02019204
- thumb_func_end sub_80B1710
-
- thumb_func_start sub_80B1928
-sub_80B1928: @ 80B1928
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- ldr r6, _080B19BC
- ldr r0, _080B19C0
- mov r10, r0
- movs r1, 0x58
- adds r1, r6
- mov r9, r1
- ldr r0, _080B19C4
- mov r8, r0
- ldr r7, _080B19C8
-_080B1946:
- movs r0, 0x13
- ldrsb r0, [r6, r0]
- ldr r4, _080B19CC
- cmp r5, r0
- bge _080B1952
- adds r4, 0x40
-_080B1952:
- mov r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r10
- ldrh r1, [r0, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r0, r5, 0
- adds r0, 0x11
- adds r1, r0
- lsls r1, 5
- add r1, r8
- adds r0, r4, 0
- adds r2, r7, 0
- bl CpuSet
- adds r0, r4, 0
- adds r0, 0x20
- mov r1, r9
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- add r1, r10
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 22
- adds r2, r5, 0
- adds r2, 0x19
- adds r1, r2
- lsls r1, 5
- add r1, r8
- adds r2, r7, 0
- bl CpuSet
- movs r0, 0x13
- ldrsb r0, [r6, r0]
- cmp r0, 0x4
- ble _080B19A8
- bl sub_80B1A2C
-_080B19A8:
- adds r5, 0x1
- cmp r5, 0x4
- ble _080B1946
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B19BC: .4byte 0x02019204
-_080B19C0: .4byte gSprites
-_080B19C4: .4byte 0x06010000
-_080B19C8: .4byte REG_BG0CNT
-_080B19CC: .4byte gContestApplauseMeterGfx
- thumb_func_end sub_80B1928
-
- thumb_func_start unref_sub_80B19D0
-unref_sub_80B19D0: @ 80B19D0
- push {lr}
- sub sp, 0x18
- ldr r1, _080B19F4
- add r0, sp, 0x4
- bl StringCopy
- ldr r0, _080B19F8
- movs r2, 0xAA
- lsls r2, 2
- movs r1, 0
- str r1, [sp]
- add r1, sp, 0x4
- movs r3, 0
- bl sub_8003460
- add sp, 0x18
- pop {r0}
- bx r0
- .align 2, 0
-_080B19F4: .4byte gUnknown_083CC2EC
-_080B19F8: .4byte gUnknown_03004210
- thumb_func_end unref_sub_80B19D0
-
- thumb_func_start contest_get_move_excitement
-contest_get_move_excitement: @ 80B19FC
- lsls r0, 16
- ldr r3, _080B1A20
- ldr r1, _080B1A24
- lsrs r0, 13
- adds r0, r1
- ldrb r1, [r0, 0x1]
- lsls r1, 29
- lsrs r1, 29
- ldr r0, _080B1A28
- ldrh r2, [r0]
- lsls r0, r2, 2
- adds r0, r2
- adds r1, r0
- adds r1, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- bx lr
- .align 2, 0
-_080B1A20: .4byte gContestExcitementTable
-_080B1A24: .4byte gContestMoves
-_080B1A28: .4byte gUnknown_0203869C
- thumb_func_end contest_get_move_excitement
-
- thumb_func_start sub_80B1A2C
-sub_80B1A2C: @ 80B1A2C
- push {r4,r5,lr}
- ldr r0, _080B1A60
- movs r1, 0xA
- bl CreateTask
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080B1A64
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- movs r0, 0x1
- strh r0, [r4, 0xA]
- ldr r0, _080B1A68
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xC]
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080B1A60: .4byte c3_08130B10
-_080B1A64: .4byte gTasks
-_080B1A68: .4byte 0x0000abe2
- thumb_func_end sub_80B1A2C
-
- thumb_func_start c3_08130B10
-c3_08130B10: @ 80B1A6C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080B1A9C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080B1B06
- movs r0, 0
- strh r0, [r2, 0x8]
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080B1AA0
- ldrh r0, [r2, 0x10]
- adds r0, 0x1
- b _080B1AA4
- .align 2, 0
-_080B1A9C: .4byte gTasks
-_080B1AA0:
- ldrh r0, [r2, 0x10]
- subs r0, 0x1
-_080B1AA4:
- strh r0, [r2, 0x10]
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- lsls r0, 4
- movs r3, 0x84
- lsls r3, 1
- adds r6, r3, 0
- adds r0, r6
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r4, 0x10]
- ldr r3, _080B1B0C
- movs r1, 0x1
- bl BlendPalette
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080B1AD6
- cmp r0, 0x10
- bne _080B1B06
-_080B1AD6:
- ldrh r0, [r4, 0xE]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0xE]
- ldr r0, _080B1B10
- ldrb r0, [r0, 0x13]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- bgt _080B1B06
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- lsls r0, 4
- adds r0, r6
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1F
- bl BlendPalette
- adds r0, r5, 0
- bl DestroyTask
-_080B1B06:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1B0C: .4byte 0x00007fff
-_080B1B10: .4byte 0x02019204
- thumb_func_end c3_08130B10
-
- thumb_func_start sub_80B1B14
-sub_80B1B14: @ 80B1B14
- push {r4,lr}
- ldr r0, _080B1B58
- movs r1, 0xA
- bl CreateTask
- ldr r4, _080B1B5C
- ldr r3, _080B1B60
- adds r2, r3, 0
- adds r2, 0x58
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _080B1B64
- strh r1, [r0, 0x24]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrb r0, [r3, 0x6]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r3, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1B58: .4byte sub_80B1B68
-_080B1B5C: .4byte gSprites
-_080B1B60: .4byte 0x02019204
-_080B1B64: .4byte 0x0000ffba
- thumb_func_end sub_80B1B14
-
- thumb_func_start sub_80B1B68
-sub_80B1B68: @ 80B1B68
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- ldr r4, _080B1BD0
- adds r0, r4, 0
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B1BD4
- adds r2, r0, r1
- ldr r0, _080B1BD8
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r5, 0xD0
- lsls r5, 3
- adds r0, r5, 0
- ldrh r5, [r1, 0x1C]
- adds r0, r5
- strh r0, [r1, 0x1C]
- lsls r0, 16
- asrs r0, 24
- ldrh r5, [r2, 0x24]
- adds r0, r5
- strh r0, [r2, 0x24]
- ldrb r0, [r1, 0x1C]
- strh r0, [r1, 0x1C]
- movs r1, 0x24
- ldrsh r0, [r2, r1]
- cmp r0, 0
- ble _080B1BB2
- movs r0, 0
- strh r0, [r2, 0x24]
-_080B1BB2:
- movs r5, 0x24
- ldrsh r0, [r2, r5]
- cmp r0, 0
- bne _080B1BCA
- ldrb r1, [r4, 0x6]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x6]
- adds r0, r3, 0
- bl DestroyTask
-_080B1BCA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1BD0: .4byte 0x02019204
-_080B1BD4: .4byte gSprites
-_080B1BD8: .4byte gTasks
- thumb_func_end sub_80B1B68
-
- thumb_func_start sub_80B1BDC
-sub_80B1BDC: @ 80B1BDC
- push {r4-r6,lr}
- ldr r6, _080B1C04
- ldr r4, _080B1C08
- adds r5, r4, 0
- adds r5, 0x58
- ldrb r0, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r0, [r1]
- lsls r0, 29
- cmp r0, 0
- bge _080B1C0C
- ldrb r1, [r4, 0x6]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- b _080B1C28
- .align 2, 0
-_080B1C04: .4byte gSprites
-_080B1C08: .4byte 0x02019204
-_080B1C0C:
- ldr r0, _080B1C30
- movs r1, 0xA
- bl CreateTask
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0
- strh r1, [r0, 0x24]
- ldrb r0, [r4, 0x6]
- movs r1, 0x40
- orrs r0, r1
-_080B1C28:
- strb r0, [r4, 0x6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1C30: .4byte sub_80B1C34
- thumb_func_end sub_80B1BDC
-
- thumb_func_start sub_80B1C34
-sub_80B1C34: @ 80B1C34
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r5, _080B1CAC
- adds r0, r5, 0
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B1CB0
- adds r3, r0, r1
- ldr r0, _080B1CB4
- lsls r2, r4, 2
- adds r2, r4
- lsls r2, 3
- adds r2, r0
- movs r1, 0xD0
- lsls r1, 3
- adds r0, r1, 0
- ldrh r1, [r2, 0x1C]
- adds r0, r1
- strh r0, [r2, 0x1C]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r3, 0x24]
- subs r1, r0
- strh r1, [r3, 0x24]
- ldrb r0, [r2, 0x1C]
- strh r0, [r2, 0x1C]
- movs r2, 0x24
- ldrsh r0, [r3, r2]
- movs r1, 0x46
- negs r1, r1
- cmp r0, r1
- bge _080B1C82
- ldr r0, _080B1CB8
- strh r0, [r3, 0x24]
-_080B1C82:
- movs r2, 0x24
- ldrsh r0, [r3, r2]
- cmp r0, r1
- bne _080B1CA6
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrb r1, [r5, 0x6]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r5, 0x6]
- adds r0, r4, 0
- bl DestroyTask
-_080B1CA6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1CAC: .4byte 0x02019204
-_080B1CB0: .4byte gSprites
-_080B1CB4: .4byte gTasks
-_080B1CB8: .4byte 0x0000ffba
- thumb_func_end sub_80B1C34
-
- thumb_func_start sub_80B1CBC
-sub_80B1CBC: @ 80B1CBC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B1CF0
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B1CF4
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- lsls r4, 24
- asrs r4, 24
- strh r4, [r1, 0x8]
- ldr r2, _080B1CF8
- ldrb r0, [r2, 0x6]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r2, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1CF0: .4byte sub_80B1CFC
-_080B1CF4: .4byte gTasks
-_080B1CF8: .4byte 0x02019204
- thumb_func_end sub_80B1CBC
-
- thumb_func_start sub_80B1CFC
-sub_80B1CFC: @ 80B1CFC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080B1D20
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080B1D30
- cmp r0, 0x1
- bgt _080B1D24
- cmp r0, 0
- beq _080B1D2A
- b _080B1D78
- .align 2, 0
-_080B1D20: .4byte gTasks
-_080B1D24:
- cmp r0, 0x2
- beq _080B1D50
- b _080B1D78
-_080B1D2A:
- bl sub_80B1B14
- b _080B1D44
-_080B1D30:
- ldr r0, _080B1D4C
- ldrb r1, [r0, 0x6]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080B1D78
- movs r0, 0x8
- ldrsb r0, [r4, r0]
- bl nullsub_18
-_080B1D44:
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- b _080B1D78
- .align 2, 0
-_080B1D4C: .4byte 0x02019204
-_080B1D50:
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080B1D78
- movs r0, 0
- strh r0, [r4, 0x1E]
- bl sub_80B1928
- ldr r2, _080B1D80
- ldrb r1, [r2, 0x6]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x6]
- adds r0, r5, 0
- bl DestroyTask
-_080B1D78:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1D80: .4byte 0x02019204
- thumb_func_end sub_80B1CFC
-
- thumb_func_start unref_sub_80B1D84
-unref_sub_80B1D84: @ 80B1D84
- ldr r3, _080B1DB0
- ldr r2, _080B1DB4
- adds r2, 0x58
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0
- strh r1, [r0, 0x24]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080B1DB0: .4byte gSprites
-_080B1DB4: .4byte 0x02019204
- thumb_func_end unref_sub_80B1D84
-
- thumb_func_start unref_sub_80B1DB8
-unref_sub_80B1DB8: @ 80B1DB8
- ldr r2, _080B1DD4
- ldr r0, _080B1DD8
- adds r0, 0x58
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080B1DD4: .4byte gSprites
-_080B1DD8: .4byte 0x02019204
- thumb_func_end unref_sub_80B1DB8
-
- thumb_func_start sub_80B1DDC
-sub_80B1DDC: @ 80B1DDC
- push {lr}
- ldr r0, _080B1DF4
- movs r1, 0xF
- bl CreateTask
- ldr r2, _080B1DF8
- ldrb r0, [r2, 0x6]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x6]
- pop {r0}
- bx r0
- .align 2, 0
-_080B1DF4: .4byte sub_80B1DFC
-_080B1DF8: .4byte 0x02019204
- thumb_func_end sub_80B1DDC
-
- thumb_func_start sub_80B1DFC
-sub_80B1DFC: @ 80B1DFC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _080B1E3C
- lsls r4, r5, 2
- adds r0, r4, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- adds r6, r2, 0
- cmp r0, 0x6
- ble _080B1E8E
- movs r0, 0
- strh r0, [r3, 0x1C]
- movs r1, 0x1E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080B1E50
- ldr r1, _080B1E40
- ldr r2, _080B1E44
- ldr r0, _080B1E48
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080B1E4C
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080B1E66
- .align 2, 0
-_080B1E3C: .4byte gTasks
-_080B1E40: .4byte 0x02016800
-_080B1E44: .4byte 0x06002000
-_080B1E48: .4byte 0x040000d4
-_080B1E4C: .4byte 0x84000400
-_080B1E50:
- ldr r1, _080B1E94
- ldr r2, _080B1E98
- ldr r0, _080B1E9C
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080B1EA0
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
-_080B1E66:
- adds r0, r4, 0
- adds r0, r5
- lsls r0, 3
- adds r0, r6
- ldrh r1, [r0, 0x1E]
- movs r2, 0x1
- eors r1, r2
- strh r1, [r0, 0x1E]
- movs r1, 0x20
- ldrsh r0, [r0, r1]
- cmp r0, 0x9
- bne _080B1E8E
- ldr r2, _080B1EA4
- ldrb r1, [r2, 0x6]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x6]
- adds r0, r5, 0
- bl DestroyTask
-_080B1E8E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1E94: .4byte 0x02015800
-_080B1E98: .4byte 0x06002000
-_080B1E9C: .4byte 0x040000d4
-_080B1EA0: .4byte 0x84000400
-_080B1EA4: .4byte 0x02019204
- thumb_func_end sub_80B1DFC
-
- thumb_func_start sub_80B1EA8
-sub_80B1EA8: @ 80B1EA8
- push {r4-r7,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _080B1EE4
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r4, 24
- cmp r4, 0
- ble _080B1F08
- ldr r7, _080B1EE8
- lsls r0, r5, 24
- adds r4, r0, 0
- cmp r4, 0
- ble _080B1EF0
- movs r5, 0
- ldr r2, _080B1EEC
- movs r1, 0x13
- ldrsb r1, [r2, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080B1F1E
- .align 2, 0
-_080B1EE4: .4byte sub_80B1F4C
-_080B1EE8: .4byte 0x0000237e
-_080B1EEC: .4byte 0x02019204
-_080B1EF0:
- ldr r2, _080B1F04
- movs r1, 0x13
- ldrsb r1, [r2, r1]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- b _080B1F1E
- .align 2, 0
-_080B1F04: .4byte 0x02019204
-_080B1F08:
- movs r7, 0
- lsls r0, r5, 24
- adds r4, r0, 0
- cmp r4, 0
- ble _080B1F18
- movs r5, 0
- movs r3, 0xC
- b _080B1F1C
-_080B1F18:
- movs r5, 0xC
- movs r3, 0
-_080B1F1C:
- ldr r2, _080B1F44
-_080B1F1E:
- ldr r1, _080B1F48
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- strh r7, [r0, 0x8]
- strh r5, [r0, 0xA]
- asrs r1, r4, 24
- strh r1, [r0, 0xC]
- strh r3, [r0, 0xE]
- ldrb r1, [r2, 0x7]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x7]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1F44: .4byte 0x02019204
-_080B1F48: .4byte gTasks
- thumb_func_end sub_80B1EA8
-
- thumb_func_start sub_80B1F4C
-sub_80B1F4C: @ 80B1F4C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _080B1F7C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r3, 0x1C]
- lsls r0, 16
- cmp r0, 0
- blt _080B1FC4
- movs r0, 0
- strh r0, [r3, 0x1C]
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- cmp r0, 0
- ble _080B1F80
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- b _080B1F84
- .align 2, 0
-_080B1F7C: .4byte gTasks
-_080B1F80:
- ldrh r0, [r3, 0xA]
- subs r0, 0x1
-_080B1F84:
- strh r0, [r3, 0xA]
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r2
- ldrb r2, [r4, 0xA]
- ldrh r3, [r4, 0x8]
- movs r0, 0x11
- movs r1, 0x1
- bl BlendPalette
- ldrb r2, [r4, 0xA]
- ldrh r3, [r4, 0x8]
- movs r0, 0x1A
- movs r1, 0x1
- bl BlendPalette
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080B1FC4
- adds r0, r5, 0
- bl DestroyTask
- ldr r2, _080B1FCC
- ldrb r1, [r2, 0x7]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x7]
-_080B1FC4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B1FCC: .4byte 0x02019204
- thumb_func_end sub_80B1F4C
-
- thumb_func_start sub_80B1FD0
-sub_80B1FD0: @ 80B1FD0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r0, _080B204C
- ldr r6, _080B2050
- adds r4, r0, 0
- adds r4, 0xD8
- adds r7, r0, 0
-_080B1FE8:
- ldrb r1, [r7, 0x10]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _080B2064
- mov r0, r8
- cmp r0, 0
- beq _080B2064
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80B208C
- ldrb r2, [r4, 0x1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r6
- ldrh r1, [r1, 0x4]
- lsls r1, 22
- lsrs r1, 17
- ldr r2, _080B2054
- adds r1, r2
- ldr r2, _080B2058
- bl CpuSet
- ldrb r0, [r4, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldr r2, _080B205C
- ldr r0, _080B2060
- adds r0, r5, r0
- ldrb r0, [r0]
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r1, 0x22]
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x5
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- b _080B2076
- .align 2, 0
-_080B204C: .4byte 0x02019260
-_080B2050: .4byte gSprites
-_080B2054: .4byte 0x060100a0
-_080B2058: .4byte REG_BG0HOFS
-_080B205C: .4byte gUnknown_083CA33C
-_080B2060: .4byte gUnknown_02038696
-_080B2064:
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
-_080B2076:
- strb r1, [r0]
- adds r4, 0x4
- adds r7, 0x1C
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B1FE8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B1FD0
-
- thumb_func_start sub_80B208C
-sub_80B208C: @ 80B208C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _080B20B0
- adds r2, r1, r0
- ldrb r1, [r2, 0x10]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x40
- bne _080B20B8
- ldrb r0, [r2, 0x19]
- lsls r0, 6
- ldr r1, _080B20B4
- adds r0, r1
- b _080B20BA
- .align 2, 0
-_080B20B0: .4byte 0x02019260
-_080B20B4: .4byte gContestNextTurnNumbersGfx
-_080B20B8:
- ldr r0, _080B20C0
-_080B20BA:
- pop {r1}
- bx r1
- .align 2, 0
-_080B20C0: .4byte gContestNextTurnRandomGfx
- thumb_func_end sub_80B208C
-
- thumb_func_start unref_sub_80B20C4
-unref_sub_80B20C4: @ 80B20C4
- push {r4-r7,lr}
- movs r6, 0
- ldr r7, _080B2134
-_080B20CA:
- adds r0, r6, r7
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B2126
- lsls r0, r6, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- bne _080B2126
- ldr r0, _080B2138
- adds r0, r6, r0
- ldrb r0, [r0]
- lsls r4, r0, 2
- adds r4, r0
- adds r4, 0x2
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_80AEFE8
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 6
- ldr r2, _080B213C
- adds r1, r4, r2
- strh r0, [r1]
- ldr r1, _080B2140
- adds r2, r4, r1
- adds r1, r0, 0x1
- strh r1, [r2]
- ldr r1, _080B2144
- adds r2, r4, r1
- adds r1, r0, 0
- adds r1, 0x10
- strh r1, [r2]
- ldr r2, _080B2148
- adds r4, r2
- adds r0, 0x11
- strh r0, [r4]
- movs r0, 0x63
- bl PlaySE
-_080B2126:
- adds r6, 0x1
- cmp r6, 0x3
- ble _080B20CA
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2134: .4byte 0x020192dd
-_080B2138: .4byte gUnknown_02038696
-_080B213C: .4byte 0x0600c028
-_080B2140: .4byte 0x0600c02a
-_080B2144: .4byte 0x0600c068
-_080B2148: .4byte 0x0600c06a
- thumb_func_end unref_sub_80B20C4
-
- thumb_func_start sub_80B214C
-sub_80B214C: @ 80B214C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- ldr r0, _080B2178
- adds r2, r1, r0
- ldrb r1, [r2, 0x15]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- bne _080B2172
- ldrb r1, [r2, 0xC]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080B217C
-_080B2172:
- movs r0, 0
- b _080B217E
- .align 2, 0
-_080B2178: .4byte 0x02019260
-_080B217C:
- movs r0, 0x1
-_080B217E:
- pop {r1}
- bx r1
- thumb_func_end sub_80B214C
-
- thumb_func_start sub_80B2184
-sub_80B2184: @ 80B2184
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r4, _080B2250
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r4, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080B2254
- movs r2, 0xF0
- strh r2, [r0]
- ldr r0, _080B2258
- movs r1, 0xA0
- strh r1, [r0]
- ldr r0, _080B225C
- strh r2, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _080B2260
- movs r0, 0
- str r0, [sp]
- ldr r0, _080B2264
- mov r2, sp
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r2, _080B2268
- str r2, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _080B226C
- bl LZDecompressVram
- ldrb r1, [r4]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- strb r0, [r4]
- movs r4, 0
- ldr r6, _080B2270
- adds r7, r2, 0
- movs r5, 0x4
- ldr r3, _080B2274
-_080B21EE:
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1, 0x5]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1, 0x5]
- ldrb r0, [r3, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1, 0x5]
- adds r0, r7, 0
- ands r0, r2
- orrs r0, r5
- strb r0, [r1, 0x5]
- adds r3, 0x4
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B21EE
- ldr r3, _080B2278
- ldrb r2, [r3]
- movs r1, 0x4
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- movs r4, 0x1
- orrs r0, r4
- strb r0, [r3]
- ldr r2, _080B227C
- ldrb r0, [r2]
- ands r1, r0
- orrs r1, r4
- strb r1, [r2]
- adds r2, 0x2
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x1]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2250: .4byte REG_BG1CNT
-_080B2254: .4byte gUnknown_030042C0
-_080B2258: .4byte gUnknown_030041B4
-_080B225C: .4byte REG_BG1HOFS
-_080B2260: .4byte 0x0600f000
-_080B2264: .4byte 0x040000d4
-_080B2268: .4byte 0x85000400
-_080B226C: .4byte gUnknown_08D17C3C
-_080B2270: .4byte gSprites
-_080B2274: .4byte 0x02019338
-_080B2278: .4byte REG_BG2CNT
-_080B227C: .4byte REG_BG0CNT
- thumb_func_end sub_80B2184
-
- thumb_func_start sub_80B2280
-sub_80B2280: @ 80B2280
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r2, _080B2358
- movs r3, 0x80
- lsls r3, 6
- ldr r0, _080B235C
- mov r12, r0
- ldr r0, _080B2360
- mov r8, r0
- movs r5, 0
- ldr r1, _080B2364
- movs r4, 0x80
- lsls r4, 5
- ldr r6, _080B2368
- movs r7, 0x85
- lsls r7, 24
-_080B22A4:
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080B22A4
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _080B236C
- movs r2, 0
- str r2, [sp]
- ldr r0, _080B2364
- mov r3, sp
- str r3, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080B2368
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- mov r0, r12
- strh r2, [r0]
- mov r3, r8
- strh r2, [r3]
- ldr r2, _080B2370
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r2, 0x1]
- ldrb r1, [r2, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- ldrb r1, [r2]
- movs r3, 0xD
- negs r3, r3
- adds r0, r3, 0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r2]
- movs r4, 0
- ldr r5, _080B2374
- adds r6, r3, 0
- ldr r3, _080B2378
-_080B231E:
- ldrb r0, [r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x5]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1, 0x5]
- ldrb r0, [r3, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r2, [r1, 0x5]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1, 0x5]
- adds r3, 0x4
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B231E
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2358: .4byte 0x06008000
-_080B235C: .4byte gUnknown_030042C0
-_080B2360: .4byte gUnknown_030041B4
-_080B2364: .4byte 0x040000d4
-_080B2368: .4byte 0x85000400
-_080B236C: .4byte 0x0600f000
-_080B2370: .4byte REG_BG1CNT
-_080B2374: .4byte gSprites
-_080B2378: .4byte 0x02019338
- thumb_func_end sub_80B2280
-
- thumb_func_start sub_80B237C
-sub_80B237C: @ 80B237C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080B23AC
- movs r0, 0
- strh r0, [r1]
- ldr r1, _080B23B0
- movs r0, 0xA0
- strh r0, [r1]
- movs r0, 0x62
- movs r1, 0
- bl PlaySE12WithPanning
- ldr r1, _080B23B4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080B23B8
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B23AC: .4byte gUnknown_030042C0
-_080B23B0: .4byte gUnknown_030041B4
-_080B23B4: .4byte gTasks
-_080B23B8: .4byte sub_80B23BC
- thumb_func_end sub_80B237C
-
- thumb_func_start sub_80B23BC
-sub_80B23BC: @ 80B23BC
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _080B23F4
- ldrh r0, [r1]
- subs r0, 0x7
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bge _080B23D4
- movs r0, 0
- strh r0, [r1]
-_080B23D4:
- ldrh r2, [r1]
- cmp r2, 0
- bne _080B23EE
- ldr r0, _080B23F8
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- strh r2, [r1, 0x8]
- strh r2, [r1, 0xA]
- strh r2, [r1, 0xC]
- ldr r0, _080B23FC
- str r0, [r1]
-_080B23EE:
- pop {r0}
- bx r0
- .align 2, 0
-_080B23F4: .4byte gUnknown_030041B4
-_080B23F8: .4byte gTasks
-_080B23FC: .4byte sub_80B2400
- thumb_func_end sub_80B23BC
-
- thumb_func_start sub_80B2400
-sub_80B2400: @ 80B2400
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080B2424
- lsls r3, r4, 2
- adds r0, r3, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- cmp r1, 0x1
- beq _080B247C
- cmp r1, 0x1
- bgt _080B2428
- cmp r1, 0
- beq _080B2432
- b _080B24FC
- .align 2, 0
-_080B2424: .4byte gTasks
-_080B2428:
- cmp r1, 0x2
- beq _080B24D6
- cmp r1, 0x3
- beq _080B24EC
- b _080B24FC
-_080B2432:
- movs r2, 0
- adds r6, r3, 0
- ldr r5, _080B2470
- ldr r3, _080B2474
-_080B243A:
- adds r0, r2, r5
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x3
- ble _080B243A
- bl sub_80AFA5C
- bl sub_80B0588
- bl sub_80AEF50
- bl sub_80B1118
- movs r0, 0x1
- bl sub_80B1FD0
- bl sub_80AFFA0
- ldr r0, _080B2478
- adds r1, r6, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x8]
- b _080B24FC
- .align 2, 0
-_080B2470: .4byte 0x02019218
-_080B2474: .4byte gUnknown_02038696
-_080B2478: .4byte gTasks
-_080B247C:
- ldr r0, _080B24C0
- ldrb r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _080B24D0
- ldr r2, _080B24C4
- ldrb r0, [r2, 0x7]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2, 0x7]
- bl sub_80AE074
- lsls r0, 24
- cmp r0, 0
- beq _080B249E
- bl sub_80AF438
-_080B249E:
- ldr r4, _080B24C8
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B24CC
- adds r1, r4, 0
- bl SetTaskFuncWithFollowupFunc
- bl sub_80AF860
- movs r0, 0x2
- strh r0, [r5, 0x8]
- b _080B24FC
- .align 2, 0
-_080B24C0: .4byte gUnknown_0203869A
-_080B24C4: .4byte 0x02019204
-_080B24C8: .4byte sub_80C8C80
-_080B24CC: .4byte sub_80AD8DC
-_080B24D0:
- bl sub_80AF438
- b _080B24E2
-_080B24D6:
- ldr r0, _080B24E8
- ldrb r1, [r0, 0x7]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080B24FC
-_080B24E2:
- movs r0, 0x3
- strh r0, [r5, 0x8]
- b _080B24FC
- .align 2, 0
-_080B24E8: .4byte 0x02019204
-_080B24EC:
- bl sub_80AF120
- bl sub_80AEB30
- movs r0, 0
- strh r0, [r5, 0x8]
- ldr r0, _080B2504
- str r0, [r5]
-_080B24FC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2504: .4byte sub_80B253C
- thumb_func_end sub_80B2400
-
- thumb_func_start sub_80B2508
-sub_80B2508: @ 80B2508
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080B2530
- ldrh r0, [r1]
- adds r0, 0x7
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA0
- ble _080B252C
- ldr r0, _080B2534
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080B2538
- str r0, [r1]
-_080B252C:
- pop {r0}
- bx r0
- .align 2, 0
-_080B2530: .4byte gUnknown_030041B4
-_080B2534: .4byte gTasks
-_080B2538: .4byte sub_80ADCDC
- thumb_func_end sub_80B2508
-
- thumb_func_start sub_80B253C
-sub_80B253C: @ 80B253C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B255C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0x9
- bgt _080B2560
- adds r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _080B259C
- .align 2, 0
-_080B255C: .4byte gTasks
-_080B2560:
- ldrh r3, [r1, 0xA]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r0, 0
- bne _080B257E
- ldrh r2, [r1, 0x8]
- movs r4, 0x8
- ldrsh r0, [r1, r4]
- cmp r0, 0x10
- bne _080B257A
- adds r0, r3, 0x1
- strh r0, [r1, 0xA]
- b _080B259C
-_080B257A:
- adds r0, r2, 0x1
- b _080B259A
-_080B257E:
- ldrh r0, [r1, 0x8]
- movs r3, 0x8
- ldrsh r2, [r1, r3]
- cmp r2, 0
- bne _080B2598
- strh r2, [r1, 0xA]
- strh r2, [r1, 0xC]
- ldr r0, _080B2594
- str r0, [r1]
- b _080B259C
- .align 2, 0
-_080B2594: .4byte sub_80B25A4
-_080B2598:
- subs r0, 0x1
-_080B259A:
- strh r0, [r1, 0x8]
-_080B259C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B253C
-
- thumb_func_start sub_80B25A4
-sub_80B25A4: @ 80B25A4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B25C4
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0x9
- bgt _080B25C8
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- b _080B25D8
- .align 2, 0
-_080B25C4: .4byte gTasks
-_080B25C8:
- movs r0, 0
- strh r0, [r4, 0xC]
- movs r0, 0x61
- movs r1, 0
- bl PlaySE12WithPanning
- ldr r0, _080B25E0
- str r0, [r4]
-_080B25D8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B25E0: .4byte sub_80B2508
- thumb_func_end sub_80B25A4
-
- thumb_func_start sub_80B25E4
-sub_80B25E4: @ 80B25E4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r6, 0
- ldr r5, _080B26B4
-_080B25F6:
- bl AllocOamMatrix
- lsls r1, r6, 2
- ldr r2, _080B26B8
- mov r8, r2
- adds r4, r1, r2
- ldrb r1, [r4]
- lsls r3, r1, 4
- adds r3, r1
- lsls r3, 2
- adds r3, r5
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1F
- ands r0, r1
- lsls r0, 1
- ldrb r1, [r3, 0x3]
- movs r7, 0x3F
- negs r7, r7
- adds r2, r7, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x3]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r2, [r0, 0x1]
- movs r3, 0x4
- negs r3, r3
- adds r1, r3, 0
- ands r2, r1
- movs r1, 0x1
- orrs r2, r1
- strb r2, [r0, 0x1]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- mov r1, r9
- bl StartSpriteAffineAnim
- mov r7, r9
- cmp r7, 0x2
- bne _080B267A
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl AnimateSprite
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r3, 0x5
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- strb r1, [r0]
-_080B267A:
- adds r6, 0x1
- cmp r6, 0x3
- ble _080B25F6
- ldr r0, _080B26BC
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B26C0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- mov r7, r9
- strh r7, [r1, 0x8]
- ldr r2, _080B26C4
- add r2, r8
- ldrb r0, [r2, 0x7]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2, 0x7]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B26B4: .4byte gSprites
-_080B26B8: .4byte 0x02019338
-_080B26BC: .4byte sub_80B26C8
-_080B26C0: .4byte gTasks
-_080B26C4: .4byte 0xfffffecc
- thumb_func_end sub_80B25E4
-
- thumb_func_start sub_80B26C8
-sub_80B26C8: @ 80B26C8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, _080B2750
- ldr r4, _080B2754
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 26
- cmp r0, 0
- bge _080B274A
- ldr r0, _080B2758
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x8]
- cmp r0, 0x1
- bne _080B2718
- adds r5, r2, 0
- movs r3, 0x4
- adds r2, r4, 0
- movs r4, 0x3
-_080B26FE:
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r3
- strb r0, [r1]
- adds r2, 0x4
- subs r4, 0x1
- cmp r4, 0
- bge _080B26FE
-_080B2718:
- movs r4, 0
-_080B271A:
- lsls r0, r4, 2
- ldr r5, _080B2754
- adds r0, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B2750
- adds r0, r1
- bl FreeSpriteOamMatrix
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B271A
- ldr r0, _080B275C
- adds r2, r5, r0
- ldrb r1, [r2, 0x7]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x7]
- adds r0, r6, 0
- bl DestroyTask
-_080B274A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2750: .4byte gSprites
-_080B2754: .4byte 0x02019338
-_080B2758: .4byte gTasks
-_080B275C: .4byte 0xfffffecc
- thumb_func_end sub_80B26C8
-
- thumb_func_start sub_80B2760
-sub_80B2760: @ 80B2760
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0xB1
- lsls r0, 1
- cmp r1, r0
- bls _080B2770
- movs r1, 0x1
-_080B2770:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80B2760
-
- thumb_func_start sub_80B2778
-sub_80B2778: @ 80B2778
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _080B278C
- cmp r1, r0
- bls _080B2786
- movs r1, 0
-_080B2786:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080B278C: .4byte 0x0000019b
- thumb_func_end sub_80B2778
-
- thumb_func_start sub_80B2790
-sub_80B2790: @ 80B2790
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- ldr r4, _080B27F0
- adds r0, r4
- ldrh r0, [r0, 0x6]
- bl sub_80B2760
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _080B27F4
- lsls r0, r6, 6
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80B2778
- lsls r0, 16
- lsrs r7, r0, 16
- adds r4, 0xE8
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- bl sub_8075624
- ldr r1, _080B27F8
- movs r2, 0
- adds r0, r1, 0x3
-_080B27D0:
- strb r2, [r0]
- subs r0, 0x1
- cmp r0, r1
- bge _080B27D0
- cmp r5, 0x90
- beq _080B2848
- cmp r5, 0x90
- bgt _080B2806
- cmp r5, 0x4C
- beq _080B2898
- cmp r5, 0x4C
- bgt _080B27FC
- cmp r5, 0xD
- beq _080B2898
- b _080B28BE
- .align 2, 0
-_080B27F0: .4byte 0x02019260
-_080B27F4: .4byte gUnknown_02038570
-_080B27F8: .4byte gUnknown_02024E84
-_080B27FC:
- cmp r5, 0x82
- beq _080B2898
- cmp r5, 0x8F
- beq _080B2898
- b _080B28BE
-_080B2806:
- cmp r5, 0xD8
- beq _080B2880
- cmp r5, 0xD8
- bgt _080B2814
- cmp r5, 0xAE
- beq _080B2822
- b _080B28BE
-_080B2814:
- cmp r5, 0xDA
- beq _080B288C
- movs r0, 0x88
- lsls r0, 1
- cmp r5, r0
- beq _080B2848
- b _080B28BE
-_080B2822:
- ldr r0, _080B2840
- lsls r1, r7, 3
- subs r1, r7
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x6]
- cmp r0, 0x7
- beq _080B2838
- ldrb r0, [r1, 0x7]
- cmp r0, 0x7
- bne _080B28B8
-_080B2838:
- ldr r1, _080B2844
- movs r0, 0
- b _080B28BC
- .align 2, 0
-_080B2840: .4byte gBaseStats
-_080B2844: .4byte gUnknown_0202F7C4
-_080B2848:
- lsls r0, r6, 3
- subs r0, r6
- lsls r0, 2
- ldr r4, _080B2878
- adds r0, r4
- ldrb r5, [r0, 0x1B]
- ldr r6, _080B287C
- lsls r5, 6
- adds r0, r5, r6
- ldrh r0, [r0]
- bl sub_80B2778
- adds r4, 0xE8
- strh r0, [r4, 0x2]
- adds r6, 0x38
- adds r5, r6
- ldr r0, [r5]
- str r0, [r4, 0x10]
- ldrb r0, [r4, 0x4]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x4]
- b _080B28BE
- .align 2, 0
-_080B2878: .4byte 0x02019260
-_080B287C: .4byte gUnknown_02038570
-_080B2880:
- ldr r1, _080B2888
- movs r0, 0xFF
- b _080B28BC
- .align 2, 0
-_080B2888: .4byte gUnknown_0202F7BE
-_080B288C:
- ldr r1, _080B2894
- movs r0, 0
- b _080B28BC
- .align 2, 0
-_080B2894: .4byte gUnknown_0202F7BE
-_080B2898:
- ldr r0, _080B28B0
- adds r2, r0, 0
- adds r2, 0x5A
- ldrb r1, [r2]
- cmp r1, 0
- bne _080B28B8
- movs r0, 0x2
- strb r0, [r2]
- ldr r0, _080B28B4
- strb r1, [r0]
- b _080B28BE
- .align 2, 0
-_080B28B0: .4byte 0x02019204
-_080B28B4: .4byte gUnknown_0202F7C4
-_080B28B8:
- ldr r1, _080B28C8
- movs r0, 0x1
-_080B28BC:
- strb r0, [r1]
-_080B28BE:
- bl sub_80B2968
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B28C8: .4byte gUnknown_0202F7C4
- thumb_func_end sub_80B2790
-
- thumb_func_start unref_sub_80B28CC
-unref_sub_80B28CC: @ 80B28CC
- push {r4,lr}
- ldr r4, _080B28EC
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x14
- bl memset
- subs r4, 0xEA
- ldrb r0, [r4]
- cmp r0, 0
- beq _080B28E6
- subs r0, 0x1
- strb r0, [r4]
-_080B28E6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B28EC: .4byte 0x02019348
- thumb_func_end unref_sub_80B28CC
-
- thumb_func_start sub_80B28F0
-sub_80B28F0: @ 80B28F0
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r6, _080B2924
- strb r4, [r6, 0x5]
- ldr r5, _080B2928
- lsls r4, 6
- adds r0, r4, r5
- ldrh r0, [r0]
- bl sub_80B2778
- strh r0, [r6]
- adds r0, r5, 0
- adds r0, 0x38
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [r6, 0x8]
- adds r5, 0x3C
- adds r4, r5
- ldr r0, [r4]
- str r0, [r6, 0xC]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2924: .4byte 0x02019348
-_080B2928: .4byte gUnknown_02038570
- thumb_func_end sub_80B28F0
-
- thumb_func_start sub_80B292C
-sub_80B292C: @ 80B292C
- push {lr}
- ldr r0, _080B2958
- bl object_new_hidden_with_callback
- ldr r1, _080B295C
- strb r0, [r1, 0x3]
- ldr r0, _080B2960
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B2964
- adds r0, r1
- bl InitSpriteAffineAnim
- bl sub_80B2968
- pop {r0}
- bx r0
- .align 2, 0
-_080B2958: .4byte SpriteCallbackDummy
-_080B295C: .4byte gUnknown_02024BE0
-_080B2960: .4byte gUnknown_02024C08
-_080B2964: .4byte gSprites
- thumb_func_end sub_80B292C
-
- thumb_func_start sub_80B2968
-sub_80B2968: @ 80B2968
- push {r4,lr}
- ldr r0, _080B29AC
- ldrb r0, [r0, 0x3]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _080B29B0
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0x3
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- movs r0, 0x3
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B29AC: .4byte gUnknown_02024BE0
-_080B29B0: .4byte gSprites
- thumb_func_end sub_80B2968
-
- thumb_func_start sub_80B29B4
-sub_80B29B4: @ 80B29B4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _080B29D4
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x6]
- cmp r0, 0x20
- bhi _080B2A6C
- lsls r0, 2
- ldr r1, _080B29D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B29D4: .4byte gBattleMoves
-_080B29D8: .4byte _080B29DC
- .align 2, 0
-_080B29DC:
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A60
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A60
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
- .4byte _080B2A6C
-_080B2A60:
- ldr r1, _080B2A68
- movs r0, 0x2
- b _080B2A70
- .align 2, 0
-_080B2A68: .4byte gUnknown_02024C08
-_080B2A6C:
- ldr r1, _080B2A78
- movs r0, 0x3
-_080B2A70:
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080B2A78: .4byte gUnknown_02024C08
- thumb_func_end sub_80B29B4
-
- thumb_func_start sub_80B2A7C
-sub_80B2A7C: @ 80B2A7C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- ldr r1, _080B2AC8
- ldrb r0, [r1]
- cmp r0, 0
- beq _080B2AB6
-_080B2AA8:
- adds r6, 0x1
- cmp r6, 0x2
- bgt _080B2AB6
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B2AA8
-_080B2AB6:
- mov r0, r9
- cmp r0, 0xFF
- bne _080B2AD0
- ldr r0, _080B2ACC
- ldrb r0, [r0]
- cmp r6, r0
- beq _080B2AD0
- movs r0, 0
- b _080B2C38
- .align 2, 0
-_080B2AC8: .4byte gUnknown_02038690
-_080B2ACC: .4byte gUnknown_02038695
-_080B2AD0:
- ldr r0, _080B2AE4
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080B2B16
- lsls r0, 2
- ldr r1, _080B2AE8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B2AE4: .4byte gUnknown_0203869C
-_080B2AE8: .4byte _080B2AEC
- .align 2, 0
-_080B2AEC:
- .4byte _080B2B16
- .4byte _080B2B00
- .4byte _080B2B04
- .4byte _080B2B08
- .4byte _080B2B0E
-_080B2B00:
- adds r0, r7, 0x3
- b _080B2B12
-_080B2B04:
- adds r0, r7, 0x6
- b _080B2B12
-_080B2B08:
- adds r0, r7, 0
- adds r0, 0x9
- b _080B2B12
-_080B2B0E:
- adds r0, r7, 0
- adds r0, 0xC
-_080B2B12:
- lsls r0, 24
- lsrs r7, r0, 24
-_080B2B16:
- mov r1, r9
- cmp r1, 0xFE
- beq _080B2BC4
- mov r0, r9
- movs r1, 0x1
- bl sub_80B2C4C
- adds r4, r0, 0
- lsls r4, 24
- ldr r2, _080B2B98
- lsrs r4, 19
- ldr r0, _080B2B9C
- adds r1, r2, r0
- adds r1, r4, r1
- ldr r5, _080B2BA0
- lsls r6, 6
- adds r0, r5, 0
- adds r0, 0x38
- adds r0, r6, r0
- ldr r0, [r0]
- str r0, [r1]
- adds r1, r4, r2
- mov r8, r1
- adds r0, r6, r5
- ldrh r1, [r0]
- ldr r0, _080B2BA4
- add r0, r8
- strh r1, [r0]
- movs r0, 0xB8
- lsls r0, 6
- adds r1, r2, r0
- adds r1, r4, r1
- adds r0, r5, 0
- adds r0, 0x3C
- adds r0, r6, r0
- ldr r0, [r0]
- str r0, [r1]
- ldr r1, _080B2BA8
- adds r0, r2, r1
- adds r0, r4, r0
- adds r1, r5, 0x2
- adds r1, r6, r1
- str r2, [sp]
- bl StringCopy
- ldr r2, [sp]
- ldr r0, _080B2BAC
- adds r2, r0
- adds r4, r2
- adds r5, 0xD
- adds r6, r5
- adds r0, r4, 0
- adds r1, r6, 0
- bl StringCopy
- mov r1, r9
- cmp r1, 0xFF
- beq _080B2BB8
- ldr r0, _080B2BB0
- ldrh r1, [r0]
- ldr r0, _080B2BB4
- add r0, r8
- strb r1, [r0]
- b _080B2C36
- .align 2, 0
-_080B2B98: .4byte gSaveBlock1
-_080B2B9C: .4byte 0x00002dfc
-_080B2BA0: .4byte gUnknown_02038570
-_080B2BA4: .4byte 0x00002e04
-_080B2BA8: .4byte 0x00002e07
-_080B2BAC: .4byte 0x00002e12
-_080B2BB0: .4byte gUnknown_0203869C
-_080B2BB4: .4byte 0x00002e06
-_080B2BB8:
- ldr r0, _080B2BC0
- add r0, r8
- strb r7, [r0]
- b _080B2C36
- .align 2, 0
-_080B2BC0: .4byte 0x00002e06
-_080B2BC4:
- ldr r5, _080B2C14
- ldr r2, _080B2C18
- lsls r4, r6, 6
- adds r0, r2, 0
- adds r0, 0x38
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [r5]
- adds r0, r2, 0
- adds r0, 0x3C
- adds r0, r4, r0
- ldr r0, [r0]
- str r0, [r5, 0x4]
- adds r0, r4, r2
- ldrh r0, [r0]
- strh r0, [r5, 0x8]
- adds r0, r5, 0
- adds r0, 0xB
- adds r1, r2, 0x2
- adds r1, r4, r1
- str r2, [sp]
- bl StringCopy
- ldr r0, _080B2C1C
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- ldr r2, [sp]
- cmp r0, 0
- beq _080B2C24
- adds r0, r5, 0
- adds r0, 0x16
- lsls r1, r6, 3
- subs r1, r6
- lsls r1, 2
- ldr r2, _080B2C20
- adds r1, r2
- bl StringCopy
- b _080B2C32
- .align 2, 0
-_080B2C14: .4byte 0x02015de0
-_080B2C18: .4byte gUnknown_02038570
-_080B2C1C: .4byte gUnknown_0203869A
-_080B2C20: .4byte gLinkPlayers + 0x8
-_080B2C24:
- adds r0, r5, 0
- adds r0, 0x16
- adds r1, r2, 0
- adds r1, 0xD
- adds r1, r4, r1
- bl StringCopy
-_080B2C32:
- ldr r0, _080B2C48
- strb r7, [r0, 0xA]
-_080B2C36:
- movs r0, 0x1
-_080B2C38:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080B2C48: .4byte 0x02015de0
- thumb_func_end sub_80B2A7C
-
- thumb_func_start sub_80B2C4C
-sub_80B2C4C: @ 80B2C4C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- lsrs r1, 24
- cmp r0, 0x2
- beq _080B2C6E
- cmp r0, 0x2
- ble _080B2C66
- cmp r0, 0x3
- beq _080B2CA0
- b _080B2CD4
-_080B2C66:
- cmp r2, 0
- blt _080B2CD4
- adds r0, r2, 0
- b _080B2D16
-_080B2C6E:
- cmp r1, 0
- beq _080B2C98
- movs r2, 0x4
- ldr r0, _080B2C9C
- adds r4, r0, 0
- adds r4, 0x60
- adds r3, r0, 0
- adds r3, 0x80
-_080B2C7E:
- adds r1, r3, 0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5,r6}
- stm r1!, {r5,r6}
- subs r4, 0x20
- subs r3, 0x20
- subs r2, 0x1
- cmp r2, 0x2
- bgt _080B2C7E
-_080B2C98:
- movs r0, 0x2
- b _080B2D16
- .align 2, 0
-_080B2C9C: .4byte gSaveBlock1 + 0x2DFC
-_080B2CA0:
- cmp r1, 0
- beq _080B2CCA
- movs r2, 0x7
- ldr r0, _080B2CD0
- adds r4, r0, 0
- adds r4, 0xC0
- adds r3, r0, 0
- adds r3, 0xE0
-_080B2CB0:
- adds r1, r3, 0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5,r7}
- stm r1!, {r5,r7}
- subs r4, 0x20
- subs r3, 0x20
- subs r2, 0x1
- cmp r2, 0x5
- bgt _080B2CB0
-_080B2CCA:
- movs r0, 0x5
- b _080B2D16
- .align 2, 0
-_080B2CD0: .4byte gSaveBlock1 + 0x2DFC
-_080B2CD4:
- ldr r0, _080B2CE8
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080B2D14
- lsls r0, 2
- ldr r1, _080B2CEC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B2CE8: .4byte gUnknown_0203869C
-_080B2CEC: .4byte _080B2CF0
- .align 2, 0
-_080B2CF0:
- .4byte _080B2D04
- .4byte _080B2D08
- .4byte _080B2D0C
- .4byte _080B2D10
- .4byte _080B2D14
-_080B2D04:
- movs r0, 0x8
- b _080B2D16
-_080B2D08:
- movs r0, 0x9
- b _080B2D16
-_080B2D0C:
- movs r0, 0xA
- b _080B2D16
-_080B2D10:
- movs r0, 0xB
- b _080B2D16
-_080B2D14:
- movs r0, 0xC
-_080B2D16:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B2C4C
-
- thumb_func_start sub_80B2D1C
-sub_80B2D1C: @ 80B2D1C
- push {r4-r7,lr}
- ldr r0, _080B2D48
- ldr r4, _080B2D4C
- ldr r1, _080B2D50
- adds r3, r0, r1
- movs r2, 0x7
-_080B2D28:
- adds r1, r3, 0
- adds r0, r4, 0
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5-r7}
- stm r1!, {r5-r7}
- ldm r0!, {r5,r6}
- stm r1!, {r5,r6}
- adds r4, 0x20
- adds r3, 0x20
- subs r2, 0x1
- cmp r2, 0
- bge _080B2D28
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2D48: .4byte gSaveBlock1
-_080B2D4C: .4byte gUnknown_083CC5D0
-_080B2D50: .4byte 0x00002dfc
- thumb_func_end sub_80B2D1C
-
- thumb_func_start CreateShopMenu
-CreateShopMenu: @ 80B2D54
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ScriptContext2_Enable
- ldr r1, _080B2D90
- movs r0, 0
- strb r4, [r1, 0xC]
- strb r0, [r1, 0x9]
- cmp r4, 0
- bne _080B2D9C
- movs r0, 0x2
- strb r0, [r1, 0xA]
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x7
- bl MenuDrawTextWindow
- ldr r3, _080B2D94
- ldr r0, _080B2D98
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x3
- bl PrintMenuItemsReordered
- b _080B2DBC
- .align 2, 0
-_080B2D90: .4byte gUnknown_03000708
-_080B2D94: .4byte gUnknown_083CC6D0
-_080B2D98: .4byte gUnknown_083CC6E8
-_080B2D9C:
- movs r0, 0x1
- strb r0, [r1, 0xA]
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x5
- bl MenuDrawTextWindow
- ldr r3, _080B2DEC
- ldr r0, _080B2DF0
- str r0, [sp]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x2
- bl PrintMenuItemsReordered
-_080B2DBC:
- ldr r0, _080B2DF4
- ldrb r3, [r0, 0xA]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- bl InitMenu
- ldr r0, _080B2DF8
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x8
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080B2DEC: .4byte gUnknown_083CC6D0
-_080B2DF0: .4byte gUnknown_083CC6EB
-_080B2DF4: .4byte gUnknown_03000708
-_080B2DF8: .4byte sub_80B2E38
- thumb_func_end CreateShopMenu
-
- thumb_func_start SetShopMenuCallback
-SetShopMenuCallback: @ 80B2DFC
- ldr r1, _080B2E04
- str r0, [r1]
- bx lr
- .align 2, 0
-_080B2E04: .4byte gUnknown_03000708
- thumb_func_end SetShopMenuCallback
-
- thumb_func_start SetShopItemsForSale
-SetShopItemsForSale: @ 80B2E08
- push {lr}
- adds r1, r0, 0
- movs r2, 0
- ldr r3, _080B2E34
- str r1, [r3, 0x4]
- strb r2, [r3, 0x8]
- ldrh r0, [r1]
- cmp r0, 0
- beq _080B2E30
-_080B2E1A:
- ldrb r0, [r3, 0x8]
- adds r0, 0x1
- strb r0, [r3, 0x8]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- bne _080B2E1A
-_080B2E30:
- pop {r0}
- bx r0
- .align 2, 0
-_080B2E34: .4byte gUnknown_03000708
- thumb_func_end SetShopItemsForSale
-
- thumb_func_start sub_80B2E38
-sub_80B2E38: @ 80B2E38
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _080B2E60
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080B2E68
- ldr r4, _080B2E64
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- beq _080B2EF4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080B2E82
- .align 2, 0
-_080B2E60: .4byte gMain
-_080B2E64: .4byte gUnknown_03000708
-_080B2E68:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080B2E90
- ldr r4, _080B2E8C
- ldrb r0, [r4, 0x9]
- ldrb r1, [r4, 0xA]
- cmp r0, r1
- beq _080B2EF4
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080B2E82:
- bl MoveMenuCursor
- strb r0, [r4, 0x9]
- b _080B2EF4
- .align 2, 0
-_080B2E8C: .4byte gUnknown_03000708
-_080B2E90:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B2EE0
- movs r0, 0x5
- bl PlaySE
- ldr r3, _080B2EB0
- ldrb r0, [r3, 0xC]
- cmp r0, 0
- bne _080B2EBC
- ldr r1, _080B2EB4
- ldr r2, _080B2EB8
- b _080B2EC0
- .align 2, 0
-_080B2EB0: .4byte gUnknown_03000708
-_080B2EB4: .4byte gUnknown_083CC6D0
-_080B2EB8: .4byte gUnknown_083CC6E8
-_080B2EBC:
- ldr r1, _080B2ED8
- ldr r2, _080B2EDC
-_080B2EC0:
- ldrb r0, [r3, 0x9]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080B2EF4
- .align 2, 0
-_080B2ED8: .4byte gUnknown_083CC6D0
-_080B2EDC: .4byte gUnknown_083CC6EB
-_080B2EE0:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080B2EF4
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl HandleShopMenuQuit
-_080B2EF4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B2E38
-
- thumb_func_start sub_80B2EFC
-sub_80B2EFC: @ 80B2EFC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B2F24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080B2F28
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- ldr r0, _080B2F2C
- str r0, [r1]
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- .align 2, 0
-_080B2F24: .4byte gTasks
-_080B2F28: .4byte BuyMenuDrawGraphics
-_080B2F2C: .4byte sub_80B2FA0
- thumb_func_end sub_80B2EFC
-
- thumb_func_start sub_80B2F30
-sub_80B2F30: @ 80B2F30
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B2F58
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080B2F5C
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- ldr r0, _080B2F60
- str r0, [r1]
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- .align 2, 0
-_080B2F58: .4byte gTasks
-_080B2F5C: .4byte sub_80A6300
-_080B2F60: .4byte sub_80B2FA0
- thumb_func_end sub_80B2F30
-
- thumb_func_start HandleShopMenuQuit
-HandleShopMenuQuit: @ 80B2F64
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xB
- movs r3, 0x8
- bl MenuZeroFillWindowRect
- bl sub_80BE3BC
- bl ScriptContext2_Disable
- adds r0, r4, 0
- bl DestroyTask
- ldr r0, _080B2F9C
- ldr r0, [r0]
- cmp r0, 0
- beq _080B2F96
- bl _call_via_r0
-_080B2F96:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2F9C: .4byte gUnknown_03000708
- thumb_func_end HandleShopMenuQuit
-
- thumb_func_start sub_80B2FA0
-sub_80B2FA0: @ 80B2FA0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080B2FD4
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B2FCE
- ldr r0, _080B2FD8
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x18]
- lsls r0, 16
- ldrh r1, [r1, 0x1A]
- orrs r0, r1
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_080B2FCE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2FD4: .4byte gPaletteFade
-_080B2FD8: .4byte gTasks
- thumb_func_end sub_80B2FA0
-
- thumb_func_start ReturnToShopMenuAfterExitingSellMenu
-ReturnToShopMenuAfterExitingSellMenu: @ 80B2FDC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B2FF8
- ldrb r0, [r0, 0xC]
- bl CreateShopMenu
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B2FF8: .4byte gUnknown_03000708
- thumb_func_end ReturnToShopMenuAfterExitingSellMenu
-
- thumb_func_start Task_ExitSellMenu
-Task_ExitSellMenu: @ 80B2FFC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B3040
- ldr r0, _080B3028
- ldrb r0, [r0, 0xC]
- cmp r0, 0x2
- bne _080B3034
- ldr r1, _080B302C
- ldr r2, _080B3030
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _080B3040
- .align 2, 0
-_080B3028: .4byte gUnknown_03000708
-_080B302C: .4byte gOtherText_CanIHelpYou
-_080B3030: .4byte ReturnToShopMenuAfterExitingSellMenu
-_080B3034:
- ldr r1, _080B3048
- ldr r2, _080B304C
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_080B3040:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3048: .4byte gOtherText_AnythingElse
-_080B304C: .4byte ReturnToShopMenuAfterExitingSellMenu
- thumb_func_end Task_ExitSellMenu
-
- thumb_func_start sub_80B3050
-sub_80B3050: @ 80B3050
- push {lr}
- bl pal_fill_black
- ldr r0, _080B3064
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080B3064: .4byte Task_ExitSellMenu
- thumb_func_end sub_80B3050
-
- thumb_func_start sub_80B3068
-sub_80B3068: @ 80B3068
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl Task_ExitSellMenu
- pop {r0}
- bx r0
- thumb_func_end sub_80B3068
-
- thumb_func_start unref_sub_80B3078
-unref_sub_80B3078: @ 80B3078
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B308C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080B3090
- str r0, [r1]
- bx lr
- .align 2, 0
-_080B308C: .4byte gTasks
-_080B3090: .4byte Task_ExitSellMenu
- thumb_func_end unref_sub_80B3078
-
- thumb_func_start sub_80B3094
-sub_80B3094: @ 80B3094
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80B3094
-
- thumb_func_start sub_80B30AC
-sub_80B30AC: @ 80B30AC
- push {r4,lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r3, _080B30F0
- ldr r1, _080B30F4
- ldr r0, _080B30F8
- str r3, [r0]
- str r1, [r0, 0x4]
- ldr r4, _080B30FC
- str r4, [r0, 0x8]
- ldr r1, [r0, 0x8]
- movs r2, 0x80
- lsls r2, 4
- adds r1, r3, r2
- ldr r2, _080B3100
- str r1, [r0]
- str r2, [r0, 0x4]
- str r4, [r0, 0x8]
- ldr r1, [r0, 0x8]
- movs r1, 0x80
- lsls r1, 5
- adds r3, r1
- ldr r1, _080B3104
- str r3, [r0]
- str r1, [r0, 0x4]
- str r4, [r0, 0x8]
- ldr r0, [r0, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B30F0: .4byte gBG1TilemapBuffer
-_080B30F4: .4byte 0x0600e800
-_080B30F8: .4byte 0x040000d4
-_080B30FC: .4byte 0x80000400
-_080B3100: .4byte 0x0600e000
-_080B3104: .4byte 0x0600f000
- thumb_func_end sub_80B30AC
-
- thumb_func_start BuyMenuDrawGraphics
-BuyMenuDrawGraphics: @ 80B3108
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- bl sub_80F9438
- bl remove_some_task
- ldr r0, _080B3204
- movs r5, 0
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- ldr r0, _080B3208
- mov r8, r0
- ldrb r0, [r0, 0x8]
- movs r1, 0x80
- orrs r0, r1
- mov r1, r8
- strb r0, [r1, 0x8]
- movs r1, 0xE0
- lsls r1, 19
- movs r6, 0
- str r6, [sp, 0x4]
- ldr r0, _080B320C
- add r2, sp, 0x4
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080B3210
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _080B3214
- ldr r1, _080B3218
- bl LZDecompressVram
- ldr r0, _080B321C
- ldr r1, _080B3220
- bl sub_800D238
- ldr r0, _080B3224
- movs r1, 0xC0
- movs r2, 0x20
- bl LoadCompressedPalette
- bl FreeAllSpritePalettes
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- ldr r4, _080B3228
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- bl BuyMenuDrawMapGraphics
- ldr r0, _080B322C
- strb r6, [r0, 0x9]
- strb r5, [r0, 0xB]
- movs r0, 0
- movs r1, 0
- movs r2, 0x20
- movs r3, 0x20
- bl MenuZeroFillWindowRect
- ldr r0, _080B3230
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0
- bl sub_80B7C14
- movs r0, 0
- movs r1, 0x7
- bl sub_80B3764
- bl sub_80B37EC
- bl sub_80B3270
- ldr r0, _080B3234
- movs r1, 0x8
- bl CreateTask
- bl sub_80B3240
- movs r0, 0x1
- negs r0, r0
- str r6, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- mov r2, r8
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _080B3238
- bl SetVBlankCallback
- ldr r0, _080B323C
- bl SetMainCallback2
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3204: .4byte REG_BG1HOFS
-_080B3208: .4byte gPaletteFade
-_080B320C: .4byte 0x040000d4
-_080B3210: .4byte 0x85000100
-_080B3214: .4byte gBuyMenuFrame_Gfx
-_080B3218: .4byte 0x06007c00
-_080B321C: .4byte gBuyMenuFrame_Tilemap
-_080B3220: .4byte 0x02018000
-_080B3224: .4byte gMenuMoneyPal
-_080B3228: .4byte gWindowConfig_81E6DFC
-_080B322C: .4byte gUnknown_03000708
-_080B3230: .4byte gSaveBlock1
-_080B3234: .4byte sub_80B40E8
-_080B3238: .4byte sub_80B30AC
-_080B323C: .4byte sub_80B3094
- thumb_func_end BuyMenuDrawGraphics
-
- thumb_func_start sub_80B3240
-sub_80B3240: @ 80B3240
- push {lr}
- sub sp, 0x4
- ldr r1, _080B326C
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- mov r0, sp
- adds r0, 0x2
- movs r1, 0xD1
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- movs r1, 0xD8
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080B326C: .4byte gUnknown_083CC710
- thumb_func_end sub_80B3240
-
- thumb_func_start sub_80B3270
-sub_80B3270: @ 80B3270
- push {lr}
- bl sub_80F944C
- ldr r0, _080B32A0
- ldrb r0, [r0, 0x8]
- cmp r0, 0x7
- bls _080B329A
- movs r0, 0
- movs r1, 0xAC
- movs r2, 0xC
- bl sub_80F953C
- movs r0, 0x1
- movs r1, 0xAC
- movs r2, 0x94
- bl sub_80F953C
- movs r0, 0
- movs r1, 0x1
- bl sub_80F979C
-_080B329A:
- pop {r0}
- bx r0
- .align 2, 0
-_080B32A0: .4byte gUnknown_03000708
- thumb_func_end sub_80B3270
-
- thumb_func_start sub_80B32A4
-sub_80B32A4: @ 80B32A4
- push {lr}
- ldr r0, _080B32B8
- ldrb r0, [r0, 0xB]
- cmp r0, 0
- bne _080B32BC
- movs r0, 0
- movs r1, 0x1
- bl sub_80F979C
- b _080B32C4
- .align 2, 0
-_080B32B8: .4byte gUnknown_03000708
-_080B32BC:
- movs r0, 0
- movs r1, 0
- bl sub_80F979C
-_080B32C4:
- ldr r1, _080B32DC
- ldrb r0, [r1, 0xB]
- adds r0, 0x7
- ldrb r1, [r1, 0x8]
- cmp r0, r1
- blt _080B32E0
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
- b _080B32E8
- .align 2, 0
-_080B32DC: .4byte gUnknown_03000708
-_080B32E0:
- movs r0, 0x1
- movs r1, 0
- bl sub_80F979C
-_080B32E8:
- pop {r0}
- bx r0
- thumb_func_end sub_80B32A4
-
- thumb_func_start sub_80B32EC
-sub_80B32EC: @ 80B32EC
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r2
- lsls r1, 1
- adds r1, r0
- ldr r2, _080B3304
- adds r0, r2, 0
- strh r0, [r1]
- strh r0, [r1, 0x2]
- bx lr
- .align 2, 0
-_080B3304: .4byte 0x0000c3e1
- thumb_func_end sub_80B32EC
-
- thumb_func_start BuyMenuDrawMapMetatileLayer
-BuyMenuDrawMapMetatileLayer: @ 80B3308
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r2
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r3]
- strh r0, [r1]
- ldrh r0, [r3, 0x2]
- strh r0, [r1, 0x2]
- adds r2, r1, 0
- adds r2, 0x40
- ldrh r0, [r3, 0x4]
- strh r0, [r2]
- adds r1, 0x42
- ldrh r0, [r3, 0x6]
- strh r0, [r1]
- bx lr
- thumb_func_end BuyMenuDrawMapMetatileLayer
-
- thumb_func_start BuyMenuDrawMapMetatile
-BuyMenuDrawMapMetatile: @ 80B3330
- push {r4-r7,lr}
- adds r7, r2, 0
- lsls r3, 24
- lsrs r3, 24
- adds r2, r3, 0
- lsls r0, 17
- lsrs r0, 16
- lsls r1, 22
- movs r4, 0x80
- lsls r4, 15
- adds r1, r4
- lsrs r1, 16
- cmp r3, 0x1
- beq _080B3364
- cmp r3, 0x1
- bgt _080B3356
- cmp r3, 0
- beq _080B335C
- b _080B33C0
-_080B3356:
- cmp r2, 0x2
- beq _080B3398
- b _080B33C0
-_080B335C:
- ldr r5, _080B3360
- b _080B3366
- .align 2, 0
-_080B3360: .4byte gBG2TilemapBuffer
-_080B3364:
- ldr r5, _080B3390
-_080B3366:
- lsls r6, r0, 16
- asrs r6, 16
- lsls r4, r1, 16
- asrs r4, 16
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl BuyMenuDrawMapMetatileLayer
- ldr r0, _080B3394
- adds r5, r0
- adds r3, r7, 0
- adds r3, 0x8
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl BuyMenuDrawMapMetatileLayer
- b _080B33C0
- .align 2, 0
-_080B3390: .4byte gBG3TilemapBuffer
-_080B3394: .4byte 0xfffff800
-_080B3398:
- ldr r5, _080B33C8
- lsls r6, r0, 16
- asrs r6, 16
- lsls r4, r1, 16
- asrs r4, 16
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- adds r3, r7, 0
- bl BuyMenuDrawMapMetatileLayer
- ldr r0, _080B33CC
- adds r5, r0
- adds r3, r7, 0
- adds r3, 0x8
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl BuyMenuDrawMapMetatileLayer
-_080B33C0:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B33C8: .4byte gBG3TilemapBuffer
-_080B33CC: .4byte 0xfffff000
- thumb_func_end BuyMenuDrawMapMetatile
-
- thumb_func_start sub_80B33D0
-sub_80B33D0: @ 80B33D0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r6, r0, 0
- adds r4, r1, 0
- mov r8, r2
- lsls r4, 22
- ldr r5, _080B3418
- lsls r6, 17
- asrs r6, 16
- movs r0, 0x80
- lsls r0, 15
- adds r4, r0
- asrs r4, 16
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- mov r3, r8
- bl BuyMenuDrawMapMetatileLayer
- ldr r0, _080B341C
- adds r5, r0
- movs r0, 0x8
- add r8, r0
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- mov r3, r8
- bl BuyMenuDrawMapMetatileLayer
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3418: .4byte gBG3TilemapBuffer
-_080B341C: .4byte 0xfffff800
- thumb_func_end sub_80B33D0
-
- thumb_func_start sub_80B3420
-sub_80B3420: @ 80B3420
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r1, sp
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x3
- strh r0, [r1]
- ldrh r0, [r4]
- subs r0, 0x3
- strh r0, [r4]
- movs r1, 0
- ldr r0, _080B34A8
- mov r10, r0
- ldr r2, _080B34AC
- mov r9, r2
-_080B3452:
- movs r4, 0
- lsls r1, 16
- mov r8, r1
- asrs r7, r1, 16
-_080B345A:
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r4, 16
- asrs r6, r4, 16
- adds r0, r6
- mov r2, sp
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- adds r1, r7
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r7, 0x5
- beq _080B34D0
- cmp r6, 0x6
- beq _080B34D0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r0, r6
- mov r2, sp
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- adds r1, r7
- bl MapGridGetMetatileLayerTypeAt
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r5, r10
- bhi _080B34B0
- mov r1, r9
- ldr r0, [r1]
- ldr r0, [r0, 0x10]
- lsls r1, r5, 4
- ldr r2, [r0, 0xC]
- adds r2, r1
- b _080B34C0
- .align 2, 0
-_080B34A8: .4byte 0x000001ff
-_080B34AC: .4byte gMapHeader
-_080B34B0:
- mov r2, r9
- ldr r0, [r2]
- ldr r1, [r0, 0x14]
- ldr r2, _080B34CC
- adds r0, r5, r2
- lsls r0, 4
- ldr r2, [r1, 0xC]
- adds r2, r0
-_080B34C0:
- adds r0, r6, 0
- adds r1, r7, 0
- bl BuyMenuDrawMapMetatile
- b _080B3506
- .align 2, 0
-_080B34CC: .4byte 0xfffffe00
-_080B34D0:
- cmp r5, r10
- bhi _080B34EC
- asrs r0, r4, 16
- mov r3, r9
- ldr r1, [r3]
- ldr r1, [r1, 0x10]
- lsls r3, r5, 4
- ldr r2, [r1, 0xC]
- adds r2, r3
- mov r3, r8
- asrs r1, r3, 16
- bl sub_80B33D0
- b _080B3506
-_080B34EC:
- asrs r0, r4, 16
- mov r2, r9
- ldr r1, [r2]
- ldr r2, [r1, 0x14]
- ldr r3, _080B354C
- adds r1, r5, r3
- lsls r1, 4
- ldr r2, [r2, 0xC]
- adds r2, r1
- mov r3, r8
- asrs r1, r3, 16
- bl sub_80B33D0
-_080B3506:
- cmp r7, 0
- bne _080B3520
- asrs r1, r4, 16
- cmp r1, 0
- beq _080B3520
- cmp r1, 0x6
- beq _080B3520
- lsls r1, 17
- asrs r1, 16
- ldr r0, _080B3550
- movs r2, 0x40
- bl sub_80B32EC
-_080B3520:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r4, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _080B345A
- adds r0, r1, 0
- add r0, r8
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080B3452
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B354C: .4byte 0xfffffe00
-_080B3550: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80B3420
-
- thumb_func_start BuyMenuDrawMapGraphics
-BuyMenuDrawMapGraphics: @ 80B3554
- push {lr}
- bl sub_80F9020
- bl sub_80B356C
- bl sub_80B368C
- bl sub_80B3420
- pop {r0}
- bx r0
- thumb_func_end BuyMenuDrawMapGraphics
-
- thumb_func_start sub_80B356C
-sub_80B356C: @ 80B356C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r0, 0
- mov r8, r0
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- bl PlayerGetZCoord
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r5, 0
- ldr r2, _080B3674
- movs r1, 0x10
-_080B3598:
- lsls r0, r5, 3
- adds r0, r2
- strh r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _080B3598
- movs r5, 0
- ldr r7, _080B3678
- subs r1, r7, 0x6
- mov r9, r1
-_080B35B0:
- movs r4, 0
- adds r2, r5, 0x1
- mov r10, r2
-_080B35B6:
- mov r1, sp
- ldr r3, _080B367C
- adds r0, r3, 0
- ldrh r1, [r1]
- adds r0, r1
- adds r0, r4
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _080B3680
- adds r1, r2, 0
- mov r3, sp
- ldrh r3, [r3, 0x2]
- adds r1, r3
- adds r1, r5
- lsls r1, 16
- lsrs r1, 16
- ldr r2, [sp, 0x4]
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x10
- beq _080B3650
- mov r0, r8
- lsls r3, r0, 3
- mov r1, r9
- adds r0, r3, r1
- movs r6, 0
- strh r2, [r0]
- mov r0, r9
- adds r0, 0x2
- adds r0, r3, r0
- strh r4, [r0]
- ldr r1, _080B3684
- adds r0, r3, r1
- strh r5, [r0]
- ldr r1, _080B3688
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r2, r0, r1
- ldrb r0, [r2, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r0, 0x1
- bne _080B3616
- adds r0, r3, r7
- strh r6, [r0]
-_080B3616:
- ldrb r0, [r2, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r0, 0x2
- bne _080B3626
- adds r1, r3, r7
- movs r0, 0x1
- strh r0, [r1]
-_080B3626:
- ldrb r0, [r2, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r0, 0x3
- bne _080B3636
- adds r1, r3, r7
- movs r0, 0x2
- strh r0, [r1]
-_080B3636:
- ldrb r0, [r2, 0x18]
- lsls r0, 28
- lsrs r0, 28
- cmp r0, 0x4
- bne _080B3646
- adds r1, r3, r7
- movs r0, 0x3
- strh r0, [r1]
-_080B3646:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_080B3650:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x6
- bls _080B35B6
- mov r2, r10
- lsls r0, r2, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _080B35B0
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3674: .4byte gUnknown_020386A4
-_080B3678: .4byte gUnknown_020386AA
-_080B367C: .4byte 0x0000fffd
-_080B3680: .4byte 0x0000fffe
-_080B3684: .4byte gUnknown_020386A8
-_080B3688: .4byte gMapObjects
- thumb_func_end sub_80B356C
-
- thumb_func_start sub_80B368C
-sub_80B368C: @ 80B368C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r5, 0
- ldr r6, _080B3710
- adds r0, r6, 0x6
- mov r8, r0
- ldr r7, _080B3714
-_080B369E:
- lsls r4, r5, 3
- adds r1, r4, r6
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x10
- beq _080B36F8
- adds r1, r0, 0
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldrb r0, [r0, 0x5]
- adds r1, r6, 0x2
- adds r1, r4, r1
- ldrh r2, [r1]
- lsls r2, 4
- adds r2, 0x8
- lsls r2, 16
- asrs r2, 16
- adds r1, r6, 0x4
- adds r1, r4, r1
- ldrh r3, [r1]
- lsls r3, 20
- movs r1, 0x80
- lsls r1, 14
- adds r3, r1
- asrs r3, 16
- movs r1, 0x2
- str r1, [sp]
- ldr r1, _080B3718
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _080B371C
- adds r2, r0
- mov r1, r8
- adds r0, r4, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- bl StartSpriteAnim
-_080B36F8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _080B369E
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3710: .4byte gUnknown_020386A4
-_080B3714: .4byte gMapObjects
-_080B3718: .4byte SpriteCallbackDummy
-_080B371C: .4byte gSprites
- thumb_func_end sub_80B368C
-
- thumb_func_start sub_80B3720
-sub_80B3720: @ 80B3720
- push {r4-r6,lr}
- movs r1, 0
- ldr r6, _080B3754
- ldr r5, _080B3758
- ldr r4, _080B375C
- ldr r0, _080B3760
- adds r3, r0, 0
-_080B372E:
- lsls r0, r1, 16
- asrs r2, r0, 16
- lsls r1, r2, 1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0
- beq _080B3742
- adds r1, r6
- adds r0, r3
- strh r0, [r1]
-_080B3742:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, r5
- ble _080B372E
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3754: .4byte gBG1TilemapBuffer
-_080B3758: .4byte 0x000003ff
-_080B375C: .4byte 0x02018000
-_080B3760: .4byte 0x0000c3e0
- thumb_func_end sub_80B3720
-
- thumb_func_start sub_80B3764
-sub_80B3764: @ 80B3764
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- bl sub_80B3720
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0
- bl sub_80B39D0
- ldr r0, _080B3798
- ldrb r0, [r0, 0x9]
- str r0, [sp]
- movs r0, 0xF
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x2
- movs r3, 0x8
- bl InitMenu
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3798: .4byte gUnknown_03000708
- thumb_func_end sub_80B3764
-
- thumb_func_start sub_80B379C
-sub_80B379C: @ 80B379C
- push {r4-r7,lr}
- movs r1, 0
- ldr r0, _080B37E0
- mov r12, r0
- ldr r7, _080B37E4
- ldr r0, _080B37E8
- adds r6, r0, 0
-_080B37AA:
- movs r2, 0
- adds r0, r1, 0
- adds r0, 0xC
- adds r5, r1, 0x1
- lsls r4, r0, 5
- lsls r3, r1, 5
-_080B37B6:
- adds r1, r4, r2
- lsls r1, 1
- add r1, r12
- adds r0, r3, r2
- lsls r0, 1
- adds r0, r7
- ldrh r0, [r0]
- adds r0, r6, r0
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xD
- bls _080B37B6
- lsls r0, r5, 16
- lsrs r1, r0, 16
- cmp r1, 0x7
- bls _080B37AA
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B37E0: .4byte gBG1TilemapBuffer
-_080B37E4: .4byte 0x02018300
-_080B37E8: .4byte 0x0000c3e0
- thumb_func_end sub_80B379C
-
- thumb_func_start sub_80B37EC
-sub_80B37EC: @ 80B37EC
- push {lr}
- bl sub_80B3A70
- pop {r0}
- bx r0
- thumb_func_end sub_80B37EC
-
- thumb_func_start sub_80B37F8
-sub_80B37F8: @ 80B37F8
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r1, _080B3884
- ldrb r0, [r1, 0xB]
- ldrb r2, [r1, 0x9]
- adds r0, r2
- ldr r1, [r1, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl itemid_get_market_price
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPriceReduction
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- asrs r4, r0
- ldr r0, _080B3888
- lsls r5, r6, 2
- adds r5, r6
- lsls r5, 3
- adds r5, r0
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- muls r0, r4
- movs r1, 0x6
- movs r2, 0x6
- movs r3, 0xB
- bl sub_80B7A94
- ldr r0, _080B388C
- movs r1, 0xFC
- strb r1, [r0]
- movs r1, 0x14
- strb r1, [r0, 0x1]
- movs r1, 0x6
- strb r1, [r0, 0x2]
- adds r0, 0x3
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _080B3890
- movs r1, 0x1
- movs r2, 0xB
- bl MenuPrint
- ldr r0, _080B3894
- movs r1, 0x2
- str r1, [sp]
- ldr r1, _080B3898
- str r1, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0xB
- movs r3, 0xC
- bl sub_80A3FA0
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3884: .4byte gUnknown_03000708
-_080B3888: .4byte gTasks
-_080B388C: .4byte gStringVar1
-_080B3890: .4byte gOtherText_xString1
-_080B3894: .4byte gBG1TilemapBuffer
-_080B3898: .4byte 0x0000c3e1
- thumb_func_end sub_80B37F8
-
- thumb_func_start sub_80B389C
-sub_80B389C: @ 80B389C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r2
- lsls r0, 16
- lsrs r2, r0, 16
- mov r9, r2
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r5, _080B392C
- mov r0, r8
- cmp r0, 0
- beq _080B38C8
- movs r0, 0xFC
- strb r0, [r5]
- movs r0, 0x1
- strb r0, [r5, 0x1]
- movs r0, 0x2
- strb r0, [r5, 0x2]
- adds r5, 0x3
-_080B38C8:
- adds r0, r2, 0
- adds r1, r5, 0
- bl itemid_copy_name
- ldr r6, _080B392C
- lsls r7, r4, 3
- movs r0, 0x1
- str r0, [sp]
- adds r0, r6, 0
- movs r1, 0x70
- adds r2, r7, 0
- movs r3, 0x58
- bl sub_8072A18
- adds r5, r6, 0
- mov r0, r8
- cmp r0, 0
- beq _080B38EE
- adds r5, r6, 0x3
-_080B38EE:
- mov r0, r9
- bl itemid_get_market_price
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPriceReduction
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- asrs r4, r0
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x4
- bl sub_80B79F8
- adds r0, r6, 0
- movs r1, 0xCA
- adds r2, r7, 0
- movs r3, 0x1
- bl sub_80729D8
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B392C: .4byte gStringVar1
- thumb_func_end sub_80B389C
-
- thumb_func_start sub_80B3930
-sub_80B3930: @ 80B3930
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r4, r2, 0
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- ldr r2, _080B39A0
- cmp r4, 0
- beq _080B395A
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x1
- strb r0, [r2, 0x1]
- movs r0, 0x2
- strb r0, [r2, 0x2]
- adds r2, 0x3
-_080B395A:
- lsls r6, r3, 5
- ldr r0, _080B39A4
- mov r8, r0
- adds r1, r6, r0
- adds r0, r2, 0
- bl StringCopy
- ldr r5, _080B39A0
- mov r0, r9
- lsls r7, r0, 3
- movs r0, 0x1
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x70
- adds r2, r7, 0
- movs r3, 0x58
- bl sub_8072A18
- adds r2, r5, 0
- cmp r4, 0
- beq _080B3986
- adds r2, r5, 0x3
-_080B3986:
- mov r0, r8
- subs r0, 0x1
- adds r3, r6, r0
- ldrh r1, [r3, 0x14]
- ldr r0, _080B39A8
- cmp r1, r0
- bne _080B39AC
- movs r0, 0x19
- mov r1, r9
- adds r2, r4, 0
- bl sub_80B7B34
- b _080B39C2
- .align 2, 0
-_080B39A0: .4byte gStringVar1
-_080B39A4: .4byte gDecorations + 0x1
-_080B39A8: .4byte 0x00002710
-_080B39AC:
- ldrh r1, [r3, 0x14]
- adds r0, r2, 0
- movs r2, 0x4
- bl sub_80B79F8
- adds r0, r5, 0
- movs r1, 0xCA
- adds r2, r7, 0
- movs r3, 0x1
- bl sub_80729D8
-_080B39C2:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3930
-
- thumb_func_start sub_80B39D0
-sub_80B39D0: @ 80B39D0
- push {r4-r6,lr}
- adds r6, r1, 0
- adds r5, r2, 0
- b _080B3A1A
-_080B39D8:
- ldrb r0, [r1, 0xC]
- cmp r0, 0
- bne _080B39FC
- ldrb r0, [r1, 0xB]
- adds r0, r4
- ldr r1, [r1, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r4, 25
- movs r2, 0x80
- lsls r2, 18
- adds r1, r2
- lsrs r1, 24
- adds r2, r5, 0
- bl sub_80B389C
- b _080B3A18
-_080B39FC:
- ldrb r0, [r1, 0xB]
- adds r0, r4
- ldr r1, [r1, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r1, r4, 25
- movs r2, 0x80
- lsls r2, 18
- adds r1, r2
- lsrs r1, 24
- adds r2, r5, 0
- bl sub_80B3930
-_080B3A18:
- adds r0, r4, 0x1
-_080B3A1A:
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bgt _080B3A2E
- ldr r1, _080B3A68
- ldrb r0, [r1, 0xB]
- adds r0, r4
- ldrb r2, [r1, 0x8]
- cmp r0, r2
- blt _080B39D8
-_080B3A2E:
- cmp r4, 0x8
- beq _080B3A60
- ldr r1, _080B3A68
- ldrb r0, [r1, 0xB]
- adds r0, r4
- ldrb r1, [r1, 0x8]
- cmp r0, r1
- bne _080B3A60
- lsls r3, r4, 1
- adds r4, r3, 0x2
- lsls r4, 24
- lsrs r4, 24
- adds r3, 0x3
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0xE
- adds r1, r4, 0
- movs r2, 0x1C
- bl MenuFillWindowRectWithBlankTile
- ldr r0, _080B3A6C
- movs r1, 0xE
- adds r2, r4, 0
- bl MenuPrint
-_080B3A60:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3A68: .4byte gUnknown_03000708
-_080B3A6C: .4byte gOtherText_CancelNoTerminator
- thumb_func_end sub_80B39D0
-
- thumb_func_start sub_80B3A70
-sub_80B3A70: @ 80B3A70
- push {r4,lr}
- sub sp, 0x8
- ldr r2, _080B3A9C
- ldrb r1, [r2, 0xB]
- ldrb r0, [r2, 0x9]
- adds r0, r1, r0
- ldrb r1, [r2, 0x8]
- cmp r0, r1
- beq _080B3ACC
- ldrb r4, [r2, 0xC]
- cmp r4, 0
- bne _080B3AA0
- ldr r1, [r2, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl itemid_get_description
- movs r1, 0x30
- str r1, [sp]
- str r4, [sp, 0x4]
- b _080B3ABA
- .align 2, 0
-_080B3A9C: .4byte gUnknown_03000708
-_080B3AA0:
- ldr r1, _080B3AC8
- ldr r2, [r2, 0x4]
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- lsls r0, 5
- adds r1, 0x18
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x30
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
-_080B3ABA:
- movs r1, 0x4
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072AB0
- b _080B3AE0
- .align 2, 0
-_080B3AC8: .4byte gDecorations
-_080B3ACC:
- ldr r0, _080B3AE8
- movs r1, 0x30
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x4
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072AB0
-_080B3AE0:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3AE8: .4byte gOtherText_QuitShopping
- thumb_func_end sub_80B3A70
-
- thumb_func_start sub_80B3AEC
-sub_80B3AEC: @ 80B3AEC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080B3B5C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080B3B06
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080B3B7A
-_080B3B06:
- ldr r4, _080B3B60
- ldrb r1, [r4, 0x9]
- adds r0, r1, 0
- movs r2, 0
- bl sub_80B39D0
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- adds r0, r1
- ldr r1, [r4, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x4
- bne _080B3B74
- ldr r0, _080B3B64
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0x9
- ble _080B3B74
- movs r0, 0xC
- movs r1, 0x1
- bl sub_80A9424
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B3B74
- ldr r1, _080B3B68
- ldr r2, _080B3B6C
- ldr r3, _080B3B70
- adds r0, r5, 0
- bl DisplayItemMessageOnField
- b _080B3B7A
- .align 2, 0
-_080B3B5C: .4byte gMain
-_080B3B60: .4byte gUnknown_03000708
-_080B3B64: .4byte gTasks
-_080B3B68: .4byte gOtherText_FreePremierBall
-_080B3B6C: .4byte sub_80B4378
-_080B3B70: .4byte 0x0000c3e1
-_080B3B74:
- adds r0, r5, 0
- bl sub_80B4378
-_080B3B7A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3AEC
-
- thumb_func_start sub_80B3B80
-sub_80B3B80: @ 80B3B80
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x26
- bl sav12_xor_increment
- ldr r5, _080B3BC0
- ldr r0, _080B3BC4
- ldr r1, [r0]
- adds r0, r5, 0
- bl sub_80B79E0
- movs r0, 0x5F
- bl PlaySE
- ldr r0, [r5]
- movs r1, 0
- movs r2, 0
- bl sub_80B7BEC
- ldr r1, _080B3BC8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080B3BCC
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3BC0: .4byte gSaveBlock1 + 0x490
-_080B3BC4: .4byte gUnknown_020386A0
-_080B3BC8: .4byte gTasks
-_080B3BCC: .4byte sub_80B3AEC
- thumb_func_end sub_80B3B80
-
- thumb_func_start sub_80B3BD0
-sub_80B3BD0: @ 80B3BD0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B3BF0
- ldrb r1, [r0, 0x9]
- adds r0, r1, 0
- movs r2, 0
- bl sub_80B39D0
- adds r0, r4, 0
- bl sub_80B4378
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3BF0: .4byte gUnknown_03000708
- thumb_func_end sub_80B3BD0
-
- thumb_func_start sub_80B3BF4
-sub_80B3BF4: @ 80B3BF4
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _080B3C7C
- movs r1, 0x4
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x8
- movs r2, 0x9
- movs r3, 0x4
- bl sub_80A3FA0
- bl sub_80B379C
- bl sub_80B3420
- ldr r0, _080B3C80
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080B3C84
- ldr r1, [r1]
- bl IsEnoughMoney
- lsls r0, 24
- cmp r0, 0
- beq _080B3D18
- ldr r4, _080B3C88
- ldrb r0, [r4, 0xC]
- cmp r0, 0
- bne _080B3CAC
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- adds r0, r1
- ldr r1, [r4, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldr r2, _080B3C8C
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r2
- ldrh r1, [r1, 0xA]
- bl sub_80A9424
- lsls r0, 24
- cmp r0, 0
- beq _080B3C9C
- ldr r1, _080B3C90
- ldr r2, _080B3C94
- ldr r3, _080B3C98
- adds r0, r5, 0
- bl DisplayItemMessageOnField
- adds r0, r5, 0
- bl sub_80B4470
- b _080B3D24
- .align 2, 0
-_080B3C7C: .4byte gBG1TilemapBuffer
-_080B3C80: .4byte gSaveBlock1
-_080B3C84: .4byte gUnknown_020386A0
-_080B3C88: .4byte gUnknown_03000708
-_080B3C8C: .4byte gTasks
-_080B3C90: .4byte gOtherText_HereYouGo
-_080B3C94: .4byte sub_80B3B80
-_080B3C98: .4byte 0x0000c3e1
-_080B3C9C:
- ldr r1, _080B3CA4
- ldr r2, _080B3CA8
- b _080B3CD8
- .align 2, 0
-_080B3CA4: .4byte gOtherText_NoRoomFor
-_080B3CA8: .4byte sub_80B3BD0
-_080B3CAC:
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- adds r0, r1
- ldr r1, [r4, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrb r0, [r0]
- bl IsThereStorageSpaceForDecoration
- lsls r0, 24
- cmp r0, 0
- beq _080B3CF0
- ldrb r0, [r4, 0xC]
- cmp r0, 0x1
- bne _080B3CD4
- ldr r1, _080B3CD0
- b _080B3CD6
- .align 2, 0
-_080B3CD0: .4byte gOtherText_HereYouGo2
-_080B3CD4:
- ldr r1, _080B3CE4
-_080B3CD6:
- ldr r2, _080B3CE8
-_080B3CD8:
- ldr r3, _080B3CEC
- adds r0, r5, 0
- bl DisplayItemMessageOnField
- b _080B3D24
- .align 2, 0
-_080B3CE4: .4byte gOtherText_HereYouGo3
-_080B3CE8: .4byte sub_80B3B80
-_080B3CEC: .4byte 0x0000c3e1
-_080B3CF0:
- ldr r4, _080B3D08
- ldr r1, _080B3D0C
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080B3D10
- ldr r3, _080B3D14
- adds r0, r5, 0
- adds r1, r4, 0
- bl DisplayItemMessageOnField
- b _080B3D24
- .align 2, 0
-_080B3D08: .4byte gStringVar4
-_080B3D0C: .4byte gOtherText_SpaceForIsFull
-_080B3D10: .4byte sub_80B3BD0
-_080B3D14: .4byte 0x0000c3e1
-_080B3D18:
- ldr r1, _080B3D2C
- ldr r2, _080B3D30
- ldr r3, _080B3D34
- adds r0, r5, 0
- bl DisplayItemMessageOnField
-_080B3D24:
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3D2C: .4byte gOtherText_NotEnoughMoney
-_080B3D30: .4byte sub_80B3BD0
-_080B3D34: .4byte 0x0000c3e1
- thumb_func_end sub_80B3BF4
-
- thumb_func_start sub_80B3D38
-sub_80B3D38: @ 80B3D38
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r0, _080B3D70
- movs r1, 0x4
- str r1, [sp]
- ldr r1, _080B3D74
- str r1, [sp, 0x4]
- movs r1, 0x8
- movs r2, 0x9
- movs r3, 0x4
- bl sub_80A3FA0
- ldr r1, _080B3D78
- adds r0, r4, 0
- bl sub_80F914C
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3D70: .4byte gBG1TilemapBuffer
-_080B3D74: .4byte 0x0000c3e1
-_080B3D78: .4byte gUnknown_083CC708
- thumb_func_end sub_80B3D38
-
- thumb_func_start sub_80B3D7C
-sub_80B3D7C: @ 80B3D7C
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B3DC0
- ldrb r1, [r0, 0x9]
- adds r0, r1, 0
- movs r2, 0
- bl sub_80B39D0
- movs r0, 0x7
- movs r1, 0x8
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _080B3DC4
- movs r1, 0x4
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x8
- movs r2, 0x9
- movs r3, 0x4
- bl sub_80A3FA0
- adds r0, r4, 0
- bl sub_80B4378
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3DC0: .4byte gUnknown_03000708
-_080B3DC4: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80B3D7C
-
- thumb_func_start sub_80B3DC8
-sub_80B3DC8: @ 80B3DC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r6, 0
- ldr r7, _080B3EA8
- ldrb r1, [r7, 0xD]
- adds r0, r6, 0
- bl sub_80A52C4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B3DEE
- adds r0, r6, 0
- bl sub_80B37F8
-_080B3DEE:
- ldr r0, _080B3EAC
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B3ED8
- ldr r0, _080B3EB0
- mov r8, r0
- ldrb r0, [r7, 0xB]
- ldrb r1, [r7, 0x9]
- adds r0, r1
- ldr r1, [r7, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl itemid_get_market_price
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPriceReduction
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- asrs r4, r0
- ldr r0, _080B3EB4
- lsls r5, r6, 2
- adds r5, r6
- lsls r5, 3
- adds r5, r0
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- muls r0, r4
- mov r2, r8
- str r0, [r2]
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _080B3EB8
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0xB
- movs r3, 0xC
- bl sub_80A3FA0
- bl sub_80B379C
- bl sub_80B3420
- ldrb r0, [r7, 0xB]
- ldrb r1, [r7, 0x9]
- adds r0, r1
- ldr r1, [r7, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, _080B3EBC
- bl itemid_copy_name
- ldr r0, _080B3EC0
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _080B3EC4
- mov r2, r8
- ldr r1, [r2]
- movs r2, 0
- movs r3, 0x8
- bl ConvertIntToDecimalStringN
- ldr r4, _080B3EC8
- ldr r1, _080B3ECC
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080B3ED0
- ldr r3, _080B3ED4
- adds r0, r6, 0
- adds r1, r4, 0
- bl DisplayItemMessageOnField
- b _080B3EF0
- .align 2, 0
-_080B3EA8: .4byte gUnknown_03000708
-_080B3EAC: .4byte gMain
-_080B3EB0: .4byte gUnknown_020386A0
-_080B3EB4: .4byte gTasks
-_080B3EB8: .4byte gBG1TilemapBuffer
-_080B3EBC: .4byte gStringVar1
-_080B3EC0: .4byte gStringVar2
-_080B3EC4: .4byte gStringVar3
-_080B3EC8: .4byte gStringVar4
-_080B3ECC: .4byte gOtherText_ThatWillBe
-_080B3ED0: .4byte sub_80B3D38
-_080B3ED4: .4byte 0x0000c3e1
-_080B3ED8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080B3EF0
- ldrb r1, [r7, 0x9]
- adds r0, r1, 0
- movs r2, 0
- bl sub_80B39D0
- adds r0, r4, 0
- bl sub_80B4378
-_080B3EF0:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B3DC8
-
- thumb_func_start sub_80B3EFC
-sub_80B3EFC: @ 80B3EFC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080B3F78
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0xA]
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD
- movs r3, 0xD
- bl MenuDrawTextWindow
- adds r0, r5, 0
- bl sub_80B37F8
- ldr r6, _080B3F7C
- ldrb r0, [r6, 0xB]
- ldrb r1, [r6, 0x9]
- adds r0, r1
- ldr r1, [r6, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl itemid_get_market_price
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPriceReduction
- ldr r1, _080B3F80
- movs r2, 0x92
- lsls r2, 3
- adds r1, r2
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- asrs r4, r0
- ldr r0, [r1]
- adds r1, r4, 0
- bl __udivsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x63
- bls _080B3F62
- movs r0, 0x63
-_080B3F62:
- strb r0, [r6, 0xD]
- ldr r0, _080B3F78
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080B3F84
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B3F78: .4byte gTasks
-_080B3F7C: .4byte gUnknown_03000708
-_080B3F80: .4byte gSaveBlock1
-_080B3F84: .4byte sub_80B3DC8
- thumb_func_end sub_80B3EFC
-
- thumb_func_start sub_80B3F88
-sub_80B3F88: @ 80B3F88
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _080B4020
- mov r8, r0
- ldr r1, [r0, 0x28]
- ldr r3, _080B4024
- adds r1, r3
- adds r2, r1, 0
- adds r2, 0x80
- ldr r7, [r0, 0x24]
- mov r10, r7
- ldr r0, _080B4028
- mov r9, r0
- movs r6, 0xD
-_080B3FAC:
- adds r3, r2, 0
- subs r3, 0x40
- str r3, [sp]
- movs r7, 0x40
- negs r7, r7
- adds r7, r1
- mov r12, r7
- adds r3, r2, 0
- adds r4, r1, 0
- movs r5, 0xE
-_080B3FC0:
- ldrh r2, [r4]
- mov r1, r9
- ands r1, r2
- mov r7, r8
- ldrh r0, [r7, 0x1A]
- adds r0, 0x1
- cmp r1, r0
- ble _080B3FD4
- adds r0, r2, 0
- adds r0, 0x3C
-_080B3FD4:
- strh r0, [r3]
- adds r3, 0x2
- adds r4, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _080B3FC0
- ldr r2, [sp]
- mov r1, r12
- subs r6, 0x1
- cmp r6, 0
- bge _080B3FAC
- ldr r1, _080B402C
- add r1, r10
- movs r0, 0xF0
- lsls r0, 3
- adds r2, r1, r0
- ldr r3, _080B4030
- ldr r5, _080B4034
- ldr r4, _080B4038
- movs r6, 0xD
-_080B3FFC:
- str r1, [r3]
- str r2, [r3, 0x4]
- str r5, [r3, 0x8]
- ldr r0, [r3, 0x8]
- adds r2, r4
- adds r1, r4
- subs r6, 0x1
- cmp r6, 0
- bge _080B3FFC
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4020: .4byte gMenuWindow
-_080B4024: .4byte 0x000003de
-_080B4028: .4byte 0x000003ff
-_080B402C: .4byte 0x00003a20
-_080B4030: .4byte 0x040000d4
-_080B4034: .4byte 0x800000f0
-_080B4038: .4byte 0xfffffc40
- thumb_func_end sub_80B3F88
-
- thumb_func_start sub_80B403C
-sub_80B403C: @ 80B403C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _080B40D8
- mov r8, r0
- ldr r2, [r0, 0x28]
- adds r1, r2, 0
- adds r1, 0x9E
- adds r2, r1, 0
- adds r1, 0x80
- ldr r3, [r0, 0x24]
- mov r10, r3
- ldr r7, _080B40DC
- mov r9, r7
- movs r6, 0xD
-_080B4060:
- adds r0, r2, 0
- adds r0, 0x40
- str r0, [sp]
- movs r3, 0x40
- adds r3, r1
- mov r12, r3
- adds r3, r2, 0
- adds r4, r1, 0
- movs r5, 0xE
-_080B4072:
- ldrh r2, [r4]
- mov r1, r9
- ands r1, r2
- mov r7, r8
- ldrh r0, [r7, 0x1A]
- adds r0, 0x1
- cmp r1, r0
- ble _080B4086
- adds r0, r2, 0
- subs r0, 0x3C
-_080B4086:
- strh r0, [r3]
- adds r3, 0x2
- adds r4, 0x2
- subs r5, 0x1
- cmp r5, 0
- bge _080B4072
- ldr r2, [sp]
- mov r1, r12
- subs r6, 0x1
- cmp r6, 0
- bge _080B4060
- movs r1, 0x96
- lsls r1, 4
- add r1, r10
- adds r2, r1, 0
- movs r0, 0xF0
- lsls r0, 3
- adds r1, r0
- ldr r3, _080B40E0
- ldr r5, _080B40E4
- movs r4, 0xF0
- lsls r4, 2
- movs r6, 0xD
-_080B40B4:
- str r1, [r3]
- str r2, [r3, 0x4]
- str r5, [r3, 0x8]
- ldr r0, [r3, 0x8]
- adds r2, r4
- adds r1, r4
- subs r6, 0x1
- cmp r6, 0
- bge _080B40B4
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B40D8: .4byte gMenuWindow
-_080B40DC: .4byte 0x000003ff
-_080B40E0: .4byte 0x040000d4
-_080B40E4: .4byte 0x800000f0
- thumb_func_end sub_80B403C
-
- thumb_func_start sub_80B40E8
-sub_80B40E8: @ 80B40E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- mov r8, r7
- ldr r0, _080B4134
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080B4102
- b _080B436C
-_080B4102:
- ldr r2, _080B4138
- ldrh r0, [r2, 0x30]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- bne _080B414C
- ldr r4, _080B413C
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- bne _080B4140
- ldrb r0, [r4, 0xB]
- cmp r0, 0
- bne _080B411E
- b _080B436C
-_080B411E:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0xB]
- subs r0, 0x1
- strb r0, [r4, 0xB]
- bl sub_80B3F88
- movs r0, 0
- movs r1, 0
- b _080B417A
- .align 2, 0
-_080B4134: .4byte gPaletteFade
-_080B4138: .4byte gMain
-_080B413C: .4byte gUnknown_03000708
-_080B4140:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080B41A0
-_080B414C:
- cmp r1, 0x80
- bne _080B41AC
- ldr r4, _080B418C
- ldrb r0, [r4, 0x9]
- cmp r0, 0x7
- bne _080B4190
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- adds r0, r1
- ldrb r1, [r4, 0x8]
- cmp r0, r1
- bne _080B4166
- b _080B436C
-_080B4166:
- movs r0, 0x5
- bl PlaySE
- ldrb r0, [r4, 0xB]
- adds r0, 0x1
- strb r0, [r4, 0xB]
- bl sub_80B403C
- movs r0, 0x7
- movs r1, 0x7
-_080B417A:
- movs r2, 0
- bl sub_80B39D0
- bl sub_80B3A70
- bl sub_80B32A4
- b _080B436C
- .align 2, 0
-_080B418C: .4byte gUnknown_03000708
-_080B4190:
- ldrb r2, [r4, 0x8]
- cmp r0, r2
- bne _080B4198
- b _080B436C
-_080B4198:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080B41A0:
- bl MoveMenuCursor
- strb r0, [r4, 0x9]
- bl sub_80B3A70
- b _080B436C
-_080B41AC:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080B41B8
- b _080B4358
-_080B41B8:
- movs r0, 0x5
- bl PlaySE
- ldr r6, _080B426C
- ldrb r0, [r6, 0xB]
- ldrb r1, [r6, 0x9]
- adds r0, r1
- ldrb r1, [r6, 0x8]
- cmp r0, r1
- bne _080B41CE
- b _080B4350
-_080B41CE:
- movs r0, 0
- bl sub_80F996C
- movs r0, 0x1
- bl sub_80F996C
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80F979C
- ldrb r1, [r6, 0x9]
- adds r0, r1, 0
- movs r2, 0x1
- bl sub_80B39D0
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0xC
- movs r2, 0xD
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldrb r0, [r6, 0xC]
- cmp r0, 0
- bne _080B428C
- ldr r5, _080B4270
- ldrb r0, [r6, 0xB]
- ldrb r1, [r6, 0x9]
- adds r0, r1
- ldr r1, [r6, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- bl itemid_get_market_price
- adds r4, r0, 0
- movs r0, 0x1
- bl GetPriceReduction
- lsls r4, 16
- lsrs r4, 16
- lsls r0, 24
- lsrs r0, 24
- asrs r4, r0
- str r4, [r5]
- ldr r0, _080B4274
- movs r2, 0x92
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- adds r1, r4, 0
- bl IsEnoughMoney
- lsls r0, 24
- cmp r0, 0
- beq _080B42BA
- ldrb r0, [r6, 0xB]
- ldrb r1, [r6, 0x9]
- adds r0, r1
- ldr r1, [r6, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- ldr r1, _080B4278
- bl itemid_copy_name
- ldr r4, _080B427C
- ldr r1, _080B4280
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080B4284
- ldr r3, _080B4288
- adds r0, r7, 0
- adds r1, r4, 0
- bl DisplayItemMessageOnField
- b _080B436C
- .align 2, 0
-_080B426C: .4byte gUnknown_03000708
-_080B4270: .4byte gUnknown_020386A0
-_080B4274: .4byte gSaveBlock1
-_080B4278: .4byte gStringVar1
-_080B427C: .4byte gStringVar4
-_080B4280: .4byte gOtherText_HowManyYouWant
-_080B4284: .4byte sub_80B3EFC
-_080B4288: .4byte 0x0000c3e1
-_080B428C:
- ldr r5, _080B42C8
- ldr r4, _080B42CC
- ldrb r0, [r6, 0xB]
- ldrb r1, [r6, 0x9]
- adds r0, r1
- ldr r1, [r6, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 5
- adds r0, r4
- ldrh r1, [r0, 0x14]
- str r1, [r5]
- ldr r0, _080B42D0
- movs r2, 0x92
- lsls r2, 3
- adds r0, r2
- ldr r0, [r0]
- bl IsEnoughMoney
- lsls r0, 24
- cmp r0, 0
- bne _080B42E0
-_080B42BA:
- ldr r1, _080B42D4
- ldr r2, _080B42D8
- ldr r3, _080B42DC
- adds r0, r7, 0
- bl DisplayItemMessageOnField
- b _080B436C
- .align 2, 0
-_080B42C8: .4byte gUnknown_020386A0
-_080B42CC: .4byte gDecorations
-_080B42D0: .4byte gSaveBlock1
-_080B42D4: .4byte gOtherText_NotEnoughMoney
-_080B42D8: .4byte sub_80B3BD0
-_080B42DC: .4byte 0x0000c3e1
-_080B42E0:
- ldr r0, _080B4318
- ldrb r1, [r6, 0xB]
- ldrb r2, [r6, 0x9]
- adds r1, r2
- ldr r2, [r6, 0x4]
- lsls r1, 1
- adds r1, r2
- ldrh r1, [r1]
- lsls r1, 5
- adds r2, r4, 0x1
- adds r1, r2
- bl StringCopy
- ldr r0, _080B431C
- ldr r1, [r5]
- movs r2, 0
- movs r3, 0x8
- bl ConvertIntToDecimalStringN
- ldrb r0, [r6, 0xC]
- cmp r0, 0x1
- bne _080B4328
- ldr r0, _080B4320
- ldr r1, _080B4324
- bl StringExpandPlaceholders
- b _080B4330
- .align 2, 0
-_080B4318: .4byte gStringVar1
-_080B431C: .4byte gStringVar2
-_080B4320: .4byte gStringVar4
-_080B4324: .4byte gOtherText_ThatWillBe2
-_080B4328:
- ldr r0, _080B4340
- ldr r1, _080B4344
- bl StringExpandPlaceholders
-_080B4330:
- ldr r1, _080B4340
- ldr r2, _080B4348
- ldr r3, _080B434C
- mov r0, r8
- bl DisplayItemMessageOnField
- b _080B436C
- .align 2, 0
-_080B4340: .4byte gStringVar4
-_080B4344: .4byte gOtherText_ThatWillBe3
-_080B4348: .4byte sub_80B3D38
-_080B434C: .4byte 0x0000c3e1
-_080B4350:
- adds r0, r7, 0
- bl sub_80B43F0
- b _080B436C
-_080B4358:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080B436C
- movs r0, 0x5
- bl PlaySE
- mov r0, r8
- bl sub_80B43F0
-_080B436C:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B40E8
-
- thumb_func_start sub_80B4378
-sub_80B4378: @ 80B4378
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0
- movs r1, 0xA
- movs r2, 0xD
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r0, _080B43E4
- movs r1, 0x2
- str r1, [sp]
- movs r1, 0
- str r1, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0xB
- movs r3, 0xC
- bl sub_80A3FA0
- bl sub_80B3420
- movs r0, 0x6
- movs r1, 0x7
- bl sub_80B3764
- bl sub_80B37EC
- movs r0, 0
- bl sub_80F98DC
- movs r0, 0x1
- bl sub_80F98DC
- bl sub_80B32A4
- ldr r1, _080B43E8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080B43EC
- str r1, [r0]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B43E4: .4byte gBG1TilemapBuffer
-_080B43E8: .4byte gTasks
-_080B43EC: .4byte sub_80B40E8
- thumb_func_end sub_80B4378
-
- thumb_func_start sub_80B43F0
-sub_80B43F0: @ 80B43F0
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080B4428
- ldr r0, _080B442C
- str r0, [r1]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080B4430
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080B4434
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4428: .4byte gUnknown_0300485C
-_080B442C: .4byte sub_80B3050
-_080B4430: .4byte gTasks
-_080B4434: .4byte Task_ExitBuyMenu
- thumb_func_end sub_80B43F0
-
- thumb_func_start Task_ExitBuyMenu
-Task_ExitBuyMenu: @ 80B4438
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080B4468
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B4462
- movs r0, 0
- movs r1, 0
- bl RemoveMoneyLabelObject
- bl BuyMenuFreeMemory
- ldr r0, _080B446C
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_080B4462:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4468: .4byte gPaletteFade
-_080B446C: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end Task_ExitBuyMenu
-
- thumb_func_start sub_80B4470
-sub_80B4470: @ 80B4470
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0
- ldr r0, _080B44C8
- mov r12, r0
- ldr r6, _080B44CC
- mov r8, r12
- adds r4, r6, 0
- ldr r1, _080B44D0
- mov r9, r1
- lsls r0, r5, 2
- adds r0, r5
- lsls r7, r0, 3
-_080B4492:
- lsls r0, r2, 2
- mov r1, r8
- adds r3, r0, r1
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- adds r0, r1
- ldr r1, [r4, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r3]
- ldrh r0, [r0]
- cmp r1, r0
- bne _080B44DC
- ldrh r0, [r3, 0x2]
- cmp r0, 0
- beq _080B44DC
- adds r2, r0, 0
- mov r4, r9
- adds r1, r7, r4
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- adds r0, r2, r0
- cmp r0, 0xFF
- ble _080B44D4
- movs r0, 0xFF
- strh r0, [r3, 0x2]
- b _080B451E
- .align 2, 0
-_080B44C8: .4byte gUnknown_02038724
-_080B44CC: .4byte gUnknown_03000708
-_080B44D0: .4byte gTasks
-_080B44D4:
- ldrh r0, [r1, 0xA]
- adds r0, r2, r0
- strh r0, [r3, 0x2]
- b _080B451E
-_080B44DC:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x2
- bls _080B4492
- ldr r3, _080B452C
- ldrb r0, [r3]
- cmp r0, 0x2
- bhi _080B451E
- adds r2, r0, 0
- lsls r2, 2
- add r2, r12
- ldrb r0, [r6, 0xB]
- ldrb r1, [r6, 0x9]
- adds r0, r1
- ldr r1, [r6, 0x4]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- ldrb r1, [r3]
- lsls r1, 2
- add r1, r12
- ldr r2, _080B4530
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0xA]
- strh r0, [r1, 0x2]
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
-_080B451E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B452C: .4byte gUnknown_02038730
-_080B4530: .4byte gTasks
- thumb_func_end sub_80B4470
-
- thumb_func_start ClearItemPurchases
-ClearItemPurchases: @ 80B4534
- push {lr}
- ldr r0, _080B4548
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080B454C
- movs r1, 0x3
- bl sub_80A9684
- pop {r0}
- bx r0
- .align 2, 0
-_080B4548: .4byte gUnknown_02038730
-_080B454C: .4byte gUnknown_02038724
- thumb_func_end ClearItemPurchases
-
- thumb_func_start CreatePokemartMenu
-CreatePokemartMenu: @ 80B4550
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0
- bl CreateShopMenu
- adds r0, r4, 0
- bl SetShopItemsForSale
- bl ClearItemPurchases
- ldr r0, _080B4570
- bl SetShopMenuCallback
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4570: .4byte EnableBothScriptContexts
- thumb_func_end CreatePokemartMenu
-
- thumb_func_start CreateDecorationShop1Menu
-CreateDecorationShop1Menu: @ 80B4574
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- bl CreateShopMenu
- adds r0, r4, 0
- bl SetShopItemsForSale
- ldr r0, _080B4590
- bl SetShopMenuCallback
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4590: .4byte EnableBothScriptContexts
- thumb_func_end CreateDecorationShop1Menu
-
- thumb_func_start CreateDecorationShop2Menu
-CreateDecorationShop2Menu: @ 80B4594
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2
- bl CreateShopMenu
- adds r0, r4, 0
- bl SetShopItemsForSale
- ldr r0, _080B45B0
- bl SetShopMenuCallback
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B45B0: .4byte EnableBothScriptContexts
- thumb_func_end CreateDecorationShop2Menu
-
- thumb_func_start sub_80B45B4
-sub_80B45B4: @ 80B45B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- mov r9, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 16
- lsrs r2, 16
- mov r10, r2
- ldr r2, _080B4648
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrh r0, [r1, 0x10]
- subs r0, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r1, 0x12]
- subs r0, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrh r4, [r1, 0xA]
- movs r2, 0xC
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080B4678
- movs r2, 0
- lsls r5, 16
- str r5, [sp, 0xC]
- lsls r0, r3, 16
- lsls r1, r4, 16
- asrs r0, 16
- str r0, [sp]
- asrs r1, 16
- str r1, [sp, 0x4]
- lsls r0, r1, 1
- mov r1, r9
- adds r7, r0, r1
-_080B4608:
- movs r4, 0
- lsls r2, 16
- mov r8, r2
- asrs r0, r2, 16
- ldr r2, [sp]
- adds r6, r2, r0
-_080B4614:
- ldr r0, [sp, 0xC]
- asrs r1, r0, 16
- lsls r4, 16
- asrs r0, r4, 16
- adds r5, r1, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridGetMetatileIdAt
- movs r2, 0
- ldrsh r1, [r7, r2]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bne _080B465C
- ldr r0, [sp, 0x4]
- cmp r0, 0x2
- beq _080B464C
- ldrh r0, [r7, 0x2]
- mov r2, r10
- orrs r2, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
- b _080B465C
- .align 2, 0
-_080B4648: .4byte gTasks
-_080B464C:
- mov r1, r9
- ldrh r0, [r1]
- mov r2, r10
- orrs r2, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
-_080B465C:
- movs r2, 0x80
- lsls r2, 9
- adds r0, r4, r2
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080B4614
- adds r0, r2, 0
- add r0, r8
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080B4608
- b _080B4700
-_080B4678:
- movs r2, 0
- lsls r5, 16
- str r5, [sp, 0xC]
- lsls r0, r3, 16
- lsls r1, r4, 16
- asrs r0, 16
- str r0, [sp, 0x8]
- asrs r7, r1, 16
-_080B4688:
- movs r4, 0
- lsls r2, 16
- mov r8, r2
- asrs r0, r2, 16
- ldr r1, [sp, 0x8]
- adds r6, r1, r0
-_080B4694:
- ldr r2, [sp, 0xC]
- asrs r1, r2, 16
- lsls r4, 16
- asrs r0, r4, 16
- adds r5, r1, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridGetMetatileIdAt
- movs r1, 0x2
- subs r1, r7
- lsls r1, 1
- add r1, r9
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r0, 16
- asrs r0, 16
- cmp r1, r0
- bne _080B46E6
- cmp r7, 0x2
- beq _080B46D6
- movs r0, 0x1
- subs r0, r7
- lsls r0, 1
- add r0, r9
- ldrh r0, [r0]
- mov r2, r10
- orrs r2, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
- b _080B46E6
-_080B46D6:
- mov r1, r9
- ldrh r0, [r1, 0x4]
- mov r2, r10
- orrs r2, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
-_080B46E6:
- movs r2, 0x80
- lsls r2, 9
- adds r0, r4, r2
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080B4694
- adds r0, r2, 0
- add r0, r8
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080B4688
-_080B4700:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B45B4
-
- thumb_func_start sub_80B4710
-sub_80B4710: @ 80B4710
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, _080B4738
- adds r4, r0, r1
- movs r0, 0x1
- strh r0, [r4, 0x6]
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bhi _080B47AA
- lsls r0, 2
- ldr r1, _080B473C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B4738: .4byte gUnknown_03004B28
-_080B473C: .4byte _080B4740
- .align 2, 0
-_080B4740:
- .4byte _080B475C
- .4byte _080B4764
- .4byte _080B476C
- .4byte _080B4774
- .4byte _080B477C
- .4byte _080B4790
- .4byte _080B47A0
-_080B475C:
- ldr r1, _080B4760
- b _080B4792
- .align 2, 0
-_080B4760: .4byte gUnknown_083CC714
-_080B4764:
- ldr r1, _080B4768
- b _080B4792
- .align 2, 0
-_080B4768: .4byte gUnknown_083CC71A
-_080B476C:
- ldr r1, _080B4770
- b _080B477E
- .align 2, 0
-_080B4770: .4byte gUnknown_083CC720
-_080B4774:
- ldr r1, _080B4778
- b _080B4792
- .align 2, 0
-_080B4778: .4byte gUnknown_083CC726
-_080B477C:
- ldr r1, _080B478C
-_080B477E:
- movs r2, 0xC0
- lsls r2, 4
- adds r0, r3, 0
- bl sub_80B45B4
- b _080B47AA
- .align 2, 0
-_080B478C: .4byte gUnknown_083CC72C
-_080B4790:
- ldr r1, _080B479C
-_080B4792:
- adds r0, r3, 0
- movs r2, 0
- bl sub_80B45B4
- b _080B47AA
- .align 2, 0
-_080B479C: .4byte gUnknown_083CC732
-_080B47A0:
- ldr r1, _080B47D4
- adds r0, r3, 0
- movs r2, 0
- bl sub_80B45B4
-_080B47AA:
- ldrh r0, [r4]
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- strh r0, [r4]
- adds r5, r0, 0
- cmp r5, 0
- bne _080B47CE
- bl DrawWholeMapView
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- strh r0, [r4, 0x2]
- strh r5, [r4, 0x6]
-_080B47CE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B47D4: .4byte gUnknown_083CC738
- thumb_func_end sub_80B4710
-
- thumb_func_start sub_80B47D8
-sub_80B47D8: @ 80B47D8
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- ldr r6, _080B481C
- adds r0, r6, 0
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080B4820
- adds r7, r0, r1
- adds r0, r7, 0
- adds r0, 0x8
- adds r1, r7, 0
- adds r1, 0xA
- bl PlayerGetDestCoords
- movs r0, 0
- strh r0, [r7]
- strh r0, [r7, 0x2]
- strh r5, [r7, 0x4]
- adds r0, r4, 0
- bl _call_via_r6
- adds r0, r4, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080B481C: .4byte sub_80B4710
-_080B4820: .4byte gUnknown_03004B28
- thumb_func_end sub_80B47D8
-
- thumb_func_start sub_80B4824
-sub_80B4824: @ 80B4824
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80B47D8
- ldr r1, _080B4838
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080B4838: .4byte gUnknown_02038731
- thumb_func_end sub_80B4824
-
- thumb_func_start sub_80B483C
-sub_80B483C: @ 80B483C
- push {lr}
- ldr r0, _080B484C
- ldrb r0, [r0]
- bl DestroyTask
- pop {r0}
- bx r0
- .align 2, 0
-_080B484C: .4byte gUnknown_02038731
- thumb_func_end sub_80B483C
-
- thumb_func_start sub_80B4850
-sub_80B4850: @ 80B4850
- push {lr}
- ldr r2, _080B4874
- ldr r0, _080B4878
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080B487C
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- bne _080B487C
- movs r0, 0
- b _080B487E
- .align 2, 0
-_080B4874: .4byte gTasks
-_080B4878: .4byte gUnknown_02038731
-_080B487C:
- movs r0, 0x1
-_080B487E:
- pop {r1}
- bx r1
- thumb_func_end sub_80B4850
-
- thumb_func_start unref_sub_80B4884
-unref_sub_80B4884: @ 80B4884
- push {lr}
- sub sp, 0x4
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r1, _080B48A0
- ldr r2, _080B48A4
- mov r0, sp
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080B48A0: .4byte gSaveBlock1 + 0x3160
-_080B48A4: .4byte 0x01000298
- thumb_func_end unref_sub_80B4884
-
- thumb_func_start sub_80B48A8
-sub_80B48A8: @ 80B48A8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r3, _080B48E0
- movs r2, 0
- ldr r6, _080B48E4
- ldr r0, _080B48E8
- adds r4, r3, r0
-_080B48B6:
- adds r0, r3, r2
- adds r1, r5, r2
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, r6
- bls _080B48B6
- ldr r2, _080B48EC
- adds r1, r4, r2
- ldr r2, _080B48F0
- adds r0, r4, r2
- str r0, [r1]
- ldr r0, _080B48F4
- adds r1, r4, r0
- adds r2, 0x2D
- adds r0, r4, r2
- str r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B48E0: .4byte gSaveBlock1 + 0x3160
-_080B48E4: .4byte 0x0000052f
-_080B48E8: .4byte 0xffffcea0
-_080B48EC: .4byte 0x0000316c
-_080B48F0: .4byte 0x0000361c
-_080B48F4: .4byte 0x00003170
- thumb_func_end sub_80B48A8
-
- thumb_func_start sub_80B48F8
-sub_80B48F8: @ 80B48F8
- push {r4-r7,lr}
- ldr r3, _080B4934
- ldr r1, _080B4938
- adds r4, r3, r1
- ldr r6, [r4]
- adds r1, 0x4
- adds r2, r3, r1
- ldr r7, [r2]
- movs r1, 0
- str r1, [r4]
- str r1, [r2]
- adds r4, r0, 0
- movs r2, 0
- ldr r5, _080B493C
-_080B4914:
- adds r0, r4, r1
- ldrb r0, [r0]
- adds r2, r0
- adds r1, 0x1
- cmp r1, r5
- bls _080B4914
- ldr r1, _080B4938
- adds r0, r3, r1
- str r6, [r0]
- adds r1, 0x4
- adds r0, r3, r1
- str r7, [r0]
- adds r0, r2, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080B4934: .4byte gSaveBlock1
-_080B4938: .4byte 0x0000316c
-_080B493C: .4byte 0x0000052b
- thumb_func_end sub_80B48F8
-
- thumb_func_start sub_80B4940
-sub_80B4940: @ 80B4940
- push {r4,lr}
- ldr r4, _080B4970
- ldr r1, _080B4974
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B4984
- ldr r2, _080B4978
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B4984
- ldr r1, _080B497C
- adds r0, r4, r1
- bl sub_80B48F8
- ldr r2, _080B4980
- adds r1, r4, r2
- ldr r1, [r1]
- cmp r0, r1
- bne _080B4984
- movs r0, 0x1
- b _080B4986
- .align 2, 0
-_080B4970: .4byte gSaveBlock1
-_080B4974: .4byte 0x00003174
-_080B4978: .4byte 0x0000316a
-_080B497C: .4byte 0x00003160
-_080B4980: .4byte 0x0000368c
-_080B4984:
- movs r0, 0
-_080B4986:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B4940
-
- thumb_func_start GetBerryInfo
-GetBerryInfo: @ 80B498C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2B
- bne _080B49A8
- bl sub_80B4940
- cmp r0, 0
- beq _080B49A8
- ldr r0, _080B49A4
- b _080B49BE
- .align 2, 0
-_080B49A4: .4byte gSaveBlock1 + 0x3160
-_080B49A8:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2A
- bls _080B49B4
- movs r4, 0x1
-_080B49B4:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- ldr r1, _080B49C4
- adds r0, r1
-_080B49BE:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080B49C4: .4byte gBerries - 0x1C
- thumb_func_end GetBerryInfo
-
- thumb_func_start GetBerryTreeInfo
-GetBerryTreeInfo: @ 80B49C8
- lsls r0, 24
- lsrs r0, 21
- ldr r1, _080B49D4
- adds r0, r1
- bx lr
- .align 2, 0
-_080B49D4: .4byte gSaveBlock1 + 0x1608
- thumb_func_end GetBerryTreeInfo
-
- thumb_func_start FieldObjectInteractionWaterBerryTree
-FieldObjectInteractionWaterBerryTree: @ 80B49D8
- push {lr}
- ldr r0, _080B4A00
- ldrb r0, [r0]
- bl FieldObjectGetBerryTreeId
- lsls r0, 24
- lsrs r0, 24
- bl GetBerryTreeInfo
- adds r2, r0, 0
- ldrb r0, [r2, 0x1]
- lsls r0, 25
- lsrs r0, 25
- cmp r0, 0x2
- beq _080B4A14
- cmp r0, 0x2
- bgt _080B4A04
- cmp r0, 0x1
- beq _080B4A0E
- b _080B4A2A
- .align 2, 0
-_080B4A00: .4byte gSelectedMapObject
-_080B4A04:
- cmp r0, 0x3
- beq _080B4A1A
- cmp r0, 0x4
- beq _080B4A20
- b _080B4A2A
-_080B4A0E:
- ldrb r0, [r2, 0x5]
- movs r1, 0x10
- b _080B4A24
-_080B4A14:
- ldrb r0, [r2, 0x5]
- movs r1, 0x20
- b _080B4A24
-_080B4A1A:
- ldrb r0, [r2, 0x5]
- movs r1, 0x40
- b _080B4A24
-_080B4A20:
- ldrb r0, [r2, 0x5]
- movs r1, 0x80
-_080B4A24:
- orrs r0, r1
- strb r0, [r2, 0x5]
- b _080B4A2E
-_080B4A2A:
- movs r0, 0
- b _080B4A30
-_080B4A2E:
- movs r0, 0x1
-_080B4A30:
- pop {r1}
- bx r1
- thumb_func_end FieldObjectInteractionWaterBerryTree
-
- thumb_func_start IsPlayerFacingPlantedBerryTree
-IsPlayerFacingPlantedBerryTree: @ 80B4A34
- push {lr}
- bl GetFieldObjectScriptPointerForComparison
- ldr r1, _080B4A5C
- cmp r0, r1
- bne _080B4A64
- ldr r0, _080B4A60
- ldrb r0, [r0]
- bl FieldObjectGetBerryTreeId
- lsls r0, 24
- lsrs r0, 24
- bl GetStageByBerryTreeId
- lsls r0, 24
- cmp r0, 0
- bne _080B4A64
- movs r0, 0x1
- b _080B4A66
- .align 2, 0
-_080B4A5C: .4byte BerryTreeScript
-_080B4A60: .4byte gSelectedMapObject
-_080B4A64:
- movs r0, 0
-_080B4A66:
- pop {r1}
- bx r1
- thumb_func_end IsPlayerFacingPlantedBerryTree
-
- thumb_func_start WaterBerryTree
-WaterBerryTree: @ 80B4A6C
- push {lr}
- bl GetFieldObjectScriptPointerForComparison
- ldr r1, _080B4A84
- cmp r0, r1
- bne _080B4A88
- bl FieldObjectInteractionWaterBerryTree
- lsls r0, 24
- lsrs r0, 24
- b _080B4A8A
- .align 2, 0
-_080B4A84: .4byte BerryTreeScript
-_080B4A88:
- movs r0, 0
-_080B4A8A:
- pop {r1}
- bx r1
- thumb_func_end WaterBerryTree
-
- thumb_func_start sub_80B4A90
-sub_80B4A90: @ 80B4A90
- push {r4,lr}
- ldr r1, _080B4AB4
- ldr r0, _080B4AB8
- ldr r3, [r0]
- ldr r4, [r0, 0x4]
- movs r2, 0x7F
- movs r0, 0xD0
- lsls r0, 5
- adds r1, r0
-_080B4AA2:
- str r3, [r1]
- str r4, [r1, 0x4]
- subs r1, 0x8
- subs r2, 0x1
- cmp r2, 0
- bge _080B4AA2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4AB4: .4byte gSaveBlock1
-_080B4AB8: .4byte gUnknown_083CD780
- thumb_func_end sub_80B4A90
-
- thumb_func_start BerryTreeGrow
-BerryTreeGrow: @ 80B4ABC
- push {r4,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0x1]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080B4ACE
-_080B4ACA:
- movs r0, 0
- b _080B4B5A
-_080B4ACE:
- lsls r0, r1, 25
- lsrs r0, 25
- cmp r0, 0x5
- bhi _080B4B58
- lsls r0, 2
- ldr r1, _080B4AE0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B4AE0: .4byte _080B4AE4
- .align 2, 0
-_080B4AE4:
- .4byte _080B4ACA
- .4byte _080B4B04
- .4byte _080B4B04
- .4byte _080B4B04
- .4byte _080B4AFC
- .4byte _080B4B1C
-_080B4AFC:
- adds r0, r4, 0
- bl CalcBerryYield
- strb r0, [r4, 0x4]
-_080B4B04:
- ldrb r2, [r4, 0x1]
- lsls r1, r2, 25
- lsrs r1, 25
- adds r1, 0x1
- movs r0, 0x7F
- ands r1, r0
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x1]
- b _080B4B58
-_080B4B1C:
- ldrb r0, [r4, 0x5]
- movs r1, 0x11
- negs r1, r1
- ands r1, r0
- movs r0, 0x21
- negs r0, r0
- ands r1, r0
- subs r0, 0x20
- ands r1, r0
- movs r0, 0x7F
- ands r1, r0
- movs r0, 0
- strb r0, [r4, 0x4]
- ldrb r2, [r4, 0x1]
- subs r0, 0x80
- ands r0, r2
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r4, 0x1]
- adds r1, 0x1
- movs r0, 0xF
- ands r1, r0
- strb r1, [r4, 0x5]
- cmp r1, 0xA
- bne _080B4B58
- ldr r0, _080B4B60
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
-_080B4B58:
- movs r0, 0x1
-_080B4B5A:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080B4B60: .4byte gUnknown_083CD780
- thumb_func_end BerryTreeGrow
-
- thumb_func_start BerryTreeTimeUpdate
-BerryTreeTimeUpdate: @ 80B4B64
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r2, 0
-_080B4B6A:
- lsls r0, r2, 3
- ldr r1, _080B4BAC
- adds r4, r0, r1
- ldrb r0, [r4]
- adds r7, r2, 0x1
- cmp r0, 0
- beq _080B4BF8
- ldrb r1, [r4, 0x1]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0
- beq _080B4BF8
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B4BF8
- ldrb r0, [r4]
- bl GetStageDurationByBerryType
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 3
- subs r1, r0
- cmp r6, r1
- blt _080B4BB4
- ldr r0, _080B4BB0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- b _080B4BF8
- .align 2, 0
-_080B4BAC: .4byte gSaveBlock1 + 0x1608
-_080B4BB0: .4byte gUnknown_083CD780
-_080B4BB4:
- adds r5, r6, 0
- cmp r5, 0
- beq _080B4BF8
- ldrh r1, [r4, 0x2]
- cmp r1, r5
- ble _080B4BC4
- subs r0, r1, r5
- b _080B4BF6
-_080B4BC4:
- subs r5, r1
- ldrb r0, [r4]
- bl GetStageDurationByBerryType
- strh r0, [r4, 0x2]
- adds r0, r4, 0
- bl BerryTreeGrow
- cmp r0, 0
- beq _080B4BF8
- ldrb r1, [r4, 0x1]
- movs r0, 0x7F
- ands r0, r1
- cmp r0, 0x5
- bne _080B4BE8
- ldrh r0, [r4, 0x2]
- lsls r0, 2
- strh r0, [r4, 0x2]
-_080B4BE8:
- cmp r5, 0
- beq _080B4BF8
- ldrh r0, [r4, 0x2]
- adds r1, r0, 0
- cmp r0, r5
- ble _080B4BC4
- subs r0, r5
-_080B4BF6:
- strh r0, [r4, 0x2]
-_080B4BF8:
- adds r2, r7, 0
- cmp r2, 0x7F
- ble _080B4B6A
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end BerryTreeTimeUpdate
-
- thumb_func_start PlantBerryTree
-PlantBerryTree: @ 80B4C04
- push {r4-r7,lr}
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r3, 24
- lsrs r7, r3, 24
- bl GetBerryTreeInfo
- adds r6, r0, 0
- ldr r0, _080B4C68
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r6]
- str r1, [r6, 0x4]
- strb r4, [r6]
- adds r0, r4, 0
- bl GetStageDurationByBerryType
- strh r0, [r6, 0x2]
- movs r1, 0x7F
- ands r1, r5
- ldrb r2, [r6, 0x1]
- movs r0, 0x80
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x1]
- cmp r5, 0x5
- bne _080B4C56
- adds r0, r6, 0
- bl CalcBerryYield
- strb r0, [r6, 0x4]
- ldrh r0, [r6, 0x2]
- lsls r0, 2
- strh r0, [r6, 0x2]
-_080B4C56:
- cmp r7, 0
- bne _080B4C62
- ldrb r0, [r6, 0x1]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r6, 0x1]
-_080B4C62:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4C68: .4byte gUnknown_083CD780
- thumb_func_end PlantBerryTree
-
- thumb_func_start RemoveBerryTree
-RemoveBerryTree: @ 80B4C6C
- lsls r0, 24
- ldr r1, _080B4C84
- lsrs r0, 21
- ldr r2, _080B4C88
- adds r1, r2
- adds r0, r1
- ldr r1, _080B4C8C
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [r0]
- str r2, [r0, 0x4]
- bx lr
- .align 2, 0
-_080B4C84: .4byte gSaveBlock1
-_080B4C88: .4byte 0x00001608
-_080B4C8C: .4byte gUnknown_083CD780
- thumb_func_end RemoveBerryTree
-
- thumb_func_start GetBerryTypeByBerryTreeId
-GetBerryTypeByBerryTreeId: @ 80B4C90
- lsls r0, 24
- ldr r1, _080B4CA0
- lsrs r0, 21
- adds r0, r1
- ldr r1, _080B4CA4
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080B4CA0: .4byte gSaveBlock1
-_080B4CA4: .4byte 0x00001608
- thumb_func_end GetBerryTypeByBerryTreeId
-
- thumb_func_start GetStageByBerryTreeId
-GetStageByBerryTreeId: @ 80B4CA8
- lsls r0, 24
- ldr r1, _080B4CBC
- lsrs r0, 21
- adds r0, r1
- ldr r1, _080B4CC0
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 25
- bx lr
- .align 2, 0
-_080B4CBC: .4byte gSaveBlock1
-_080B4CC0: .4byte 0x00001609
- thumb_func_end GetStageByBerryTreeId
-
- thumb_func_start ItemIdToBerryType
-ItemIdToBerryType: @ 80B4CC4
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, _080B4CE0
- adds r0, r2
- lsrs r0, 16
- cmp r0, 0x2A
- bhi _080B4CE4
- adds r0, r1, 0
- adds r0, 0x7C
- lsls r0, 24
- lsrs r0, 24
- b _080B4CE6
- .align 2, 0
-_080B4CE0: .4byte 0xff7b0000
-_080B4CE4:
- movs r0, 0x1
-_080B4CE6:
- pop {r1}
- bx r1
- thumb_func_end ItemIdToBerryType
-
- thumb_func_start BerryTypeToItemId
-BerryTypeToItemId: @ 80B4CEC
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, _080B4D08
- adds r0, r2
- lsrs r0, 16
- cmp r0, 0x2A
- bhi _080B4D0C
- adds r0, r1, 0
- adds r0, 0x84
- lsls r0, 16
- lsrs r0, 16
- b _080B4D0E
- .align 2, 0
-_080B4D08: .4byte 0xffff0000
-_080B4D0C:
- movs r0, 0x85
-_080B4D0E:
- pop {r1}
- bx r1
- thumb_func_end BerryTypeToItemId
-
- thumb_func_start GetBerryNameByBerryType
-GetBerryNameByBerryType: @ 80B4D14
- push {r4,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- bl GetBerryInfo
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0x6
- bl memcpy
- movs r0, 0xFF
- strb r0, [r4, 0x6]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end GetBerryNameByBerryType
-
- thumb_func_start ResetBerryTreeSparkleFlag
-ResetBerryTreeSparkleFlag: @ 80B4D34
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetBerryTreeInfo
- ldrb r2, [r0, 0x1]
- movs r1, 0x7F
- ands r1, r2
- strb r1, [r0, 0x1]
- pop {r0}
- bx r0
- thumb_func_end ResetBerryTreeSparkleFlag
-
- thumb_func_start BerryTreeGetNumStagesWatered
-BerryTreeGetNumStagesWatered: @ 80B4D4C
- push {lr}
- ldrb r2, [r0, 0x5]
- movs r0, 0x10
- ands r0, r2
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r1, r0, 31
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _080B4D66
- adds r1, 0x1
-_080B4D66:
- movs r0, 0x40
- ands r0, r2
- cmp r0, 0
- beq _080B4D74
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
-_080B4D74:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _080B4D82
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
-_080B4D82:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end BerryTreeGetNumStagesWatered
-
- thumb_func_start GetNumStagesWateredByBerryTreeId
-GetNumStagesWateredByBerryTreeId: @ 80B4D88
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetBerryTreeInfo
- bl BerryTreeGetNumStagesWatered
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end GetNumStagesWateredByBerryTreeId
-
- thumb_func_start CalcBerryYieldInternal
-CalcBerryYieldInternal: @ 80B4DA0
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 24
- lsrs r2, 24
- cmp r2, 0
- bne _080B4DB6
- lsls r0, r6, 24
- b _080B4DEA
-_080B4DB6:
- subs r1, r0, r6
- subs r0, r2, 0x1
- adds r5, r1, 0
- muls r5, r0
- adds r4, r1, 0
- muls r4, r2
- bl Random
- lsls r0, 16
- lsrs r0, 16
- subs r4, r5
- adds r4, 0x1
- adds r1, r4, 0
- bl __umodsi3
- adds r5, r0
- movs r0, 0x3
- ands r0, r5
- cmp r0, 0x1
- bls _080B4DE4
- lsrs r0, r5, 2
- adds r0, 0x1
- b _080B4DE6
-_080B4DE4:
- lsrs r0, r5, 2
-_080B4DE6:
- adds r0, r6
- lsls r0, 24
-_080B4DEA:
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CalcBerryYieldInternal
-
- thumb_func_start CalcBerryYield
-CalcBerryYield: @ 80B4DF4
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- bl GetBerryInfo
- ldrb r6, [r0, 0xB]
- ldrb r5, [r0, 0xA]
- adds r0, r4, 0
- bl BerryTreeGetNumStagesWatered
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r6, 0
- bl CalcBerryYieldInternal
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CalcBerryYield
-
- thumb_func_start GetBerryCountByBerryTreeId
-GetBerryCountByBerryTreeId: @ 80B4E20
- lsls r0, 24
- ldr r1, _080B4E30
- lsrs r0, 21
- adds r0, r1
- ldr r1, _080B4E34
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080B4E30: .4byte gSaveBlock1
-_080B4E34: .4byte 0x0000160c
- thumb_func_end GetBerryCountByBerryTreeId
-
- thumb_func_start GetStageDurationByBerryType
-GetStageDurationByBerryType: @ 80B4E38
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl GetBerryInfo
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 18
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end GetStageDurationByBerryType
-
- thumb_func_start FieldObjectInteractionGetBerryTreeData
-FieldObjectInteractionGetBerryTreeData: @ 80B4E50
- push {r4-r6,lr}
- ldr r0, _080B4E8C
- ldrb r0, [r0]
- bl FieldObjectGetBerryTreeId
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl GetBerryTypeByBerryTreeId
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0
- bl ResetBerryTreeSparkleFlag
- ldr r0, _080B4E90
- ldrb r0, [r0]
- ldr r2, _080B4E94
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl sub_8060234
- lsls r0, 24
- cmp r0, 0
- beq _080B4E9C
- ldr r1, _080B4E98
- movs r0, 0xFF
- strh r0, [r1]
- b _080B4EAA
- .align 2, 0
-_080B4E8C: .4byte gSelectedMapObject
-_080B4E90: .4byte gUnknown_0202E8DE
-_080B4E94: .4byte gSaveBlock1
-_080B4E98: .4byte gUnknown_0202E8CC
-_080B4E9C:
- ldr r4, _080B4ED4
- adds r0, r5, 0
- bl GetStageByBerryTreeId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_080B4EAA:
- ldr r4, _080B4ED8
- adds r0, r5, 0
- bl GetNumStagesWateredByBerryTreeId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldr r4, _080B4EDC
- adds r0, r5, 0
- bl GetBerryCountByBerryTreeId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldr r1, _080B4EE0
- adds r0, r6, 0
- bl GetBerryNameByBerryType
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4ED4: .4byte gUnknown_0202E8CC
-_080B4ED8: .4byte gUnknown_0202E8CE
-_080B4EDC: .4byte gUnknown_0202E8D0
-_080B4EE0: .4byte gStringVar1
- thumb_func_end FieldObjectInteractionGetBerryTreeData
-
- thumb_func_start sub_80B4EE4
-sub_80B4EE4: @ 80B4EE4
- push {lr}
- ldr r0, _080B4EF0
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080B4EF0: .4byte sub_80A68CC
- thumb_func_end sub_80B4EE4
-
- thumb_func_start FieldObjectInteractionPlantBerryTree
-FieldObjectInteractionPlantBerryTree: @ 80B4EF4
- push {r4,lr}
- ldr r0, _080B4F24
- ldrh r0, [r0]
- bl ItemIdToBerryType
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B4F28
- ldrb r0, [r0]
- bl FieldObjectGetBerryTreeId
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0x1
- bl PlantBerryTree
- bl FieldObjectInteractionGetBerryTreeData
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4F24: .4byte word_203855E
-_080B4F28: .4byte gSelectedMapObject
- thumb_func_end FieldObjectInteractionPlantBerryTree
-
- thumb_func_start FieldObjectInteractionPickBerryTree
-FieldObjectInteractionPickBerryTree: @ 80B4F2C
- push {r4-r6,lr}
- ldr r0, _080B4F70
- ldrb r0, [r0]
- bl FieldObjectGetBerryTreeId
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- adds r0, r5, 0
- bl GetBerryTypeByBerryTreeId
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _080B4F74
- bl BerryTypeToItemId
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- bl GetBerryCountByBerryTreeId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl sub_80A9424
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B4F70: .4byte gSelectedMapObject
-_080B4F74: .4byte gUnknown_0202E8CC
- thumb_func_end FieldObjectInteractionPickBerryTree
-
- thumb_func_start FieldObjectInteractionRemoveBerryTree
-FieldObjectInteractionRemoveBerryTree: @ 80B4F78
- push {lr}
- ldr r0, _080B4F9C
- ldrb r0, [r0]
- bl FieldObjectGetBerryTreeId
- lsls r0, 24
- lsrs r0, 24
- bl RemoveBerryTree
- ldr r0, _080B4FA0
- ldrb r0, [r0]
- ldr r2, _080B4FA4
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl sub_8060288
- pop {r0}
- bx r0
- .align 2, 0
-_080B4F9C: .4byte gSelectedMapObject
-_080B4FA0: .4byte gUnknown_0202E8DE
-_080B4FA4: .4byte gSaveBlock1
- thumb_func_end FieldObjectInteractionRemoveBerryTree
-
- thumb_func_start PlayerHasBerries
-PlayerHasBerries: @ 80B4FA8
- push {lr}
- movs r0, 0x4
- bl IsBagPocketNonEmpty
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end PlayerHasBerries
-
- thumb_func_start ResetBerryTreeSparkleFlags
-ResetBerryTreeSparkleFlags: @ 80B4FB8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetCameraCoords
- mov r0, sp
- ldrh r2, [r0]
- ldrh r1, [r4]
- adds r1, 0x3
- adds r3, r2, 0
- adds r3, 0xE
- lsls r1, 16
- movs r5, 0x80
- lsls r5, 12
- adds r0, r1, r5
- lsrs r0, 16
- mov r10, r0
- mov r5, sp
- lsls r2, 16
- asrs r2, 16
- mov r9, r2
- ldr r4, _080B5050
- lsls r3, 16
- asrs r3, 16
- mov r8, r3
- asrs r7, r1, 16
- movs r6, 0xF
-_080B4FFC:
- ldrb r0, [r4]
- lsls r0, 31
- cmp r0, 0
- beq _080B5038
- ldrb r0, [r4, 0x6]
- cmp r0, 0xC
- bne _080B5038
- ldrh r0, [r4, 0x10]
- strh r0, [r5]
- ldrh r0, [r4, 0x12]
- mov r1, sp
- strh r0, [r1, 0x2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- cmp r9, r1
- bgt _080B5038
- cmp r1, r8
- bgt _080B5038
- lsls r0, 16
- asrs r1, r0, 16
- cmp r7, r1
- bgt _080B5038
- mov r2, r10
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- bgt _080B5038
- ldrb r0, [r4, 0x1D]
- bl ResetBerryTreeSparkleFlag
-_080B5038:
- adds r4, 0x24
- subs r6, 0x1
- cmp r6, 0
- bge _080B4FFC
- 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
-_080B5050: .4byte gMapObjects
- thumb_func_end ResetBerryTreeSparkleFlags
-
- thumb_func_start sub_80B5054
-sub_80B5054: @ 80B5054
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- lsls r3, 24
- lsrs r5, r3, 24
- ldr r0, _080B5098
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B50A4
- ldr r1, _080B509C
- movs r0, 0xFF
- strh r0, [r1]
- ldr r1, _080B50A0
- lsls r0, r4, 3
- adds r0, r1
- ldrb r2, [r0, 0x4]
- ldr r3, [r0]
- str r5, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80B5138
- movs r0, 0x1
- b _080B50A6
- .align 2, 0
-_080B5098: .4byte sub_80B52B4
-_080B509C: .4byte gScriptResult
-_080B50A0: .4byte gMultichoiceLists
-_080B50A4:
- movs r0, 0
-_080B50A6:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B5054
-
- thumb_func_start sub_80B50B0
-sub_80B50B0: @ 80B50B0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- ldr r4, [sp, 0x20]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B5100
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B510C
- ldr r1, _080B5104
- movs r0, 0xFF
- strh r0, [r1]
- ldr r1, _080B5108
- lsls r0, r5, 3
- adds r0, r1
- ldrb r2, [r0, 0x4]
- ldr r3, [r0]
- str r6, [sp]
- str r4, [sp, 0x4]
- mov r0, r8
- adds r1, r7, 0
- bl sub_80B5138
- movs r0, 0x1
- b _080B510E
- .align 2, 0
-_080B5100: .4byte sub_80B52B4
-_080B5104: .4byte gScriptResult
-_080B5108: .4byte gMultichoiceLists
-_080B510C:
- movs r0, 0
-_080B510E:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B50B0
-
- thumb_func_start GetStringWidthInTilesForScriptMenu
-GetStringWidthInTilesForScriptMenu: @ 80B511C
- push {lr}
- adds r1, r0, 0
- ldr r0, _080B5134
- bl GetStringWidthGivenWindowConfig
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0x7
- lsrs r0, r1, 3
- pop {r1}
- bx r1
- .align 2, 0
-_080B5134: .4byte gWindowConfig_81E6CE4
- thumb_func_end GetStringWidthInTilesForScriptMenu
-
- thumb_func_start sub_80B5138
-sub_80B5138: @ 80B5138
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- mov r10, r3
- ldr r3, [sp, 0x34]
- ldr r4, [sp, 0x38]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp, 0x8]
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x10]
- mov r1, r10
- ldr r0, [r1]
- bl GetStringWidthInTilesForScriptMenu
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0x1
- cmp r4, r8
- bcs _080B5198
-_080B517A:
- lsls r0, r4, 3
- add r0, r10
- ldr r0, [r0]
- bl GetStringWidthInTilesForScriptMenu
- lsls r0, 16
- lsrs r0, 16
- cmp r5, r0
- bcs _080B518E
- adds r5, r0, 0
-_080B518E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r8
- bcc _080B517A
-_080B5198:
- lsls r0, r5, 24
- lsrs r7, r0, 24
- mov r1, r9
- adds r0, r7, r1
- adds r0, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x1D
- bls _080B51B8
- mov r0, r9
- adds r0, 0x1D
- subs r0, r7
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r7, 0x1D
-_080B51B8:
- mov r1, r8
- lsls r0, r1, 1
- adds r0, 0x1
- ldr r1, [sp, 0x8]
- lsls r4, r1, 24
- asrs r4, 24
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- mov r0, r9
- adds r2, r7, 0
- adds r3, r4, 0
- bl MenuDrawTextWindow
- mov r6, r9
- adds r6, 0x1
- lsls r6, 24
- lsrs r6, 24
- ldr r5, [sp, 0x8]
- adds r5, 0x1
- lsls r5, 24
- lsrs r5, 24
- adds r0, r6, 0
- adds r1, r5, 0
- mov r2, r8
- mov r3, r10
- bl PrintMenuItems
- ldr r0, [sp, 0x10]
- str r0, [sp]
- mov r1, r9
- subs r0, r7, r1
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0
- adds r1, r6, 0
- adds r2, r5, 0
- mov r3, r8
- bl InitMenu
- ldr r0, [sp, 0xC]
- str r0, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- mov r0, r9
- ldr r1, [sp, 0x8]
- adds r2, r7, 0
- adds r3, r4, 0
- bl sub_80B5230
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B5138
-
- thumb_func_start sub_80B5230
-sub_80B5230: @ 80B5230
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- ldr r0, [sp, 0x1C]
- mov r8, r0
- ldr r0, [sp, 0x20]
- mov r9, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r3, 24
- lsrs r3, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _080B5298
- movs r1, 0x50
- str r3, [sp]
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B529C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- strh r5, [r1, 0xA]
- strh r6, [r1, 0xC]
- ldr r3, [sp]
- strh r3, [r1, 0xE]
- mov r0, r8
- strh r0, [r1, 0x10]
- mov r0, r9
- cmp r0, 0x3
- bls _080B52A0
- movs r0, 0x1
- b _080B52A2
- .align 2, 0
-_080B5298: .4byte sub_80B52B4
-_080B529C: .4byte gTasks
-_080B52A0:
- movs r0, 0
-_080B52A2:
- strh r0, [r1, 0x12]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B5230
-
- thumb_func_start sub_80B52B4
-sub_80B52B4: @ 80B52B4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080B52E0
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B534E
- ldr r2, _080B52E4
- lsls r1, r4, 2
- adds r0, r1, r4
- lsls r0, 3
- adds r0, r2
- movs r2, 0x12
- ldrsh r0, [r0, r2]
- adds r5, r1, 0
- cmp r0, 0
- bne _080B52E8
- bl ProcessMenuInputNoWrap
- b _080B52EC
- .align 2, 0
-_080B52E0: .4byte gPaletteFade
-_080B52E4: .4byte gTasks
-_080B52E8:
- bl ProcessMenuInput
-_080B52EC:
- lsls r0, 24
- lsrs r0, 24
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080B534E
- adds r0, 0x1
- cmp r1, r0
- bne _080B5328
- ldr r0, _080B5320
- adds r1, r5, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0x10
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080B534E
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080B5324
- movs r0, 0x7F
- strh r0, [r1]
- b _080B532C
- .align 2, 0
-_080B5320: .4byte gTasks
-_080B5324: .4byte gScriptResult
-_080B5328:
- ldr r0, _080B5354
- strh r1, [r0]
-_080B532C:
- bl sub_8072DEC
- ldr r0, _080B5358
- adds r3, r5, r4
- lsls r3, 3
- adds r3, r0
- ldrb r0, [r3, 0x8]
- ldrb r1, [r3, 0xA]
- ldrb r2, [r3, 0xC]
- ldrb r3, [r3, 0xE]
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080B534E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5354: .4byte gScriptResult
-_080B5358: .4byte gTasks
- thumb_func_end sub_80B52B4
-
- thumb_func_start Multichoice
-Multichoice: @ 80B535C
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r4, r2, 24
- lsls r3, 24
- lsrs r5, r3, 24
- ldr r0, _080B539C
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B53A8
- ldr r1, _080B53A0
- movs r0, 0xFF
- strh r0, [r1]
- ldr r1, _080B53A4
- lsls r0, r4, 3
- adds r0, r1
- ldrb r2, [r0, 0x4]
- ldr r3, [r0]
- str r5, [sp]
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_80B53B4
- movs r0, 0x1
- b _080B53AA
- .align 2, 0
-_080B539C: .4byte sub_80B52B4
-_080B53A0: .4byte gScriptResult
-_080B53A4: .4byte gMultichoiceLists
-_080B53A8:
- movs r0, 0
-_080B53AA:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end Multichoice
-
- thumb_func_start sub_80B53B4
-sub_80B53B4: @ 80B53B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r7, r3, 0
- ldr r3, [sp, 0x28]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- ldr r0, [r7]
- bl GetStringWidthInTilesForScriptMenu
- lsls r0, 16
- lsrs r4, r0, 16
- movs r5, 0x1
- cmp r5, r6
- bcs _080B5408
-_080B53EA:
- lsls r0, r5, 3
- adds r0, r7
- ldr r0, [r0]
- bl GetStringWidthInTilesForScriptMenu
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- bcs _080B53FE
- adds r4, r0, 0
-_080B53FE:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r6
- bcc _080B53EA
-_080B5408:
- lsls r4, 24
- lsrs r4, 24
- add r4, r8
- adds r4, 0x2
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r6, 1
- adds r0, 0x1
- mov r1, r9
- lsls r5, r1, 24
- asrs r5, 24
- adds r5, r0
- lsls r5, 24
- lsrs r5, 24
- mov r0, r8
- adds r2, r6, 0
- adds r3, r7, 0
- bl PrintMenuItems
- movs r0, 0
- str r0, [sp]
- mov r1, r8
- subs r0, r4, r1
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0
- mov r2, r9
- adds r3, r6, 0
- bl InitMenu
- mov r0, r10
- str r0, [sp]
- str r6, [sp, 0x4]
- mov r0, r8
- mov r1, r9
- adds r2, r4, 0
- adds r3, r5, 0
- bl sub_80B5230
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B53B4
-
- thumb_func_start yes_no_box
-yes_no_box: @ 80B546C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- ldr r6, _080B54B4
- adds r0, r6, 0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B54C0
- ldr r1, _080B54B8
- movs r0, 0xFF
- strh r0, [r1]
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x1
- bl DisplayYesNoMenu
- adds r0, r6, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B54BC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0x8]
- strh r4, [r1, 0xA]
- movs r0, 0x1
- b _080B54C2
- .align 2, 0
-_080B54B4: .4byte task_yes_no_maybe
-_080B54B8: .4byte gScriptResult
-_080B54BC: .4byte gTasks
-_080B54C0:
- movs r0, 0
-_080B54C2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end yes_no_box
-
- thumb_func_start unref_sub_80B54C8
-unref_sub_80B54C8: @ 80B54C8
- push {lr}
- ldr r0, _080B54D8
- ldrh r0, [r0]
- cmp r0, 0xFF
- beq _080B54DC
- movs r0, 0x1
- b _080B54DE
- .align 2, 0
-_080B54D8: .4byte gScriptResult
-_080B54DC:
- movs r0, 0
-_080B54DE:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80B54C8
-
- thumb_func_start task_yes_no_maybe
-task_yes_no_maybe: @ 80B54E4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080B5504
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0x4
- bgt _080B5508
- adds r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _080B556A
- .align 2, 0
-_080B5504: .4byte gTasks
-_080B5508:
- bl ProcessMenuInputNoWrap
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080B552C
- cmp r1, r0
- bgt _080B5524
- subs r0, 0x1
- cmp r1, r0
- beq _080B556A
- b _080B5542
-_080B5524:
- cmp r1, 0
- beq _080B553C
- cmp r1, 0x1
- bne _080B5542
-_080B552C:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080B5538
- movs r0, 0
- b _080B5540
- .align 2, 0
-_080B5538: .4byte gScriptResult
-_080B553C:
- ldr r1, _080B5570
- movs r0, 0x1
-_080B5540:
- strh r0, [r1]
-_080B5542:
- ldr r0, _080B5574
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x8]
- ldrb r1, [r1, 0xA]
- adds r2, r0, 0x6
- lsls r2, 24
- lsrs r2, 24
- adds r3, r1, 0x5
- lsls r3, 24
- lsrs r3, 24
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080B556A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5570: .4byte gScriptResult
-_080B5574: .4byte gTasks
- thumb_func_end task_yes_no_maybe
-
- thumb_func_start sub_80B5578
-sub_80B5578: @ 80B5578
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r4, [sp, 0x30]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- lsls r4, 24
- lsrs r5, r4, 24
- movs r7, 0
- ldr r0, _080B55B8
- mov r10, r0
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B55BC
- movs r0, 0
- b _080B5670
- .align 2, 0
-_080B55B8: .4byte sub_80B5684
-_080B55BC:
- ldr r1, _080B5620
- movs r0, 0xFF
- strh r0, [r1]
- ldr r0, _080B5624
- lsls r4, r6, 3
- adds r0, r4, r0
- ldrb r6, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r5, [sp, 0x4]
- str r7, [sp, 0x8]
- mov r0, r9
- mov r1, r8
- adds r2, r6, 0
- movs r3, 0
- bl sub_807274C
- mov r0, r10
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r0, r6, 24
- lsrs r1, r0, 24
- lsrs r0, 25
- cmp r0, r5
- bcc _080B55FE
- movs r0, 0x1
- ands r0, r6
- cmp r0, 0
- beq _080B5606
-_080B55FE:
- cmp r5, 0x1
- beq _080B5606
- cmp r1, r5
- bne _080B5628
-_080B5606:
- ldr r0, _080B5624
- adds r0, r4, r0
- ldrb r0, [r0, 0x4]
- adds r1, r5, 0
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0x1
- mov r2, r8
- lsls r1, r2, 24
- b _080B563A
- .align 2, 0
-_080B5620: .4byte gScriptResult
-_080B5624: .4byte gMultichoiceLists
-_080B5628:
- adds r0, r6, 0
- adds r1, r5, 0
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 23
- adds r0, 0x3
- mov r3, r8
- lsls r1, r3, 24
-_080B563A:
- asrs r1, 24
- adds r1, r0
- lsls r1, 24
- lsrs r7, r1, 24
- adds r0, r5, 0
- bl sub_807288C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B5680
- mov r3, r10
- lsls r1, r3, 2
- add r1, r10
- lsls r1, 3
- adds r1, r2
- mov r2, r9
- strh r2, [r1, 0x8]
- mov r3, r8
- strh r3, [r1, 0xA]
- add r0, r9
- adds r0, 0x2
- strh r0, [r1, 0xC]
- strh r7, [r1, 0xE]
- mov r0, sp
- ldrh r0, [r0, 0xC]
- strh r0, [r1, 0x10]
- movs r0, 0x1
-_080B5670:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080B5680: .4byte gTasks
- thumb_func_end sub_80B5578
-
- thumb_func_start sub_80B5684
-sub_80B5684: @ 80B5684
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_80727CC
- lsls r0, 24
- asrs r1, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r1, r0
- beq _080B56F4
- adds r0, 0x1
- cmp r1, r0
- bne _080B56CC
- ldr r2, _080B56C4
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- adds r0, r2
- movs r2, 0x10
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0
- bne _080B56F4
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080B56C8
- movs r0, 0x7F
- strh r0, [r1]
- b _080B56D2
- .align 2, 0
-_080B56C4: .4byte gTasks
-_080B56C8: .4byte gScriptResult
-_080B56CC:
- ldr r0, _080B56FC
- strh r1, [r0]
- lsls r4, r5, 2
-_080B56D2:
- bl sub_8072DEC
- ldr r0, _080B5700
- adds r3, r4, r5
- lsls r3, 3
- adds r3, r0
- ldrb r0, [r3, 0x8]
- ldrb r1, [r3, 0xA]
- ldrb r2, [r3, 0xC]
- ldrb r3, [r3, 0xE]
- bl MenuZeroFillWindowRect
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080B56F4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B56FC: .4byte gScriptResult
-_080B5700: .4byte gTasks
- thumb_func_end sub_80B5684
-
- thumb_func_start sp109_CreatePCMenu
-sp109_CreatePCMenu: @ 80B5704
- push {lr}
- ldr r0, _080B5724
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080B572C
- ldr r1, _080B5728
- movs r0, 0xFF
- strh r0, [r1]
- bl CreatePCMenu
- movs r0, 0x1
- b _080B572E
- .align 2, 0
-_080B5724: .4byte sub_80B52B4
-_080B5728: .4byte gScriptResult
-_080B572C:
- movs r0, 0
-_080B572E:
- pop {r1}
- bx r1
- thumb_func_end sp109_CreatePCMenu
-
- thumb_func_start CreatePCMenu
-CreatePCMenu: @ 80B5734
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r0, _080B5758
- bl GetStringWidthInTilesForScriptMenu
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _080B575C
- bl GetStringWidthInTilesForScriptMenu
- lsls r0, 16
- lsrs r0, 16
- cmp r4, r0
- bls _080B5760
- lsls r0, r4, 24
- lsrs r5, r0, 24
- b _080B5762
- .align 2, 0
-_080B5758: .4byte gPCText_PlayersPC
-_080B575C: .4byte gPCText_SomeonesPC
-_080B5760:
- movs r5, 0x8
-_080B5762:
- ldr r0, _080B5798
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080B57A4
- movs r7, 0x4
- adds r4, r5, 0x2
- lsls r2, r4, 24
- lsrs r2, 24
- movs r0, 0
- movs r1, 0
- movs r3, 0x9
- bl MenuDrawTextWindow
- ldr r0, _080B579C
- movs r1, 0x1
- movs r2, 0x5
- bl MenuPrint
- ldr r0, _080B57A0
- movs r1, 0x1
- movs r2, 0x7
- bl MenuPrint
- b _080B57C0
- .align 2, 0
-_080B5798: .4byte 0x00000804
-_080B579C: .4byte gPCText_HallOfFame
-_080B57A0: .4byte gPCText_LogOff
-_080B57A4:
- movs r7, 0x3
- adds r4, r5, 0x2
- lsls r2, r4, 24
- lsrs r2, 24
- movs r0, 0
- movs r1, 0
- movs r3, 0x7
- bl MenuDrawTextWindow
- ldr r0, _080B57DC
- movs r1, 0x1
- movs r2, 0x5
- bl MenuPrint
-_080B57C0:
- adds r6, r4, 0
- ldr r0, _080B57E0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080B57E8
- ldr r0, _080B57E4
- movs r1, 0x1
- movs r2, 0x1
- bl MenuPrint
- b _080B57F2
- .align 2, 0
-_080B57DC: .4byte gPCText_LogOff
-_080B57E0: .4byte 0x0000084b
-_080B57E4: .4byte gPCText_LanettesPC
-_080B57E8:
- ldr r0, _080B5830
- movs r1, 0x1
- movs r2, 0x1
- bl MenuPrint
-_080B57F2:
- ldr r0, _080B5834
- movs r1, 0x1
- movs r2, 0x3
- bl MenuPrint
- movs r4, 0
- str r4, [sp]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- adds r3, r7, 0
- bl InitMenu
- lsls r2, r6, 24
- lsrs r2, 24
- lsls r3, r7, 1
- adds r3, 0x1
- str r4, [sp]
- str r7, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- bl sub_80B5230
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5830: .4byte gPCText_SomeonesPC
-_080B5834: .4byte gPCText_PlayersPC
- thumb_func_end CreatePCMenu
-
- thumb_func_start sub_80B5838
-sub_80B5838: @ 80B5838
- push {lr}
- bl MenuDisplayMessageBox
- ldr r0, _080B584C
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- pop {r0}
- bx r0
- .align 2, 0
-_080B584C: .4byte gUnknown_081A0A01
- thumb_func_end sub_80B5838
-
- thumb_func_start task_picbox
-task_picbox: @ 80B5850
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080B5874
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080B58BE
- cmp r0, 0x1
- bgt _080B5878
- cmp r0, 0
- beq _080B5894
- b _080B58BE
- .align 2, 0
-_080B5874: .4byte gTasks
-_080B5878:
- cmp r0, 0x2
- beq _080B5882
- cmp r0, 0x3
- beq _080B58A0
- b _080B58BE
-_080B5882:
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B589C
- adds r0, r1
- bl sub_8085C44
-_080B5894:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B58BE
- .align 2, 0
-_080B589C: .4byte gSprites
-_080B58A0:
- ldrb r2, [r4, 0xE]
- adds r0, r2, 0
- ldrb r3, [r4, 0x10]
- adds r1, r3, 0
- adds r2, 0x9
- lsls r2, 24
- lsrs r2, 24
- adds r3, 0xA
- lsls r3, 24
- lsrs r3, 24
- bl MenuZeroFillWindowRect
- adds r0, r5, 0
- bl DestroyTask
-_080B58BE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end task_picbox
-
- thumb_func_start sub_80B58C4
-sub_80B58C4: @ 80B58C4
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r7, r0, 16
- lsls r1, 24
- lsrs r6, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- ldr r4, _080B595C
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080B596C
- adds r2, r6, 0
- adds r2, 0x9
- lsls r2, 24
- lsrs r2, 24
- adds r3, r5, 0
- adds r3, 0xA
- lsls r3, 24
- lsrs r3, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl MenuDrawTextWindow
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B5960
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r7, [r4, 0xA]
- lsls r1, r6, 19
- movs r0, 0xA0
- lsls r0, 14
- adds r1, r0
- asrs r1, 16
- lsls r2, r5, 19
- adds r2, r0
- asrs r2, 16
- adds r0, r7, 0
- movs r3, 0
- bl sub_8085AD4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xC]
- strh r6, [r4, 0xE]
- strh r5, [r4, 0x10]
- ldr r3, _080B5964
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r1, r0
- ldr r2, _080B5968
- str r2, [r0]
- adds r1, r3
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
- movs r0, 0x1
- b _080B596E
- .align 2, 0
-_080B595C: .4byte task_picbox
-_080B5960: .4byte gTasks
-_080B5964: .4byte gSprites
-_080B5968: .4byte SpriteCallbackDummy
-_080B596C:
- movs r0, 0
-_080B596E:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B58C4
-
- thumb_func_start picbox_close
-picbox_close: @ 80B5974
- push {lr}
- ldr r0, _080B5998
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080B59A4
- ldr r0, _080B599C
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r0, _080B59A0
- b _080B59A6
- .align 2, 0
-_080B5998: .4byte task_picbox
-_080B599C: .4byte gTasks
-_080B59A0: .4byte sub_80B59AC
-_080B59A4:
- movs r0, 0
-_080B59A6:
- pop {r1}
- bx r1
- thumb_func_end picbox_close
-
- thumb_func_start sub_80B59AC
-sub_80B59AC: @ 80B59AC
- push {lr}
- ldr r0, _080B59C0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080B59C4
- movs r0, 0
- b _080B59C6
- .align 2, 0
-_080B59C0: .4byte task_picbox
-_080B59C4:
- movs r0, 0x1
-_080B59C6:
- pop {r1}
- bx r1
- thumb_func_end sub_80B59AC
-
- thumb_func_start DoNamingScreen
-DoNamingScreen: @ 80B59CC
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r4, [sp, 0x14]
- ldr r5, [sp, 0x18]
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 16
- lsrs r3, 16
- str r4, [sp]
- str r5, [sp, 0x4]
- bl AddNamingScreenTask
- ldr r0, _080B59F8
- bl SetMainCallback2
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B59F8: .4byte C2_NamingScreen
- thumb_func_end DoNamingScreen
-
- thumb_func_start C2_NamingScreen
-C2_NamingScreen: @ 80B59FC
- push {lr}
- ldr r0, _080B5A14
- ldr r1, _080B5A18
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x7
- bhi _080B5A96
- lsls r0, 2
- ldr r1, _080B5A1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B5A14: .4byte gMain
-_080B5A18: .4byte 0x0000043c
-_080B5A1C: .4byte _080B5A20
- .align 2, 0
-_080B5A20:
- .4byte _080B5A40
- .4byte _080B5A4A
- .4byte _080B5A50
- .4byte _080B5A56
- .4byte _080B5A5C
- .4byte _080B5A62
- .4byte _080B5A68
- .4byte _080B5A84
-_080B5A40:
- bl NamingScreen_TurnOffScreen
- bl NamingScreen_Init
- b _080B5A6C
-_080B5A4A:
- bl NamingScreen_ClearVram
- b _080B5A6C
-_080B5A50:
- bl NamingScreen_ClearOam
- b _080B5A6C
-_080B5A56:
- bl NamingScreen_SetUpVideoRegs
- b _080B5A6C
-_080B5A5C:
- bl sub_80B5DC8
- b _080B5A6C
-_080B5A62:
- bl NamingScreen_ResetObjects
- b _080B5A6C
-_080B5A68:
- bl sub_80B5DFC
-_080B5A6C:
- ldr r1, _080B5A7C
- ldr r0, _080B5A80
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080B5A96
- .align 2, 0
-_080B5A7C: .4byte gMain
-_080B5A80: .4byte 0x0000043c
-_080B5A84:
- bl sub_80B5E20
- bl sub_80B5E3C
- bl sub_80B5C04
- ldr r0, _080B5A9C
- bl SetMainCallback2
-_080B5A96:
- pop {r0}
- bx r0
- .align 2, 0
-_080B5A9C: .4byte sub_80B5AA0
- thumb_func_end C2_NamingScreen
-
- thumb_func_start sub_80B5AA0
-sub_80B5AA0: @ 80B5AA0
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80B5AA0
-
- thumb_func_start sub_80B5AB8
-sub_80B5AB8: @ 80B5AB8
- push {r4,lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r1, _080B5B00
- ldr r4, _080B5B04
- ldrh r0, [r4, 0x4]
- strh r0, [r1]
- adds r1, 0x4
- ldrh r0, [r4, 0x6]
- strh r0, [r1]
- ldr r2, _080B5B08
- ldrh r1, [r2]
- ldr r3, _080B5B0C
- adds r0, r3, 0
- ands r0, r1
- strh r0, [r2]
- ldrh r0, [r2]
- ldrh r1, [r4, 0x8]
- orrs r0, r1
- strh r0, [r2]
- adds r2, 0x2
- ldrh r0, [r2]
- ands r3, r0
- strh r3, [r2]
- ldrh r0, [r2]
- ldrh r1, [r4, 0xA]
- orrs r0, r1
- strh r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5B00: .4byte REG_BG1VOFS
-_080B5B04: .4byte 0x02000000
-_080B5B08: .4byte REG_BG1CNT
-_080B5B0C: .4byte 0x0000fffc
- thumb_func_end sub_80B5AB8
-
- thumb_func_start AddNamingScreenTask
-AddNamingScreenTask: @ 80B5B10
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r8, r0
- mov r9, r1
- adds r5, r2, 0
- adds r6, r3, 0
- ldr r7, [sp, 0x1C]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r0, _080B5B74
- movs r1, 0xFF
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080B5B78
- adds r4, r0
- mov r0, r8
- strh r0, [r4, 0x8]
- strh r5, [r4, 0xA]
- strh r6, [r4, 0xC]
- lsrs r0, r7, 16
- strh r0, [r4, 0xE]
- strh r7, [r4, 0x10]
- adds r0, r4, 0
- adds r0, 0x12
- mov r1, r9
- bl StoreWordInTwoHalfwords
- adds r4, 0x16
- adds r0, r4, 0
- ldr r1, [sp, 0x20]
- bl StoreWordInTwoHalfwords
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5B74: .4byte NamingScreenDummyTask
-_080B5B78: .4byte gTasks
- thumb_func_end AddNamingScreenTask
-
- thumb_func_start GetNamingScreenParameters
-GetNamingScreenParameters: @ 80B5B7C
- push {r4-r6,lr}
- ldr r0, _080B5BD8
- bl FindTaskIdByFunc
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, _080B5BDC
- adds r4, r0
- ldr r6, _080B5BE0
- ldrh r0, [r4, 0x8]
- strb r0, [r6, 0x1]
- ldrh r0, [r4, 0xA]
- strh r0, [r6, 0x3E]
- ldrh r1, [r4, 0xC]
- adds r0, r6, 0
- adds r0, 0x40
- strh r1, [r0]
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- lsls r0, 16
- ldrh r1, [r4, 0x10]
- orrs r0, r1
- str r0, [r6, 0x44]
- adds r0, r4, 0
- adds r0, 0x12
- adds r1, r6, 0
- adds r1, 0x38
- bl LoadWordFromTwoHalfwords
- adds r4, 0x16
- adds r1, r6, 0
- adds r1, 0x48
- adds r0, r4, 0
- bl LoadWordFromTwoHalfwords
- adds r0, r5, 0
- bl DestroyTask
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5BD8: .4byte NamingScreenDummyTask
-_080B5BDC: .4byte gTasks
-_080B5BE0: .4byte 0x02000000
- thumb_func_end GetNamingScreenParameters
-
- thumb_func_start NamingScreenDummyTask
-NamingScreenDummyTask: @ 80B5BE4
- bx lr
- thumb_func_end NamingScreenDummyTask
-
- thumb_func_start NamingScreen_TurnOffScreen
-NamingScreen_TurnOffScreen: @ 80B5BE8
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- thumb_func_end NamingScreen_TurnOffScreen
-
- thumb_func_start sub_80B5C04
-sub_80B5C04: @ 80B5C04
- push {r4,lr}
- ldr r0, _080B5C3C
- bl SetVBlankCallback
- ldr r3, _080B5C40
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _080B5C44
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _080B5C48
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5C3C: .4byte sub_80B5AB8
-_080B5C40: .4byte 0x04000208
-_080B5C44: .4byte 0x04000200
-_080B5C48: .4byte REG_DISPSTAT
- thumb_func_end sub_80B5C04
-
- thumb_func_start NamingScreen_ClearVram
-NamingScreen_ClearVram: @ 80B5C4C
- push {r4-r7,lr}
- sub sp, 0x4
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0x80
- lsls r3, 9
- mov r4, sp
- movs r6, 0
- ldr r1, _080B5C98
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _080B5C9C
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080B5C6A:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _080B5C6A
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5C98: .4byte 0x040000d4
-_080B5C9C: .4byte 0x81000800
- thumb_func_end NamingScreen_ClearVram
-
- thumb_func_start NamingScreen_ClearOam
-NamingScreen_ClearOam: @ 80B5CA0
- sub sp, 0x4
- movs r2, 0xE0
- lsls r2, 19
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080B5CBC
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080B5CC0
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- add sp, 0x4
- bx lr
- .align 2, 0
-_080B5CBC: .4byte 0x040000d4
-_080B5CC0: .4byte 0x81000200
- thumb_func_end NamingScreen_ClearOam
-
- thumb_func_start NamingScreen_SetUpVideoRegs
-NamingScreen_SetUpVideoRegs: @ 80B5CC4
- push {r4,r5,lr}
- ldr r5, _080B5D2C
- movs r1, 0
- strh r1, [r5]
- ldr r2, _080B5D30
- strh r1, [r2]
- ldr r3, _080B5D34
- strh r1, [r3]
- ldr r4, _080B5D38
- strh r1, [r4]
- ldr r0, _080B5D3C
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- movs r1, 0xF8
- lsls r1, 5
- adds r0, r1, 0
- strh r0, [r5]
- ldr r1, _080B5D40
- adds r0, r1, 0
- strh r0, [r2]
- ldr r2, _080B5D44
- adds r0, r2, 0
- strh r0, [r3]
- ldr r1, _080B5D48
- adds r0, r1, 0
- strh r0, [r4]
- ldr r1, _080B5D4C
- movs r2, 0xC8
- lsls r2, 3
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080B5D50
- adds r0, r2, 0
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5D2C: .4byte REG_BG0CNT
-_080B5D30: .4byte REG_BG1CNT
-_080B5D34: .4byte REG_BG2CNT
-_080B5D38: .4byte REG_BG3CNT
-_080B5D3C: .4byte REG_BG0HOFS
-_080B5D40: .4byte 0x00001c01
-_080B5D44: .4byte 0x00001d0a
-_080B5D48: .4byte 0x00001e03
-_080B5D4C: .4byte REG_BLDCNT
-_080B5D50: .4byte 0x0000080c
- thumb_func_end NamingScreen_SetUpVideoRegs
-
- thumb_func_start NamingScreen_Init
-NamingScreen_Init: @ 80B5D54
- push {r4-r6,lr}
- bl GetNamingScreenParameters
- ldr r4, _080B5DBC
- movs r0, 0
- strb r0, [r4]
- movs r2, 0
- strh r0, [r4, 0x4]
- strh r0, [r4, 0x6]
- movs r1, 0x1
- movs r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0x2
- strh r0, [r4, 0xA]
- strb r2, [r4, 0xC]
- strb r1, [r4, 0xD]
- ldr r1, _080B5DC0
- ldrb r0, [r4, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r4, 0x34]
- ldrb r1, [r0, 0x4]
- strb r1, [r4, 0xE]
- ldrb r1, [r0, 0x1]
- lsrs r1, 1
- movs r0, 0xE
- subs r0, r1
- strh r0, [r4, 0x2]
- ldr r6, _080B5DC4
- ldrh r0, [r6]
- strh r0, [r4, 0x3C]
- adds r5, r4, 0
- adds r5, 0x11
- adds r0, r5, 0
- movs r1, 0xFF
- movs r2, 0x10
- bl memset
- ldr r0, [r4, 0x34]
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B5DB2
- ldr r1, [r4, 0x38]
- adds r0, r5, 0
- bl StringCopy
-_080B5DB2:
- movs r0, 0x10
- strh r0, [r6]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5DBC: .4byte 0x02000000
-_080B5DC0: .4byte gUnknown_083CE398
-_080B5DC4: .4byte gKeyRepeatStartDelay
- thumb_func_end NamingScreen_Init
-
- thumb_func_start sub_80B5DC8
-sub_80B5DC8: @ 80B5DC8
- push {r4,lr}
- ldr r4, _080B5DE0
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5DE0: .4byte gWindowConfig_81E6E88
- thumb_func_end sub_80B5DC8
-
- thumb_func_start NamingScreen_ResetObjects
-NamingScreen_ResetObjects: @ 80B5DE4
- push {lr}
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- bl ResetTasks
- pop {r0}
- bx r0
- thumb_func_end NamingScreen_ResetObjects
-
- thumb_func_start sub_80B5DFC
-sub_80B5DFC: @ 80B5DFC
- push {lr}
- bl sub_80B7558
- bl sub_80B753C
- bl sub_80B7680
- bl sub_80B75C4
- bl sub_80B7794
- bl sub_80B78A8
- bl sub_80B7960
- pop {r0}
- bx r0
- thumb_func_end sub_80B5DFC
-
- thumb_func_start sub_80B5E20
-sub_80B5E20: @ 80B5E20
- push {lr}
- bl sub_80B6774
- bl sub_80B6A80
- bl sub_80B6CA8
- bl sub_80B6D04
- bl sub_80B6E44
- pop {r0}
- bx r0
- thumb_func_end sub_80B5E20
-
- thumb_func_start sub_80B5E3C
-sub_80B5E3C: @ 80B5E3C
- push {lr}
- bl sub_80B61D8
- bl sub_80B6438
- bl sub_80B5E50
- pop {r0}
- bx r0
- thumb_func_end sub_80B5E3C
-
- thumb_func_start sub_80B5E50
-sub_80B5E50: @ 80B5E50
- push {r4,lr}
- ldr r4, _080B5E6C
- adds r0, r4, 0
- movs r1, 0x2
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5E6C: .4byte sub_80B5E70
- thumb_func_end sub_80B5E50
-
- thumb_func_start sub_80B5E70
-sub_80B5E70: @ 80B5E70
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r7, _080B5E9C
- lsls r1, r0, 2
- adds r1, r0
- lsls r4, r1, 3
- ldr r6, _080B5EA0
- ldr r5, _080B5EA4
-_080B5E82:
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r7
- ldr r1, [r0]
- adds r0, r4, r5
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _080B5E82
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B5E9C: .4byte gUnknown_083CE218
-_080B5EA0: .4byte 0x02000000
-_080B5EA4: .4byte gTasks
- thumb_func_end sub_80B5E70
-
- thumb_func_start sub_80B5EA8
-sub_80B5EA8: @ 80B5EA8
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _080B5ECC
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_080B5ECC: .4byte 0x02000000
- thumb_func_end sub_80B5EA8
-
- thumb_func_start sub_80B5ED0
-sub_80B5ED0: @ 80B5ED0
- push {lr}
- ldr r0, _080B5EF8
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B5EF2
- movs r0, 0x1
- bl sub_80B6210
- movs r0, 0x1
- bl sub_80B68D8
- ldr r1, _080B5EFC
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080B5EF2:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080B5EF8: .4byte gPaletteFade
-_080B5EFC: .4byte 0x02000000
- thumb_func_end sub_80B5ED0
-
- thumb_func_start sub_80B5F00
-sub_80B5F00: @ 80B5F00
- push {lr}
- bl sub_80B60B8
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80B5F00
-
- thumb_func_start sub_80B5F10
-sub_80B5F10: @ 80B5F10
- push {lr}
- bl sub_80B6938
- lsls r0, 24
- cmp r0, 0
- beq _080B5F2C
- movs r0, 0x1
- bl sub_80B6210
- bl sub_80B6878
- ldr r1, _080B5F34
- movs r0, 0x2
- strb r0, [r1]
-_080B5F2C:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080B5F34: .4byte 0x02000000
- thumb_func_end sub_80B5F10
-
- thumb_func_start sub_80B5F38
-sub_80B5F38: @ 80B5F38
- push {lr}
- movs r0, 0
- bl sub_80B6210
- bl sub_80B6B14
- bl sub_80B65F0
- movs r0, 0x1
- bl sub_80B6888
- movs r0, 0
- movs r1, 0
- movs r2, 0x1
- bl sub_80B6460
- movs r0, 0x6
- bl PlaySE
- ldr r1, _080B5F6C
- movs r0, 0x5
- strb r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080B5F6C: .4byte 0x02000000
- thumb_func_end sub_80B5F38
-
- thumb_func_start sub_80B5F70
-sub_80B5F70: @ 80B5F70
- push {r4,r5,lr}
- sub sp, 0x4
- bl sub_80B6610
- lsls r0, 24
- cmp r0, 0
- beq _080B5FDC
- ldr r4, _080B5FE8
- movs r0, 0x2
- strb r0, [r4]
- ldrb r0, [r4, 0xE]
- adds r0, 0x1
- strb r0, [r4, 0xE]
- ldrb r0, [r4, 0xE]
- movs r1, 0x3
- bl __umodsi3
- strb r0, [r4, 0xE]
- bl sub_80B7614
- bl sub_80B77F8
- movs r0, 0x1
- bl sub_80B6210
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl sub_80B6858
- ldrb r0, [r4, 0xE]
- cmp r0, 0x2
- bne _080B5FC8
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x6
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080B5FC8
- mov r1, sp
- movs r0, 0x5
- strh r0, [r1]
-_080B5FC8:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl sub_80B680C
- movs r0, 0
- bl sub_80B6888
-_080B5FDC:
- movs r0, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080B5FE8: .4byte 0x02000000
- thumb_func_end sub_80B5F70
-
- thumb_func_start pokemon_store
-pokemon_store: @ 80B5FEC
- push {r4,lr}
- bl sub_80B74B0
- movs r0, 0
- bl sub_80B6210
- movs r0, 0
- bl sub_80B68D8
- movs r0, 0x3
- movs r1, 0
- movs r2, 0x1
- bl sub_80B6460
- ldr r0, _080B6030
- ldr r4, _080B6034
- ldrh r1, [r4, 0x3C]
- strh r1, [r0]
- ldrb r0, [r4, 0x1]
- cmp r0, 0x2
- bne _080B6038
- bl CalculatePlayerPartyCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bls _080B6038
- bl sub_80B74FC
- movs r0, 0x7
- strb r0, [r4]
- movs r0, 0
- b _080B6040
- .align 2, 0
-_080B6030: .4byte gKeyRepeatStartDelay
-_080B6034: .4byte 0x02000000
-_080B6038:
- ldr r1, _080B6048
- movs r0, 0x8
- strb r0, [r1]
- movs r0, 0x1
-_080B6040:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080B6048: .4byte 0x02000000
- thumb_func_end pokemon_store
-
- thumb_func_start sub_80B604C
-sub_80B604C: @ 80B604C
- push {lr}
- bl MenuUpdateWindowText
- lsls r0, 24
- cmp r0, 0
- beq _080B6060
- ldr r1, _080B6068
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080B6060:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080B6068: .4byte 0x02000000
- thumb_func_end sub_80B604C
-
- thumb_func_start sub_80B606C
-sub_80B606C: @ 80B606C
- push {lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080B6090
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0
- add sp, 0x4
- pop {r1}
- bx r1
- .align 2, 0
-_080B6090: .4byte 0x02000000
- thumb_func_end sub_80B606C
-
- thumb_func_start sub_80B6094
-sub_80B6094: @ 80B6094
- push {lr}
- ldr r0, _080B60B0
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B60AA
- ldr r0, _080B60B4
- ldr r0, [r0, 0x48]
- bl SetMainCallback2
-_080B60AA:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080B60B0: .4byte gPaletteFade
-_080B60B4: .4byte 0x02000000
- thumb_func_end sub_80B6094
-
- thumb_func_start sub_80B60B8
-sub_80B60B8: @ 80B60B8
- push {r4,r5,lr}
- bl sub_80B61EC
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_80B6958
- lsls r0, 24
- lsrs r0, 24
- cmp r4, 0x8
- bne _080B60D6
- bl sub_80B61C8
- b _080B60F2
-_080B60D6:
- cmp r4, 0x6
- bne _080B60E0
- bl sub_80B6FBC
- b _080B6100
-_080B60E0:
- cmp r5, 0x7
- beq _080B60FC
- ldr r1, _080B60F8
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
-_080B60F2:
- lsls r0, 24
- lsrs r0, 24
- b _080B6102
- .align 2, 0
-_080B60F8: .4byte gUnknown_083CE240
-_080B60FC:
- bl sub_80B7090
-_080B6100:
- movs r0, 0
-_080B6102:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B60B8
-
- thumb_func_start sub_80B6108
-sub_80B6108: @ 80B6108
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x3
- movs r1, 0
- movs r2, 0
- bl sub_80B6460
- cmp r4, 0x5
- bne _080B613C
- bl sub_80B7004
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80B6914
- cmp r4, 0
- beq _080B613C
- movs r0, 0
- bl sub_80B6210
- ldr r1, _080B6144
- movs r0, 0x3
- strb r0, [r1]
-_080B613C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080B6144: .4byte 0x02000000
- thumb_func_end sub_80B6108
-
- thumb_func_start sub_80B6148
-sub_80B6148: @ 80B6148
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80B6460
- cmp r4, 0x5
- beq _080B6162
- movs r0, 0
- b _080B616A
-_080B6162:
- bl sub_80B61C8
- lsls r0, 24
- lsrs r0, 24
-_080B616A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6148
-
- thumb_func_start sub_80B6170
-sub_80B6170: @ 80B6170
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0
- bl sub_80B6460
- cmp r4, 0x5
- bne _080B618A
- bl sub_80B6FBC
-_080B618A:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6170
-
- thumb_func_start sub_80B6194
-sub_80B6194: @ 80B6194
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0
- bl sub_80B6460
- cmp r4, 0x5
- beq _080B61AE
- movs r0, 0
- b _080B61BC
-_080B61AE:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080B61C4
- movs r0, 0x6
- strb r0, [r1]
- movs r0, 0x1
-_080B61BC:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080B61C4: .4byte 0x02000000
- thumb_func_end sub_80B6194
-
- thumb_func_start sub_80B61C8
-sub_80B61C8: @ 80B61C8
- ldr r1, _080B61D4
- movs r0, 0x4
- strb r0, [r1]
- movs r0, 0x1
- bx lr
- .align 2, 0
-_080B61D4: .4byte 0x02000000
- thumb_func_end sub_80B61C8
-
- thumb_func_start sub_80B61D8
-sub_80B61D8: @ 80B61D8
- push {lr}
- ldr r0, _080B61E8
- movs r1, 0x1
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080B61E8: .4byte sub_80B623C
- thumb_func_end sub_80B61D8
-
- thumb_func_start sub_80B61EC
-sub_80B61EC: @ 80B61EC
- push {lr}
- ldr r0, _080B6208
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B620C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0xA]
- pop {r1}
- bx r1
- .align 2, 0
-_080B6208: .4byte sub_80B623C
-_080B620C: .4byte gTasks
- thumb_func_end sub_80B61EC
-
- thumb_func_start sub_80B6210
-sub_80B6210: @ 80B6210
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B6234
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B6238
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6234: .4byte sub_80B623C
-_080B6238: .4byte gTasks
- thumb_func_end sub_80B6210
-
- thumb_func_start sub_80B623C
-sub_80B623C: @ 80B623C
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _080B6264
- ldr r2, _080B6268
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080B6264: .4byte gUnknown_083CE250
-_080B6268: .4byte gTasks
- thumb_func_end sub_80B623C
-
- thumb_func_start sub_80B626C
-sub_80B626C: @ 80B626C
- movs r1, 0
- strh r1, [r0, 0xA]
- bx lr
- thumb_func_end sub_80B626C
-
- thumb_func_start sub_80B6274
-sub_80B6274: @ 80B6274
- push {lr}
- adds r2, r0, 0
- movs r0, 0
- strh r0, [r2, 0xA]
- ldr r0, _080B6290
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080B6294
- movs r0, 0x5
- strh r0, [r2, 0xA]
- b _080B62C8
- .align 2, 0
-_080B6290: .4byte gMain
-_080B6294:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080B62A2
- movs r0, 0x6
- strh r0, [r2, 0xA]
- b _080B62C8
-_080B62A2:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080B62B0
- movs r0, 0x8
- strh r0, [r2, 0xA]
- b _080B62C8
-_080B62B0:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080B62C2
- movs r0, 0x9
- strh r0, [r2, 0xA]
- bl sub_80B6878
- b _080B62C8
-_080B62C2:
- adds r0, r2, 0
- bl sub_80B62CC
-_080B62C8:
- pop {r0}
- bx r0
- thumb_func_end sub_80B6274
-
- thumb_func_start sub_80B62CC
-sub_80B62CC: @ 80B62CC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80B6858
- ldr r0, _080B6374
- ldrh r2, [r0, 0x30]
- movs r0, 0x40
- ands r0, r2
- lsls r0, 16
- lsrs r0, 16
- negs r0, r0
- lsrs r1, r0, 31
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _080B62F8
- movs r1, 0x2
-_080B62F8:
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _080B6302
- movs r1, 0x3
-_080B6302:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _080B630C
- movs r1, 0x4
-_080B630C:
- mov r0, sp
- ldrh r6, [r0]
- mov r2, sp
- ldr r0, _080B6378
- lsls r1, 1
- adds r0, r1, r0
- ldrh r3, [r0]
- adds r0, r6, r3
- strh r0, [r2]
- ldr r0, _080B637C
- adds r1, r0
- ldrh r0, [r1]
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r4]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bge _080B633A
- mov r1, sp
- movs r0, 0x8
- strh r0, [r1]
-_080B633A:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x8
- ble _080B634A
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
-_080B634A:
- lsls r0, r3, 16
- asrs r1, r0, 16
- cmp r1, 0
- beq _080B63CA
- ldr r0, _080B6380
- ldrb r0, [r0, 0xE]
- cmp r0, 0x2
- bne _080B638A
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x6
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080B638A
- cmp r1, 0
- ble _080B6384
- mov r1, sp
- movs r0, 0x8
- b _080B6388
- .align 2, 0
-_080B6374: .4byte gMain
-_080B6378: .4byte gUnknown_083CE258
-_080B637C: .4byte gUnknown_083CE262
-_080B6380: .4byte 0x02000000
-_080B6384:
- mov r1, sp
- movs r0, 0x5
-_080B6388:
- strh r0, [r1]
-_080B638A:
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x8
- bne _080B63AC
- ldrh r0, [r4]
- strh r0, [r5, 0xC]
- ldr r1, _080B63A8
- movs r2, 0
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- b _080B63C8
- .align 2, 0
-_080B63A8: .4byte gUnknown_083CE26C
-_080B63AC:
- cmp r6, 0x8
- bne _080B63CA
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080B63BC
- ldrh r0, [r5, 0xC]
- b _080B63C8
-_080B63BC:
- ldr r0, _080B63FC
- movs r2, 0
- ldrsh r1, [r4, r2]
- lsls r1, 1
- adds r1, r0
- ldrh r0, [r1]
-_080B63C8:
- strh r0, [r4]
-_080B63CA:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x8
- bne _080B6408
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bge _080B63E0
- movs r0, 0x2
- strh r0, [r4]
-_080B63E0:
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x2
- ble _080B63EC
- movs r0, 0
- strh r0, [r4]
-_080B63EC:
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080B6400
- movs r0, 0x1
- strh r0, [r5, 0xC]
- b _080B6420
- .align 2, 0
-_080B63FC: .4byte gUnknown_083CE274
-_080B6400:
- cmp r0, 0x2
- bne _080B6420
- strh r0, [r5, 0xC]
- b _080B6420
-_080B6408:
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _080B6414
- movs r0, 0x3
- strh r0, [r4]
-_080B6414:
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- ble _080B6420
- movs r0, 0
- strh r0, [r4]
-_080B6420:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl sub_80B680C
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B62CC
-
- thumb_func_start sub_80B6438
-sub_80B6438: @ 80B6438
- push {lr}
- ldr r0, _080B6458
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B645C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0x3
- strh r0, [r1, 0x8]
- pop {r0}
- bx r0
- .align 2, 0
-_080B6458: .4byte sub_80B64D4
-_080B645C: .4byte gTasks
- thumb_func_end sub_80B6438
-
- thumb_func_start sub_80B6460
-sub_80B6460: @ 80B6460
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- ldr r0, _080B6498
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B649C
- adds r4, r1, r0
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r5, r0
- bne _080B64A0
- cmp r6, 0
- bne _080B64A0
- strh r7, [r4, 0xA]
- movs r0, 0x1
- strh r0, [r4, 0xC]
- b _080B64CC
- .align 2, 0
-_080B6498: .4byte sub_80B64D4
-_080B649C: .4byte gTasks
-_080B64A0:
- cmp r5, 0x3
- bne _080B64B0
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080B64B0
- cmp r6, 0
- beq _080B64CC
-_080B64B0:
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- beq _080B64C2
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_80B65AC
-_080B64C2:
- adds r0, r4, 0
- adds r1, r5, 0
- adds r2, r7, 0
- bl sub_80B65D4
-_080B64CC:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B6460
-
- thumb_func_start sub_80B64D4
-sub_80B64D4: @ 80B64D4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B6548
- adds r4, r1, r0
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- beq _080B6540
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B6540
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_80B654C
- lsls r0, 16
- lsrs r0, 16
- ldrb r3, [r4, 0xE]
- adds r1, r3, 0
- adds r2, r3, 0
- bl sub_8085C7C
- ldrh r1, [r4, 0x12]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B6520
- subs r0, r1, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- cmp r0, 0
- bne _080B6540
-_080B6520:
- movs r0, 0x2
- strh r0, [r4, 0x12]
- ldrh r1, [r4, 0x10]
- ldrh r2, [r4, 0xE]
- adds r0, r1, r2
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- beq _080B653C
- cmp r0, 0
- bne _080B6540
- ldrh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
-_080B653C:
- negs r0, r1
- strh r0, [r4, 0x10]
-_080B6540:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6548: .4byte gTasks
- thumb_func_end sub_80B64D4
-
- thumb_func_start sub_80B654C
-sub_80B654C: @ 80B654C
- push {r4-r6,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x4
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x87
- lsls r1, 1
- adds r5, r1, 0
- adds r0, r5
- add r6, sp, 0x8
- strh r0, [r6]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x86
- lsls r1, 1
- adds r0, r1
- mov r1, sp
- adds r1, 0xA
- strh r0, [r1]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- adds r0, r5
- add r1, sp, 0xC
- strh r0, [r1]
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0x6
- bl memcpy
- lsls r4, 1
- mov r1, sp
- adds r0, r1, r4
- ldrh r0, [r0]
- add sp, 0x10
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80B654C
-
- thumb_func_start sub_80B65AC
-sub_80B65AC: @ 80B65AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80B654C
- lsls r0, 16
- ldr r2, _080B65CC
- lsrs r0, 15
- adds r2, r0, r2
- ldr r1, _080B65D0
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_080B65CC: .4byte gPlttBufferFaded
-_080B65D0: .4byte gPlttBufferUnfaded
- thumb_func_end sub_80B65AC
-
- thumb_func_start sub_80B65D4
-sub_80B65D4: @ 80B65D4
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- movs r3, 0
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- movs r2, 0x1
- strh r2, [r0, 0xC]
- movs r1, 0xF
- strh r1, [r0, 0xE]
- strh r2, [r0, 0x10]
- strh r3, [r0, 0x12]
- bx lr
- thumb_func_end sub_80B65D4
-
- thumb_func_start sub_80B65F0
-sub_80B65F0: @ 80B65F0
- push {r4,lr}
- ldr r4, _080B660C
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B660C: .4byte sub_80B6630
- thumb_func_end sub_80B65F0
-
- thumb_func_start sub_80B6610
-sub_80B6610: @ 80B6610
- push {lr}
- ldr r0, _080B6624
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080B6628
- movs r0, 0
- b _080B662A
- .align 2, 0
-_080B6624: .4byte sub_80B6630
-_080B6628:
- movs r0, 0x1
-_080B662A:
- pop {r1}
- bx r1
- thumb_func_end sub_80B6610
-
- thumb_func_start sub_80B6630
-sub_80B6630: @ 80B6630
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080B6660
- ldr r2, _080B6664
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_080B6642:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _080B6642
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6660: .4byte gUnknown_083CE27C
-_080B6664: .4byte gTasks
- thumb_func_end sub_80B6630
-
- thumb_func_start sub_80B6668
-sub_80B6668: @ 80B6668
- ldr r2, _080B667C
- movs r1, 0
- strh r1, [r2, 0x4]
- strh r1, [r2, 0x6]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- movs r0, 0
- bx lr
- .align 2, 0
-_080B667C: .4byte 0x02000000
- thumb_func_end sub_80B6668
-
- thumb_func_start sub_80B6680
-sub_80B6680: @ 80B6680
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, _080B66E4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r1, 0x28
- bl Sin
- ldr r5, _080B66E8
- ldrb r1, [r5, 0xC]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- ldrh r0, [r4, 0xA]
- adds r0, 0x80
- movs r1, 0xFF
- ands r0, r1
- movs r1, 0x28
- bl Sin
- ldrb r1, [r5, 0xD]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x3F
- ble _080B66DA
- ldrb r1, [r5, 0x8]
- ldrh r0, [r5, 0xA]
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xA]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B66DA:
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080B66E4: .4byte gUnknown_083CE28C
-_080B66E8: .4byte 0x02000000
- thumb_func_end sub_80B6680
-
- thumb_func_start sub_80B66EC
-sub_80B66EC: @ 80B66EC
- push {r4,r5,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r0, _080B6750
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r1, 0x28
- bl Sin
- ldr r5, _080B6754
- ldrb r1, [r5, 0xC]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- ldrh r0, [r4, 0xA]
- adds r0, 0x80
- movs r1, 0xFF
- ands r0, r1
- movs r1, 0x28
- bl Sin
- ldrb r1, [r5, 0xD]
- lsls r1, 2
- add r1, sp
- ldr r1, [r1]
- strh r0, [r1]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _080B6746
- ldrb r1, [r5, 0xC]
- ldrb r0, [r5, 0xD]
- strb r0, [r5, 0xC]
- strb r1, [r5, 0xD]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080B6746:
- movs r0, 0
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080B6750: .4byte gUnknown_083CE28C
-_080B6754: .4byte 0x02000000
- thumb_func_end sub_80B66EC
-
- thumb_func_start sub_80B6758
-sub_80B6758: @ 80B6758
- push {lr}
- ldr r0, _080B6770
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080B6770: .4byte sub_80B6630
- thumb_func_end sub_80B6758
-
- thumb_func_start sub_80B6774
-sub_80B6774: @ 80B6774
- push {r4,r5,lr}
- ldr r0, _080B67E0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- ldr r4, _080B67E4
- strb r0, [r4, 0xF]
- ldr r5, _080B67E8
- ldrb r0, [r4, 0xF]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r3, [r1, 0x5]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1, 0x5]
- ldrb r1, [r4, 0xF]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- ands r2, r1
- orrs r2, r3
- strb r2, [r0, 0x1]
- ldrb r1, [r4, 0xF]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x1
- strh r1, [r0, 0x3A]
- ldrb r1, [r4, 0xF]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x2
- strh r1, [r0, 0x3A]
- movs r0, 0
- movs r1, 0
- bl sub_80B680C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B67E0: .4byte gSpriteTemplate_83CE640
-_080B67E4: .4byte 0x02000000
-_080B67E8: .4byte gSprites
- thumb_func_end sub_80B6774
-
- thumb_func_start sub_80B67EC
-sub_80B67EC: @ 80B67EC
- ldr r3, _080B6804
- lsls r0, 16
- asrs r0, 16
- ldr r1, _080B6808
- ldrb r2, [r1, 0xE]
- lsls r1, r2, 3
- adds r1, r2
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080B6804: .4byte gUnknown_083CE294
-_080B6808: .4byte 0x02000000
- thumb_func_end sub_80B67EC
-
- thumb_func_start sub_80B680C
-sub_80B680C: @ 80B680C
- push {r4-r6,lr}
- adds r5, r1, 0
- lsls r0, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r1, _080B6850
- ldrb r1, [r1, 0xF]
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- ldr r1, _080B6854
- adds r4, r1
- lsrs r6, r0, 16
- asrs r0, 16
- bl sub_80B67EC
- lsls r0, 24
- lsrs r0, 21
- adds r0, 0x1B
- strh r0, [r4, 0x20]
- lsls r0, r5, 16
- asrs r0, 12
- adds r0, 0x50
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x2E]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x30]
- strh r0, [r4, 0x34]
- strh r6, [r4, 0x2E]
- strh r5, [r4, 0x30]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6850: .4byte 0x02000000
-_080B6854: .4byte gSprites
- thumb_func_end sub_80B680C
-
- thumb_func_start sub_80B6858
-sub_80B6858: @ 80B6858
- ldr r2, _080B6870
- ldrb r3, [r2, 0xF]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- ldr r3, _080B6874
- adds r2, r3
- ldrh r3, [r2, 0x2E]
- strh r3, [r0]
- ldrh r0, [r2, 0x30]
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080B6870: .4byte 0x02000000
-_080B6874: .4byte gSprites
- thumb_func_end sub_80B6858
-
- thumb_func_start sub_80B6878
-sub_80B6878: @ 80B6878
- push {lr}
- movs r0, 0x8
- movs r1, 0x2
- bl sub_80B680C
- pop {r0}
- bx r0
- thumb_func_end sub_80B6878
-
- thumb_func_start sub_80B6888
-sub_80B6888: @ 80B6888
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080B68CC
- ldr r4, _080B68D0
- ldrb r1, [r4, 0xF]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r5
- ldrh r3, [r2, 0x36]
- ldr r1, _080B68D4
- ands r1, r3
- strh r1, [r2, 0x36]
- ldrb r2, [r4, 0xF]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- ldrh r2, [r1, 0x36]
- orrs r0, r2
- strh r0, [r1, 0x36]
- ldrb r1, [r4, 0xF]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0
- bl StartSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B68CC: .4byte gSprites
-_080B68D0: .4byte 0x02000000
-_080B68D4: .4byte 0xffffff00
- thumb_func_end sub_80B6888
-
- thumb_func_start sub_80B68D8
-sub_80B68D8: @ 80B68D8
- push {r4,r5,lr}
- lsls r0, 24
- ldr r5, _080B690C
- ldr r4, _080B6910
- ldrb r1, [r4, 0xF]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r5
- ldrh r3, [r2, 0x36]
- movs r1, 0xFF
- ands r1, r3
- strh r1, [r2, 0x36]
- ldrb r2, [r4, 0xF]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r5
- lsrs r0, 16
- ldrh r2, [r1, 0x36]
- orrs r0, r2
- strh r0, [r1, 0x36]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B690C: .4byte gSprites
-_080B6910: .4byte 0x02000000
- thumb_func_end sub_80B68D8
-
- thumb_func_start sub_80B6914
-sub_80B6914: @ 80B6914
- push {lr}
- ldr r0, _080B6930
- ldrb r1, [r0, 0xF]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B6934
- adds r0, r1
- movs r1, 0x1
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_080B6930: .4byte 0x02000000
-_080B6934: .4byte gSprites
- thumb_func_end sub_80B6914
-
- thumb_func_start sub_80B6938
-sub_80B6938: @ 80B6938
- ldr r2, _080B6950
- ldr r0, _080B6954
- ldrb r1, [r0, 0xF]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3F
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 31
- bx lr
- .align 2, 0
-_080B6950: .4byte gSprites
-_080B6954: .4byte 0x02000000
- thumb_func_end sub_80B6938
-
- thumb_func_start sub_80B6958
-sub_80B6958: @ 80B6958
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r1, _080B6988
- mov r0, sp
- movs r2, 0x3
- bl memcpy
- add r4, sp, 0x4
- mov r5, sp
- adds r5, 0x6
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80B6858
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- ble _080B698C
- movs r1, 0
- ldrsh r0, [r5, r1]
- add r0, sp
- ldrb r0, [r0]
- b _080B698E
- .align 2, 0
-_080B6988: .4byte gUnknown_083CE2AF
-_080B698C:
- movs r0, 0
-_080B698E:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6958
-
- thumb_func_start sub_80B6998
-sub_80B6998: @ 80B6998
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B69B0
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
-_080B69B0:
- ldrh r1, [r4, 0x36]
- movs r0, 0xFF
- ands r0, r1
- adds r3, r4, 0
- adds r3, 0x3E
- movs r1, 0x1
- ands r0, r1
- lsls r0, 2
- ldrb r1, [r3]
- movs r2, 0x5
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r3]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- bne _080B69DA
- movs r0, 0x4
- orrs r2, r0
- strb r2, [r3]
-_080B69DA:
- ldrb r1, [r3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080B6A0A
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _080B6A0A
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080B6A0A
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _080B6A16
-_080B6A0A:
- movs r0, 0
- strh r0, [r4, 0x38]
- movs r0, 0x1
- strh r0, [r4, 0x3A]
- movs r0, 0x2
- strh r0, [r4, 0x3C]
-_080B6A16:
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- cmp r0, 0
- bne _080B6A3E
- ldrh r1, [r4, 0x3A]
- ldrh r2, [r4, 0x38]
- adds r0, r1, r2
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- beq _080B6A36
- cmp r0, 0
- bne _080B6A3A
-_080B6A36:
- negs r0, r1
- strh r0, [r4, 0x3A]
-_080B6A3A:
- movs r0, 0x2
- strh r0, [r4, 0x3C]
-_080B6A3E:
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _080B6A74
- ldrh r4, [r4, 0x38]
- lsls r5, r4, 24
- lsrs r5, 24
- lsls r4, 16
- asrs r4, 17
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x5
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r2, _080B6A7C
- adds r0, r2
- lsrs r0, 16
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r5, 0
- bl sub_8085C7C
-_080B6A74:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6A7C: .4byte 0x01010000
- thumb_func_end sub_80B6998
-
- thumb_func_start sub_80B6A80
-sub_80B6A80: @ 80B6A80
- push {r4,r5,lr}
- ldr r0, _080B6AF8
- movs r1, 0xCC
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B6AFC
- strb r0, [r1, 0x10]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r5, _080B6B00
- adds r4, r5
- ldr r1, _080B6B04
- adds r0, r4, 0
- bl SetSubspriteTables
- ldr r0, _080B6B08
- movs r1, 0xCC
- movs r2, 0x4C
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x3A]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- ldr r1, _080B6B0C
- adds r0, r2, 0
- bl SetSubspriteTables
- ldr r0, _080B6B10
- movs r1, 0xCC
- movs r2, 0x4B
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r3, [r1, 0x5]
- movs r2, 0xD
- negs r2, r2
- ands r2, r3
- movs r3, 0x4
- orrs r2, r3
- strb r2, [r1, 0x5]
- strh r0, [r4, 0x3C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6AF8: .4byte gSpriteTemplate_83CE5C8
-_080B6AFC: .4byte 0x02000000
-_080B6B00: .4byte gSprites
-_080B6B04: .4byte gUnknown_083CE558
-_080B6B08: .4byte gSpriteTemplate_83CE5F8
-_080B6B0C: .4byte gUnknown_083CE560
-_080B6B10: .4byte gSpriteTemplate_83CE5E0
- thumb_func_end sub_80B6A80
-
- thumb_func_start sub_80B6B14
-sub_80B6B14: @ 80B6B14
- ldr r2, _080B6B2C
- ldrb r1, [r2, 0x10]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B6B30
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x2E]
- ldrb r1, [r2, 0xE]
- strh r1, [r0, 0x30]
- bx lr
- .align 2, 0
-_080B6B2C: .4byte 0x02000000
-_080B6B30: .4byte gSprites
- thumb_func_end sub_80B6B14
-
- thumb_func_start sub_80B6B34
-sub_80B6B34: @ 80B6B34
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080B6B58
-_080B6B3A:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _080B6B3A
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6B58: .4byte gUnknown_083CE2B4
- thumb_func_end sub_80B6B34
-
- thumb_func_start sub_80B6B5C
-sub_80B6B5C: @ 80B6B5C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r3, _080B6B90
- adds r1, r3
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldr r0, _080B6B94
- ldrb r0, [r0, 0xE]
- bl sub_80B6C48
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080B6B90: .4byte gSprites
-_080B6B94: .4byte 0x02000000
- thumb_func_end sub_80B6B5C
-
- thumb_func_start sub_80B6B98
-sub_80B6B98: @ 80B6B98
- movs r0, 0
- bx lr
- thumb_func_end sub_80B6B98
-
- thumb_func_start sub_80B6B9C
-sub_80B6B9C: @ 80B6B9C
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r0, 0x3A
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r2, _080B6C00
- adds r4, r0, r2
- movs r0, 0x3C
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r5, r0, r2
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080B6BF8
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- ldr r0, _080B6C04
- strh r0, [r4, 0x26]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r3, 0x30]
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80B6C48
-_080B6BF8:
- movs r0, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080B6C00: .4byte gSprites
-_080B6C04: .4byte 0x0000fffc
- thumb_func_end sub_80B6B9C
-
- thumb_func_start sub_80B6C08
-sub_80B6C08: @ 80B6C08
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B6C44
- adds r2, r0, r1
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x26]
- adds r0, 0x1
- strh r0, [r2, 0x26]
- lsls r0, 16
- cmp r0, 0
- blt _080B6C3C
- movs r0, 0
- strh r0, [r2, 0x26]
- movs r0, 0x1
- strh r0, [r4, 0x2E]
-_080B6C3C:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080B6C44: .4byte gSprites
- thumb_func_end sub_80B6C08
-
- thumb_func_start sub_80B6C48
-sub_80B6C48: @ 80B6C48
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080B6CA0
- lsls r4, r5, 1
- adds r0, r4, r0
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- mov r1, r8
- ldrb r2, [r1, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- mov r0, r8
- strb r1, [r0, 0x5]
- ldr r0, _080B6CA4
- adds r4, r0
- ldrh r0, [r4]
- bl GetSpriteTileStartByTag
- adds r1, r6, 0
- adds r1, 0x40
- strh r0, [r1]
- adds r6, 0x42
- movs r1, 0x3F
- ands r1, r5
- ldrb r2, [r6]
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r6]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6CA0: .4byte gUnknown_083CE2C4
-_080B6CA4: .4byte gUnknown_083CE2CA
- thumb_func_end sub_80B6C48
-
- thumb_func_start sub_80B6CA8
-sub_80B6CA8: @ 80B6CA8
- push {r4,r5,lr}
- ldr r0, _080B6CF4
- movs r1, 0xCC
- movs r2, 0x6C
- movs r3, 0
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _080B6CF8
- adds r0, r4
- ldr r5, _080B6CFC
- adds r1, r5, 0
- bl SetSubspriteTables
- ldr r0, _080B6D00
- movs r1, 0xCC
- movs r2, 0x84
- movs r3, 0
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r1, r5, 0
- bl SetSubspriteTables
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6CF4: .4byte gSpriteTemplate_83CE610
-_080B6CF8: .4byte gSprites
-_080B6CFC: .4byte gUnknown_083CE578
-_080B6D00: .4byte gSpriteTemplate_83CE628
- thumb_func_end sub_80B6CA8
-
- thumb_func_start sub_80B6D04
-sub_80B6D04: @ 80B6D04
- push {r4-r6,lr}
- ldr r4, _080B6D8C
- ldrh r1, [r4, 0x2]
- subs r1, 0x1
- lsls r1, 3
- adds r1, 0x4
- ldr r0, _080B6D90
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x28
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, _080B6D94
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldrh r0, [r4, 0x2]
- lsls r0, 3
- adds r0, 0x4
- lsls r0, 16
- lsrs r1, r0, 16
- movs r5, 0
- ldr r0, [r4, 0x34]
- ldrb r0, [r0, 0x1]
- cmp r5, r0
- bcs _080B6D86
- adds r6, r3, 0
-_080B6D4A:
- lsls r4, r1, 16
- asrs r4, 16
- ldr r0, _080B6D98
- adds r1, r4, 0
- movs r2, 0x2C
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- strh r5, [r0, 0x2E]
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x8
- lsls r4, 16
- lsrs r1, r4, 16
- ldr r0, _080B6D8C
- ldr r0, [r0, 0x34]
- ldrb r0, [r0, 0x1]
- cmp r5, r0
- bcc _080B6D4A
-_080B6D86:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6D8C: .4byte 0x02000000
-_080B6D90: .4byte gSpriteTemplate_83CE658
-_080B6D94: .4byte gSprites
-_080B6D98: .4byte gSpriteTemplate_83CE670
- thumb_func_end sub_80B6D04
-
- thumb_func_start sub_80B6D9C
-sub_80B6D9C: @ 80B6D9C
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _080B6DE4
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080B6DC0
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _080B6DCE
-_080B6DC0:
- movs r0, 0x8
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r4, 0x30]
-_080B6DCE:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x24]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6DE4: .4byte gUnknown_083CE2D0
- thumb_func_end sub_80B6D9C
-
- thumb_func_start sub_80B6DE8
-sub_80B6DE8: @ 80B6DE8
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- ldr r1, _080B6E10
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- bl sub_80B6F44
- lsls r0, 24
- ldrh r1, [r4, 0x2E]
- lsls r1, 24
- cmp r0, r1
- beq _080B6E14
- movs r0, 0
- strh r0, [r4, 0x26]
- strh r0, [r4, 0x30]
- b _080B6E3A
- .align 2, 0
-_080B6E10: .4byte gUnknown_083CE2D8
-_080B6E14:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080B6E3C
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r0, 0
-_080B6E3A:
- strh r0, [r4, 0x32]
-_080B6E3C:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B6DE8
-
- thumb_func_start sub_80B6E44
-sub_80B6E44: @ 80B6E44
- push {lr}
- ldr r1, _080B6E5C
- ldr r0, _080B6E60
- ldr r0, [r0, 0x34]
- ldrb r0, [r0, 0x2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .align 2, 0
-_080B6E5C: .4byte gUnknown_083CE2E0
-_080B6E60: .4byte 0x02000000
- thumb_func_end sub_80B6E44
-
- thumb_func_start nullsub_40
-nullsub_40: @ 80B6E64
- bx lr
- thumb_func_end nullsub_40
-
- thumb_func_start sub_80B6E68
-sub_80B6E68: @ 80B6E68
- push {lr}
- sub sp, 0x4
- ldr r0, _080B6EB0
- ldrh r1, [r0, 0x3E]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_805983C
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B6EB4
- movs r2, 0
- str r2, [sp]
- movs r2, 0x38
- movs r3, 0x18
- bl AddPseudoFieldObject
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080B6EB8
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x4
- bl StartSpriteAnim
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080B6EB0: .4byte 0x02000000
-_080B6EB4: .4byte SpriteCallbackDummy
-_080B6EB8: .4byte gSprites
- thumb_func_end sub_80B6E68
-
- thumb_func_start sub_80B6EBC
-sub_80B6EBC: @ 80B6EBC
- push {r4,lr}
- ldr r0, _080B6EF0
- movs r1, 0x34
- movs r2, 0x18
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _080B6EF4
- adds r4, r0
- ldr r1, _080B6EF8
- adds r0, r4, 0
- bl SetSubspriteTables
- ldrb r0, [r4, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r4, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B6EF0: .4byte gSpriteTemplate_83CE688
-_080B6EF4: .4byte gSprites
-_080B6EF8: .4byte gUnknown_083CE580
- thumb_func_end sub_80B6EBC
-
- thumb_func_start sub_80B6EFC
-sub_80B6EFC: @ 80B6EFC
- push {lr}
- sub sp, 0x8
- bl sub_809D51C
- ldr r3, _080B6F38
- ldrh r0, [r3, 0x3E]
- ldr r1, _080B6F3C
- movs r2, 0
- str r2, [sp]
- ldr r2, [r3, 0x44]
- str r2, [sp, 0x4]
- movs r2, 0x34
- movs r3, 0x18
- bl sub_809D2FC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B6F40
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r1, 0x5]
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080B6F38: .4byte 0x02000000
-_080B6F3C: .4byte SpriteCallbackDummy
-_080B6F40: .4byte gSprites
- thumb_func_end sub_80B6EFC
-
- thumb_func_start sub_80B6F44
-sub_80B6F44: @ 80B6F44
- push {r4,lr}
- movs r2, 0
- ldr r1, _080B6F64
- ldr r0, [r1, 0x34]
- ldrb r0, [r0, 0x1]
- adds r4, r1, 0
- cmp r2, r0
- bcs _080B6F72
- adds r1, 0x11
- adds r3, r0, 0
-_080B6F58:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080B6F68
- adds r0, r2, 0
- b _080B6F7C
- .align 2, 0
-_080B6F64: .4byte 0x02000000
-_080B6F68:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r3
- bcc _080B6F58
-_080B6F72:
- ldr r0, [r4, 0x34]
- ldrb r0, [r0, 0x1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
-_080B6F7C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80B6F44
-
- thumb_func_start sub_80B6F84
-sub_80B6F84: @ 80B6F84
- push {lr}
- ldr r2, _080B6FA8
- ldr r0, [r2, 0x34]
- ldrb r0, [r0, 0x1]
- subs r0, 0x1
- lsls r1, r0, 24
- cmp r1, 0
- ble _080B6FB4
- adds r3, r2, 0
- adds r3, 0x11
-_080B6F98:
- asrs r2, r1, 24
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080B6FAC
- lsrs r0, r1, 24
- b _080B6FB6
- .align 2, 0
-_080B6FA8: .4byte 0x02000000
-_080B6FAC:
- subs r0, r2, 0x1
- lsls r1, r0, 24
- cmp r1, 0
- bgt _080B6F98
-_080B6FB4:
- movs r0, 0
-_080B6FB6:
- pop {r1}
- bx r1
- thumb_func_end sub_80B6F84
-
- thumb_func_start sub_80B6FBC
-sub_80B6FBC: @ 80B6FBC
- push {r4,lr}
- bl sub_80B6F84
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080B7000
- adds r0, 0x11
- adds r4, r0
- movs r0, 0
- strb r0, [r4]
- bl sub_80B7960
- movs r0, 0xFF
- strb r0, [r4]
- bl sub_80B6958
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080B6FEA
- cmp r0, 0x2
- bne _080B6FF4
-_080B6FEA:
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x1
- bl sub_80B6460
-_080B6FF4:
- movs r0, 0x17
- bl PlaySE
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7000: .4byte 0x02000000
- thumb_func_end sub_80B6FBC
-
- thumb_func_start sub_80B7004
-sub_80B7004: @ 80B7004
- push {r4,r5,lr}
- sub sp, 0x4
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl sub_80B6858
- mov r4, sp
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80B67EC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl sub_80B7768
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- movs r4, 0x1
- cmp r0, 0xFF
- bne _080B7046
- bl sub_80B7104
- b _080B704E
-_080B7046:
- cmp r0, 0xFE
- bne _080B7054
- bl sub_80B713C
-_080B704E:
- lsls r0, 24
- lsrs r4, r0, 24
- b _080B705A
-_080B7054:
- adds r0, r1, 0
- bl sub_80B7174
-_080B705A:
- bl sub_80B7960
- movs r0, 0x5
- bl PlaySE
- cmp r4, 0
- beq _080B7084
- bl sub_80B6F84
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B7080
- ldr r1, [r1, 0x34]
- ldrb r1, [r1, 0x1]
- subs r1, 0x1
- cmp r0, r1
- bne _080B7084
- movs r0, 0x1
- b _080B7086
- .align 2, 0
-_080B7080: .4byte 0x02000000
-_080B7084:
- movs r0, 0
-_080B7086:
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7004
-
- thumb_func_start sub_80B7090
-sub_80B7090: @ 80B7090
- push {r4-r7,lr}
- bl sub_80B6F84
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r5, 0
- ldr r0, _080B70C8
- adds r0, 0x11
- adds r0, r5, r0
- ldrb r4, [r0]
- adds r6, r4, 0
- adds r0, r4, 0
- bl sub_80B7198
- lsls r0, 24
- cmp r0, 0
- beq _080B70D6
- adds r0, r4, 0
- bl sub_80B7264
- lsls r0, 24
- cmp r0, 0
- beq _080B70CC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80B7370
- b _080B70F4
- .align 2, 0
-_080B70C8: .4byte 0x02000000
-_080B70CC:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80B73CC
- b _080B70F4
-_080B70D6:
- adds r0, r4, 0
- bl sub_80B71E4
- lsls r0, 24
- cmp r0, 0
- beq _080B70EC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80B7474
- b _080B70F4
-_080B70EC:
- adds r0, r6, 0
- adds r1, r7, 0
- bl sub_80B72A4
-_080B70F4:
- bl sub_80B7960
- movs r0, 0x5
- bl PlaySE
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7090
-
- thumb_func_start sub_80B7104
-sub_80B7104: @ 80B7104
- push {r4,r5,lr}
- bl sub_80B6F84
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080B7128
- adds r0, 0x11
- adds r0, r5, r0
- ldrb r4, [r0]
- adds r0, r4, 0
- bl sub_80B720C
- lsls r0, 24
- cmp r0, 0
- bne _080B712C
- movs r0, 0
- b _080B7136
- .align 2, 0
-_080B7128: .4byte 0x02000000
-_080B712C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80B72A4
- movs r0, 0x1
-_080B7136:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B7104
-
- thumb_func_start sub_80B713C
-sub_80B713C: @ 80B713C
- push {r4,r5,lr}
- bl sub_80B6F84
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080B7160
- adds r0, 0x11
- adds r0, r5, r0
- ldrb r4, [r0]
- adds r0, r4, 0
- bl sub_80B7264
- lsls r0, 24
- cmp r0, 0
- bne _080B7164
- movs r0, 0
- b _080B716E
- .align 2, 0
-_080B7160: .4byte 0x02000000
-_080B7164:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80B7370
- movs r0, 0x1
-_080B716E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B713C
-
- thumb_func_start sub_80B7174
-sub_80B7174: @ 80B7174
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80B6F44
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080B7194
- adds r1, 0x11
- adds r0, r1
- strb r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7194: .4byte 0x02000000
- thumb_func_end sub_80B7174
-
- thumb_func_start sub_80B7198
-sub_80B7198: @ 80B7198
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xC9
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x13
- bls _080B71DA
- adds r0, r1, 0
- adds r0, 0x79
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B71DA
- adds r0, r1, 0
- adds r0, 0x74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B71DA
- adds r0, r1, 0
- adds r0, 0x6F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B71DA
- adds r0, r1, 0
- adds r0, 0x6A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B71DE
-_080B71DA:
- movs r0, 0x1
- b _080B71E0
-_080B71DE:
- movs r0, 0
-_080B71E0:
- pop {r1}
- bx r1
- thumb_func_end sub_80B7198
-
- thumb_func_start sub_80B71E4
-sub_80B71E4: @ 80B71E4
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xB5
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B7202
- adds r0, r1, 0
- adds r0, 0x65
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B7206
-_080B7202:
- movs r0, 0x1
- b _080B7208
-_080B7206:
- movs r0, 0
-_080B7208:
- pop {r1}
- bx r1
- thumb_func_end sub_80B71E4
-
- thumb_func_start sub_80B720C
-sub_80B720C: @ 80B720C
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFA
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0xE
- bls _080B725A
- adds r0, r1, 0
- subs r0, 0x1A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B725A
- adds r0, r1, 0
- subs r0, 0x4B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B725A
- adds r0, r1, 0
- subs r0, 0x56
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xE
- bls _080B725A
- adds r0, r1, 0
- subs r0, 0x6A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B725A
- adds r0, r1, 0
- adds r0, 0x65
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B725E
-_080B725A:
- movs r0, 0x1
- b _080B7260
-_080B725E:
- movs r0, 0
-_080B7260:
- pop {r1}
- bx r1
- thumb_func_end sub_80B720C
-
- thumb_func_start sub_80B7264
-sub_80B7264: @ 80B7264
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xE6
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B729A
- adds r0, r1, 0
- subs r0, 0x46
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B729A
- adds r0, r1, 0
- subs r0, 0x6A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B729A
- adds r0, r1, 0
- adds r0, 0x6A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B729E
-_080B729A:
- movs r0, 0x1
- b _080B72A0
-_080B729E:
- movs r0, 0
-_080B72A0:
- pop {r1}
- bx r1
- thumb_func_end sub_80B7264
-
- thumb_func_start sub_80B72A4
-sub_80B72A4: @ 80B72A4
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsrs r2, r0, 24
- movs r3, 0xFA
- lsls r3, 24
- adds r0, r3
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B72C0
- adds r0, r2, 0
- adds r0, 0x31
- b _080B735A
-_080B72C0:
- adds r0, r2, 0
- subs r0, 0xB
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B72D2
- adds r0, r2, 0
- adds r0, 0x31
- b _080B735A
-_080B72D2:
- adds r0, r2, 0
- subs r0, 0x10
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B72E4
- adds r0, r2, 0
- adds r0, 0x31
- b _080B735A
-_080B72E4:
- adds r0, r2, 0
- subs r0, 0x1A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B72F6
- adds r0, r2, 0
- adds r0, 0x2C
- b _080B735A
-_080B72F6:
- adds r0, r2, 0
- subs r0, 0x4B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B7356
- adds r0, r2, 0
- subs r0, 0x56
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B7314
- adds r0, r2, 0
- adds r0, 0x31
- b _080B735A
-_080B7314:
- adds r0, r2, 0
- subs r0, 0x5B
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B7326
- adds r0, r2, 0
- adds r0, 0x31
- b _080B735A
-_080B7326:
- adds r0, r2, 0
- subs r0, 0x60
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B7338
- adds r0, r2, 0
- adds r0, 0x31
- b _080B735A
-_080B7338:
- adds r0, r2, 0
- subs r0, 0x6A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B734A
- adds r0, r2, 0
- adds r0, 0x2C
- b _080B735A
-_080B734A:
- adds r0, r2, 0
- adds r0, 0x65
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B735E
-_080B7356:
- adds r0, r2, 0
- adds r0, 0xFB
-_080B735A:
- lsls r0, 24
- lsrs r2, r0, 24
-_080B735E:
- ldr r0, _080B736C
- adds r0, 0x11
- adds r0, r1, r0
- strb r2, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080B736C: .4byte 0x02000000
- thumb_func_end sub_80B72A4
-
- thumb_func_start sub_80B7370
-sub_80B7370: @ 80B7370
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsrs r2, r0, 24
- movs r3, 0xE6
- lsls r3, 24
- adds r0, r3
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B738C
- adds r0, r2, 0
- adds r0, 0x31
- b _080B73B8
-_080B738C:
- adds r0, r2, 0
- subs r0, 0x46
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B73B6
- adds r0, r2, 0
- subs r0, 0x6A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B73AA
- adds r0, r2, 0
- adds r0, 0x31
- b _080B73B8
-_080B73AA:
- adds r0, r2, 0
- adds r0, 0x6A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B73BC
-_080B73B6:
- adds r0, r2, 0x5
-_080B73B8:
- lsls r0, 24
- lsrs r2, r0, 24
-_080B73BC:
- ldr r0, _080B73C8
- adds r0, 0x11
- adds r0, r1, r0
- strb r2, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080B73C8: .4byte 0x02000000
- thumb_func_end sub_80B7370
-
- thumb_func_start sub_80B73CC
-sub_80B73CC: @ 80B73CC
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsrs r2, r0, 24
- movs r3, 0xC9
- lsls r3, 24
- adds r0, r3
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B73E8
- adds r0, r2, 0
- adds r0, 0xCF
- b _080B745E
-_080B73E8:
- adds r0, r2, 0
- subs r0, 0x3C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B73FA
- adds r0, r2, 0
- adds r0, 0xCF
- b _080B745E
-_080B73FA:
- adds r0, r2, 0
- subs r0, 0x41
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B740C
- adds r0, r2, 0
- adds r0, 0xCF
- b _080B745E
-_080B740C:
- adds r0, r2, 0
- subs r0, 0x46
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B745A
- adds r0, r2, 0
- adds r0, 0x79
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B742A
- adds r0, r2, 0
- adds r0, 0xCF
- b _080B745E
-_080B742A:
- adds r0, r2, 0
- adds r0, 0x74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B743C
- adds r0, r2, 0
- adds r0, 0xCF
- b _080B745E
-_080B743C:
- adds r0, r2, 0
- adds r0, 0x6F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B744E
- adds r0, r2, 0
- adds r0, 0xCF
- b _080B745E
-_080B744E:
- adds r0, r2, 0
- adds r0, 0x6A
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B7462
-_080B745A:
- adds r0, r2, 0
- adds r0, 0xD4
-_080B745E:
- lsls r0, 24
- lsrs r2, r0, 24
-_080B7462:
- ldr r0, _080B7470
- adds r0, 0x11
- adds r0, r1, r0
- strb r2, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080B7470: .4byte 0x02000000
- thumb_func_end sub_80B73CC
-
- thumb_func_start sub_80B7474
-sub_80B7474: @ 80B7474
- push {lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsrs r2, r0, 24
- movs r3, 0xB5
- lsls r3, 24
- adds r0, r3
- lsrs r0, 24
- cmp r0, 0x4
- bls _080B7496
- adds r0, r2, 0
- adds r0, 0x65
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080B749E
-_080B7496:
- adds r0, r2, 0
- adds r0, 0xCF
- lsls r0, 24
- lsrs r2, r0, 24
-_080B749E:
- ldr r0, _080B74AC
- adds r0, 0x11
- adds r0, r1, r0
- strb r2, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080B74AC: .4byte 0x02000000
- thumb_func_end sub_80B7474
-
- thumb_func_start sub_80B74B0
-sub_80B74B0: @ 80B74B0
- push {r4,lr}
- movs r1, 0
- ldr r3, _080B74E4
- ldr r0, [r3, 0x34]
- ldrb r0, [r0, 0x1]
- cmp r1, r0
- bcs _080B74F6
- adds r2, r3, 0
- adds r4, r3, 0
- adds r4, 0x11
-_080B74C4:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B74E8
- cmp r0, 0xFF
- beq _080B74E8
- ldr r0, [r2, 0x38]
- ldr r1, [r2, 0x34]
- ldrb r2, [r1, 0x1]
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r1, r4, 0
- bl StringCopyN
- b _080B74F6
- .align 2, 0
-_080B74E4: .4byte 0x02000000
-_080B74E8:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, [r3, 0x34]
- ldrb r0, [r0, 0x1]
- cmp r1, r0
- bcc _080B74C4
-_080B74F6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B74B0
-
- thumb_func_start sub_80B74FC
-sub_80B74FC: @ 80B74FC
- push {r4,lr}
- ldr r0, _080B7528
- ldr r1, _080B752C
- ldr r1, [r1, 0x38]
- bl StringCopy
- ldr r4, _080B7530
- ldr r1, _080B7534
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r0, _080B7538
- bl BasicInitMenuWindow
- bl MenuDisplayMessageBox
- adds r0, r4, 0
- bl sub_8072044
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7528: .4byte gStringVar1
-_080B752C: .4byte 0x02000000
-_080B7530: .4byte gStringVar4
-_080B7534: .4byte gOtherText_SentToPC
-_080B7538: .4byte gWindowConfig_81E6E88
- thumb_func_end sub_80B74FC
-
- thumb_func_start sub_80B753C
-sub_80B753C: @ 80B753C
- push {lr}
- ldr r0, _080B7550
- bl LoadSpriteSheets
- ldr r0, _080B7554
- bl LoadSpritePalettes
- pop {r0}
- bx r0
- .align 2, 0
-_080B7550: .4byte gUnknown_083CE6A0
-_080B7554: .4byte gUnknown_083CE708
- thumb_func_end sub_80B753C
-
- thumb_func_start sub_80B7558
-sub_80B7558: @ 80B7558
- push {lr}
- bl sub_80B7568
- bl sub_80B75B0
- pop {r0}
- bx r0
- thumb_func_end sub_80B7558
-
- thumb_func_start sub_80B7568
-sub_80B7568: @ 80B7568
- push {r4,lr}
- ldr r4, _080B759C
- ldr r3, _080B75A0
- ldrh r0, [r3]
- lsls r0, 5
- movs r1, 0xC0
- lsls r1, 19
- adds r0, r1
- ldr r1, _080B75A4
- str r4, [r1]
- str r0, [r1, 0x4]
- ldr r2, _080B75A8
- str r2, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldrh r0, [r3]
- lsls r0, 5
- ldr r3, _080B75AC
- adds r0, r3
- str r4, [r1]
- str r0, [r1, 0x4]
- str r2, [r1, 0x8]
- ldr r0, [r1, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B759C: .4byte gNamingScreenMenu_Gfx
-_080B75A0: .4byte gMenuMessageBoxContentTileOffset
-_080B75A4: .4byte 0x040000d4
-_080B75A8: .4byte 0x80000400
-_080B75AC: .4byte 0x06008000
- thumb_func_end sub_80B7568
-
- thumb_func_start sub_80B75B0
-sub_80B75B0: @ 80B75B0
- push {lr}
- ldr r0, _080B75C0
- movs r1, 0
- movs r2, 0x80
- bl LoadPalette
- pop {r0}
- bx r0
- .align 2, 0
-_080B75C0: .4byte gNamingScreenPalettes
- thumb_func_end sub_80B75B0
-
- thumb_func_start sub_80B75C4
-sub_80B75C4: @ 80B75C4
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _080B7608
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r4, _080B760C
- ldr r5, _080B7610
- ldrb r1, [r5, 0xE]
- lsls r1, 3
- adds r1, r4
- ldrb r0, [r5, 0xC]
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- ldr r1, [r1]
- bl _call_via_r1
- ldrb r1, [r5, 0xE]
- lsls r1, 3
- adds r4, 0x4
- adds r1, r4
- ldrb r0, [r5, 0xD]
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- ldr r1, [r1]
- bl _call_via_r1
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7608: .4byte gUnknown_083CE308
-_080B760C: .4byte gUnknown_083CE2F0
-_080B7610: .4byte 0x02000000
- thumb_func_end sub_80B75C4
-
- thumb_func_start sub_80B7614
-sub_80B7614: @ 80B7614
- push {lr}
- sub sp, 0x8
- ldr r0, _080B7644
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, _080B7648
- ldr r2, _080B764C
- ldrb r1, [r2, 0xE]
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldrb r0, [r2, 0xD]
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- ldr r1, [r1]
- bl _call_via_r1
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080B7644: .4byte gUnknown_083CE308
-_080B7648: .4byte gUnknown_083CE2F0
-_080B764C: .4byte 0x02000000
- thumb_func_end sub_80B7614
-
- thumb_func_start sub_80B7650
-sub_80B7650: @ 80B7650
- push {lr}
- ldr r1, _080B765C
- bl sub_80B7698
- pop {r0}
- bx r0
- .align 2, 0
-_080B765C: .4byte gUnknown_083CE748
- thumb_func_end sub_80B7650
-
- thumb_func_start sub_80B7660
-sub_80B7660: @ 80B7660
- push {lr}
- ldr r1, _080B766C
- bl sub_80B7698
- pop {r0}
- bx r0
- .align 2, 0
-_080B766C: .4byte gUnknown_083CEBF8
- thumb_func_end sub_80B7660
-
- thumb_func_start sub_80B7670
-sub_80B7670: @ 80B7670
- push {lr}
- ldr r1, _080B767C
- bl sub_80B7698
- pop {r0}
- bx r0
- .align 2, 0
-_080B767C: .4byte gUnknown_083CF0A8
- thumb_func_end sub_80B7670
-
- thumb_func_start sub_80B7680
-sub_80B7680: @ 80B7680
- push {lr}
- ldr r0, _080B7690
- ldr r1, _080B7694
- bl sub_80B76E0
- pop {r0}
- bx r0
- .align 2, 0
-_080B7690: .4byte 0x0600f000
-_080B7694: .4byte gUnknown_08E86258
- thumb_func_end sub_80B7680
-
- thumb_func_start sub_80B7698
-sub_80B7698: @ 80B7698
- push {r4-r7,lr}
- mov r12, r0
- adds r3, r1, 0
- movs r4, 0
- ldr r0, _080B76DC
- ldrh r6, [r0]
-_080B76A4:
- movs r1, 0
- lsls r4, 16
- asrs r5, r4, 11
-_080B76AA:
- lsls r0, r1, 16
- asrs r0, 16
- adds r1, r5, r0
- lsls r1, 1
- add r1, r12
- ldrh r7, [r3]
- adds r2, r6, r7
- strh r2, [r1]
- adds r0, 0x1
- lsls r0, 16
- adds r3, 0x2
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- ble _080B76AA
- movs r1, 0x80
- lsls r1, 9
- adds r0, r4, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080B76A4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B76DC: .4byte gMenuMessageBoxContentTileOffset
- thumb_func_end sub_80B7698
-
- thumb_func_start sub_80B76E0
-sub_80B76E0: @ 80B76E0
- push {r4-r7,lr}
- mov r12, r0
- adds r3, r1, 0
- movs r4, 0
- ldr r0, _080B7728
- ldrh r6, [r0]
-_080B76EC:
- movs r1, 0
- lsls r5, r4, 16
- asrs r4, r5, 11
-_080B76F2:
- lsls r0, r1, 16
- asrs r0, 16
- adds r1, r4, r0
- lsls r1, 1
- add r1, r12
- ldrh r7, [r3]
- adds r2, r6, r7
- strh r2, [r1]
- adds r0, 0x1
- lsls r0, 16
- adds r3, 0x2
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x1D
- ble _080B76F2
- adds r3, 0x4
- movs r1, 0x80
- lsls r1, 9
- adds r0, r5, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080B76EC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7728: .4byte gMenuMessageBoxContentTileOffset
- thumb_func_end sub_80B76E0
-
- thumb_func_start sub_80B772C
-sub_80B772C: @ 80B772C
- push {lr}
- ldr r1, _080B773C
- ldrb r0, [r1, 0xE]
- ldrb r1, [r1, 0xC]
- bl nullsub_20
- pop {r0}
- bx r0
- .align 2, 0
-_080B773C: .4byte 0x02000000
- thumb_func_end sub_80B772C
-
- thumb_func_start sub_80B7740
-sub_80B7740: @ 80B7740
- push {r4,lr}
- ldr r4, _080B7760
- ldrb r0, [r4, 0xE]
- adds r0, 0x1
- movs r1, 0x3
- bl __modsi3
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r4, 0xD]
- bl nullsub_20
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7760: .4byte 0x02000000
- thumb_func_end sub_80B7740
-
- thumb_func_start nullsub_20
-nullsub_20: @ 80B7764
- bx lr
- thumb_func_end nullsub_20
-
- thumb_func_start sub_80B7768
-sub_80B7768: @ 80B7768
- ldr r3, _080B778C
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- lsls r2, r1, 2
- adds r2, r1
- lsls r2, 2
- adds r0, r2
- ldr r1, _080B7790
- ldrb r2, [r1, 0xE]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- adds r0, r1
- adds r0, r3
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080B778C: .4byte gUnknown_083CE3A8
-_080B7790: .4byte 0x02000000
- thumb_func_end sub_80B7768
-
- thumb_func_start sub_80B7794
-sub_80B7794: @ 80B7794
- push {r4-r6,lr}
- ldr r6, _080B77EC
- ldr r4, _080B77F0
- ldrb r0, [r4, 0xC]
- lsls r0, 2
- ldrb r1, [r4, 0xE]
- lsls r1, 4
- adds r0, r1
- adds r0, r6
- ldr r0, [r0]
- bl BasicInitMenuWindow
- ldr r5, _080B77F4
- ldrb r0, [r4, 0xE]
- lsls r0, 3
- adds r0, r5
- ldr r0, [r0]
- bl _call_via_r0
- ldrb r1, [r4, 0xD]
- lsls r1, 2
- ldrb r0, [r4, 0xE]
- lsls r0, 4
- adds r1, r0
- adds r6, 0x8
- adds r1, r6
- ldr r0, [r1]
- bl BasicInitMenuWindow
- ldrb r0, [r4, 0xE]
- lsls r0, 3
- adds r5, 0x4
- adds r0, r5
- ldr r0, [r0]
- bl _call_via_r0
- bl sub_80B772C
- bl sub_80B7740
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B77EC: .4byte gUnknown_083CE328
-_080B77F0: .4byte 0x02000000
-_080B77F4: .4byte gUnknown_083CE310
- thumb_func_end sub_80B7794
-
- thumb_func_start sub_80B77F8
-sub_80B77F8: @ 80B77F8
- push {r4,lr}
- ldr r2, _080B782C
- ldr r4, _080B7830
- ldrb r1, [r4, 0xD]
- lsls r1, 2
- ldrb r0, [r4, 0xE]
- lsls r0, 4
- adds r1, r0
- adds r2, 0x8
- adds r1, r2
- ldr r0, [r1]
- bl BasicInitMenuWindow
- ldr r1, _080B7834
- ldrb r0, [r4, 0xE]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- bl sub_80B7740
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B782C: .4byte gUnknown_083CE328
-_080B7830: .4byte 0x02000000
-_080B7834: .4byte gUnknown_083CE310
- thumb_func_end sub_80B77F8
-
- thumb_func_start sub_80B7838
-sub_80B7838: @ 80B7838
- push {lr}
- movs r0, 0x1
- bl sub_80B785C
- pop {r0}
- bx r0
- thumb_func_end sub_80B7838
-
- thumb_func_start sub_80B7844
-sub_80B7844: @ 80B7844
- push {lr}
- movs r0, 0
- bl sub_80B785C
- pop {r0}
- bx r0
- thumb_func_end sub_80B7844
-
- thumb_func_start sub_80B7850
-sub_80B7850: @ 80B7850
- push {lr}
- movs r0, 0x2
- bl sub_80B785C
- pop {r0}
- bx r0
- thumb_func_end sub_80B7850
-
- thumb_func_start sub_80B785C
-sub_80B785C: @ 80B785C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- movs r5, 0x9
- lsls r1, r0, 2
- adds r1, r0
- lsls r6, r1, 4
-_080B786C:
- lsls r4, r2, 16
- asrs r4, 16
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 2
- ldr r1, _080B78A4
- adds r0, r1
- adds r0, r6, r0
- lsls r2, r5, 24
- lsrs r2, 24
- movs r1, 0x3
- bl MenuPrint
- adds r4, 0x1
- lsls r4, 16
- lsls r0, r5, 16
- movs r1, 0x80
- lsls r1, 10
- adds r0, r1
- lsrs r5, r0, 16
- lsrs r2, r4, 16
- asrs r4, 16
- cmp r4, 0x3
- ble _080B786C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B78A4: .4byte gUnknown_083CE3A8
- thumb_func_end sub_80B785C
-
- thumb_func_start sub_80B78A8
-sub_80B78A8: @ 80B78A8
- push {r4,lr}
- ldr r0, _080B78E4
- bl BasicInitMenuWindow
- ldr r1, _080B78E8
- ldr r4, _080B78EC
- ldrb r0, [r4, 0x1]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r1, _080B78F0
- ldr r0, [r4, 0x34]
- ldrb r0, [r0, 0x3]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- ldr r0, [r4, 0x34]
- ldr r0, [r0, 0x8]
- movs r1, 0x9
- movs r2, 0x2
- bl MenuPrint
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B78E4: .4byte gWindowConfig_81E6F4C
-_080B78E8: .4byte gUnknown_083CE358
-_080B78EC: .4byte 0x02000000
-_080B78F0: .4byte gUnknown_083CE368
- thumb_func_end sub_80B78A8
-
- thumb_func_start nullsub_61
-nullsub_61: @ 80B78F4
- bx lr
- thumb_func_end nullsub_61
-
- thumb_func_start sub_80B78F8
-sub_80B78F8: @ 80B78F8
- push {lr}
- ldr r0, _080B7914
- ldr r1, _080B7918
- movs r3, 0x3E
- ldrsh r2, [r1, r3]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080B791C
- adds r1, r2
- bl StringCopy
- pop {r0}
- bx r0
- .align 2, 0
-_080B7914: .4byte gStringVar1
-_080B7918: .4byte 0x02000000
-_080B791C: .4byte gSpeciesNames
- thumb_func_end sub_80B78F8
-
- thumb_func_start nullsub_62
-nullsub_62: @ 80B7920
- bx lr
- thumb_func_end nullsub_62
-
- thumb_func_start sub_80B7924
-sub_80B7924: @ 80B7924
- push {lr}
- sub sp, 0x4
- ldr r1, _080B7958
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- ldr r0, _080B795C
- adds r0, 0x40
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0xFF
- beq _080B7952
- cmp r0, 0xFE
- bne _080B7948
- mov r1, sp
- movs r0, 0xB6
- strb r0, [r1]
-_080B7948:
- mov r0, sp
- movs r1, 0x14
- movs r2, 0x4
- bl MenuPrint
-_080B7952:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080B7958: .4byte gUnknown_083CE370
-_080B795C: .4byte 0x02000000
- thumb_func_end sub_80B7924
-
- thumb_func_start sub_80B7960
-sub_80B7960: @ 80B7960
- push {r4,lr}
- ldr r0, _080B799C
- movs r2, 0xFC
- strb r2, [r0]
- movs r1, 0x14
- strb r1, [r0, 0x1]
- movs r1, 0x8
- strb r1, [r0, 0x2]
- strb r2, [r0, 0x3]
- movs r1, 0x11
- strb r1, [r0, 0x4]
- movs r1, 0x1
- strb r1, [r0, 0x5]
- adds r0, 0x6
- ldr r4, _080B79A0
- adds r1, r4, 0
- bl StringCopy
- ldr r0, _080B79A4
- bl BasicInitMenuWindow
- ldr r0, _080B799C
- subs r4, 0x11
- ldrb r1, [r4, 0x2]
- movs r2, 0x4
- bl MenuPrint
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B799C: .4byte gStringVar1
-_080B79A0: .4byte 0x02000011
-_080B79A4: .4byte gWindowConfig_81E6F4C
- thumb_func_end sub_80B7960
-
- thumb_func_start IsEnoughMoney
-IsEnoughMoney: @ 80B79A8
- push {lr}
- cmp r0, r1
- bcs _080B79B2
- movs r0, 0
- b _080B79B4
-_080B79B2:
- movs r0, 0x1
-_080B79B4:
- pop {r1}
- bx r1
- thumb_func_end IsEnoughMoney
-
- thumb_func_start sub_80B79B8
-sub_80B79B8: @ 80B79B8
- push {lr}
- adds r2, r0, 0
- ldr r0, [r2]
- adds r1, r0, r1
- cmp r0, r1
- bls _080B79CC
- ldr r0, _080B79C8
- b _080B79D4
- .align 2, 0
-_080B79C8: .4byte 0x000f423f
-_080B79CC:
- str r1, [r2]
- ldr r0, _080B79DC
- cmp r1, r0
- bls _080B79D6
-_080B79D4:
- str r0, [r2]
-_080B79D6:
- pop {r0}
- bx r0
- .align 2, 0
-_080B79DC: .4byte 0x000f423f
- thumb_func_end sub_80B79B8
-
- thumb_func_start sub_80B79E0
-sub_80B79E0: @ 80B79E0
- push {lr}
- adds r2, r0, 0
- ldr r0, [r2]
- cmp r0, r1
- bcs _080B79EE
- movs r0, 0
- b _080B79F0
-_080B79EE:
- subs r0, r1
-_080B79F0:
- str r0, [r2]
- pop {r0}
- bx r0
- thumb_func_end sub_80B79E0
-
- thumb_func_start sub_80B79F8
-sub_80B79F8: @ 80B79F8
- push {r4,lr}
- adds r3, r0, 0
- lsls r2, 24
- lsrs r4, r2, 24
- ldr r0, _080B7A0C
- cmp r1, r0
- bls _080B7A10
- movs r2, 0x7
- b _080B7A46
- .align 2, 0
-_080B7A0C: .4byte 0x000f423f
-_080B7A10:
- ldr r0, _080B7A1C
- cmp r1, r0
- bls _080B7A20
- movs r2, 0x6
- b _080B7A46
- .align 2, 0
-_080B7A1C: .4byte 0x0001869f
-_080B7A20:
- ldr r0, _080B7A2C
- cmp r1, r0
- bls _080B7A30
- movs r2, 0x5
- b _080B7A46
- .align 2, 0
-_080B7A2C: .4byte 0x00002710
-_080B7A30:
- ldr r0, _080B7A90
- movs r2, 0x4
- cmp r1, r0
- bhi _080B7A46
- movs r2, 0x3
- cmp r1, 0x63
- bhi _080B7A46
- movs r2, 0x1
- cmp r1, 0x9
- bls _080B7A46
- movs r2, 0x2
-_080B7A46:
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x14
- strb r0, [r3, 0x1]
- movs r0, 0x6
- strb r0, [r3, 0x2]
- adds r3, 0x3
- movs r0, 0
- subs r2, r4, r2
- cmp r0, r2
- bge _080B7A6C
- movs r4, 0
-_080B7A5E:
- strb r4, [r3]
- adds r3, 0x1
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r2
- blt _080B7A5E
-_080B7A6C:
- movs r0, 0xB7
- strb r0, [r3]
- adds r3, 0x1
- adds r0, r3, 0
- bl ConvertIntToDecimalString
- adds r3, r0, 0
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x14
- strb r0, [r3, 0x1]
- movs r0, 0
- strb r0, [r3, 0x2]
- movs r0, 0xFF
- strb r0, [r3, 0x3]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7A90: .4byte 0x000003e7
- thumb_func_end sub_80B79F8
-
- thumb_func_start sub_80B7A94
-sub_80B7A94: @ 80B7A94
- push {r4-r7,lr}
- sub sp, 0x10
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 24
- lsrs r7, r3, 24
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_80B79F8
- mov r0, sp
- bl sub_8072CA4
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r5, 0x1
- lsls r0, 3
- cmp r2, r0
- blt _080B7ACE
- mov r0, sp
- adds r1, r6, 0
- adds r2, r7, 0
- bl MenuPrint
- b _080B7AE4
-_080B7ACE:
- adds r1, r6, 0x1
- adds r1, r5
- lsls r1, 3
- subs r1, r2
- lsls r1, 24
- lsrs r1, 24
- lsls r2, r7, 3
- mov r0, sp
- movs r3, 0x1
- bl sub_80729D8
-_080B7AE4:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7A94
-
- thumb_func_start sub_80B7AEC
-sub_80B7AEC: @ 80B7AEC
- push {r4-r6,lr}
- sub sp, 0x20
- adds r3, r0, 0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- mov r6, sp
- movs r0, 0xB7
- strb r0, [r6]
- adds r6, 0x1
- adds r0, r6, 0
- adds r1, r3, 0
- bl ConvertIntToDecimalString
- adds r6, r0, 0
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_8072B4C
- movs r0, 0xFC
- strb r0, [r6]
- movs r0, 0x14
- strb r0, [r6, 0x1]
- movs r0, 0
- strb r0, [r6, 0x2]
- movs r0, 0xFF
- strb r0, [r6, 0x3]
- add sp, 0x20
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7AEC
-
- thumb_func_start sub_80B7B34
-sub_80B7B34: @ 80B7B34
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- mov r8, r0
- adds r5, r1, 0
- mov r9, r2
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r5, 24
- lsrs r5, 24
- mov r1, r9
- lsls r1, 8
- mov r9, r1
- ldr r4, _080B7BD8
- adds r0, r1, r4
- lsls r6, r5, 4
- subs r6, r5
- lsls r1, r6, 6
- mov r3, r8
- adds r3, 0x1
- lsls r3, 5
- ldr r2, _080B7BDC
- adds r3, r2
- adds r1, r3
- movs r2, 0x20
- str r3, [sp]
- bl CpuFastSet
- adds r4, 0x80
- add r9, r4
- adds r0, r5, 0x1
- lsls r4, r0, 4
- subs r4, r0
- lsls r1, r4, 6
- ldr r3, [sp]
- adds r1, r3
- mov r0, r9
- movs r2, 0x20
- bl CpuFastSet
- movs r3, 0
- lsls r5, 5
- mov r0, r8
- adds r7, r5, r0
- lsls r6, 1
- adds r6, 0x1
- add r6, r8
- ldr r1, _080B7BE0
- adds r5, r1, 0
- ldr r0, _080B7BE4
- mov r12, r0
- ldr r1, _080B7BE8
- mov r9, r1
- lsls r4, 1
- adds r4, 0x1
- add r4, r8
-_080B7BAA:
- adds r1, r7, r3
- lsls r1, 1
- mov r0, r12
- adds r2, r1, r0
- adds r0, r3, r6
- adds r0, r5
- strh r0, [r2]
- add r1, r9
- adds r0, r3, r4
- adds r0, r5
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080B7BAA
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7BD8: .4byte gDecoration10000_Gfx
-_080B7BDC: .4byte 0x06008000
-_080B7BE0: .4byte 0xfffff000
-_080B7BE4: .4byte 0x0600f800
-_080B7BE8: .4byte 0x0600f840
- thumb_func_end sub_80B7B34
-
- thumb_func_start sub_80B7BEC
-sub_80B7BEC: @ 80B7BEC
- push {r4,lr}
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsls r3, 24
- movs r1, 0xC0
- lsls r1, 19
- adds r4, r1
- lsrs r4, 24
- movs r1, 0x80
- lsls r1, 17
- adds r3, r1
- lsrs r3, 24
- movs r1, 0x6
- adds r2, r4, 0
- bl sub_80B7A94
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80B7BEC
-
- thumb_func_start sub_80B7C14
-sub_80B7C14: @ 80B7C14
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r3, r2, 0
- lsls r4, 24
- lsls r3, 24
- lsrs r6, r4, 24
- movs r0, 0xD0
- lsls r0, 20
- adds r4, r0
- lsrs r4, 24
- lsrs r5, r3, 24
- movs r1, 0xC0
- lsls r1, 18
- adds r3, r1
- lsrs r3, 24
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl MenuDrawTextWindow
- mov r0, r8
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80B7BEC
- ldr r0, _080B7C88
- bl LoadCompressedObjectPic
- ldr r0, _080B7C8C
- bl LoadCompressedObjectPalette
- ldr r0, _080B7C90
- lsls r6, 19
- movs r1, 0x98
- lsls r1, 13
- adds r6, r1
- asrs r6, 16
- lsls r5, 19
- movs r1, 0xB0
- lsls r1, 12
- adds r5, r1
- asrs r5, 16
- adds r1, r6, 0
- adds r2, r5, 0
- movs r3, 0
- bl CreateSprite
- ldr r1, _080B7C94
- strb r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7C88: .4byte gUnknown_083CF584
-_080B7C8C: .4byte gUnknown_083CF58C
-_080B7C90: .4byte gSpriteTemplate_83CF56C
-_080B7C94: .4byte gUnknown_02038734
- thumb_func_end sub_80B7C14
-
- thumb_func_start RemoveMoneyLabelObject
-RemoveMoneyLabelObject: @ 80B7C98
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080B7CDC
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080B7CE0
- adds r0, r1
- bl DestroySpriteAndFreeResources
- ldr r0, _080B7CE4
- bl FreeSpritePaletteByTag
- adds r2, r4, 0
- adds r2, 0xD
- lsls r2, 24
- lsrs r2, 24
- adds r3, r5, 0x3
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- adds r1, r5, 0
- bl MenuZeroFillWindowRect
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7CDC: .4byte gUnknown_02038734
-_080B7CE0: .4byte gSprites
-_080B7CE4: .4byte 0x00002722
- thumb_func_end RemoveMoneyLabelObject
-
- thumb_func_start sub_80B7CE8
-sub_80B7CE8: @ 80B7CE8
- push {lr}
- ldr r0, _080B7D04
- movs r1, 0x92
- lsls r1, 3
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080B7D08
- ldrh r1, [r1]
- bl IsEnoughMoney
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080B7D04: .4byte gSaveBlock1
-_080B7D08: .4byte gUnknown_0202E8CE
- thumb_func_end sub_80B7CE8
-
- thumb_func_start sub_80B7D0C
-sub_80B7D0C: @ 80B7D0C
- push {lr}
- ldr r0, _080B7D1C
- ldr r1, _080B7D20
- ldrh r1, [r1]
- bl sub_80B79E0
- pop {r0}
- bx r0
- .align 2, 0
-_080B7D1C: .4byte gSaveBlock1 + 0x490
-_080B7D20: .4byte gUnknown_0202E8CE
- thumb_func_end sub_80B7D0C
-
- thumb_func_start AreMovesContestCombo
-AreMovesContestCombo: @ 80B7D24
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 16
- lsls r1, 16
- ldr r2, _080B7D78
- lsrs r0, 13
- adds r0, r2
- ldrb r4, [r0, 0x2]
- mov r3, sp
- lsrs r1, 13
- adds r1, r2
- ldrb r0, [r1, 0x3]
- strb r0, [r3]
- mov r2, sp
- ldrb r0, [r1, 0x4]
- strb r0, [r2, 0x1]
- ldrb r0, [r1, 0x5]
- strb r0, [r2, 0x2]
- mov r0, sp
- ldrb r1, [r1, 0x6]
- strb r1, [r0, 0x3]
- cmp r4, 0
- beq _080B7D80
- mov r0, sp
- ldrb r0, [r0]
- cmp r4, r0
- beq _080B7D6E
- mov r0, sp
- ldrb r0, [r0, 0x1]
- cmp r4, r0
- beq _080B7D6E
- mov r0, sp
- ldrb r0, [r0, 0x2]
- cmp r4, r0
- beq _080B7D6E
- cmp r4, r1
- bne _080B7D80
-_080B7D6E:
- ldr r0, _080B7D7C
- adds r0, r4, r0
- ldrb r0, [r0]
- b _080B7D82
- .align 2, 0
-_080B7D78: .4byte gContestMoves
-_080B7D7C: .4byte gComboStarterLookupTable
-_080B7D80:
- movs r0, 0
-_080B7D82:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end AreMovesContestCombo
-
- thumb_func_start ContestEffect_00
-ContestEffect_00: @ 80B7D8C
- bx lr
- thumb_func_end ContestEffect_00
-
- thumb_func_start ContestEffect_01
-ContestEffect_01: @ 80B7D90
- push {lr}
- ldr r3, _080B7DB8
- ldrb r1, [r3, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r3, 0
- subs r1, 0x70
- adds r0, r1
- ldrb r1, [r0, 0x10]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x10]
- ldrb r0, [r3, 0x11]
- movs r1, 0
- bl sub_80B13EC
- pop {r0}
- bx r0
- .align 2, 0
-_080B7DB8: .4byte 0x020192d0
- thumb_func_end ContestEffect_01
-
- thumb_func_start ContestEffect_02
-ContestEffect_02: @ 80B7DBC
- push {lr}
- ldr r3, _080B7DE4
- ldrb r1, [r3, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r3, 0
- subs r1, 0x70
- adds r0, r1
- ldrb r1, [r0, 0x11]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x11]
- ldrb r0, [r3, 0x11]
- movs r1, 0x1
- bl sub_80B13EC
- pop {r0}
- bx r0
- .align 2, 0
-_080B7DE4: .4byte 0x020192d0
- thumb_func_end ContestEffect_02
-
- thumb_func_start ContestEffect_03
-ContestEffect_03: @ 80B7DE8
- push {r4,lr}
- ldr r3, _080B7E30
- ldrb r1, [r3, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r4, r3, 0
- subs r4, 0x70
- adds r0, r4
- ldrb r1, [r0, 0x10]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x10]
- ldrb r0, [r3, 0x11]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1, 0x15]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x15]
- ldrb r0, [r3, 0x11]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1, 0xB]
- movs r0, 0x71
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0xB]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7E30: .4byte 0x020192d0
- thumb_func_end ContestEffect_03
-
- thumb_func_start ContestEffect_04
-ContestEffect_04: @ 80B7E34
- push {lr}
- ldr r2, _080B7E58
- ldrb r1, [r2, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r2, 0
- subs r1, 0x70
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0, 0x12]
- ldrb r0, [r2, 0x11]
- movs r1, 0x2
- bl sub_80B13EC
- pop {r0}
- bx r0
- .align 2, 0
-_080B7E58: .4byte 0x020192d0
- thumb_func_end ContestEffect_04
-
- thumb_func_start ContestEffect_05
-ContestEffect_05: @ 80B7E5C
- push {lr}
- ldr r3, _080B7E84
- ldrb r1, [r3, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r3, 0
- subs r1, 0x70
- adds r0, r1
- ldrb r1, [r0, 0x10]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0, 0x10]
- ldrb r0, [r3, 0x11]
- movs r1, 0x3
- bl sub_80B13EC
- pop {r0}
- bx r0
- .align 2, 0
-_080B7E84: .4byte 0x020192d0
- thumb_func_end ContestEffect_05
-
- thumb_func_start ContestEffect_06
-ContestEffect_06: @ 80B7E88
- push {lr}
- ldr r2, _080B7EAC
- ldrb r1, [r2, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r2, 0
- subs r1, 0x70
- adds r0, r1
- movs r1, 0x14
- strb r1, [r0, 0xF]
- ldrb r0, [r2, 0x11]
- movs r1, 0x4
- bl sub_80B13EC
- pop {r0}
- bx r0
- .align 2, 0
-_080B7EAC: .4byte 0x020192d0
- thumb_func_end ContestEffect_06
-
- thumb_func_start ContestEffect_07
-ContestEffect_07: @ 80B7EB0
- push {lr}
- ldr r3, _080B7ED8
- ldrb r1, [r3, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r3, 0
- subs r1, 0x70
- adds r0, r1
- ldrb r1, [r0, 0x10]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r0, 0x10]
- ldrb r0, [r3, 0x11]
- movs r1, 0x5
- bl sub_80B13EC
- pop {r0}
- bx r0
- .align 2, 0
-_080B7ED8: .4byte 0x020192d0
- thumb_func_end ContestEffect_07
-
- thumb_func_start ContestEffect_08
-ContestEffect_08: @ 80B7EDC
- push {r4,lr}
- movs r2, 0
- ldr r3, _080B7F38
- ldrb r0, [r3, 0x11]
- adds r1, r0, r3
- ldrb r0, [r1]
- cmp r0, 0
- beq _080B7F1A
- subs r0, 0x1
- ldrb r4, [r3]
- cmp r0, r4
- beq _080B7F0A
- adds r4, r3, 0
- adds r3, r1, 0
-_080B7EF8:
- adds r2, 0x1
- cmp r2, 0x3
- bgt _080B7F0A
- ldrb r0, [r3]
- subs r0, 0x1
- adds r1, r2, r4
- ldrb r1, [r1]
- cmp r0, r1
- bne _080B7EF8
-_080B7F0A:
- ldr r1, _080B7F38
- strb r2, [r1, 0x8]
- movs r0, 0xFF
- strb r0, [r1, 0x9]
- bl sub_80B9120
- lsls r0, 24
- lsrs r2, r0, 24
-_080B7F1A:
- cmp r2, 0
- bne _080B7F28
- ldr r0, _080B7F38
- ldrb r0, [r0, 0x11]
- movs r1, 0x36
- bl sub_80B1404
-_080B7F28:
- ldr r0, _080B7F38
- ldrb r0, [r0, 0x11]
- movs r1, 0x30
- bl sub_80B13EC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7F38: .4byte 0x020192d0
- thumb_func_end ContestEffect_08
-
- thumb_func_start ContestEffect_09
-ContestEffect_09: @ 80B7F3C
- push {r4-r6,lr}
- movs r2, 0
- ldr r1, _080B7F9C
- ldrb r0, [r1, 0x11]
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080B7F7C
- movs r3, 0
- adds r5, r1, 0
- adds r6, r5, 0
- adds r6, 0x8
-_080B7F54:
- adds r1, r2, r5
- ldrb r0, [r4]
- ldrb r1, [r1]
- cmp r0, r1
- bls _080B7F64
- adds r0, r3, r6
- strb r2, [r0]
- adds r3, 0x1
-_080B7F64:
- adds r2, 0x1
- cmp r2, 0x3
- ble _080B7F54
- ldr r0, _080B7F9C
- adds r0, 0x8
- adds r0, r3, r0
- movs r1, 0xFF
- strb r1, [r0]
- bl sub_80B9120
- lsls r0, 24
- lsrs r2, r0, 24
-_080B7F7C:
- cmp r2, 0
- bne _080B7F8A
- ldr r0, _080B7F9C
- ldrb r0, [r0, 0x11]
- movs r1, 0x36
- bl sub_80B1404
-_080B7F8A:
- ldr r0, _080B7F9C
- ldrb r0, [r0, 0x11]
- movs r1, 0x30
- bl sub_80B13EC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B7F9C: .4byte 0x020192d0
- thumb_func_end ContestEffect_09
-
- thumb_func_start ContestEffect_14
-ContestEffect_14: @ 80B7FA0
- push {lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x14
- cmp r0, 0x1
- bls _080B7FC2
- movs r1, 0x3C
- cmp r0, 0x7
- bhi _080B7FC2
- movs r1, 0x28
-_080B7FC2:
- ldr r0, _080B7FD0
- strh r1, [r0, 0x4]
- bl ContestEffect_08
- pop {r0}
- bx r0
- .align 2, 0
-_080B7FD0: .4byte 0x020192d0
- thumb_func_end ContestEffect_14
-
- thumb_func_start ContestEffect_15
-ContestEffect_15: @ 80B7FD4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r7, 0
- ldr r0, _080B806C
- ldrb r6, [r0, 0x11]
- adds r1, r6, r0
- ldrb r1, [r1]
- mov r8, r0
- cmp r1, 0
- beq _080B804A
- movs r5, 0
- mov r4, r8
-_080B7FEE:
- adds r0, r6, r4
- adds r1, r5, r4
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _080B8044
- strb r5, [r4, 0x8]
- movs r0, 0xFF
- strb r0, [r4, 0x9]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- cmp r0, 0
- beq _080B8032
- movs r1, 0xA
- cmp r0, 0x2
- bls _080B8032
- movs r1, 0x14
- cmp r0, 0x4
- bls _080B8032
- movs r1, 0x1E
- cmp r0, 0x6
- bls _080B8032
- movs r1, 0x3C
- cmp r0, 0x8
- bhi _080B8032
- movs r1, 0x28
-_080B8032:
- strh r1, [r4, 0x4]
- bl sub_80B9120
- lsls r0, 24
- cmp r0, 0
- beq _080B8044
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_080B8044:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B7FEE
-_080B804A:
- mov r1, r8
- ldrb r0, [r1, 0x11]
- movs r1, 0x30
- bl sub_80B13EC
- cmp r7, 0
- bne _080B8062
- mov r1, r8
- ldrb r0, [r1, 0x11]
- movs r1, 0x36
- bl sub_80B1404
-_080B8062:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B806C: .4byte 0x020192d0
- thumb_func_end ContestEffect_15
-
- thumb_func_start ContestEffect_16
-ContestEffect_16: @ 80B8070
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r0, 0
- mov r9, r0
- ldr r0, _080B8108
- ldrb r7, [r0, 0x11]
- adds r1, r7, r0
- ldrb r1, [r1]
- mov r10, r0
- cmp r1, 0
- beq _080B80E0
- movs r6, 0
- mov r8, r10
- mov r5, r10
- subs r5, 0x5B
-_080B8094:
- mov r1, r8
- adds r0, r7, r1
- adds r1, r6, r1
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _080B80D8
- ldrb r1, [r5]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B80D8
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80B90C0
- lsls r0, 24
- cmp r0, 0
- beq _080B80D8
- ldrb r0, [r5]
- movs r2, 0x11
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r5]
- adds r0, r4, 0
- movs r1, 0x8
- bl sub_80B13EC
- movs r0, 0x1
- mov r9, r0
-_080B80D8:
- adds r5, 0x1C
- adds r6, 0x1
- cmp r6, 0x3
- ble _080B8094
-_080B80E0:
- mov r1, r10
- ldrb r0, [r1, 0x11]
- movs r1, 0x7
- bl sub_80B13EC
- mov r2, r9
- cmp r2, 0
- bne _080B80FA
- mov r1, r10
- ldrb r0, [r1, 0x11]
- movs r1, 0x36
- bl sub_80B1404
-_080B80FA:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8108: .4byte 0x020192d0
- thumb_func_end ContestEffect_16
-
- thumb_func_start ContestEffect_17
-ContestEffect_17: @ 80B810C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r0, 0
- mov r9, r0
- ldr r0, _080B8150
- ldrb r1, [r0, 0x11]
- mov r8, r1
- adds r1, r0
- ldrb r1, [r1]
- adds r6, r0, 0
- cmp r1, 0
- beq _080B817C
- movs r5, 0
- adds r4, r6, 0
- movs r7, 0
-_080B812E:
- mov r2, r8
- adds r0, r2, r4
- adds r1, r5, r4
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _080B8172
- adds r0, r6, 0
- subs r0, 0x70
- adds r0, r7, r0
- ldrb r1, [r0, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B8154
- movs r0, 0x32
- b _080B8156
- .align 2, 0
-_080B8150: .4byte 0x020192d0
-_080B8154:
- movs r0, 0xA
-_080B8156:
- strh r0, [r4, 0x4]
- strb r5, [r4, 0x8]
- movs r0, 0xFF
- strb r0, [r4, 0x9]
- bl sub_80B9120
- lsls r0, 24
- cmp r0, 0
- beq _080B8172
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080B8172:
- adds r7, 0x1C
- adds r5, 0x1
- ldr r6, _080B81A0
- cmp r5, 0x3
- ble _080B812E
-_080B817C:
- ldrb r0, [r6, 0x11]
- movs r1, 0x30
- bl sub_80B13EC
- mov r0, r9
- cmp r0, 0
- bne _080B8192
- ldrb r0, [r6, 0x11]
- movs r1, 0x36
- bl sub_80B1404
-_080B8192:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B81A0: .4byte 0x020192d0
- thumb_func_end ContestEffect_17
-
- thumb_func_start ContestEffect_18
-ContestEffect_18: @ 80B81A4
- push {r4,lr}
- ldr r4, _080B81D0
- ldrb r1, [r4, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r4, 0
- subs r1, 0x70
- adds r0, r1
- ldrb r1, [r0, 0x11]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x11]
- bl ContestEffect_09
- ldrb r0, [r4, 0x11]
- movs r1, 0x30
- bl sub_80B13EC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B81D0: .4byte 0x020192d0
- thumb_func_end ContestEffect_18
-
- thumb_func_start ContestEffect_19
-ContestEffect_19: @ 80B81D4
- push {r4,lr}
- ldr r4, _080B8208
- ldrb r1, [r4, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r4, 0
- subs r1, 0x70
- adds r0, r1
- ldrh r0, [r0, 0x6]
- ldr r1, _080B820C
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 29
- bl sub_80B9038
- ldrb r0, [r4, 0x11]
- movs r1, 0x30
- bl sub_80B13EC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8208: .4byte 0x020192d0
-_080B820C: .4byte gContestMoves
- thumb_func_end ContestEffect_19
-
- thumb_func_start ContestEffect_20
-ContestEffect_20: @ 80B8210
- push {lr}
- movs r0, 0
- bl sub_80B9038
- ldr r0, _080B8228
- ldrb r0, [r0, 0x11]
- movs r1, 0x30
- bl sub_80B13EC
- pop {r0}
- bx r0
- .align 2, 0
-_080B8228: .4byte 0x020192d0
- thumb_func_end ContestEffect_20
-
- thumb_func_start ContestEffect_21
-ContestEffect_21: @ 80B822C
- push {lr}
- movs r0, 0x1
- bl sub_80B9038
- ldr r0, _080B8244
- ldrb r0, [r0, 0x11]
- movs r1, 0x30
- bl sub_80B13EC
- pop {r0}
- bx r0
- .align 2, 0
-_080B8244: .4byte 0x020192d0
- thumb_func_end ContestEffect_21
-
- thumb_func_start ContestEffect_22
-ContestEffect_22: @ 80B8248
- push {lr}
- movs r0, 0x2
- bl sub_80B9038
- ldr r0, _080B8260
- ldrb r0, [r0, 0x11]
- movs r1, 0x30
- bl sub_80B13EC
- pop {r0}
- bx r0
- .align 2, 0
-_080B8260: .4byte 0x020192d0
- thumb_func_end ContestEffect_22
-
- thumb_func_start ContestEffect_23
-ContestEffect_23: @ 80B8264
- push {lr}
- movs r0, 0x3
- bl sub_80B9038
- ldr r0, _080B827C
- ldrb r0, [r0, 0x11]
- movs r1, 0x30
- bl sub_80B13EC
- pop {r0}
- bx r0
- .align 2, 0
-_080B827C: .4byte 0x020192d0
- thumb_func_end ContestEffect_23
-
- thumb_func_start ContestEffect_24
-ContestEffect_24: @ 80B8280
- push {lr}
- movs r0, 0x4
- bl sub_80B9038
- ldr r0, _080B8298
- ldrb r0, [r0, 0x11]
- movs r1, 0x30
- bl sub_80B13EC
- pop {r0}
- bx r0
- .align 2, 0
-_080B8298: .4byte 0x020192d0
- thumb_func_end ContestEffect_24
-
- thumb_func_start ContestEffect_25
-ContestEffect_25: @ 80B829C
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, _080B82E0
- ldrb r1, [r0, 0x11]
- adds r1, r0
- ldrb r1, [r1]
- adds r7, r0, 0
- cmp r1, 0x3
- beq _080B82F4
- movs r5, 0
- adds r6, r7, 0
-_080B82B2:
- ldrb r0, [r6, 0x11]
- adds r0, r6
- ldrb r0, [r0]
- adds r0, 0x1
- adds r1, r5, r6
- ldrb r1, [r1]
- cmp r0, r1
- bne _080B82EE
- lsls r0, r5, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80B90C0
- lsls r0, 24
- cmp r0, 0
- beq _080B82E4
- adds r0, r4, 0
- bl sub_80B157C
- adds r0, r4, 0
- movs r1, 0xA
- b _080B82E8
- .align 2, 0
-_080B82E0: .4byte 0x020192d0
-_080B82E4:
- adds r0, r4, 0
- movs r1, 0x3C
-_080B82E8:
- bl sub_80B13EC
- movs r4, 0x1
-_080B82EE:
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B82B2
-_080B82F4:
- ldrb r0, [r7, 0x11]
- movs r1, 0x9
- bl sub_80B13EC
- cmp r4, 0
- bne _080B8308
- ldrb r0, [r7, 0x11]
- movs r1, 0x36
- bl sub_80B1404
-_080B8308:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ContestEffect_25
-
- thumb_func_start ContestEffect_26
-ContestEffect_26: @ 80B8310
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- movs r0, 0
- mov r9, r0
- movs r1, 0
- str r1, [sp, 0x18]
- mov r0, sp
- movs r1, 0xFF
- movs r2, 0x5
- bl memset
- movs r6, 0
- movs r4, 0
- add r2, sp, 0x10
- mov r8, r2
- add r3, sp, 0x8
- mov r10, r3
- ldr r5, _080B8384
- adds r7, r5, 0
- subs r7, 0x70
-_080B8340:
- ldrb r0, [r5, 0x11]
- adds r0, r5
- adds r1, r6, r5
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bcs _080B836E
- ldrb r1, [r7, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080B836E
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_80AF59C
- lsls r0, 24
- cmp r0, 0
- bne _080B836E
- mov r1, sp
- adds r0, r1, r4
- strb r6, [r0]
- adds r4, 0x1
-_080B836E:
- adds r7, 0x1C
- adds r6, 0x1
- cmp r6, 0x3
- ble _080B8340
- cmp r4, 0x1
- bne _080B8388
- movs r0, 0x3C
- mov r2, r8
- strh r0, [r2]
- b _080B83B6
- .align 2, 0
-_080B8384: .4byte 0x020192d0
-_080B8388:
- cmp r4, 0x2
- bne _080B8396
- movs r0, 0x1E
- mov r3, r8
- strh r0, [r3]
- strh r0, [r3, 0x2]
- b _080B83B6
-_080B8396:
- cmp r4, 0x3
- bne _080B83A6
- movs r0, 0x14
- mov r7, r8
- strh r0, [r7]
- strh r0, [r7, 0x2]
- strh r0, [r7, 0x4]
- b _080B83B6
-_080B83A6:
- mov r1, r8
- movs r2, 0
- mov r0, r8
- adds r0, 0x6
-_080B83AE:
- strh r2, [r0]
- subs r0, 0x2
- cmp r0, r1
- bge _080B83AE
-_080B83B6:
- movs r6, 0
- movs r7, 0
- mov r4, r10
-_080B83BC:
- ldr r0, _080B83F0
- adds r5, r7, r0
- ldrb r1, [r5, 0x15]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080B83FC
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_80B214C
- lsls r0, 24
- cmp r0, 0
- beq _080B83FC
- ldr r1, _080B83F4
- ldrh r0, [r5, 0x8]
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x2]
- ldr r1, _080B83F8
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- b _080B83FE
- .align 2, 0
-_080B83F0: .4byte 0x02019260
-_080B83F4: .4byte gContestMoves
-_080B83F8: .4byte gComboStarterLookupTable
-_080B83FC:
- movs r0, 0
-_080B83FE:
- strh r0, [r4]
- ldr r5, _080B8494
- adds r0, r7, r5
- ldrb r0, [r0, 0xD]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0xA
- bl __divsi3
- lsls r0, 24
- asrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- ldrh r0, [r4]
- subs r0, r1
- strh r0, [r4]
- adds r7, 0x1C
- adds r4, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _080B83BC
- mov r2, r8
- movs r3, 0
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080B84CA
- movs r6, 0
- mov r0, sp
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080B84CA
- adds r5, 0x7D
- mov r4, sp
-_080B8442:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r6, 1
- add r1, r8
- movs r7, 0
- ldrsh r2, [r1, r7]
- ldrb r3, [r4]
- lsls r1, r3, 1
- add r1, r10
- movs r7, 0
- ldrsh r1, [r1, r7]
- adds r2, r1
- cmp r0, r2
- bge _080B8498
- adds r0, r3, 0
- bl sub_80B90C0
- lsls r0, 24
- cmp r0, 0
- beq _080B84A2
- ldrb r0, [r4]
- bl sub_80B157C
- ldrb r0, [r4]
- movs r1, 0xA
- bl sub_80B13EC
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- b _080B849C
- .align 2, 0
-_080B8494: .4byte 0x02019260
-_080B8498:
- movs r0, 0x1
- str r0, [sp, 0x18]
-_080B849C:
- ldr r1, [sp, 0x18]
- cmp r1, 0
- beq _080B84B8
-_080B84A2:
- movs r2, 0
- str r2, [sp, 0x18]
- ldrb r0, [r4]
- movs r1, 0x3C
- bl sub_80B13EC
- mov r0, r9
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
-_080B84B8:
- ldrb r0, [r4]
- adds r0, r5
- movs r1, 0x1
- strb r1, [r0]
- adds r4, 0x1
- adds r6, 0x1
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _080B8442
-_080B84CA:
- ldr r4, _080B84F4
- ldrb r0, [r4, 0x11]
- movs r1, 0xB
- bl sub_80B13EC
- mov r3, r9
- cmp r3, 0
- bne _080B84E2
- ldrb r0, [r4, 0x11]
- movs r1, 0x36
- bl sub_80B1404
-_080B84E2:
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B84F4: .4byte 0x020192d0
- thumb_func_end ContestEffect_26
-
- thumb_func_start ContestEffect_27
-ContestEffect_27: @ 80B84F8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r0, 0
- mov r8, r0
- movs r6, 0
- ldr r7, _080B8580
- adds r5, r7, 0
- subs r5, 0x63
-_080B850A:
- ldrb r0, [r7, 0x11]
- adds r0, r7
- adds r1, r6, r7
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _080B8556
- movs r0, 0
- ldrsb r0, [r5, r0]
- cmp r0, 0
- ble _080B8556
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80B90C0
- lsls r0, 24
- cmp r0, 0
- beq _080B8556
- movs r0, 0
- strb r0, [r5]
- ldrb r1, [r5, 0x3]
- movs r2, 0x31
- negs r2, r2
- adds r0, r2, 0
- ands r1, r0
- movs r0, 0x20
- orrs r1, r0
- strb r1, [r5, 0x3]
- adds r0, r4, 0
- movs r1, 0xD
- bl sub_80B13EC
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
-_080B8556:
- adds r5, 0x1C
- adds r6, 0x1
- cmp r6, 0x3
- ble _080B850A
- ldr r4, _080B8580
- ldrb r0, [r4, 0x11]
- movs r1, 0xC
- bl sub_80B13EC
- mov r0, r8
- cmp r0, 0
- bne _080B8576
- ldrb r0, [r4, 0x11]
- movs r1, 0x39
- bl sub_80B1404
-_080B8576:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8580: .4byte 0x020192d0
- thumb_func_end ContestEffect_27
-
- thumb_func_start ContestEffect_28
-ContestEffect_28: @ 80B8584
- push {r4-r7,lr}
- movs r7, 0
- movs r5, 0
- ldr r4, _080B85B0
- movs r6, 0
-_080B858E:
- ldrb r0, [r4, 0x11]
- adds r0, r4
- adds r1, r5, r4
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _080B85CE
- adds r0, r4, 0
- subs r0, 0x70
- adds r0, r6, r0
- ldrb r0, [r0, 0xD]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- ble _080B85B4
- movs r0, 0x28
- b _080B85B6
- .align 2, 0
-_080B85B0: .4byte 0x020192d0
-_080B85B4:
- movs r0, 0xA
-_080B85B6:
- strh r0, [r4, 0x4]
- strb r5, [r4, 0x8]
- movs r0, 0xFF
- strb r0, [r4, 0x9]
- bl sub_80B9120
- lsls r0, 24
- cmp r0, 0
- beq _080B85CE
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_080B85CE:
- adds r6, 0x1C
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B858E
- ldr r4, _080B85F4
- ldrb r0, [r4, 0x11]
- movs r1, 0xE
- bl sub_80B13EC
- cmp r7, 0
- bne _080B85EC
- ldrb r0, [r4, 0x11]
- movs r1, 0x39
- bl sub_80B1404
-_080B85EC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B85F4: .4byte 0x020192d0
- thumb_func_end ContestEffect_28
-
- thumb_func_start ContestEffect_29
-ContestEffect_29: @ 80B85F8
- push {r4,lr}
- ldr r0, _080B863C
- ldr r4, _080B8640
- ldrb r2, [r4, 0x11]
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B8636
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r0, r4, 0
- subs r0, 0x70
- adds r1, r0
- ldrh r0, [r1, 0x6]
- ldr r3, _080B8644
- ldr r2, _080B8648
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- lsls r0, 1
- ldrh r2, [r1, 0x2]
- adds r0, r2
- strh r0, [r1, 0x2]
- ldrb r0, [r4, 0x11]
- movs r1, 0xF
- bl sub_80B13EC
-_080B8636:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B863C: .4byte gUnknown_02038696
-_080B8640: .4byte 0x020192d0
-_080B8644: .4byte gContestEffects
-_080B8648: .4byte gContestMoves
- thumb_func_end ContestEffect_29
-
- thumb_func_start ContestEffect_30
-ContestEffect_30: @ 80B864C
- push {r4,lr}
- ldr r0, _080B8690
- ldr r4, _080B8694
- ldrb r2, [r4, 0x11]
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, 0x3
- bne _080B868A
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r0, r4, 0
- subs r0, 0x70
- adds r1, r0
- ldrh r0, [r1, 0x6]
- ldr r3, _080B8698
- ldr r2, _080B869C
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x1]
- lsls r0, 1
- ldrh r2, [r1, 0x2]
- adds r0, r2
- strh r0, [r1, 0x2]
- ldrb r0, [r4, 0x11]
- movs r1, 0x10
- bl sub_80B13EC
-_080B868A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8690: .4byte gUnknown_02038696
-_080B8694: .4byte 0x020192d0
-_080B8698: .4byte gContestEffects
-_080B869C: .4byte gContestMoves
- thumb_func_end ContestEffect_30
-
- thumb_func_start ContestEffect_31
-ContestEffect_31: @ 80B86A0
- push {r4-r7,lr}
- movs r1, 0
- movs r3, 0
- ldr r4, _080B86EC
- ldrb r0, [r4, 0x11]
- adds r0, r4
- ldrb r5, [r0]
- movs r2, 0
- adds r6, r4, 0
- subs r6, 0x70
-_080B86B4:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r5, r0
- bls _080B86C4
- adds r0, r2, r6
- movs r7, 0x2
- ldrsh r0, [r0, r7]
- adds r3, r0
-_080B86C4:
- adds r2, 0x1C
- adds r1, 0x1
- cmp r1, 0x3
- ble _080B86B4
- cmp r3, 0
- bge _080B86D2
- movs r3, 0
-_080B86D2:
- ldr r4, _080B86EC
- ldrb r2, [r4, 0x11]
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B86E2
- cmp r3, 0
- bne _080B86F0
-_080B86E2:
- adds r0, r2, 0
- movs r1, 0x12
- bl sub_80B13EC
- b _080B8710
- .align 2, 0
-_080B86EC: .4byte 0x020192d0
-_080B86F0:
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r0, r4, 0
- subs r0, 0x70
- adds r1, r0
- lsrs r0, r3, 31
- adds r0, r3, r0
- asrs r0, 1
- ldrh r2, [r1, 0x2]
- adds r0, r2
- strh r0, [r1, 0x2]
- ldrb r0, [r4, 0x11]
- movs r1, 0x11
- bl sub_80B13EC
-_080B8710:
- ldr r4, _080B873C
- ldrb r1, [r4, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r5, r4, 0
- subs r5, 0x70
- adds r0, r5
- movs r7, 0x2
- ldrsh r0, [r0, r7]
- bl sub_80B9224
- ldrb r2, [r4, 0x11]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r5
- strh r0, [r1, 0x2]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B873C: .4byte 0x020192d0
- thumb_func_end ContestEffect_31
-
- thumb_func_start ContestEffect_32
-ContestEffect_32: @ 80B8740
- push {r4-r7,lr}
- movs r6, 0
- ldr r0, _080B8794
- ldrb r1, [r0, 0x11]
- adds r3, r1, r0
- ldrb r1, [r3]
- adds r4, r0, 0
- cmp r1, 0
- beq _080B8788
- movs r2, 0
- adds r7, r4, 0
- adds r0, r1, 0
- subs r1, r0, 0x1
- movs r3, 0
- adds r5, r4, 0
- subs r5, 0x70
-_080B8760:
- adds r0, r2, r7
- ldrb r0, [r0]
- cmp r1, r0
- bne _080B876C
- adds r0, r3, r5
- ldrh r6, [r0, 0x2]
-_080B876C:
- adds r3, 0x1C
- adds r2, 0x1
- cmp r2, 0x3
- ble _080B8760
- adds r0, r4, 0
- ldrb r2, [r0, 0x11]
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B8788
- lsls r0, r6, 16
- asrs r3, r0, 16
- cmp r3, 0
- bgt _080B8798
-_080B8788:
- ldrb r0, [r4, 0x11]
- movs r1, 0x14
- bl sub_80B13EC
- b _080B87B2
- .align 2, 0
-_080B8794: .4byte 0x020192d0
-_080B8798:
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r0, r4, 0
- subs r0, 0x70
- adds r1, r0
- ldrh r0, [r1, 0x2]
- adds r0, r3, r0
- strh r0, [r1, 0x2]
- ldrb r0, [r4, 0x11]
- movs r1, 0x13
- bl sub_80B13EC
-_080B87B2:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ContestEffect_32
-
- thumb_func_start ContestEffect_33
-ContestEffect_33: @ 80B87B8
- push {lr}
- ldr r0, _080B87D8
- ldrb r2, [r0, 0x11]
- adds r1, r2, r0
- ldrb r3, [r1]
- mov r12, r0
- cmp r3, 0
- bne _080B87DC
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- mov r1, r12
- subs r1, 0x70
- adds r0, r1
- movs r1, 0xA
- b _080B87EE
- .align 2, 0
-_080B87D8: .4byte 0x020192d0
-_080B87DC:
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- mov r1, r12
- subs r1, 0x70
- adds r0, r1
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 2
-_080B87EE:
- strh r1, [r0, 0x2]
- cmp r3, 0
- bne _080B8800
- mov r1, r12
- ldrb r0, [r1, 0x11]
- movs r1, 0x15
- bl sub_80B13EC
- b _080B882A
-_080B8800:
- cmp r3, 0x1
- bne _080B8810
- mov r1, r12
- ldrb r0, [r1, 0x11]
- movs r1, 0x16
- bl sub_80B13EC
- b _080B882A
-_080B8810:
- cmp r3, 0x2
- bne _080B8820
- mov r1, r12
- ldrb r0, [r1, 0x11]
- movs r1, 0x17
- bl sub_80B13EC
- b _080B882A
-_080B8820:
- mov r1, r12
- ldrb r0, [r1, 0x11]
- movs r1, 0x18
- bl sub_80B13EC
-_080B882A:
- pop {r0}
- bx r0
- thumb_func_end ContestEffect_33
-
- thumb_func_start ContestEffect_34
-ContestEffect_34: @ 80B8830
- push {r4,lr}
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x2
- bhi _080B885C
- movs r4, 0xA
- ldr r0, _080B8858
- ldrb r0, [r0, 0x11]
- movs r1, 0x1A
- bl sub_80B13EC
- b _080B88B0
- .align 2, 0
-_080B8858: .4byte 0x020192d0
-_080B885C:
- cmp r0, 0x5
- bhi _080B8874
- movs r4, 0x14
- ldr r0, _080B8870
- ldrb r0, [r0, 0x11]
- movs r1, 0x1B
- bl sub_80B13EC
- b _080B88B0
- .align 2, 0
-_080B8870: .4byte 0x020192d0
-_080B8874:
- cmp r0, 0x7
- bhi _080B888C
- movs r4, 0x28
- ldr r0, _080B8888
- ldrb r0, [r0, 0x11]
- movs r1, 0x1C
- bl sub_80B13EC
- b _080B88B0
- .align 2, 0
-_080B8888: .4byte 0x020192d0
-_080B888C:
- cmp r1, 0x8
- bhi _080B88A4
- movs r4, 0x3C
- ldr r0, _080B88A0
- ldrb r0, [r0, 0x11]
- movs r1, 0x1D
- bl sub_80B13EC
- b _080B88B0
- .align 2, 0
-_080B88A0: .4byte 0x020192d0
-_080B88A4:
- movs r4, 0x50
- ldr r0, _080B88C8
- ldrb r0, [r0, 0x11]
- movs r1, 0x1E
- bl sub_80B13EC
-_080B88B0:
- ldr r0, _080B88C8
- ldrb r2, [r0, 0x11]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- subs r0, 0x70
- adds r1, r0
- strh r4, [r1, 0x2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B88C8: .4byte 0x020192d0
- thumb_func_end ContestEffect_34
-
- thumb_func_start ContestEffect_35
-ContestEffect_35: @ 80B88CC
- push {r4-r7,lr}
- ldr r1, _080B8940
- ldrb r0, [r1, 0x11]
- adds r0, r1
- movs r2, 0
- ldrsb r2, [r0, r2]
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- mov r12, r1
- cmp r2, 0
- beq _080B8994
- ldrb r5, [r1]
- mov r6, r12
- subs r6, 0x70
-_080B88EA:
- movs r2, 0
- lsls r0, r4, 24
- asrs r1, r0, 24
- adds r4, r0, 0
- cmp r5, r1
- beq _080B8910
- ldr r3, _080B8940
-_080B88F8:
- lsls r0, r2, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bgt _080B8910
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, r1
- bne _080B88F8
-_080B8910:
- lsls r2, 24
- asrs r1, r2, 24
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r3, r0, r6
- ldrb r1, [r3, 0xB]
- movs r0, 0x80
- ands r0, r1
- adds r7, r2, 0
- cmp r0, 0
- bne _080B8932
- ldrb r1, [r3, 0xC]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _080B8944
-_080B8932:
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r4, r1
- lsrs r4, r0, 24
- cmp r0, 0
- blt _080B8994
- b _080B88EA
- .align 2, 0
-_080B8940: .4byte 0x020192d0
-_080B8944:
- mov r2, r12
- ldrb r1, [r2, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- mov r3, r12
- subs r3, 0x70
- adds r5, r0, r3
- ldrh r0, [r5, 0x6]
- ldr r4, _080B899C
- lsls r0, 3
- adds r6, r0, r4
- ldrb r2, [r6, 0x1]
- lsls r2, 29
- asrs r1, r7, 24
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x6]
- lsls r0, 3
- adds r0, r4
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- cmp r2, r0
- bne _080B8994
- ldr r1, _080B89A0
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x1]
- lsls r0, 1
- ldrh r1, [r5, 0x2]
- adds r0, r1
- strh r0, [r5, 0x2]
- mov r2, r12
- ldrb r0, [r2, 0x11]
- movs r1, 0x1F
- bl sub_80B13EC
-_080B8994:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B899C: .4byte gContestMoves
-_080B89A0: .4byte gContestEffects
- thumb_func_end ContestEffect_35
-
- thumb_func_start ContestEffect_36
-ContestEffect_36: @ 80B89A4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _080B8A28
- ldrb r2, [r0, 0x11]
- adds r1, r2, r0
- ldrb r1, [r1]
- mov r8, r0
- cmp r1, 0
- beq _080B8A3C
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- mov r1, r8
- subs r1, 0x70
- adds r0, r1
- ldrh r0, [r0, 0x6]
- mov r9, r0
- movs r4, 0
- mov r6, r8
- ldr r0, _080B8A2C
- mov r12, r0
- movs r7, 0
-_080B89D4:
- ldrb r2, [r6, 0x11]
- adds r0, r2, r6
- ldrb r0, [r0]
- subs r0, 0x1
- adds r1, r4, r6
- ldrb r1, [r1]
- cmp r0, r1
- bne _080B8A34
- mov r1, r9
- lsls r0, r1, 3
- mov r1, r12
- adds r3, r0, r1
- ldrb r1, [r3, 0x1]
- lsls r1, 29
- mov r5, r8
- subs r5, 0x70
- adds r0, r7, r5
- ldrh r0, [r0, 0x6]
- lsls r0, 3
- add r0, r12
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- cmp r1, r0
- beq _080B8A34
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r5
- ldr r2, _080B8A30
- ldrb r0, [r3]
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- lsls r0, 1
- ldrh r2, [r1, 0x2]
- adds r0, r2
- strh r0, [r1, 0x2]
- ldrb r0, [r6, 0x11]
- movs r1, 0x20
- bl sub_80B13EC
- b _080B8A3C
- .align 2, 0
-_080B8A28: .4byte 0x020192d0
-_080B8A2C: .4byte gContestMoves
-_080B8A30: .4byte gContestEffects
-_080B8A34:
- adds r7, 0x1C
- adds r4, 0x1
- cmp r4, 0x3
- ble _080B89D4
-_080B8A3C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ContestEffect_36
-
- thumb_func_start ContestEffect_37
-ContestEffect_37: @ 80B8A48
- push {r4-r7,lr}
- ldr r1, _080B8A94
- ldrb r0, [r1, 0x11]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B8AB0
- movs r5, 0
- adds r4, r1, 0
- adds r6, r4, 0
- subs r6, 0x70
- adds r7, r6, 0
-_080B8A60:
- ldrb r2, [r4, 0x11]
- adds r0, r2, r4
- ldrb r0, [r0]
- subs r0, 0x1
- adds r1, r5, r4
- ldrb r1, [r1]
- cmp r0, r1
- bne _080B8AA8
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r2, r0, r7
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r3, 0x2
- ldrsh r0, [r6, r3]
- cmp r1, r0
- ble _080B8A98
- adds r0, r1, 0
- lsls r0, 1
- strh r0, [r2, 0x2]
- ldrb r0, [r4, 0x11]
- movs r1, 0x21
- bl sub_80B13EC
- b _080B8AA8
- .align 2, 0
-_080B8A94: .4byte 0x020192d0
-_080B8A98:
- cmp r1, r0
- bge _080B8AA8
- movs r0, 0
- strh r0, [r2, 0x2]
- ldrb r0, [r4, 0x11]
- movs r1, 0x22
- bl sub_80B13EC
-_080B8AA8:
- adds r6, 0x1C
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B8A60
-_080B8AB0:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ContestEffect_37
-
- thumb_func_start ContestEffect_38
-ContestEffect_38: @ 80B8AB8
- push {r4,r5,lr}
- ldr r4, _080B8AFC
- ldrb r2, [r4, 0x11]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r5, r4, 0
- subs r5, 0x70
- adds r1, r0, r5
- ldrb r3, [r1, 0xD]
- movs r0, 0xD
- ldrsb r0, [r1, r0]
- cmp r0, 0x1D
- bgt _080B8B00
- adds r0, r3, 0
- adds r0, 0xA
- strb r0, [r1, 0xD]
- ldrb r1, [r4, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r2, [r0, 0x10]
- movs r1, 0x31
- negs r1, r1
- ands r1, r2
- movs r2, 0x10
- orrs r1, r2
- strb r1, [r0, 0x10]
- ldrb r0, [r4, 0x11]
- movs r1, 0x23
- bl sub_80B13EC
- b _080B8B08
- .align 2, 0
-_080B8AFC: .4byte 0x020192d0
-_080B8B00:
- adds r0, r2, 0
- movs r1, 0x3A
- bl sub_80B13EC
-_080B8B08:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end ContestEffect_38
-
- thumb_func_start ContestEffect_39
-ContestEffect_39: @ 80B8B10
- push {r4,lr}
- ldr r3, _080B8B48
- ldrb r1, [r3, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r4, r3, 0
- subs r4, 0x70
- adds r0, r4
- ldrb r1, [r0, 0x11]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x11]
- ldrb r1, [r3, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0xD]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080B8B4C
- adds r0, r1, 0
- movs r1, 0x24
- bl sub_80B13EC
- b _080B8B54
- .align 2, 0
-_080B8B48: .4byte 0x020192d0
-_080B8B4C:
- adds r0, r1, 0
- movs r1, 0x3B
- bl sub_80B13EC
-_080B8B54:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ContestEffect_39
-
- thumb_func_start ContestEffect_40
-ContestEffect_40: @ 80B8B5C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r1, _080B8BE4
- ldrb r0, [r1, 0x1]
- cmp r0, 0x4
- bne _080B8B6E
- b _080B8C76
-_080B8B6E:
- movs r6, 0
- adds r7, r1, 0
- adds r7, 0xCC
- adds r3, r1, 0
- adds r3, 0x5C
-_080B8B78:
- lsls r1, r6, 24
- asrs r1, 24
- mov r0, sp
- adds r2, r0, r1
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x19]
- strb r0, [r2]
- adds r1, 0x1
- lsls r1, 24
- lsrs r6, r1, 24
- asrs r1, 24
- cmp r1, 0x3
- ble _080B8B78
- ldrb r0, [r7, 0x11]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0xFF
- strb r0, [r1]
- movs r6, 0
- mov r12, r7
- movs r4, 0x70
- negs r4, r4
- adds r4, r7
- mov r8, r4
-_080B8BAE:
- movs r5, 0
-_080B8BB0:
- lsls r0, r5, 24
- asrs r2, r0, 24
- mov r0, r12
- ldrb r0, [r0, 0x11]
- cmp r2, r0
- beq _080B8BE8
- lsls r0, r6, 24
- asrs r3, r0, 24
- mov r1, sp
- adds r4, r1, r2
- ldrb r0, [r4]
- cmp r3, r0
- bne _080B8BE8
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- add r1, r8
- lsls r0, r3, 24
- lsrs r0, 24
- ldrb r1, [r1, 0x19]
- cmp r0, r1
- bne _080B8BE8
- adds r0, r3, 0x1
- strb r0, [r4]
- b _080B8BF8
- .align 2, 0
-_080B8BE4: .4byte 0x02019204
-_080B8BE8:
- lsls r0, r5, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r5, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _080B8BB0
-_080B8BF8:
- cmp r5, 0x4
- beq _080B8C0C
- lsls r0, r6, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r6, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _080B8BAE
-_080B8C0C:
- ldrb r0, [r7, 0x11]
- mov r4, sp
- adds r1, r4, r0
- movs r0, 0
- strb r0, [r1]
- ldrb r0, [r7, 0x11]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r3, r7, 0
- subs r3, 0x70
- adds r1, r3
- ldrb r2, [r1, 0x10]
- movs r0, 0x3F
- ands r0, r2
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1, 0x10]
- movs r6, 0
-_080B8C32:
- lsls r1, r6, 24
- asrs r1, 24
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r3
- mov r4, sp
- adds r2, r4, r1
- ldrb r2, [r2]
- strb r2, [r0, 0x19]
- adds r1, 0x1
- lsls r1, 24
- lsrs r6, r1, 24
- asrs r1, 24
- cmp r1, 0x3
- ble _080B8C32
- ldrb r0, [r7, 0x11]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r0, r7, 0
- subs r0, 0x70
- adds r1, r0
- ldrb r2, [r1, 0x11]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1, 0x11]
- ldrb r0, [r7, 0x11]
- movs r1, 0x25
- bl sub_80B13EC
-_080B8C76:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ContestEffect_40
-
- thumb_func_start ContestEffect_41
-ContestEffect_41: @ 80B8C84
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- ldr r1, _080B8D14
- ldrb r0, [r1, 0x1]
- cmp r0, 0x4
- bne _080B8C98
- b _080B8DA6
-_080B8C98:
- movs r6, 0
- adds r7, r1, 0
- adds r7, 0xCC
- adds r3, r1, 0
- adds r3, 0x5C
-_080B8CA2:
- lsls r1, r6, 24
- asrs r1, 24
- mov r0, sp
- adds r2, r0, r1
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r0, [r0, 0x19]
- strb r0, [r2]
- adds r1, 0x1
- lsls r1, 24
- lsrs r6, r1, 24
- asrs r1, 24
- cmp r1, 0x3
- ble _080B8CA2
- ldrb r0, [r7, 0x11]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0xFF
- strb r0, [r1]
- movs r6, 0x3
- mov r12, r7
- movs r4, 0x70
- negs r4, r4
- adds r4, r7
- mov r8, r4
- movs r0, 0x1
- negs r0, r0
- mov r9, r0
-_080B8CDE:
- movs r5, 0
-_080B8CE0:
- lsls r0, r5, 24
- asrs r2, r0, 24
- mov r1, r12
- ldrb r1, [r1, 0x11]
- cmp r2, r1
- beq _080B8D18
- lsls r0, r6, 24
- asrs r3, r0, 24
- mov r0, sp
- adds r4, r0, r2
- ldrb r1, [r4]
- cmp r3, r1
- bne _080B8D18
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- add r1, r8
- lsls r0, r3, 24
- lsrs r0, 24
- ldrb r1, [r1, 0x19]
- cmp r0, r1
- bne _080B8D18
- subs r0, r3, 0x1
- strb r0, [r4]
- b _080B8D28
- .align 2, 0
-_080B8D14: .4byte 0x02019204
-_080B8D18:
- lsls r0, r5, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r5, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _080B8CE0
-_080B8D28:
- cmp r5, 0x4
- beq _080B8D3C
- lsls r0, r6, 24
- movs r4, 0xFF
- lsls r4, 24
- adds r0, r4
- lsrs r6, r0, 24
- asrs r0, 24
- cmp r0, r9
- bgt _080B8CDE
-_080B8D3C:
- ldrb r0, [r7, 0x11]
- mov r2, sp
- adds r1, r2, r0
- movs r0, 0x3
- strb r0, [r1]
- ldrb r0, [r7, 0x11]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r3, r7, 0
- subs r3, 0x70
- adds r1, r3
- ldrb r2, [r1, 0x10]
- movs r0, 0x3F
- ands r0, r2
- movs r2, 0x40
- orrs r0, r2
- strb r0, [r1, 0x10]
- movs r6, 0
-_080B8D62:
- lsls r1, r6, 24
- asrs r1, 24
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r3
- mov r4, sp
- adds r2, r4, r1
- ldrb r2, [r2]
- strb r2, [r0, 0x19]
- adds r1, 0x1
- lsls r1, 24
- lsrs r6, r1, 24
- asrs r1, 24
- cmp r1, 0x3
- ble _080B8D62
- ldrb r0, [r7, 0x11]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r0, r7, 0
- subs r0, 0x70
- adds r1, r0
- ldrb r2, [r1, 0x11]
- movs r0, 0x4
- negs r0, r0
- ands r0, r2
- movs r2, 0x2
- orrs r0, r2
- strb r0, [r1, 0x11]
- ldrb r0, [r7, 0x11]
- movs r1, 0x26
- bl sub_80B13EC
-_080B8DA6:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end ContestEffect_41
-
- thumb_func_start ContestEffect_42
-ContestEffect_42: @ 80B8DB4
- bx lr
- thumb_func_end ContestEffect_42
-
- thumb_func_start ContestEffect_43
-ContestEffect_43: @ 80B8DB8
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r1, _080B8E30
- ldrb r0, [r1, 0x1]
- cmp r0, 0x4
- beq _080B8EAE
- movs r6, 0
- add r3, sp, 0x4
- adds r5, r1, 0
- adds r5, 0x5C
- adds r4, r3, 0
-_080B8DCE:
- lsls r1, r6, 24
- asrs r1, 24
- mov r0, sp
- adds r2, r0, r1
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r0, [r0, 0x19]
- strb r0, [r2]
- adds r0, r4, r1
- strb r6, [r0]
- adds r1, 0x1
- lsls r1, 24
- lsrs r6, r1, 24
- asrs r1, 24
- cmp r1, 0x3
- ble _080B8DCE
- movs r6, 0
- adds r7, r3, 0
-_080B8DF6:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- lsls r2, r6, 24
- asrs r2, 24
- movs r1, 0x4
- subs r1, r2
- bl __modsi3
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0
-_080B8E10:
- lsls r0, r1, 24
- asrs r2, r0, 24
- adds r3, r7, r2
- ldrb r1, [r3]
- adds r5, r0, 0
- cmp r1, 0xFF
- beq _080B8E3A
- cmp r4, 0
- bne _080B8E34
- mov r1, sp
- adds r0, r1, r2
- strb r6, [r0]
- movs r0, 0xFF
- strb r0, [r3]
- b _080B8E48
- .align 2, 0
-_080B8E30: .4byte 0x02019204
-_080B8E34:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080B8E3A:
- movs r3, 0x80
- lsls r3, 17
- adds r0, r5, r3
- lsrs r1, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _080B8E10
-_080B8E48:
- lsls r0, r6, 24
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r6, r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _080B8DF6
- movs r6, 0
- ldr r4, _080B8EB8
- adds r7, r4, 0
- subs r7, 0x70
- movs r3, 0x3F
- mov r12, r3
- movs r5, 0x80
-_080B8E66:
- lsls r2, r6, 24
- asrs r2, 24
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- adds r1, r7
- mov r3, sp
- adds r0, r3, r2
- ldrb r0, [r0]
- strb r0, [r1, 0x19]
- ldrb r3, [r1, 0x10]
- mov r0, r12
- ands r0, r3
- orrs r0, r5
- strb r0, [r1, 0x10]
- adds r2, 0x1
- lsls r2, 24
- lsrs r6, r2, 24
- asrs r2, 24
- cmp r2, 0x3
- ble _080B8E66
- ldrb r1, [r4, 0x11]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r1, r4, 0
- subs r1, 0x70
- adds r0, r1
- ldrb r1, [r0, 0x11]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0, 0x11]
- ldrb r0, [r4, 0x11]
- movs r1, 0x27
- bl sub_80B13EC
-_080B8EAE:
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8EB8: .4byte 0x020192d0
- thumb_func_end ContestEffect_43
-
- thumb_func_start ContestEffect_44
-ContestEffect_44: @ 80B8EBC
- push {lr}
- ldr r3, _080B8EF0
- ldr r1, _080B8EF4
- ldrb r2, [r1, 0x11]
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- subs r1, 0x70
- adds r2, r0, r1
- ldrh r0, [r2, 0x6]
- lsls r0, 3
- adds r0, r3
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- ldr r1, _080B8EF8
- lsrs r0, 29
- ldrh r1, [r1]
- cmp r0, r1
- beq _080B8EEA
- ldrb r0, [r2, 0x11]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r2, 0x11]
-_080B8EEA:
- pop {r0}
- bx r0
- .align 2, 0
-_080B8EF0: .4byte gContestMoves
-_080B8EF4: .4byte 0x020192d0
-_080B8EF8: .4byte gUnknown_0203869C
- thumb_func_end ContestEffect_44
-
- thumb_func_start ContestEffect_45
-ContestEffect_45: @ 80B8EFC
- push {r4-r7,lr}
- movs r7, 0
- movs r5, 0
- ldr r4, _080B8F34
- movs r6, 0
-_080B8F06:
- ldrb r0, [r4, 0x11]
- adds r0, r4
- adds r1, r5, r4
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _080B8F52
- adds r0, r4, 0
- subs r0, 0x70
- adds r1, r6, r0
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, 0
- ble _080B8F38
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x4]
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- bl sub_80B9268
- b _080B8F3A
- .align 2, 0
-_080B8F34: .4byte 0x020192d0
-_080B8F38:
- movs r0, 0xA
-_080B8F3A:
- strh r0, [r4, 0x4]
- strb r5, [r4, 0x8]
- movs r0, 0xFF
- strb r0, [r4, 0x9]
- bl sub_80B9120
- lsls r0, 24
- cmp r0, 0
- beq _080B8F52
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_080B8F52:
- adds r6, 0x1C
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B8F06
- cmp r7, 0
- bne _080B8F68
- ldr r0, _080B8F78
- ldrb r0, [r0, 0x11]
- movs r1, 0x36
- bl sub_80B1404
-_080B8F68:
- ldr r0, _080B8F78
- ldrb r0, [r0, 0x11]
- movs r1, 0x30
- bl sub_80B13EC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8F78: .4byte 0x020192d0
- thumb_func_end ContestEffect_45
-
- thumb_func_start ContestEffect_46
-ContestEffect_46: @ 80B8F7C
- push {r4,lr}
- ldr r0, _080B8F98
- movs r1, 0x13
- ldrsb r1, [r0, r1]
- cmp r1, 0
- bne _080B8F9C
- movs r4, 0xA
- adds r0, 0xCC
- ldrb r0, [r0, 0x11]
- movs r1, 0x1A
- bl sub_80B13EC
- b _080B8FDE
- .align 2, 0
-_080B8F98: .4byte 0x02019204
-_080B8F9C:
- cmp r1, 0x1
- bne _080B8FAE
- movs r4, 0x14
- adds r0, 0xCC
- ldrb r0, [r0, 0x11]
- movs r1, 0x1B
- bl sub_80B13EC
- b _080B8FDE
-_080B8FAE:
- cmp r1, 0x2
- bne _080B8FC0
- movs r4, 0x1E
- adds r0, 0xCC
- ldrb r0, [r0, 0x11]
- movs r1, 0x1C
- bl sub_80B13EC
- b _080B8FDE
-_080B8FC0:
- cmp r1, 0x3
- bne _080B8FD2
- movs r4, 0x32
- adds r0, 0xCC
- ldrb r0, [r0, 0x11]
- movs r1, 0x1D
- bl sub_80B13EC
- b _080B8FDE
-_080B8FD2:
- movs r4, 0x3C
- adds r0, 0xCC
- ldrb r0, [r0, 0x11]
- movs r1, 0x1E
- bl sub_80B13EC
-_080B8FDE:
- ldr r0, _080B8FF4
- ldrb r2, [r0, 0x11]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- subs r0, 0x70
- adds r1, r0
- strh r4, [r1, 0x2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B8FF4: .4byte 0x020192d0
- thumb_func_end ContestEffect_46
-
- thumb_func_start ContestEffect_47
-ContestEffect_47: @ 80B8FF8
- push {lr}
- ldr r3, _080B9034
- ldrb r2, [r3, 0x1]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _080B902E
- movs r0, 0x1
- orrs r2, r0
- movs r0, 0x58
- negs r0, r0
- adds r0, r3
- mov r12, r0
- ldrb r1, [r0, 0x11]
- movs r0, 0x7
- ands r0, r1
- lsls r0, 1
- movs r1, 0xF
- negs r1, r1
- ands r2, r1
- orrs r2, r0
- strb r2, [r3, 0x1]
- mov r1, r12
- ldrb r0, [r1, 0x11]
- movs r1, 0x3D
- bl sub_80B13EC
-_080B902E:
- pop {r0}
- bx r0
- .align 2, 0
-_080B9034: .4byte 0x02019328
- thumb_func_end ContestEffect_47
-
- thumb_func_start sub_80B9038
-sub_80B9038: @ 80B9038
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r7, 0
- movs r5, 0
- ldr r4, _080B907C
- ldr r0, _080B9080
- mov r9, r0
- movs r6, 0
-_080B9052:
- ldrb r0, [r4, 0x11]
- adds r0, r4
- adds r1, r5, r4
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _080B909A
- adds r0, r4, 0
- subs r0, 0x70
- adds r0, r6, r0
- ldrh r0, [r0, 0x6]
- lsls r0, 3
- add r0, r9
- ldrb r0, [r0, 0x1]
- lsls r0, 29
- lsrs r0, 29
- cmp r8, r0
- bne _080B9084
- movs r0, 0x28
- b _080B9086
- .align 2, 0
-_080B907C: .4byte 0x020192d0
-_080B9080: .4byte gContestMoves
-_080B9084:
- movs r0, 0xA
-_080B9086:
- strh r0, [r4, 0x4]
- strb r5, [r4, 0x8]
- movs r0, 0xFF
- strb r0, [r4, 0x9]
- bl sub_80B9120
- lsls r0, 24
- cmp r0, 0
- beq _080B909A
- adds r7, 0x1
-_080B909A:
- adds r6, 0x1C
- adds r5, 0x1
- cmp r5, 0x3
- ble _080B9052
- cmp r7, 0
- bne _080B90B0
- ldr r0, _080B90BC
- ldrb r0, [r0, 0x11]
- movs r1, 0x36
- bl sub_80B1404
-_080B90B0:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B90BC: .4byte 0x020192d0
- thumb_func_end sub_80B9038
-
- thumb_func_start sub_80B90C0
-sub_80B90C0: @ 80B90C0
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080B90EC
- adds r0, r2, 0
- adds r0, 0xD
- adds r0, r3, r0
- movs r1, 0x1
- strb r1, [r0]
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- subs r2, 0x70
- adds r2, r0, r2
- ldrb r1, [r2, 0x10]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080B90F0
- adds r0, r3, 0
- movs r1, 0x2D
- b _080B9116
- .align 2, 0
-_080B90EC: .4byte 0x020192d0
-_080B90F0:
- ldrb r0, [r2, 0x12]
- cmp r0, 0
- bne _080B910E
- ldrb r1, [r2, 0xB]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080B911A
- ldrb r1, [r2, 0xC]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- bne _080B911A
- movs r0, 0x1
- b _080B911C
-_080B910E:
- subs r0, 0x1
- strb r0, [r2, 0x12]
- adds r0, r3, 0
- movs r1, 0x2C
-_080B9116:
- bl sub_80B13EC
-_080B911A:
- movs r0, 0
-_080B911C:
- pop {r1}
- bx r1
- thumb_func_end sub_80B90C0
-
- thumb_func_start sub_80B9120
-sub_80B9120: @ 80B9120
- push {r4-r7,lr}
- sub sp, 0xC
- mov r0, sp
- movs r1, 0
- movs r2, 0x8
- bl memset
- movs r7, 0
- ldr r1, _080B918C
- ldrb r0, [r1, 0x8]
- cmp r0, 0xFF
- beq _080B91D8
- adds r5, r1, 0
-_080B913A:
- adds r0, r5, 0
- adds r0, 0x8
- adds r0, r7, r0
- ldrb r4, [r0]
- adds r6, r4, 0
- adds r0, r4, 0
- str r1, [sp, 0x8]
- bl sub_80B90C0
- lsls r0, 24
- ldr r1, [sp, 0x8]
- cmp r0, 0
- beq _080B91C8
- ldrh r0, [r1, 0x4]
- strh r0, [r1, 0x6]
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- subs r1, 0x70
- adds r2, r0, r1
- ldrb r1, [r2, 0x10]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080B9174
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- lsls r0, 1
- strh r0, [r5, 0x6]
-_080B9174:
- ldrb r0, [r2, 0x10]
- movs r3, 0x1
- ands r3, r0
- cmp r3, 0
- beq _080B9190
- movs r0, 0xA
- strh r0, [r5, 0x6]
- adds r0, r4, 0
- movs r1, 0x2F
- bl sub_80B13EC
- b _080B91C8
- .align 2, 0
-_080B918C: .4byte 0x020192d0
-_080B9190:
- ldrb r1, [r2, 0xF]
- ldrh r0, [r5, 0x6]
- subs r0, r1
- adds r1, r0, 0
- strh r0, [r5, 0x6]
- lsls r0, 16
- cmp r0, 0
- bgt _080B91AC
- strh r3, [r5, 0x6]
- adds r0, r4, 0
- movs r1, 0x2E
- bl sub_80B13EC
- b _080B91C8
-_080B91AC:
- lsls r1, 24
- lsrs r1, 24
- adds r0, r6, 0
- bl sub_80B9200
- ldrb r1, [r5, 0x6]
- adds r0, r6, 0
- bl sub_80B141C
- lsls r0, r6, 1
- mov r2, sp
- adds r1, r2, r0
- ldrh r0, [r5, 0x6]
- strh r0, [r1]
-_080B91C8:
- adds r7, 0x1
- ldr r1, _080B91E8
- adds r0, r1, 0
- adds r0, 0x8
- adds r0, r7, r0
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080B913A
-_080B91D8:
- movs r7, 0
- mov r1, sp
-_080B91DC:
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080B91EC
- movs r0, 0x1
- b _080B91F6
- .align 2, 0
-_080B91E8: .4byte 0x020192d0
-_080B91EC:
- adds r1, 0x2
- adds r7, 0x1
- cmp r7, 0x3
- ble _080B91DC
- movs r0, 0
-_080B91F6:
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80B9120
-
- thumb_func_start sub_80B9200
-sub_80B9200: @ 80B9200
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, r0, 3
- subs r2, r0
- lsls r2, 2
- ldr r0, _080B9220
- adds r2, r0
- ldrh r0, [r2, 0x2]
- subs r0, r1
- strh r0, [r2, 0x2]
- ldrb r0, [r2, 0xE]
- adds r1, r0
- strb r1, [r2, 0xE]
- bx lr
- .align 2, 0
-_080B9220: .4byte 0x02019260
- thumb_func_end sub_80B9200
-
- thumb_func_start sub_80B9224
-sub_80B9224: @ 80B9224
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- cmp r4, 0
- bge _080B9234
- negs r0, r4
-_080B9234:
- movs r1, 0xA
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
- cmp r4, 0
- bge _080B9252
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- beq _080B925C
- adds r0, r4, 0
- subs r0, 0xA
- adds r0, r1, r0
- b _080B9258
-_080B9252:
- lsls r0, 16
- asrs r0, 16
- subs r0, r4, r0
-_080B9258:
- lsls r0, 16
- lsrs r5, r0, 16
-_080B925C:
- lsls r0, r5, 16
- asrs r0, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B9224
-
- thumb_func_start sub_80B9268
-sub_80B9268: @ 80B9268
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- cmp r4, 0
- bge _080B9278
- negs r0, r4
-_080B9278:
- movs r1, 0xA
- bl __modsi3
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- beq _080B9290
- adds r0, r4, 0
- adds r0, 0xA
- subs r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
-_080B9290:
- lsls r0, r5, 16
- asrs r0, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80B9268
-
- thumb_func_start sub_80B929C
-sub_80B929C: @ 80B929C
- push {lr}
- ldr r0, _080B92A8
- bl sub_8083A84
- pop {r0}
- bx r0
- .align 2, 0
-_080B92A8: .4byte sub_80B9484
- thumb_func_end sub_80B929C
-
- thumb_func_start sub_80B92AC
-sub_80B92AC: @ 80B92AC
- push {r4-r6,lr}
- bl sub_80BC300
- bl sub_80C045C
- ldr r6, _080B9364
- ldr r0, _080B9368
- ldr r1, [r0]
- movs r2, 0xC8
- lsls r2, 4
- adds r0, r6, 0
- bl memcpy
- movs r1, 0xC8
- lsls r1, 4
- adds r0, r6, r1
- ldr r1, _080B936C
- ldr r1, [r1]
- movs r2, 0xE1
- lsls r2, 2
- bl memcpy
- ldr r2, _080B9370
- adds r0, r6, r2
- ldr r1, _080B9374
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r1, _080B9378
- adds r0, r6, r1
- ldr r1, _080B937C
- ldr r1, [r1]
- movs r2, 0x40
- bl memcpy
- ldr r2, _080B9380
- adds r0, r6, r2
- ldr r1, _080B9384
- ldr r1, [r1]
- movs r2, 0x28
- bl memcpy
- ldr r5, _080B9388
- ldr r4, _080B938C
- ldr r0, _080B9390
- adds r1, r4, r0
- adds r0, r5, 0
- movs r2, 0x38
- bl memcpy
- ldr r2, _080B9394
- adds r1, r4, r2
- adds r0, r5, 0
- adds r0, 0x38
- movs r2, 0x38
- bl memcpy
- ldr r0, _080B9398
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8041324
- ldr r1, _080B939C
- adds r0, r6, r1
- ldr r1, _080B93A0
- ldr r1, [r1]
- movs r2, 0x78
- bl memcpy
- ldr r2, _080B93A4
- adds r0, r6, r2
- ldr r1, _080B93A8
- ldr r1, [r1]
- movs r2, 0xA4
- bl memcpy
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080B935C
- bl sub_8126338
- ldr r2, _080B93AC
- adds r1, r6, r2
- strh r0, [r1]
-_080B935C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9364: .4byte 0x02018000
-_080B9368: .4byte gUnknown_083D026C
-_080B936C: .4byte gUnknown_083D0270
-_080B9370: .4byte 0x00001004
-_080B9374: .4byte gUnknown_083D0274
-_080B9378: .4byte 0x00001044
-_080B937C: .4byte gUnknown_083D0278
-_080B9380: .4byte 0x00001084
-_080B9384: .4byte gUnknown_083D027C
-_080B9388: .4byte gUnknown_02038738
-_080B938C: .4byte gSaveBlock1
-_080B9390: .4byte 0x0000303c
-_080B9394: .4byte 0x00003074
-_080B9398: .4byte 0x00002f9c
-_080B939C: .4byte 0x000010ac
-_080B93A0: .4byte gUnknown_083D0280
-_080B93A4: .4byte 0x00001124
-_080B93A8: .4byte gUnknown_083D0284
-_080B93AC: .4byte 0x000011c8
- thumb_func_end sub_80B92AC
-
- thumb_func_start sub_80B93B0
-sub_80B93B0: @ 80B93B0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- ldr r5, _080B9430
- ldr r6, _080B9434
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80BD674
- movs r0, 0xC8
- lsls r0, 4
- adds r0, r5
- mov r8, r0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80BFD44
- ldr r1, _080B9438
- adds r0, r5, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80C0514
- ldr r1, _080B943C
- adds r0, r5, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80B9B1C
- ldr r1, _080B9440
- adds r0, r5, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80FA4E4
- ldr r1, _080B9444
- adds r0, r5, r1
- adds r1, r6, 0
- adds r2, r4, 0
- mov r3, r8
- bl sub_80B9C6C
- ldr r1, _080B9448
- adds r0, r5, r1
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_80B9B70
- ldr r0, _080B944C
- adds r5, r0
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80B9F3C
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9430: .4byte 0x02008000
-_080B9434: .4byte 0x00001230
-_080B9438: .4byte 0x00001004
-_080B943C: .4byte 0x00001044
-_080B9440: .4byte 0x00001084
-_080B9444: .4byte 0x000010ac
-_080B9448: .4byte 0x00001124
-_080B944C: .4byte 0x000011c8
- thumb_func_end sub_80B93B0
-
- thumb_func_start sub_80B9450
-sub_80B9450: @ 80B9450
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B9480
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x32
- bne _080B9478
- movs r0, 0xE2
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x8]
-_080B9478:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9480: .4byte gTasks
- thumb_func_end sub_80B9450
-
- thumb_func_start sub_80B9484
-sub_80B9484: @ 80B9484
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080B94A8
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bls _080B949E
- b _080B95E6
-_080B949E:
- lsls r0, 2
- ldr r1, _080B94AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B94A8: .4byte gUnknown_03004B28
-_080B94AC: .4byte _080B94B0
- .align 2, 0
-_080B94B0:
- .4byte _080B94C8
- .4byte _080B951C
- .4byte _080B9550
- .4byte _080B9570
- .4byte _080B95AC
- .4byte _080B95C0
-_080B94C8:
- ldr r0, _080B950C
- ldrb r0, [r0]
- bl sub_8007270
- movs r0, 0x80
- lsls r0, 7
- movs r1, 0x1
- bl VarSet
- ldr r1, _080B9510
- movs r0, 0
- strb r0, [r1]
- bl sub_80B92AC
- bl sub_80C71D8
- movs r0, 0x1
- strh r0, [r4]
- ldr r0, _080B9514
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- ldr r0, _080B9518
- movs r1, 0x51
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1E]
- b _080B95E6
- .align 2, 0
-_080B950C: .4byte gUnknown_0202E8CE
-_080B9510: .4byte gUnknown_03000718
-_080B9514: .4byte sub_80B95F0
-_080B9518: .4byte sub_80B9450
-_080B951C:
- ldr r2, _080B9548
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _080B95E6
- movs r0, 0x2
- strh r0, [r4]
- ldr r0, _080B954C
- bl FlagSet
- bl sub_80C7240
- ldrb r0, [r4, 0x1E]
- bl DestroyTask
- b _080B95E6
- .align 2, 0
-_080B9548: .4byte gTasks
-_080B954C: .4byte 0x00000834
-_080B9550:
- ldr r0, _080B956C
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- movs r0, 0x3
- strh r0, [r4]
- movs r0, 0xE0
- bl PlaySE
- b _080B95E6
- .align 2, 0
-_080B956C: .4byte sub_80BA00C
-_080B9570:
- ldr r2, _080B95A4
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r5, [r0, 0x4]
- cmp r5, 0
- bne _080B95E6
- movs r0, 0x4
- strh r0, [r4]
- bl sub_8083664
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x14]
- bl sub_80720B0
- ldr r0, _080B95A8
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- strh r5, [r4, 0x10]
- b _080B95E6
- .align 2, 0
-_080B95A4: .4byte gTasks
-_080B95A8: .4byte gOtherText_MixingComplete
-_080B95AC:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080B95E6
- movs r0, 0x5
- strh r0, [r4]
- b _080B95E6
-_080B95C0:
- ldr r2, _080B95EC
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _080B95E6
- bl sub_8055588
- bl MenuZeroFillScreen
- adds r0, r5, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080B95E6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080B95EC: .4byte gTasks
- thumb_func_end sub_80B9484
-
- thumb_func_start sub_80B95F0
-sub_80B95F0: @ 80B95F0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r7, _080B961C
- adds r5, r0, r7
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- cmp r1, 0x64
- beq _080B9678
- cmp r1, 0x64
- bgt _080B962E
- cmp r1, 0x1
- bne _080B9612
- b _080B9734
-_080B9612:
- cmp r1, 0x1
- bgt _080B9620
- cmp r1, 0
- beq _080B9650
- b _080B97D6
- .align 2, 0
-_080B961C: .4byte gTasks
-_080B9620:
- cmp r1, 0x2
- bne _080B9626
- b _080B9760
-_080B9626:
- cmp r1, 0x5
- bne _080B962C
- b _080B97C0
-_080B962C:
- b _080B97D6
-_080B962E:
- cmp r1, 0xC9
- beq _080B96D0
- cmp r1, 0xC9
- bgt _080B963C
- cmp r1, 0x65
- beq _080B9690
- b _080B97D6
-_080B963C:
- ldr r0, _080B964C
- cmp r1, r0
- beq _080B9706
- adds r0, 0x63
- cmp r1, r0
- beq _080B971C
- b _080B97D6
- .align 2, 0
-_080B964C: .4byte 0x0000012d
-_080B9650:
- bl sub_80B9A78
- bl MenuDisplayMessageBox
- ldr r0, _080B9674
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- movs r0, 0xE1
- lsls r0, 3
- strh r0, [r5, 0x18]
- movs r0, 0xC8
- lsls r0, 1
- strh r0, [r5, 0x8]
- bl ClearLinkCallback_2
- b _080B97D6
- .align 2, 0
-_080B9674: .4byte gOtherText_MixingRecordsWithFriend
-_080B9678:
- ldrh r0, [r5, 0x20]
- adds r0, 0x1
- strh r0, [r5, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bgt _080B9688
- b _080B97D6
-_080B9688:
- movs r0, 0
- strh r0, [r5, 0x20]
- movs r0, 0x65
- b _080B97D4
-_080B9690:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsLinkMaster
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B96C2
- bl sub_800820C
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- beq _080B96B2
- b _080B97D6
-_080B96B2:
- movs r0, 0x15
- bl PlaySE
- movs r1, 0
- movs r0, 0xC9
- strh r0, [r5, 0x8]
- strh r1, [r5, 0x20]
- b _080B97D6
-_080B96C2:
- movs r0, 0x16
- bl PlaySE
- ldr r0, _080B96CC
- b _080B97D4
- .align 2, 0
-_080B96CC: .4byte 0x0000012d
-_080B96D0:
- bl sub_800820C
- adds r4, r0, 0
- bl GetLinkPlayerCount_2
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080B97D6
- ldrh r4, [r5, 0x20]
- adds r4, 0x1
- strh r4, [r5, 0x20]
- lsls r4, 16
- asrs r4, 16
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- subs r1, r0
- lsls r1, 1
- cmp r4, r1
- ble _080B97D6
- bl sub_8007F4C
- movs r0, 0x1
- b _080B97D4
-_080B9706:
- bl sub_800820C
- adds r4, r0, 0
- bl GetLinkPlayerCount_2
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080B97D6
- movs r0, 0x1
- b _080B97D4
-_080B971C:
- ldrh r0, [r5, 0x20]
- adds r0, 0x1
- strh r0, [r5, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080B97D6
- movs r0, 0x1
- strh r0, [r5, 0x8]
- movs r0, 0
- strh r0, [r5, 0x20]
- b _080B97D6
-_080B9734:
- ldr r0, _080B9758
- ldrb r0, [r0]
- cmp r0, 0
- beq _080B97D6
- ldr r4, _080B975C
- bl sub_80B9A58
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- movs r0, 0x5
- b _080B97D4
- .align 2, 0
-_080B9758: .4byte gReceivedRemoteLinkPlayers
-_080B975C: .4byte gStringVar1
-_080B9760:
- bl GetLinkPlayerCount_2
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- strh r0, [r5, 0x14]
- strh r1, [r5, 0x8]
- bl sub_80B9A58
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x12]
- ldr r0, _080B97B0
- str r0, [r5]
- ldr r4, _080B97B4
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r4, 0
- bl sub_80B9A50
- ldr r0, _080B97B8
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1C]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r0, r1, r7
- strh r6, [r0, 0x8]
- ldr r0, _080B97BC
- adds r4, r0
- adds r1, r7, r1
- adds r1, 0x12
- adds r0, r4, 0
- bl sub_80B9A50
- b _080B97D6
- .align 2, 0
-_080B97B0: .4byte sub_80B97DC
-_080B97B4: .4byte 0x02018000
-_080B97B8: .4byte sub_80B9890
-_080B97BC: .4byte 0xffff0000
-_080B97C0:
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080B97D6
- movs r0, 0
- strh r0, [r5, 0x1C]
- movs r0, 0x2
-_080B97D4:
- strh r0, [r5, 0x8]
-_080B97D6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80B95F0
-
- thumb_func_start sub_80B97DC
-sub_80B97DC: @ 80B97DC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B9800
- adds r4, r1, r0
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _080B9884
- lsls r0, r1, 2
- ldr r1, _080B9804
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080B9800: .4byte gTasks
-_080B9804: .4byte _080B9808
- .align 2, 0
-_080B9808:
- .4byte _080B981C
- .4byte _080B9840
- .4byte _080B9884
- .4byte _080B9852
- .4byte _080B986E
-_080B981C:
- adds r0, r4, 0
- adds r0, 0xC
- bl sub_80B9A44
- adds r1, r0, 0
- movs r0, 0x10
- ldrsh r2, [r4, r0]
- movs r0, 0xC8
- muls r0, r2
- adds r1, r0
- ldr r0, _080B983C
- movs r2, 0xC8
- bl memcpy
- b _080B9860
- .align 2, 0
-_080B983C: .4byte gBlockSendBuffer
-_080B9840:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080B9860
- movs r0, 0x1
- bl sub_8007E9C
- b _080B9860
-_080B9852:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x18
- bne _080B9868
-_080B9860:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080B9884
-_080B9868:
- movs r0, 0
- strh r0, [r4, 0x8]
- b _080B9884
-_080B986E:
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- bne _080B9884
- ldr r0, _080B988C
- str r0, [r4]
-_080B9884:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B988C: .4byte sub_80B9A1C
- thumb_func_end sub_80B97DC
-
- thumb_func_start sub_80B9890
-sub_80B9890: @ 80B9890
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r0, 2
- ldr r1, [sp]
- adds r0, r1
- lsls r0, 3
- ldr r1, _080B98D0
- adds r0, r1
- mov r10, r0
- bl GetBlockRecievedStatus
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- bl sub_8008198
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [sp, 0x4]
- cmp r3, r0
- bne _080B998A
- movs r0, 0
- b _080B9966
- .align 2, 0
-_080B98D0: .4byte gTasks
-_080B98D4:
- ldr r1, [sp, 0x4]
- mov r2, r9
- asrs r1, r2
- movs r0, 0x1
- ands r1, r0
- movs r3, 0x1
- add r3, r9
- mov r8, r3
- cmp r1, 0
- beq _080B9960
- mov r0, r10
- adds r0, 0x12
- bl sub_80B9A44
- mov r1, r8
- lsls r4, r1, 1
- mov r5, r10
- adds r5, 0x8
- adds r4, r5, r4
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r3, 0xC8
- muls r1, r3
- adds r0, r1
- ldr r7, _080B9930
- mov r1, r9
- muls r1, r7
- adds r6, r0, r1
- mov r0, r9
- str r3, [sp, 0xC]
- bl sub_80B9A68
- adds r1, r0, 0
- movs r0, 0
- ldrsh r2, [r4, r0]
- adds r0, r2, 0x1
- ldr r3, [sp, 0xC]
- muls r0, r3
- cmp r0, r7
- bls _080B9934
- muls r2, r3
- subs r2, r7, r2
- adds r0, r6, 0
- bl memcpy
- b _080B993C
- .align 2, 0
-_080B9930: .4byte 0x00001230
-_080B9934:
- adds r0, r6, 0
- movs r2, 0xC8
- bl memcpy
-_080B993C:
- mov r0, r9
- bl ResetBlockReceivedFlag
- mov r2, r8
- lsls r1, r2, 1
- adds r1, r5, r1
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x18
- bne _080B9960
- ldr r0, [sp, 0x8]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
-_080B9960:
- mov r3, r8
- lsls r0, r3, 24
- lsrs r0, 24
-_080B9966:
- mov r9, r0
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r9, r0
- bcc _080B98D4
- ldr r2, _080B99B0
- mov r0, r10
- movs r3, 0x8
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
-_080B998A:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp, 0x8]
- cmp r1, r0
- bne _080B999E
- ldr r0, [sp]
- bl DestroyTask
-_080B999E:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B99B0: .4byte gTasks
- thumb_func_end sub_80B9890
-
- thumb_func_start sub_80B99B4
-sub_80B99B4: @ 80B99B4
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r2, _080B99E4
- adds r0, r2
- movs r4, 0x1C
- ldrsh r1, [r0, r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _080B99DC
- adds r0, r3, 0
- bl DestroyTask
-_080B99DC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B99E4: .4byte gTasks
- thumb_func_end sub_80B99B4
-
- thumb_func_start sub_80B99E8
-sub_80B99E8: @ 80B99E8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080B9A10
- adds r1, r0
- ldr r0, _080B9A14
- str r0, [r1]
- ldr r0, _080B9A18
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B9A0C
- movs r2, 0x12
- ldrsh r0, [r1, r2]
- bl sub_80B93B0
-_080B9A0C:
- pop {r0}
- bx r0
- .align 2, 0
-_080B9A10: .4byte gTasks
-_080B9A14: .4byte sub_80B99B4
-_080B9A18: .4byte gUnknown_03000718
- thumb_func_end sub_80B99E8
-
- thumb_func_start sub_80B9A1C
-sub_80B9A1C: @ 80B9A1C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080B9A38
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080B9A3C
- str r0, [r1]
- ldr r1, _080B9A40
- movs r0, 0x1
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080B9A38: .4byte gTasks
-_080B9A3C: .4byte sub_80B99E8
-_080B9A40: .4byte gUnknown_03000718
- thumb_func_end sub_80B9A1C
-
- thumb_func_start sub_80B9A44
-sub_80B9A44: @ 80B9A44
- adds r1, r0, 0
- ldrh r0, [r1]
- ldrh r1, [r1, 0x2]
- lsls r1, 16
- orrs r0, r1
- bx lr
- thumb_func_end sub_80B9A44
-
- thumb_func_start sub_80B9A50
-sub_80B9A50: @ 80B9A50
- strh r0, [r1]
- lsrs r0, 16
- strh r0, [r1, 0x2]
- bx lr
- thumb_func_end sub_80B9A50
-
- thumb_func_start sub_80B9A58
-sub_80B9A58: @ 80B9A58
- push {lr}
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80B9A58
-
- thumb_func_start sub_80B9A68
-sub_80B9A68: @ 80B9A68
- lsls r0, 24
- lsrs r0, 16
- ldr r1, _080B9A74
- adds r0, r1
- bx lr
- .align 2, 0
-_080B9A74: .4byte gBlockRecvBuffer
- thumb_func_end sub_80B9A68
-
- thumb_func_start sub_80B9A78
-sub_80B9A78: @ 80B9A78
- ldr r1, _080B9A80
- ldr r0, _080B9A84
- str r0, [r1]
- bx lr
- .align 2, 0
-_080B9A80: .4byte gUnknown_03005D2C
-_080B9A84: .4byte 0x00001230
- thumb_func_end sub_80B9A78
-
- thumb_func_start sub_80B9A88
-sub_80B9A88: @ 80B9A88
- push {r4,lr}
- adds r4, r0, 0
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080B9AC0
- cmp r0, 0x3
- bhi _080B9AA2
- cmp r0, 0x2
- beq _080B9AA8
- b _080B9B10
-_080B9AA2:
- cmp r0, 0x4
- beq _080B9AEC
- b _080B9B10
-_080B9AA8:
- movs r2, 0
- ldr r3, _080B9ABC
-_080B9AAC:
- adds r0, r4, r2
- adds r1, r2, r3
- ldrb r1, [r1]
- strb r1, [r0]
- adds r2, 0x1
- cmp r2, 0x1
- bls _080B9AAC
- b _080B9B10
- .align 2, 0
-_080B9ABC: .4byte gUnknown_083D0288
-_080B9AC0:
- movs r0, 0
- bl GetLinkPlayerTrainerId
- adds r3, r0, 0
- movs r0, 0x1
- ands r3, r0
- movs r2, 0
- ldr r1, _080B9AE8
- lsls r0, r3, 1
- adds r0, r3
- adds r3, r0, r1
-_080B9AD6:
- adds r1, r4, r2
- ldrb r0, [r3]
- strb r0, [r1]
- adds r3, 0x1
- adds r2, 0x1
- cmp r2, 0x2
- bls _080B9AD6
- b _080B9B10
- .align 2, 0
-_080B9AE8: .4byte gUnknown_083D028A
-_080B9AEC:
- movs r0, 0
- bl GetLinkPlayerTrainerId
- movs r1, 0x9
- bl __umodsi3
- adds r3, r0, 0
- movs r2, 0
- ldr r1, _080B9B18
- lsls r0, r3, 2
- adds r3, r0, r1
-_080B9B02:
- adds r1, r4, r2
- ldrb r0, [r3]
- strb r0, [r1]
- adds r3, 0x1
- adds r2, 0x1
- cmp r2, 0x3
- bls _080B9B02
-_080B9B10:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9B18: .4byte gUnknown_083D0290
- thumb_func_end sub_80B9A88
-
- thumb_func_start sub_80B9B1C
-sub_80B9B1C: @ 80B9B1C
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- adds r5, r0, 0
- mov r8, r1
- lsls r4, r2, 24
- lsrs r4, 24
- mov r0, sp
- bl sub_80B9A88
- mov r0, r8
- muls r0, r4
- adds r0, r5, r0
- ldr r1, _080B9B6C
- ldr r6, [r1]
- adds r1, r6, 0
- movs r2, 0x40
- bl memcpy
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r5, r0
- adds r0, r6, 0
- adds r1, r5, 0
- movs r2, 0x40
- bl memcpy
- bl sub_80F7F30
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9B6C: .4byte gUnknown_083D0278
- thumb_func_end sub_80B9B1C
-
- thumb_func_start sub_80B9B70
-sub_80B9B70: @ 80B9B70
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- adds r6, r0, 0
- mov r9, r1
- lsls r4, r2, 24
- lsrs r4, 24
- ldr r0, _080B9BB8
- mov r8, r0
- bl sub_80B9A88
- mov r5, r9
- muls r5, r4
- adds r5, r6, r5
- add r4, r8
- ldrb r0, [r4]
- mov r1, r9
- muls r1, r0
- adds r0, r1, 0
- adds r6, r0
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0xA4
- bl memcpy
- adds r0, r5, 0
- bl sub_8134AC0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9BB8: .4byte gUnknown_0300071C
- thumb_func_end sub_80B9B70
-
- thumb_func_start sub_80B9BBC
-sub_80B9BBC: @ 80B9BBC
- ldrh r0, [r0, 0x20]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- thumb_func_end sub_80B9BBC
-
- thumb_func_start sub_80B9BC4
-sub_80B9BC4: @ 80B9BC4
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x38
- mov r8, r0
- mov r10, r1
- mov r9, r2
- adds r4, r3, 0
- ldr r5, [sp, 0x54]
- lsls r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsrs r4, 23
- add r4, r9
- ldrb r0, [r4]
- mov r6, r10
- muls r6, r0
- add r6, r8
- ldrb r0, [r4, 0x1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 3
- adds r1, r6, r1
- mov r0, sp
- movs r2, 0x38
- bl memcpy
- lsls r5, 1
- add r5, r9
- ldrb r0, [r5]
- mov r1, r10
- muls r1, r0
- adds r0, r1, 0
- add r8, r0
- ldrb r1, [r4, 0x1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 3
- adds r6, r0
- ldrb r0, [r5, 0x1]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 3
- add r1, r8
- adds r0, r6, 0
- movs r2, 0x38
- bl memcpy
- ldrb r1, [r5, 0x1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 3
- add r8, r0
- mov r0, r8
- mov r1, sp
- movs r2, 0x38
- bl memcpy
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80B9BC4
-
- thumb_func_start sub_80B9C4C
-sub_80B9C4C: @ 80B9C4C
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- movs r1, 0
-_080B9C54:
- adds r0, r3, r1
- ldrb r0, [r0]
- adds r0, r2, r0
- lsls r0, 24
- lsrs r2, r0, 24
- adds r1, 0x1
- cmp r1, 0xFF
- ble _080B9C54
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80B9C4C
-
- thumb_func_start sub_80B9C6C
-sub_80B9C6C: @ 80B9C6C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x58
- str r0, [sp, 0x2C]
- str r1, [sp, 0x30]
- str r3, [sp, 0x38]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x34]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x40]
- ldr r0, _080B9DA8
- ldrh r0, [r0, 0x4]
- bl SeedRng
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r3, 0
- add r0, sp, 0x1C
- mov r9, r0
- movs r1, 0x1D
- add r1, sp
- mov r10, r1
- mov r2, sp
- adds r2, 0xC
- str r2, [sp, 0x4C]
- movs r7, 0xFF
- add r4, sp, 0x8
- movs r2, 0
- mov r6, r9
- mov r5, r10
-_080B9CBC:
- mov r1, sp
- adds r1, r3
- adds r1, 0x4
- ldrb r0, [r1]
- orrs r0, r7
- strb r0, [r1]
- adds r0, r4, r3
- strb r2, [r0]
- lsls r1, r3, 1
- adds r0, r6, r1
- strb r2, [r0]
- adds r1, r5, r1
- strb r2, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080B9CBC
- movs r4, 0
- str r4, [sp, 0x3C]
- movs r3, 0
- mov r1, r8
- lsls r0, r1, 16
- lsrs r1, r0, 16
- str r0, [sp, 0x50]
- ldr r4, [sp, 0x30]
- ldr r0, [sp, 0x34]
- adds r2, r4, 0
- muls r2, r0
- str r2, [sp, 0x48]
- ldr r2, [sp, 0x3C]
- cmp r2, r1
- bcs _080B9D46
- mov r8, r1
-_080B9D00:
- ldr r4, [sp, 0x30]
- adds r0, r4, 0
- muls r0, r3
- ldr r1, [sp, 0x2C]
- adds r6, r1, r0
- ldr r0, [r6, 0x70]
- cmp r0, 0
- beq _080B9D3C
- movs r7, 0
- cmp r7, r0
- bcs _080B9D3C
- adds r4, r6, 0
- adds r4, 0x74
- mov r2, r9
- lsls r1, r3, 1
- movs r5, 0x1
-_080B9D20:
- lsls r0, r7, 1
- adds r0, r4, r0
- ldrh r0, [r0]
- cmp r0, 0
- bne _080B9D30
- adds r0, r7, r1
- adds r0, r2, r0
- strb r5, [r0]
-_080B9D30:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, [r6, 0x70]
- cmp r7, r0
- bcc _080B9D20
-_080B9D3C:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r8
- bcc _080B9D00
-_080B9D46:
- movs r7, 0
- movs r3, 0
- ldr r2, [sp, 0x50]
- cmp r2, 0
- beq _080B9E3E
- mov r4, sp
- adds r4, 0x24
- str r4, [sp, 0x44]
- movs r0, 0x25
- add r0, sp
- mov r8, r0
-_080B9D5C:
- ldr r1, [sp, 0x30]
- adds r0, r1, 0
- muls r0, r3
- ldr r2, [sp, 0x2C]
- adds r6, r2, r0
- lsls r1, r3, 1
- mov r4, r9
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080B9D7C
- mov r2, r10
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B9D86
-_080B9D7C:
- ldr r0, [sp, 0x3C]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x3C]
-_080B9D86:
- mov r4, r9
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B9DAC
- mov r2, r10
- adds r0, r2, r1
- ldrb r2, [r0]
- cmp r2, 0
- bne _080B9DAC
-_080B9D9A:
- lsls r1, r7, 1
- ldr r4, [sp, 0x44]
- adds r0, r4, r1
- strb r3, [r0]
- add r1, r8
- strb r2, [r1]
- b _080B9E2C
- .align 2, 0
-_080B9DA8: .4byte gLinkPlayers
-_080B9DAC:
- mov r2, r9
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080B9DC0
- mov r4, r10
- adds r0, r4, r1
- ldrb r2, [r0]
- cmp r2, 0x1
- beq _080B9D9A
-_080B9DC0:
- mov r2, r9
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B9E32
- mov r4, r10
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080B9E32
- lsls r5, r7, 1
- ldr r1, [sp, 0x44]
- adds r0, r1, r5
- strb r3, [r0]
- adds r0, r6, 0
- str r3, [sp, 0x54]
- bl sub_80B9BBC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r6, 0
- adds r0, 0x38
- bl sub_80B9BBC
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, [sp, 0x54]
- cmp r4, 0
- bne _080B9E0A
- cmp r1, 0
- beq _080B9E0E
- mov r2, r8
- adds r1, r2, r5
- movs r0, 0x1
- strb r0, [r1]
- b _080B9E2C
-_080B9E0A:
- cmp r1, 0
- beq _080B9E26
-_080B9E0E:
- str r3, [sp, 0x54]
- bl Random
- mov r4, r8
- adds r2, r4, r5
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- strb r0, [r2]
- ldr r3, [sp, 0x54]
- b _080B9E2C
-_080B9E26:
- mov r2, r8
- adds r0, r2, r5
- strb r1, [r0]
-_080B9E2C:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
-_080B9E32:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r4, [sp, 0x50]
- cmp r0, r4
- bcc _080B9D5C
-_080B9E3E:
- movs r3, 0
- ldr r1, [sp, 0x48]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 3
- ldr r2, [sp, 0x2C]
- adds r6, r2, r0
- ldr r1, [sp, 0x4C]
-_080B9E4E:
- lsls r0, r3, 2
- adds r0, r1, r0
- str r6, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080B9E4E
- ldr r0, [sp, 0x38]
- bl sub_80B9C4C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r4, [sp, 0x3C]
- cmp r4, 0x3
- beq _080B9E9C
- cmp r4, 0x3
- bgt _080B9E82
- cmp r4, 0x2
- beq _080B9E8A
- b _080B9EF0
-_080B9E82:
- ldr r0, [sp, 0x3C]
- cmp r0, 0x4
- beq _080B9EBC
- b _080B9EF0
-_080B9E8A:
- add r2, sp, 0x24
- movs r0, 0x1
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- movs r3, 0
- bl sub_80B9BC4
- b _080B9EF0
-_080B9E9C:
- ldr r0, _080B9EB8
- lsls r1, 1
- adds r2, r1, r0
- ldrb r3, [r2]
- adds r0, 0x1
- adds r1, r0
- ldrb r0, [r1]
- add r2, sp, 0x24
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- bl sub_80B9BC4
- b _080B9EF0
- .align 2, 0
-_080B9EB8: .4byte gUnknown_083D02B4
-_080B9EBC:
- add r6, sp, 0x24
- ldr r4, _080B9F2C
- lsls r5, r1, 2
- adds r0, r5, r4
- ldrb r3, [r0]
- adds r0, r4, 0x1
- adds r0, r5, r0
- ldrb r0, [r0]
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- adds r2, r6, 0
- bl sub_80B9BC4
- adds r0, r4, 0x2
- adds r0, r5, r0
- ldrb r3, [r0]
- adds r4, 0x3
- adds r5, r4
- ldrb r0, [r5]
- str r0, [sp]
- ldr r0, [sp, 0x2C]
- ldr r1, [sp, 0x30]
- adds r2, r6, 0
- bl sub_80B9BC4
-_080B9EF0:
- ldr r1, [sp, 0x2C]
- ldr r2, [sp, 0x48]
- adds r6, r1, r2
- ldr r4, _080B9F30
- ldr r1, _080B9F34
- adds r0, r4, r1
- adds r1, r6, 0
- movs r2, 0x38
- bl memcpy
- ldr r2, _080B9F38
- adds r4, r2
- adds r1, r6, 0
- adds r1, 0x38
- adds r0, r4, 0
- movs r2, 0x38
- bl memcpy
- ldr r0, [sp, 0x40]
- bl SeedRng
- add sp, 0x58
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080B9F2C: .4byte gUnknown_083D02BA
-_080B9F30: .4byte gSaveBlock1
-_080B9F34: .4byte 0x0000303c
-_080B9F38: .4byte 0x00003074
- thumb_func_end sub_80B9C6C
-
- thumb_func_start sub_80B9F3C
-sub_80B9F3C: @ 80B9F3C
- push {r4,lr}
- adds r4, r0, 0
- lsls r1, 24
- cmp r1, 0
- beq _080BA000
- ldrh r0, [r4]
- cmp r0, 0
- beq _080BA000
- bl sub_80A9670
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bne _080B9FC8
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80A92D4
- lsls r0, 24
- cmp r0, 0
- bne _080B9FB8
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80A9718
- lsls r0, 24
- cmp r0, 0
- bne _080B9FB8
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80A9424
- lsls r0, 24
- cmp r0, 0
- beq _080B9FB8
- ldr r0, _080B9FA4
- ldrh r1, [r4]
- bl VarSet
- ldr r0, _080B9FA8
- ldr r1, _080B9FAC
- bl StringCopy
- ldrh r1, [r4]
- ldr r0, _080B9FB0
- cmp r1, r0
- bne _080BA000
- ldr r0, _080B9FB4
- bl FlagSet
- b _080BA000
- .align 2, 0
-_080B9FA4: .4byte 0x00004001
-_080B9FA8: .4byte gStringVar1
-_080B9FAC: .4byte gLinkPlayers + 0x8
-_080B9FB0: .4byte 0x00000113
-_080B9FB4: .4byte 0x00000853
-_080B9FB8:
- ldr r0, _080B9FC4
- movs r1, 0
- bl VarSet
- b _080BA000
- .align 2, 0
-_080B9FC4: .4byte 0x00004001
-_080B9FC8:
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80A9424
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080B9FF8
- ldr r0, _080B9FEC
- ldrh r1, [r4]
- bl VarSet
- ldr r0, _080B9FF0
- ldr r1, _080B9FF4
- bl StringCopy
- b _080BA000
- .align 2, 0
-_080B9FEC: .4byte 0x00004001
-_080B9FF0: .4byte gStringVar1
-_080B9FF4: .4byte gLinkPlayers + 0x8
-_080B9FF8:
- ldr r0, _080BA008
- movs r1, 0
- bl VarSet
-_080BA000:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA008: .4byte 0x00004001
- thumb_func_end sub_80B9F3C
-
- thumb_func_start sub_80BA00C
-sub_80BA00C: @ 80BA00C
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080BA030
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bhi _080BA09C
- lsls r0, 2
- ldr r1, _080BA034
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BA030: .4byte gTasks
-_080BA034: .4byte _080BA038
- .align 2, 0
-_080BA038:
- .4byte _080BA086
- .4byte _080BA086
- .4byte _080BA050
- .4byte _080BA05A
- .4byte _080BA074
- .4byte _080BA08E
-_080BA050:
- bl sub_8047A1C
- bl sub_8125E2C
- b _080BA086
-_080BA05A:
- bl sub_8125E6C
- lsls r0, 24
- cmp r0, 0
- beq _080BA09C
- bl sub_8047A34
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- b _080BA09C
-_080BA074:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- ble _080BA09C
- bl sub_800832C
-_080BA086:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080BA09C
-_080BA08E:
- ldr r0, _080BA0A4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BA09C
- adds r0, r2, 0
- bl DestroyTask
-_080BA09C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA0A4: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_80BA00C
-
- thumb_func_start sub_80BA0A8
-sub_80BA0A8: @ 80BA0A8
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80BA0A8
-
- thumb_func_start sub_80BA0C0
-sub_80BA0C0: @ 80BA0C0
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r0, _080BA0E8
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BA0E2
- bl m4aSoundMain
- bl m4aSoundMain
- bl m4aSoundMain
-_080BA0E2:
- pop {r0}
- bx r0
- .align 2, 0
-_080BA0E8: .4byte gUnknown_020387B0
- thumb_func_end sub_80BA0C0
-
- thumb_func_start unref_sub_80BA0EC
-unref_sub_80BA0EC: @ 80BA0EC
- push {r4-r6,lr}
- sub sp, 0xC
- movs r0, 0
- bl SetVBlankCallback
- movs r6, 0x80
- lsls r6, 19
- movs r5, 0
- strh r5, [r6]
- ldr r0, _080BA20C
- strh r5, [r0]
- subs r0, 0x2
- strh r5, [r0]
- subs r0, 0x2
- strh r5, [r0]
- adds r0, 0x10
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- subs r0, 0x6
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- subs r0, 0x6
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- add r0, sp, 0x4
- strh r5, [r0]
- ldr r1, _080BA210
- str r0, [r1]
- movs r0, 0xC0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080BA214
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r4, 0
- str r4, [sp, 0x8]
- add r0, sp, 0x8
- str r0, [r1]
- movs r0, 0xE0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080BA218
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add r0, sp, 0x4
- strh r4, [r0]
- str r0, [r1]
- movs r0, 0xA0
- lsls r0, 19
- str r0, [r1, 0x4]
- ldr r0, _080BA21C
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetPaletteFade
- bl ResetTasks
- bl ResetSpriteData
- ldr r0, _080BA220
- bl SetUpWindowConfig
- ldr r0, _080BA224
- bl InitMenuWindow
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080BA228
- strh r4, [r0]
- adds r0, 0x4
- strh r4, [r0]
- subs r0, 0x2
- strh r4, [r0]
- adds r0, 0x4
- strh r4, [r0]
- ldr r1, _080BA22C
- ldr r2, _080BA230
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x31
- strh r0, [r1]
- adds r1, 0x6
- movs r0, 0xE1
- strh r0, [r1]
- ldr r0, _080BA234
- strh r4, [r0]
- adds r1, 0x4
- movs r0, 0x7
- strh r0, [r1]
- ldr r1, _080BA238
- movs r2, 0x1
- strh r2, [r1]
- ldrh r0, [r1]
- orrs r0, r2
- strh r0, [r1]
- ldr r2, _080BA23C
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _080BA240
- bl SetVBlankCallback
- ldr r0, _080BA244
- bl SetMainCallback2
- ldr r1, _080BA248
- adds r0, r1, 0
- strh r0, [r6]
- ldr r0, _080BA24C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BA250
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- strh r4, [r1, 0xA]
- strh r4, [r1, 0xC]
- strh r4, [r1, 0xE]
- ldr r0, _080BA254
- strb r5, [r0]
- strh r4, [r1, 0xE]
- bl m4aSoundInit
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA20C: .4byte REG_BG2CNT
-_080BA210: .4byte 0x040000d4
-_080BA214: .4byte 0x8100c000
-_080BA218: .4byte 0x85000100
-_080BA21C: .4byte 0x81000200
-_080BA220: .4byte gWindowConfig_81E6C3C
-_080BA224: .4byte gWindowConfig_81E6CE4
-_080BA228: .4byte REG_WIN0H
-_080BA22C: .4byte REG_WININ
-_080BA230: .4byte 0x00001111
-_080BA234: .4byte REG_BLDALPHA
-_080BA238: .4byte 0x04000200
-_080BA23C: .4byte REG_DISPSTAT
-_080BA240: .4byte sub_80BA0C0
-_080BA244: .4byte sub_80BA0A8
-_080BA248: .4byte 0x00007140
-_080BA24C: .4byte sub_80BA258
-_080BA250: .4byte gTasks
-_080BA254: .4byte gUnknown_020387B0
- thumb_func_end unref_sub_80BA0EC
-
- thumb_func_start sub_80BA258
-sub_80BA258: @ 80BA258
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x40
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r1, _080BA354
- mov r0, sp
- movs r2, 0x9
- bl memcpy
- add r7, sp, 0xC
- ldr r1, _080BA358
- adds r0, r7, 0
- movs r2, 0x4
- bl memcpy
- add r0, sp, 0x10
- mov r8, r0
- ldr r1, _080BA35C
- movs r2, 0x4
- bl memcpy
- add r5, sp, 0x14
- ldr r1, _080BA360
- adds r0, r5, 0
- movs r2, 0xD
- bl memcpy
- add r4, sp, 0x24
- ldr r1, _080BA364
- adds r0, r4, 0
- movs r2, 0xC
- bl memcpy
- add r6, sp, 0x30
- ldr r1, _080BA368
- adds r0, r6, 0
- movs r2, 0xE
- bl memcpy
- ldr r0, _080BA36C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BA344
- movs r0, 0x2
- movs r1, 0
- movs r2, 0x1B
- movs r3, 0x3
- bl MenuDrawTextWindow
- movs r0, 0x2
- movs r1, 0x5
- movs r2, 0x1B
- movs r3, 0xA
- bl MenuDrawTextWindow
- movs r0, 0x2
- movs r1, 0xC
- movs r2, 0x1B
- movs r3, 0x11
- bl MenuDrawTextWindow
- mov r0, sp
- movs r1, 0x4
- movs r2, 0x1
- bl MenuPrint
- adds r0, r5, 0
- movs r1, 0xE
- movs r2, 0x1
- bl MenuPrint
- adds r0, r7, 0
- movs r1, 0x4
- movs r2, 0x6
- bl MenuPrint
- adds r0, r4, 0
- movs r1, 0xE
- movs r2, 0x6
- bl MenuPrint
- mov r0, r8
- movs r1, 0x4
- movs r2, 0xD
- bl MenuPrint
- adds r0, r4, 0
- movs r1, 0xE
- movs r2, 0xD
- bl MenuPrint
- adds r0, r6, 0
- movs r1, 0xE
- movs r2, 0x12
- bl MenuPrint
- ldr r1, _080BA370
- mov r2, r9
- lsls r0, r2, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BA374
- str r1, [r0]
- ldr r1, _080BA378
- ldr r2, _080BA37C
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080BA380
- adds r0, r2, 0
- strh r0, [r1]
-_080BA344:
- add sp, 0x40
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA354: .4byte gDebugText_SoundCheckJap
-_080BA358: .4byte gDebugText_BGM
-_080BA35C: .4byte gDebugText_SE
-_080BA360: .4byte gUnknown_083D02D9
-_080BA364: .4byte gDebugText_UpDown
-_080BA368: .4byte gDebugText_DriverTest
-_080BA36C: .4byte gPaletteFade
-_080BA370: .4byte gTasks
-_080BA374: .4byte sub_80BA384
-_080BA378: .4byte REG_WIN0H
-_080BA37C: .4byte 0x000011df
-_080BA380: .4byte 0x0000011f
- thumb_func_end sub_80BA258
-
- thumb_func_start sub_80BA384
-sub_80BA384: @ 80BA384
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080BA3EC
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrb r0, [r4, 0x8]
- bl sub_80BA6B8
- ldr r1, _080BA3F0
- adds r0, r1, 0
- ldrh r2, [r4, 0xA]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x7
- movs r2, 0x8
- bl sub_80BA700
- ldr r1, _080BA3F4
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xB
- movs r2, 0x8
- bl sub_80BA79C
- ldrh r0, [r4, 0xC]
- movs r1, 0x7
- movs r2, 0xF
- bl sub_80BA700
- ldr r1, _080BA3F8
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xB
- movs r2, 0xF
- bl sub_80BA79C
- ldr r0, _080BA3FC
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA3EC: .4byte gTasks
-_080BA3F0: .4byte 0x0000015d
-_080BA3F4: .4byte gBGMNames
-_080BA3F8: .4byte gSENames
-_080BA3FC: .4byte Task_HandleMainMenuInput
- thumb_func_end sub_80BA384
-
- thumb_func_start sub_80BA400
-sub_80BA400: @ 80BA400
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _080BA428
- ldrh r1, [r2, 0x2E]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080BA434
- ldr r0, _080BA42C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080BA430
- str r0, [r1]
- b _080BA64C
- .align 2, 0
-_080BA428: .4byte gMain
-_080BA42C: .4byte gTasks
-_080BA430: .4byte sub_80BA800
-_080BA434:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080BA458
- ldr r0, _080BA450
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080BA454
- str r0, [r1]
- b _080BA64C
- .align 2, 0
-_080BA450: .4byte gTasks
-_080BA454: .4byte sub_80BAF84
-_080BA458:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080BA478
- ldr r0, _080BA470
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080BA474
- str r0, [r1]
- b _080BA64C
- .align 2, 0
-_080BA470: .4byte gTasks
-_080BA474: .4byte sub_80BB25C
-_080BA478:
- movs r6, 0x1
- movs r5, 0x1
- ands r5, r1
- cmp r5, 0
- beq _080BA538
- ldr r0, _080BA4AC
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r5, r1, r0
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080BA4D0
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080BA4BA
- movs r3, 0xC
- ldrsh r4, [r5, r3]
- cmp r4, 0
- beq _080BA4B0
- ldrh r0, [r5, 0x10]
- bl m4aSongNumStop
- b _080BA4C4
- .align 2, 0
-_080BA4AC: .4byte gTasks
-_080BA4B0:
- ldrh r0, [r5, 0x10]
- bl m4aSongNumStop
- strh r4, [r5, 0x10]
- b _080BA64C
-_080BA4BA:
- movs r4, 0xC
- ldrsh r0, [r5, r4]
- cmp r0, 0
- bne _080BA4C4
- b _080BA64C
-_080BA4C4:
- ldrh r0, [r5, 0xC]
- bl m4aSongNumStart
- ldrh r0, [r5, 0xC]
- strh r0, [r5, 0x10]
- b _080BA64C
-_080BA4D0:
- ldrh r1, [r5, 0xE]
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080BA514
- movs r3, 0xA
- ldrsh r4, [r5, r3]
- cmp r4, 0
- beq _080BA500
- ldr r0, _080BA4FC
- adds r4, r0, 0
- adds r0, r1, r4
- lsls r0, 16
- lsrs r0, 16
- bl m4aSongNumStop
- ldrh r1, [r5, 0xA]
- adds r4, r1
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- b _080BA528
- .align 2, 0
-_080BA4FC: .4byte 0x0000015d
-_080BA500:
- ldr r2, _080BA510
- adds r0, r1, r2
- lsls r0, 16
- lsrs r0, 16
- bl m4aSongNumStop
- strh r4, [r5, 0xE]
- b _080BA64C
- .align 2, 0
-_080BA510: .4byte 0x0000015d
-_080BA514:
- ldrh r1, [r5, 0xA]
- movs r3, 0xA
- ldrsh r0, [r5, r3]
- cmp r0, 0
- bne _080BA520
- b _080BA64C
-_080BA520:
- ldr r4, _080BA534
- adds r0, r1, r4
- lsls r0, 16
- lsrs r0, 16
-_080BA528:
- bl m4aSongNumStart
- ldrh r0, [r5, 0xA]
- strh r0, [r5, 0xE]
- b _080BA64C
- .align 2, 0
-_080BA534: .4byte 0x0000015d
-_080BA538:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BA570
- movs r0, 0x5
- bl m4aSongNumStart
- movs r0, 0x1
- negs r0, r0
- str r5, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080BA568
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BA56C
- str r1, [r0]
- b _080BA64C
- .align 2, 0
-_080BA568: .4byte gTasks
-_080BA56C: .4byte sub_80BA68C
-_080BA570:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- bne _080BA582
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BA59C
-_080BA582:
- ldr r0, _080BA598
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- eors r0, r6
- strh r0, [r1, 0x8]
-_080BA592:
- movs r0, 0x1
- b _080BA64E
- .align 2, 0
-_080BA598: .4byte gTasks
-_080BA59C:
- movs r0, 0x10
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080BA5EA
- ldr r0, _080BA5CC
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080BA5D6
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- ble _080BA5D0
- subs r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _080BA592
- .align 2, 0
-_080BA5CC: .4byte gTasks
-_080BA5D0:
- movs r0, 0xF7
- strh r0, [r1, 0xC]
- b _080BA592
-_080BA5D6:
- ldrh r2, [r1, 0xA]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r0, 0
- ble _080BA5E4
- subs r0, r2, 0x1
- b _080BA5E6
-_080BA5E4:
- movs r0, 0x75
-_080BA5E6:
- strh r0, [r1, 0xA]
- b _080BA592
-_080BA5EA:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080BA630
- ldr r1, _080BA614
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- movs r0, 0x8
- ldrsh r2, [r1, r0]
- cmp r2, 0
- beq _080BA61C
- ldrh r2, [r1, 0xC]
- movs r4, 0xC
- ldrsh r0, [r1, r4]
- cmp r0, 0xF6
- bgt _080BA618
- adds r0, r2, 0x1
- strh r0, [r1, 0xC]
- b _080BA592
- .align 2, 0
-_080BA614: .4byte gTasks
-_080BA618:
- strh r3, [r1, 0xC]
- b _080BA592
-_080BA61C:
- ldrh r3, [r1, 0xA]
- movs r4, 0xA
- ldrsh r0, [r1, r4]
- cmp r0, 0x74
- bgt _080BA62C
- adds r0, r3, 0x1
- strh r0, [r1, 0xA]
- b _080BA592
-_080BA62C:
- strh r2, [r1, 0xA]
- b _080BA592
-_080BA630:
- ldrh r1, [r2, 0x2C]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080BA648
- ldr r0, _080BA644
- strb r6, [r0]
- b _080BA64C
- .align 2, 0
-_080BA644: .4byte gUnknown_020387B0
-_080BA648:
- ldr r0, _080BA658
- strb r1, [r0]
-_080BA64C:
- movs r0, 0
-_080BA64E:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080BA658: .4byte gUnknown_020387B0
- thumb_func_end sub_80BA400
-
- thumb_func_start Task_HandleMainMenuInput
-Task_HandleMainMenuInput: @ 80BA65C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80BA400
- lsls r0, 24
- cmp r0, 0
- beq _080BA67C
- ldr r0, _080BA684
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080BA688
- str r0, [r1]
-_080BA67C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA684: .4byte gTasks
-_080BA688: .4byte sub_80BA384
- thumb_func_end Task_HandleMainMenuInput
-
- thumb_func_start sub_80BA68C
-sub_80BA68C: @ 80BA68C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080BA6B0
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BA6AA
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _080BA6B4
- bl SetMainCallback2
-_080BA6AA:
- pop {r0}
- bx r0
- .align 2, 0
-_080BA6B0: .4byte gPaletteFade
-_080BA6B4: .4byte CB2_InitTitleScreen
- thumb_func_end sub_80BA68C
-
- thumb_func_start sub_80BA6B8
-sub_80BA6B8: @ 80BA6B8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080BA6C6
- cmp r0, 0x1
- beq _080BA6E0
-_080BA6C6:
- ldr r1, _080BA6D4
- ldr r2, _080BA6D8
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080BA6DC
- b _080BA6EC
- .align 2, 0
-_080BA6D4: .4byte REG_WIN1H
-_080BA6D8: .4byte 0x000011df
-_080BA6DC: .4byte 0x00002957
-_080BA6E0:
- ldr r1, _080BA6F4
- ldr r2, _080BA6F8
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080BA6FC
-_080BA6EC:
- adds r0, r2, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080BA6F4: .4byte REG_WIN1H
-_080BA6F8: .4byte 0x000011df
-_080BA6FC: .4byte 0x0000618f
- thumb_func_end sub_80BA6B8
-
- thumb_func_start sub_80BA700
-sub_80BA700: @ 80BA700
- push {r4-r7,lr}
- sub sp, 0x8
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r7, r2, 16
- movs r1, 0
- movs r2, 0
-_080BA714:
- mov r3, sp
- adds r0, r3, r1
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x2
- bls _080BA714
- mov r1, sp
- movs r0, 0xB0
- strb r0, [r1, 0x3]
- movs r0, 0xFF
- strb r0, [r1, 0x4]
- movs r4, 0
- adds r0, r5, 0
- movs r1, 0x64
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080BA748
- mov r1, sp
- adds r0, 0xA1
- strb r0, [r1]
- movs r4, 0x1
-_080BA748:
- adds r0, r5, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080BA766
- cmp r4, 0
- beq _080BA76C
-_080BA766:
- mov r1, sp
- adds r0, 0xA1
- strb r0, [r1, 0x1]
-_080BA76C:
- mov r4, sp
- adds r0, r5, 0
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r0, 0xA1
- strb r0, [r4, 0x2]
- lsls r1, r6, 24
- lsrs r1, 24
- lsls r2, r7, 24
- lsrs r2, 24
- mov r0, sp
- bl MenuPrint
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BA700
-
- thumb_func_start sub_80BA79C
-sub_80BA79C: @ 80BA79C
- push {r4-r6,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- movs r3, 0
- movs r1, 0
-_080BA7AE:
- mov r2, sp
- adds r0, r2, r3
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xA
- bls _080BA7AE
- mov r0, sp
- movs r1, 0xFF
- strb r1, [r0, 0xA]
- movs r3, 0
- ldrb r0, [r4]
- lsls r2, r6, 24
- lsls r5, 24
- cmp r0, 0xFF
- beq _080BA7EC
-_080BA7D0:
- mov r0, sp
- adds r1, r0, r3
- adds r0, r4, r3
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r4, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _080BA7EC
- cmp r3, 0x9
- bls _080BA7D0
-_080BA7EC:
- lsrs r1, r2, 24
- lsrs r2, r5, 24
- mov r0, sp
- bl MenuPrint
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BA79C
-
- thumb_func_start sub_80BA800
-sub_80BA800: @ 80BA800
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xCC
- lsls r0, 24
- str r0, [sp, 0xB0]
- lsrs r2, r0, 24
- str r2, [sp, 0xAC]
- ldr r1, _080BA9E8
- mov r0, sp
- movs r2, 0xA
- bl memcpy
- mov r0, sp
- adds r0, 0xC
- str r0, [sp, 0xB4]
- ldr r1, _080BA9EC
- movs r2, 0xB
- bl memcpy
- mov r2, sp
- adds r2, 0x18
- str r2, [sp, 0xB8]
- ldr r1, _080BA9F0
- adds r0, r2, 0
- movs r2, 0xA
- bl memcpy
- mov r0, sp
- adds r0, 0x24
- str r0, [sp, 0xBC]
- ldr r1, _080BA9F4
- movs r2, 0xA
- bl memcpy
- mov r2, sp
- adds r2, 0x30
- str r2, [sp, 0xC0]
- ldr r1, _080BA9F8
- adds r0, r2, 0
- movs r2, 0xA
- bl memcpy
- mov r0, sp
- adds r0, 0x3C
- str r0, [sp, 0xC4]
- ldr r1, _080BA9FC
- movs r2, 0xA
- bl memcpy
- mov r2, sp
- adds r2, 0x48
- str r2, [sp, 0xC8]
- ldr r1, _080BAA00
- adds r0, r2, 0
- movs r2, 0xA
- bl memcpy
- add r4, sp, 0x54
- ldr r1, _080BAA04
- adds r0, r4, 0
- movs r2, 0xA
- bl memcpy
- add r7, sp, 0x60
- ldr r1, _080BAA08
- adds r0, r7, 0
- movs r2, 0xA
- bl memcpy
- add r0, sp, 0x6C
- mov r10, r0
- ldr r1, _080BAA0C
- movs r2, 0xA
- bl memcpy
- add r2, sp, 0x78
- mov r9, r2
- ldr r1, _080BAA10
- mov r0, r9
- movs r2, 0xA
- bl memcpy
- add r0, sp, 0x84
- mov r8, r0
- ldr r1, _080BAA14
- movs r2, 0x9
- bl memcpy
- add r6, sp, 0x90
- ldr r1, _080BAA18
- adds r0, r6, 0
- movs r2, 0x9
- bl memcpy
- add r5, sp, 0x9C
- ldr r1, _080BAA1C
- adds r0, r5, 0
- movs r2, 0x9
- bl memcpy
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xC5
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- mov r0, sp
- movs r1, 0x13
- movs r2, 0x4
- bl MenuPrint
- ldr r0, [sp, 0xB4]
- movs r1, 0x13
- movs r2, 0x2
- bl MenuPrint
- ldr r0, [sp, 0xB8]
- movs r1, 0x2
- movs r2, 0x1
- bl MenuPrint
- ldr r0, [sp, 0xBC]
- movs r1, 0x2
- movs r2, 0x3
- bl MenuPrint
- ldr r0, [sp, 0xC0]
- movs r1, 0x2
- movs r2, 0x5
- bl MenuPrint
- ldr r0, [sp, 0xC4]
- movs r1, 0x2
- movs r2, 0x7
- bl MenuPrint
- ldr r0, [sp, 0xC8]
- movs r1, 0x2
- movs r2, 0x9
- bl MenuPrint
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0xB
- bl MenuPrint
- adds r0, r7, 0
- movs r1, 0x2
- movs r2, 0xD
- bl MenuPrint
- mov r0, r10
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- mov r0, r9
- movs r1, 0x2
- movs r2, 0x11
- bl MenuPrint
- mov r0, r8
- movs r1, 0x13
- movs r2, 0x10
- bl MenuPrint
- adds r0, r6, 0
- movs r1, 0x13
- movs r2, 0xE
- bl MenuPrint
- adds r0, r5, 0
- movs r1, 0x13
- movs r2, 0xC
- bl MenuPrint
- ldr r1, _080BAA20
- movs r0, 0xF0
- strh r0, [r1]
- adds r1, 0x4
- movs r0, 0xA0
- strh r0, [r1]
- ldr r0, _080BAA24
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080BAA28
- strb r1, [r0]
- ldr r0, _080BAA2C
- strb r1, [r0]
- ldr r0, _080BAA30
- movs r2, 0
- str r2, [r0]
- ldr r0, _080BAA34
- strb r2, [r0]
- ldr r1, _080BAA38
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _080BAA3C
- str r2, [r0]
- movs r1, 0x78
- str r1, [r0, 0x4]
- str r2, [r0, 0x8]
- movs r1, 0xF0
- lsls r1, 6
- str r1, [r0, 0xC]
- movs r1, 0xB4
- str r1, [r0, 0x10]
- str r2, [r0, 0x18]
- str r2, [r0, 0x14]
- str r2, [r0, 0x1C]
- movs r1, 0x2
- str r1, [r0, 0x20]
- bl sub_80BAD5C
- movs r0, 0
- movs r1, 0
- bl sub_80BAE10
- ldr r1, _080BAA40
- ldr r2, [sp, 0xAC]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BAA44
- str r1, [r0]
- add sp, 0xCC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BA9E8: .4byte gUnknown_083D0312
-_080BA9EC: .4byte gUnknown_083D031C
-_080BA9F0: .4byte gDebugText_Voice
-_080BA9F4: .4byte gDebugText_Volume
-_080BA9F8: .4byte gDebugText_Panpot
-_080BA9FC: .4byte gDebugText_Pitch
-_080BAA00: .4byte gDebugText_Length
-_080BAA04: .4byte gDebugText_Release
-_080BAA08: .4byte gDebugText_Progress
-_080BAA0C: .4byte gDebugText_Chorus
-_080BAA10: .4byte gDebugText_Priority
-_080BAA14: .4byte gUnknown_083D0381
-_080BAA18: .4byte gUnknown_083D038A
-_080BAA1C: .4byte gUnknown_083D0393
-_080BAA20: .4byte REG_WIN0H
-_080BAA24: .4byte gUnknown_020387B3
-_080BAA28: .4byte gUnknown_020387B1
-_080BAA2C: .4byte gUnknown_020387B2
-_080BAA30: .4byte gUnknown_03005D30
-_080BAA34: .4byte gUnknown_020387D8
-_080BAA38: .4byte gUnknown_020387D9
-_080BAA3C: .4byte gUnknown_020387B4
-_080BAA40: .4byte gTasks
-_080BAA44: .4byte sub_80BAA48
- thumb_func_end sub_80BA800
-
- thumb_func_start sub_80BAA48
-sub_80BAA48: @ 80BAA48
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080BAA90
- ldrh r2, [r1, 0x2E]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080BAAA8
- movs r1, 0x80
- lsls r1, 19
- ldr r2, _080BAA94
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x40
- ldr r2, _080BAA98
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080BAA9C
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080BAAA0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BAAA4
- str r1, [r0]
- b _080BACC6
- .align 2, 0
-_080BAA90: .4byte gMain
-_080BAA94: .4byte 0x00007140
-_080BAA98: .4byte 0x000011df
-_080BAA9C: .4byte 0x0000011f
-_080BAAA0: .4byte gTasks
-_080BAAA4: .4byte sub_80BA258
-_080BAAA8:
- ldrh r1, [r1, 0x30]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080BAAD0
- ldr r1, _080BAACC
- ldrb r2, [r1]
- subs r0, r2, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080BAAEA
- movs r0, 0x8
- strb r0, [r1]
- b _080BAAEA
- .align 2, 0
-_080BAACC: .4byte gUnknown_020387B3
-_080BAAD0:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BAAF8
- ldr r1, _080BAAF4
- ldrb r2, [r1]
- adds r0, r2, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x8
- ble _080BAAEA
- strb r3, [r1]
-_080BAAEA:
- ldrb r1, [r1]
- adds r0, r2, 0
- bl sub_80BAE10
- b _080BACC6
- .align 2, 0
-_080BAAF4: .4byte gUnknown_020387B3
-_080BAAF8:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _080BAB14
- ldr r0, _080BAB10
- ldrb r1, [r0]
- movs r2, 0x1
- eors r1, r2
- strb r1, [r0]
- bl sub_80BAD5C
- b _080BACC6
- .align 2, 0
-_080BAB10: .4byte gUnknown_020387D8
-_080BAB14:
- movs r0, 0x4
- ands r0, r2
- cmp r0, 0
- beq _080BAB38
- ldr r4, _080BAB34
- ldrb r0, [r4]
- movs r1, 0x1
- eors r0, r1
- strb r0, [r4]
- bl sub_80BAD5C
- ldrb r0, [r4]
- bl SetPokemonCryStereo
- b _080BACC6
- .align 2, 0
-_080BAB34: .4byte gUnknown_020387D9
-_080BAB38:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080BAB46
- movs r0, 0xA
- b _080BAB6E
-_080BAB46:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080BAB56
- movs r0, 0xA
- negs r0, r0
- b _080BAB6E
-_080BAB56:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080BAB64
- movs r0, 0x1
- negs r0, r0
- b _080BAB6E
-_080BAB64:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080BAB78
- movs r0, 0x1
-_080BAB6E:
- bl sub_80BACDC
- bl sub_80BAD5C
- b _080BACC6
-_080BAB78:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _080BAB82
- b _080BACA2
-_080BAB82:
- ldr r4, _080BABE4
- ldrb r0, [r4, 0x4]
- bl SetPokemonCryVolume
- movs r0, 0x8
- ldrsb r0, [r4, r0]
- bl SetPokemonCryPanpot
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- bl SetPokemonCryPitch
- ldrh r0, [r4, 0x10]
- bl SetPokemonCryLength
- ldr r0, [r4, 0x18]
- bl SetPokemonCryProgress
- ldrb r0, [r4, 0x14]
- bl SetPokemonCryRelease
- movs r0, 0x1C
- ldrsb r0, [r4, r0]
- bl SetPokemonCryChorus
- ldr r0, [r4, 0x20]
- lsls r0, 24
- lsrs r0, 24
- bl SetPokemonCryPriority
- ldr r4, [r4]
- adds r0, r4, 0
- cmp r4, 0
- bge _080BABC8
- adds r0, 0x7F
-_080BABC8:
- asrs r2, r0, 7
- lsls r0, r2, 7
- subs r0, r4, r0
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r2, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BAC1C
- cmp r0, 0x1
- bgt _080BABE8
- cmp r0, 0
- beq _080BABF2
- b _080BACA2
- .align 2, 0
-_080BABE4: .4byte gUnknown_020387B4
-_080BABE8:
- cmp r0, 0x2
- beq _080BAC48
- cmp r0, 0x3
- beq _080BAC74
- b _080BACA2
-_080BABF2:
- ldr r0, _080BAC04
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BAC0C
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BAC08
- b _080BAC98
- .align 2, 0
-_080BAC04: .4byte gUnknown_020387D8
-_080BAC08: .4byte voicegroup_84537C0
-_080BAC0C:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BAC18
- b _080BAC98
- .align 2, 0
-_080BAC18: .4byte voicegroup_8452590
-_080BAC1C:
- ldr r0, _080BAC30
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BAC38
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BAC34
- b _080BAC98
- .align 2, 0
-_080BAC30: .4byte gUnknown_020387D8
-_080BAC34: .4byte voicegroup_8453DC0
-_080BAC38:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BAC44
- b _080BAC98
- .align 2, 0
-_080BAC44: .4byte voicegroup_8452B90
-_080BAC48:
- ldr r0, _080BAC5C
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BAC64
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BAC60
- b _080BAC98
- .align 2, 0
-_080BAC5C: .4byte gUnknown_020387D8
-_080BAC60: .4byte voicegroup_84543C0
-_080BAC64:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BAC70
- b _080BAC98
- .align 2, 0
-_080BAC70: .4byte voicegroup_8453190
-_080BAC74:
- ldr r0, _080BAC88
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BAC90
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BAC8C
- b _080BAC98
- .align 2, 0
-_080BAC88: .4byte gUnknown_020387D8
-_080BAC8C: .4byte voicegroup_84549C0
-_080BAC90:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BACCC
-_080BAC98:
- adds r0, r1
- bl SetPokemonCryTone
- ldr r1, _080BACD0
- str r0, [r1]
-_080BACA2:
- ldr r0, _080BACD0
- ldr r0, [r0]
- cmp r0, 0
- beq _080BACC6
- ldr r5, _080BACD4
- bl IsPokemonCryPlaying
- strb r0, [r5]
- ldr r4, _080BACD8
- lsls r0, 24
- lsrs r0, 24
- ldrb r2, [r4]
- cmp r0, r2
- beq _080BACC2
- bl sub_80BAD5C
-_080BACC2:
- ldrb r0, [r5]
- strb r0, [r4]
-_080BACC6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BACCC: .4byte voicegroup_8453790
-_080BACD0: .4byte gUnknown_03005D30
-_080BACD4: .4byte gUnknown_020387B1
-_080BACD8: .4byte gUnknown_020387B2
- thumb_func_end sub_80BAA48
-
- thumb_func_start sub_80BACDC
-sub_80BACDC: @ 80BACDC
- push {r4-r6,lr}
- sub sp, 0x40
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080BAD50
- mov r0, sp
- movs r2, 0x40
- bl memcpy
- ldr r6, _080BAD54
- ldr r5, _080BAD58
- movs r1, 0
- ldrsb r1, [r5, r1]
- lsls r1, 2
- adds r1, r6
- lsls r4, 24
- asrs r4, 24
- ldr r0, [r1]
- adds r0, r4
- str r0, [r1]
- movs r2, 0
- ldrsb r2, [r5, r2]
- lsls r0, r2, 2
- adds r3, r0, r6
- lsls r0, r2, 1
- adds r0, 0x1
- lsls r0, 2
- add r0, sp
- ldr r1, [r3]
- ldr r0, [r0]
- cmp r1, r0
- ble _080BAD26
- lsls r0, r2, 3
- add r0, sp
- ldr r0, [r0]
- str r0, [r3]
-_080BAD26:
- movs r2, 0
- ldrsb r2, [r5, r2]
- lsls r0, r2, 2
- adds r3, r0, r6
- lsls r0, r2, 3
- add r0, sp
- ldr r1, [r3]
- ldr r0, [r0]
- cmp r1, r0
- bge _080BAD46
- lsls r0, r2, 1
- adds r0, 0x1
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- str r0, [r3]
-_080BAD46:
- add sp, 0x40
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BAD50: .4byte gUnknown_083D039C
-_080BAD54: .4byte gUnknown_020387B4
-_080BAD58: .4byte gUnknown_020387B3
- thumb_func_end sub_80BACDC
-
- thumb_func_start sub_80BAD5C
-sub_80BAD5C: @ 80BAD5C
- push {r4,lr}
- ldr r4, _080BAE00
- ldr r0, [r4]
- adds r0, 0x1
- movs r1, 0xB
- movs r2, 0x1
- movs r3, 0x5
- bl sub_80BAE78
- ldr r0, [r4, 0x4]
- movs r1, 0xB
- movs r2, 0x3
- movs r3, 0x5
- bl sub_80BAE78
- ldr r0, [r4, 0x8]
- movs r1, 0xB
- movs r2, 0x5
- movs r3, 0x5
- bl sub_80BAE78
- ldr r0, [r4, 0xC]
- movs r1, 0xB
- movs r2, 0x7
- movs r3, 0x5
- bl sub_80BAE78
- ldr r0, [r4, 0x10]
- movs r1, 0xB
- movs r2, 0x9
- movs r3, 0x5
- bl sub_80BAE78
- ldr r0, [r4, 0x14]
- movs r1, 0xB
- movs r2, 0xB
- movs r3, 0x5
- bl sub_80BAE78
- ldr r0, [r4, 0x18]
- movs r1, 0xB
- movs r2, 0xD
- movs r3, 0x5
- bl sub_80BAE78
- ldr r0, [r4, 0x1C]
- movs r1, 0xB
- movs r2, 0xF
- movs r3, 0x5
- bl sub_80BAE78
- ldr r0, [r4, 0x20]
- movs r1, 0xB
- movs r2, 0x11
- movs r3, 0x5
- bl sub_80BAE78
- ldr r0, _080BAE04
- ldrb r0, [r0]
- movs r1, 0x1B
- movs r2, 0x10
- movs r3, 0x1
- bl sub_80BAE78
- ldr r0, _080BAE08
- ldrb r0, [r0]
- movs r1, 0x1B
- movs r2, 0xE
- movs r3, 0x1
- bl sub_80BAE78
- ldr r0, _080BAE0C
- ldrb r0, [r0]
- movs r1, 0x1B
- movs r2, 0xC
- movs r3, 0x1
- bl sub_80BAE78
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BAE00: .4byte gUnknown_020387B4
-_080BAE04: .4byte gUnknown_020387B1
-_080BAE08: .4byte gUnknown_020387D8
-_080BAE0C: .4byte gUnknown_020387D9
- thumb_func_end sub_80BAD5C
-
- thumb_func_start sub_80BAE10
-sub_80BAE10: @ 80BAE10
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x8
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _080BAE6C
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- add r0, sp, 0x4
- mov r8, r0
- ldr r1, _080BAE70
- movs r2, 0x2
- bl memcpy
- ldr r6, _080BAE74
- lsls r4, 1
- adds r0, r4, r6
- ldrb r1, [r0]
- adds r4, 0x1
- adds r4, r6
- ldrb r2, [r4]
- mov r0, r8
- bl MenuPrint
- lsls r5, 1
- adds r0, r5, r6
- ldrb r1, [r0]
- adds r5, 0x1
- adds r5, r6
- ldrb r2, [r5]
- mov r0, sp
- bl MenuPrint
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BAE6C: .4byte gUnknown_083D03DC
-_080BAE70: .4byte gUnknown_083D03DE
-_080BAE74: .4byte gUnknown_083D0300
- thumb_func_end sub_80BAE10
-
- thumb_func_start sub_80BAE78
-sub_80BAE78: @ 80BAE78
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- mov r8, r0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r2, 16
- lsls r3, 24
- lsrs r7, r3, 24
- mov r1, sp
- ldr r0, _080BAF80
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- movs r5, 0
- add r0, sp, 0x18
- mov r9, r0
- cmp r5, r7
- bgt _080BAEC0
- mov r4, r9
- movs r3, 0
-_080BAEAC:
- lsls r0, r5, 24
- asrs r0, 24
- adds r1, r4, r0
- strb r3, [r1]
- adds r0, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- asrs r0, 24
- cmp r0, r7
- ble _080BAEAC
-_080BAEC0:
- adds r0, r7, 0x1
- add r0, r9
- movs r1, 0xFF
- strb r1, [r0]
- movs r1, 0
- mov r3, r8
- cmp r3, 0
- bge _080BAED6
- negs r3, r3
- mov r8, r3
- movs r1, 0x1
-_080BAED6:
- movs r4, 0
- mov r10, r4
- cmp r7, 0x1
- bne _080BAEE2
- movs r5, 0x1
- mov r10, r5
-_080BAEE2:
- subs r0, r7, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 24
- lsls r6, 24
- str r6, [sp, 0x24]
- lsls r2, 24
- str r2, [sp, 0x28]
- cmp r0, 0
- blt _080BAF62
- str r1, [sp, 0x20]
-_080BAEF8:
- asrs r6, r0, 24
- lsls r0, r6, 2
- add r0, sp
- ldr r1, [r0]
- mov r0, r8
- bl __divsi3
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r0, 0
- bne _080BAF1A
- mov r0, r10
- cmp r0, 0
- bne _080BAF1A
- lsls r4, r5, 24
- cmp r6, 0
- bne _080BAF46
-_080BAF1A:
- lsls r4, r5, 24
- ldr r3, [sp, 0x20]
- cmp r3, 0
- beq _080BAF34
- mov r5, r10
- cmp r5, 0
- bne _080BAF34
- asrs r0, r4, 24
- subs r0, r7, r0
- subs r0, 0x1
- add r0, r9
- movs r1, 0xAE
- strb r1, [r0]
-_080BAF34:
- asrs r1, r4, 24
- subs r1, r7, r1
- add r1, r9
- lsls r0, r2, 24
- asrs r0, 24
- subs r0, 0x5F
- strb r0, [r1]
- movs r0, 0x1
- mov r10, r0
-_080BAF46:
- asrs r4, 24
- lsls r0, r4, 2
- add r0, sp
- ldr r1, [r0]
- mov r0, r8
- bl __modsi3
- mov r8, r0
- subs r4, 0x1
- lsls r4, 24
- lsrs r5, r4, 24
- lsls r0, r5, 24
- cmp r0, 0
- bge _080BAEF8
-_080BAF62:
- ldr r3, [sp, 0x24]
- lsrs r1, r3, 24
- ldr r4, [sp, 0x28]
- lsrs r2, r4, 24
- mov r0, r9
- bl MenuPrint
- 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
-_080BAF80: .4byte gUnknown_083D03E0
- thumb_func_end sub_80BAE78
-
- thumb_func_start sub_80BAF84
-sub_80BAF84: @ 80BAF84
- push {r4-r6,lr}
- sub sp, 0x14
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080BB01C
- mov r0, sp
- movs r2, 0x3
- bl memcpy
- add r6, sp, 0x4
- ldr r1, _080BB020
- adds r0, r6, 0
- movs r2, 0x4
- bl memcpy
- add r5, sp, 0x8
- ldr r1, _080BB024
- adds r0, r5, 0
- movs r2, 0x9
- bl memcpy
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xC5
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- mov r0, sp
- movs r1, 0x3
- movs r2, 0x2
- bl MenuPrint
- adds r0, r6, 0
- movs r1, 0x3
- movs r2, 0x4
- bl MenuPrint
- adds r0, r5, 0
- movs r1, 0x3
- movs r2, 0x8
- bl MenuPrint
- ldr r1, _080BB028
- movs r0, 0xF0
- strh r0, [r1]
- adds r1, 0x4
- movs r0, 0xA0
- strh r0, [r1]
- ldr r1, _080BB02C
- movs r0, 0x1
- str r0, [r1]
- movs r0, 0
- str r0, [r1, 0x8]
- str r0, [r1, 0x1C]
- str r0, [r1, 0x18]
- str r0, [r1, 0x14]
- bl sub_80BB1D4
- ldr r1, _080BB030
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BB034
- str r1, [r0]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB01C: .4byte gOtherText_SE
-_080BB020: .4byte gOtherText_Pan
-_080BB024: .4byte gUnknown_083D0381
-_080BB028: .4byte REG_WIN0H
-_080BB02C: .4byte gUnknown_020387B4
-_080BB030: .4byte gTasks
-_080BB034: .4byte sub_80BB038
- thumb_func_end sub_80BAF84
-
- thumb_func_start sub_80BB038
-sub_80BB038: @ 80BB038
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_80BB1D4
- ldr r2, _080BB058
- ldr r0, [r2, 0x18]
- cmp r0, 0
- beq _080BB0A2
- ldr r0, [r2, 0x14]
- cmp r0, 0
- beq _080BB05C
- subs r0, 0x1
- str r0, [r2, 0x14]
- b _080BB0A2
- .align 2, 0
-_080BB058: .4byte gUnknown_020387B4
-_080BB05C:
- ldr r0, _080BB088
- ldr r1, [r2, 0x8]
- adds r1, r0
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x80
- negs r0, r0
- cmp r1, r0
- beq _080BB08C
- cmp r1, 0x7F
- bne _080BB0A2
- ldr r0, [r2, 0x1C]
- adds r0, 0x2
- str r0, [r2, 0x1C]
- cmp r0, 0x3E
- bgt _080BB0A2
- lsls r0, 24
- asrs r0, 24
- bl SE12PanpotControl
- b _080BB0A2
- .align 2, 0
-_080BB088: .4byte gUnknown_083D03F8
-_080BB08C:
- ldr r0, [r2, 0x1C]
- subs r1, r0, 0x2
- str r1, [r2, 0x1C]
- movs r0, 0x40
- negs r0, r0
- cmp r1, r0
- ble _080BB0A2
- lsls r0, r1, 24
- asrs r0, 24
- bl SE12PanpotControl
-_080BB0A2:
- ldr r1, _080BB0EC
- ldrh r3, [r1, 0x2E]
- movs r0, 0x2
- ands r0, r3
- lsls r0, 16
- lsrs r4, r0, 16
- adds r7, r1, 0
- cmp r4, 0
- beq _080BB104
- movs r1, 0x80
- lsls r1, 19
- ldr r2, _080BB0F0
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x40
- ldr r2, _080BB0F4
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080BB0F8
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080BB0FC
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BB100
- str r1, [r0]
- b _080BB1C8
- .align 2, 0
-_080BB0EC: .4byte gMain
-_080BB0F0: .4byte 0x00007140
-_080BB0F4: .4byte 0x000011df
-_080BB0F8: .4byte 0x0000011f
-_080BB0FC: .4byte gTasks
-_080BB100: .4byte sub_80BA258
-_080BB104:
- movs r6, 0x1
- adds r2, r6, 0
- ands r2, r3
- cmp r2, 0
- beq _080BB15E
- ldr r0, _080BB138
- ldr r5, _080BB13C
- ldr r1, [r5, 0x8]
- adds r1, r0
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x80
- negs r0, r0
- cmp r1, r0
- beq _080BB140
- cmp r1, 0x7F
- bne _080BB154
- ldrh r0, [r5]
- movs r4, 0x40
- negs r4, r4
- adds r1, r4, 0
- bl PlaySE12WithPanning
- str r4, [r5, 0x1C]
- b _080BB14C
- .align 2, 0
-_080BB138: .4byte gUnknown_083D03F8
-_080BB13C: .4byte gUnknown_020387B4
-_080BB140:
- ldrh r0, [r5]
- movs r1, 0x3F
- bl PlaySE12WithPanning
- movs r0, 0x3F
- str r0, [r5, 0x1C]
-_080BB14C:
- str r6, [r5, 0x18]
- movs r0, 0x1E
- str r0, [r5, 0x14]
- b _080BB1C8
-_080BB154:
- ldrh r0, [r5]
- bl PlaySE12WithPanning
- str r4, [r5, 0x18]
- b _080BB1C8
-_080BB15E:
- movs r0, 0x80
- lsls r0, 2
- ands r0, r3
- cmp r0, 0
- beq _080BB176
- ldr r1, _080BB1AC
- ldr r0, [r1, 0x8]
- adds r0, 0x1
- str r0, [r1, 0x8]
- cmp r0, 0x4
- ble _080BB176
- str r2, [r1, 0x8]
-_080BB176:
- ldrh r1, [r7, 0x2E]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080BB192
- ldr r1, _080BB1AC
- ldr r0, [r1, 0x8]
- subs r0, 0x1
- str r0, [r1, 0x8]
- cmp r0, 0
- bge _080BB192
- movs r0, 0x4
- str r0, [r1, 0x8]
-_080BB192:
- ldrh r1, [r7, 0x30]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080BB1B0
- ldr r1, _080BB1AC
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- cmp r0, 0xF7
- ble _080BB1C8
- movs r0, 0
- b _080BB1C6
- .align 2, 0
-_080BB1AC: .4byte gUnknown_020387B4
-_080BB1B0:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080BB1C8
- ldr r1, _080BB1D0
- ldr r0, [r1]
- subs r0, 0x1
- str r0, [r1]
- cmp r0, 0
- bge _080BB1C8
- movs r0, 0xF7
-_080BB1C6:
- str r0, [r1]
-_080BB1C8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB1D0: .4byte gUnknown_020387B4
- thumb_func_end sub_80BB038
-
- thumb_func_start sub_80BB1D4
-sub_80BB1D4: @ 80BB1D4
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r1, _080BB218
- mov r0, sp
- movs r2, 0x5
- bl memcpy
- add r5, sp, 0x8
- ldr r1, _080BB21C
- adds r0, r5, 0
- movs r2, 0x5
- bl memcpy
- ldr r4, _080BB220
- ldr r0, [r4]
- movs r1, 0x7
- movs r2, 0x2
- movs r3, 0x3
- bl sub_80BAE78
- ldr r1, _080BB224
- ldr r0, [r4, 0x8]
- adds r0, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x80
- negs r0, r0
- cmp r1, r0
- beq _080BB228
- cmp r1, 0x7F
- bne _080BB234
- mov r0, sp
- b _080BB22A
- .align 2, 0
-_080BB218: .4byte gOtherText_LR
-_080BB21C: .4byte gOtherText_RL
-_080BB220: .4byte gUnknown_020387B4
-_080BB224: .4byte gUnknown_083D03F8
-_080BB228:
- adds r0, r5, 0
-_080BB22A:
- movs r1, 0x7
- movs r2, 0x4
- bl MenuPrint
- b _080BB240
-_080BB234:
- adds r0, r1, 0
- movs r1, 0x7
- movs r2, 0x4
- movs r3, 0x3
- bl sub_80BAE78
-_080BB240:
- bl IsSEPlaying
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC
- movs r2, 0x8
- movs r3, 0x1
- bl sub_80BAE78
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB1D4
-
- thumb_func_start sub_80BB25C
-sub_80BB25C: @ 80BB25C
- push {r4-r6,lr}
- sub sp, 0x14
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080BB374
- bl SetUpWindowConfig
- ldr r0, _080BB378
- bl InitMenuWindow
- ldr r1, _080BB37C
- movs r0, 0x1
- strh r0, [r1]
- bl ResetSpriteData
- bl FreeAllSpritePalettes
- ldr r1, _080BB380
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0x80
- lsls r1, 6
- orrs r0, r1
- ldr r1, _080BB384
- ands r0, r1
- movs r1, 0xE8
- lsls r1, 13
- orrs r0, r1
- ldr r1, _080BB388
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 20
- orrs r0, r1
- str r0, [sp, 0x4]
- ldr r1, _080BB38C
- ldr r0, [sp, 0x8]
- ands r0, r1
- movs r1, 0xF0
- lsls r1, 5
- orrs r0, r1
- ldr r1, _080BB390
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- str r0, [sp, 0x8]
- movs r1, 0
- ldr r0, _080BB394
- strb r1, [r0]
- add r4, sp, 0xC
-_080BB2BE:
- add r0, sp, 0x4
- movs r1, 0x3
- bl sub_8119E3C
- lsls r0, 24
- cmp r0, 0
- beq _080BB2BE
- ldr r1, _080BB380
- ldr r0, [sp, 0xC]
- ands r0, r1
- ldr r1, _080BB384
- ands r0, r1
- movs r1, 0xF0
- lsls r1, 12
- orrs r0, r1
- ldr r1, _080BB388
- ands r0, r1
- movs r1, 0xD0
- lsls r1, 20
- orrs r0, r1
- str r0, [sp, 0xC]
- ldr r1, _080BB390
- ldr r0, [r4, 0x4]
- ands r0, r1
- movs r1, 0xC
- orrs r0, r1
- ldr r1, _080BB38C
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 4
- orrs r0, r1
- str r0, [r4, 0x4]
- movs r1, 0
- ldr r0, _080BB394
- strb r1, [r0]
- lsls r5, r6, 2
-_080BB306:
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_811A3CC
- lsls r0, 24
- cmp r0, 0
- beq _080BB306
- movs r0, 0
- movs r1, 0x10
- movs r2, 0x5
- movs r3, 0x13
- bl MenuDrawTextWindow
- bl sub_80BB494
- movs r0, 0x1
- negs r0, r0
- movs r4, 0
- str r4, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080BB398
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- ldr r1, _080BB39C
- ldr r2, _080BB3A0
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080BB3A4
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xE
- adds r2, 0x3D
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080BB3A8
- movs r1, 0x2
- bl m4aMPlayFadeOutTemporarily
- ldr r1, _080BB3AC
- adds r0, r5, r6
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BB3B0
- str r1, [r0]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB374: .4byte gWindowConfig_81E6C3C
-_080BB378: .4byte gWindowConfig_81E6CE4
-_080BB37C: .4byte gUnknown_03005D34
-_080BB380: .4byte 0xffff0000
-_080BB384: .4byte 0xff00ffff
-_080BB388: .4byte 0x00ffffff
-_080BB38C: .4byte 0xffff00ff
-_080BB390: .4byte 0xffffff00
-_080BB394: .4byte gUnknown_03005E98
-_080BB398: .4byte REG_BG2HOFS
-_080BB39C: .4byte REG_BG2CNT
-_080BB3A0: .4byte 0x00000f01
-_080BB3A4: .4byte 0x00001d03
-_080BB3A8: .4byte gMPlay_BGM
-_080BB3AC: .4byte gTasks
-_080BB3B0: .4byte sub_80BB3B4
- thumb_func_end sub_80BB25C
-
- thumb_func_start sub_80BB3B4
-sub_80BB3B4: @ 80BB3B4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x3
- bl sub_8119F88
- ldr r4, _080BB478
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080BB3D4
- ldr r0, _080BB47C
- ldrh r0, [r0]
- bl sub_811A050
-_080BB3D4:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080BB3E4
- bl StopCryAndClearCrySongs
-_080BB3E4:
- ldrh r1, [r4, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BB408
- ldr r1, _080BB47C
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bne _080BB404
- movs r2, 0xC0
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
-_080BB404:
- bl sub_80BB494
-_080BB408:
- ldr r0, _080BB478
- ldrh r1, [r0, 0x30]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BB42E
- ldr r2, _080BB47C
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 17
- cmp r0, r1
- bls _080BB42A
- movs r0, 0x1
- strh r0, [r2]
-_080BB42A:
- bl sub_80BB494
-_080BB42E:
- ldr r0, _080BB478
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BB472
- movs r1, 0x80
- lsls r1, 19
- ldr r2, _080BB480
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x40
- ldr r2, _080BB484
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080BB488
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080BB48C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BB490
- str r1, [r0]
- bl sub_811A4F8
-_080BB472:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB478: .4byte gMain
-_080BB47C: .4byte gUnknown_03005D34
-_080BB480: .4byte 0x00007140
-_080BB484: .4byte 0x000011df
-_080BB488: .4byte 0x0000011f
-_080BB48C: .4byte gTasks
-_080BB490: .4byte sub_80BA258
- thumb_func_end sub_80BB3B4
-
- thumb_func_start sub_80BB494
-sub_80BB494: @ 80BB494
- push {lr}
- ldr r0, _080BB4A8
- ldrh r0, [r0]
- movs r1, 0x1
- movs r2, 0x11
- movs r3, 0x3
- bl sub_80BAE78
- pop {r0}
- bx r0
- .align 2, 0
-_080BB4A8: .4byte gUnknown_03005D34
- thumb_func_end sub_80BB494
-
- thumb_func_start sub_80BB4AC
-sub_80BB4AC: @ 80BB4AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- movs r0, 0
- strb r0, [r3]
- movs r2, 0
- adds r4, r3, 0x2
- movs r5, 0xFF
-_080BB4C4:
- adds r0, r4, r2
- ldrb r1, [r0]
- orrs r1, r5
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x6
- bls _080BB4C4
- movs r2, 0
- adds r5, r3, 0
- adds r5, 0x12
- adds r6, r3, 0
- adds r6, 0x22
- adds r7, r3, 0
- adds r7, 0x4C
- adds r0, r3, 0
- adds r0, 0x34
- str r0, [sp]
- adds r1, r3, 0
- adds r1, 0x9A
- str r1, [sp, 0x4]
- movs r0, 0x7C
- adds r0, r3
- mov r10, r0
- movs r1, 0x88
- adds r1, r3
- mov r9, r1
- movs r0, 0x94
- adds r0, r3
- mov r8, r0
- adds r1, r3, 0
- adds r1, 0x9
- movs r4, 0
-_080BB508:
- adds r0, r1, r2
- strb r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _080BB508
- movs r0, 0
- movs r1, 0
- strh r1, [r3, 0xE]
- strb r0, [r3, 0x10]
- strb r0, [r3, 0x11]
- movs r0, 0
- strb r0, [r3, 0x1]
- movs r2, 0
- adds r4, r5, 0
- adds r3, r6, 0
-_080BB52A:
- adds r0, r4, r2
- strb r1, [r0]
- adds r0, r3, r2
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _080BB52A
- movs r2, 0
- mov r12, r7
- movs r5, 0
-_080BB542:
- movs r1, 0
- adds r7, r2, 0x1
- lsls r4, r2, 2
- lsls r6, r2, 1
- adds r3, r4, 0
-_080BB54C:
- adds r0, r3, r1
- lsls r0, 1
- add r0, r12
- strh r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _080BB54C
- ldr r1, [sp]
- adds r0, r1, r4
- str r5, [r0]
- ldr r1, [sp, 0x4]
- adds r0, r1, r2
- strb r5, [r0]
- mov r1, r10
- adds r0, r1, r6
- strh r5, [r0]
- mov r1, r9
- adds r0, r1, r6
- strh r5, [r0]
- mov r1, r8
- adds r0, r1, r2
- strb r5, [r0]
- lsls r0, r7, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _080BB542
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB4AC
-
- thumb_func_start sub_80BB594
-sub_80BB594: @ 80BB594
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 5
- ldr r1, _080BB5B0
- adds r0, r1
- bl sub_80BB4AC
- pop {r0}
- bx r0
- .align 2, 0
-_080BB5B0: .4byte gSaveBlock1 + 0x1A08
- thumb_func_end sub_80BB594
-
- thumb_func_start sub_80BB5B4
-sub_80BB5B4: @ 80BB5B4
- push {r4,lr}
- movs r4, 0
-_080BB5B8:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80BB594
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _080BB5B8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB5B4
-
- thumb_func_start sub_80BB5D0
-sub_80BB5D0: @ 80BB5D0
- ldr r0, _080BB5DC
- ldr r1, _080BB5E0
- ldrh r1, [r1]
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080BB5DC: .4byte gUnknown_020387DC
-_080BB5E0: .4byte gUnknown_0202E8CC
- thumb_func_end sub_80BB5D0
-
- thumb_func_start sub_80BB5E4
-sub_80BB5E4: @ 80BB5E4
- push {r4,lr}
- ldr r0, _080BB5F4
- movs r1, 0
- strh r1, [r0]
- movs r3, 0
- adds r4, r0, 0
- b _080BB5FE
- .align 2, 0
-_080BB5F4: .4byte gScriptResult
-_080BB5F8:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
-_080BB5FE:
- cmp r3, 0x13
- bhi _080BB626
- ldr r2, _080BB62C
- ldr r1, _080BB630
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 5
- adds r0, r1
- ldr r1, _080BB634
- adds r0, r1
- ldrb r1, [r2]
- ldrb r0, [r0]
- cmp r1, r0
- bne _080BB5F8
- movs r0, 0x1
- strh r0, [r4]
- ldr r0, _080BB638
- adds r1, r3, 0
- bl VarSet
-_080BB626:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB62C: .4byte gUnknown_020387DC
-_080BB630: .4byte gSaveBlock1
-_080BB634: .4byte 0x00001a08
-_080BB638: .4byte 0x00004054
- thumb_func_end sub_80BB5E4
-
- thumb_func_start sub_80BB63C
-sub_80BB63C: @ 80BB63C
- push {lr}
- ldr r0, _080BB654
- ldr r1, _080BB658
- adds r0, r1
- ldrb r1, [r0]
- cmp r1, 0
- beq _080BB660
- ldr r1, _080BB65C
- movs r0, 0x1
- strh r0, [r1]
- b _080BB664
- .align 2, 0
-_080BB654: .4byte gSaveBlock1
-_080BB658: .4byte 0x00001a08
-_080BB65C: .4byte gScriptResult
-_080BB660:
- ldr r0, _080BB668
- strh r1, [r0]
-_080BB664:
- pop {r0}
- bx r0
- .align 2, 0
-_080BB668: .4byte gScriptResult
- thumb_func_end sub_80BB63C
-
- thumb_func_start sub_80BB66C
-sub_80BB66C: @ 80BB66C
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- adds r1, r0, 0
- ldr r2, _080BB6A4
- adds r0, r2, 0
- ands r1, r0
- adds r0, r1, 0
- subs r0, 0x90
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080BB6A8
- movs r0, 0x1
- b _080BB702
- .align 2, 0
-_080BB6A4: .4byte 0x00000fff
-_080BB6A8:
- adds r0, r1, 0
- subs r0, 0x92
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080BB6B8
- movs r0, 0x2
- b _080BB702
-_080BB6B8:
- adds r0, r1, 0
- subs r0, 0x9A
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080BB6C8
- movs r0, 0x3
- b _080BB702
-_080BB6C8:
- adds r0, r1, 0
- subs r0, 0x94
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080BB6D8
- movs r0, 0x4
- b _080BB702
-_080BB6D8:
- adds r0, r1, 0
- subs r0, 0x96
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080BB6EC
- cmp r1, 0x9C
- beq _080BB6EC
- cmp r1, 0x9D
- bne _080BB6F0
-_080BB6EC:
- movs r0, 0x5
- b _080BB702
-_080BB6F0:
- adds r0, r1, 0
- subs r0, 0x98
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080BB700
- movs r0, 0
- b _080BB702
-_080BB700:
- movs r0, 0x6
-_080BB702:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BB66C
-
- thumb_func_start sub_80BB70C
-sub_80BB70C: @ 80BB70C
- push {r4,lr}
- ldr r4, _080BB720
- bl sub_80BB66C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB720: .4byte gUnknown_0202E8D2
- thumb_func_end sub_80BB70C
-
- thumb_func_start unref_sub_80BB724
-unref_sub_80BB724: @ 80BB724
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- movs r2, 0
- ldr r6, _080BB748
- lsrs r3, r1, 24
- ldr r5, _080BB74C
-_080BB732:
- lsls r0, r2, 1
- adds r0, r4
- ldrh r1, [r0]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, r3
- bne _080BB750
- lsls r0, r2, 16
- asrs r0, 16
- b _080BB75E
- .align 2, 0
-_080BB748: .4byte 0x00000fff
-_080BB74C: .4byte 0x000001ff
-_080BB750:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r5
- bls _080BB732
- movs r0, 0x1
- negs r0, r0
-_080BB75E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80BB724
-
- thumb_func_start sub_80BB764
-sub_80BB764: @ 80BB764
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- mov r9, r0
- mov r10, r1
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- movs r0, 0
- mov r12, r0
- ldr r1, _080BB7C8
- ldr r0, [r1]
- ldr r3, [r0, 0x4]
- cmp r12, r3
- bge _080BB7EE
- ldr r0, [r0]
- str r0, [sp, 0x4]
- str r3, [sp]
-_080BB78E:
- movs r2, 0
- mov r1, r12
- lsls r7, r1, 16
- ldr r0, [sp, 0x4]
- cmp r2, r0
- bge _080BB7DC
- ldr r0, _080BB7C8
- ldr r1, [r0]
- asrs r0, r7, 16
- ldr r4, [r1]
- adds r6, r0, 0
- muls r6, r4
- ldr r5, [r1, 0xC]
-_080BB7A8:
- lsls r0, r2, 16
- asrs r3, r0, 16
- adds r0, r6, r3
- lsls r0, 1
- adds r0, r5
- ldrh r1, [r0]
- ldr r0, _080BB7CC
- ands r0, r1
- cmp r0, r8
- bne _080BB7D0
- mov r1, r9
- strh r2, [r1]
- mov r1, r12
- mov r0, r10
- strh r1, [r0]
- b _080BB7EE
- .align 2, 0
-_080BB7C8: .4byte gMapHeader
-_080BB7CC: .4byte 0x000003ff
-_080BB7D0:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, r4
- blt _080BB7A8
-_080BB7DC:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r1, r0, 16
- mov r12, r1
- asrs r0, 16
- ldr r1, [sp]
- cmp r0, r1
- blt _080BB78E
-_080BB7EE:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB764
-
- thumb_func_start sub_80BB800
-sub_80BB800: @ 80BB800
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileIdAt
- movs r5, 0
- mov r12, r4
- lsls r0, 16
- asrs r3, r0, 16
- ldr r1, _080BB84C
- mov r8, r1
- adds r7, r0, 0
- mov r4, sp
- mov r6, r12
-_080BB834:
- ldr r0, _080BB84C
- lsls r1, r5, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r3
- bne _080BB850
- movs r3, 0
- ldrsh r0, [r4, r3]
- movs r5, 0
- ldrsh r1, [r6, r5]
- ldrh r3, [r2, 0x2]
- b _080BB878
- .align 2, 0
-_080BB84C: .4byte gUnknown_083D1358
-_080BB850:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x6
- bls _080BB834
- movs r5, 0
- mov r4, sp
- mov r6, r12
-_080BB860:
- lsls r0, r5, 2
- mov r1, r8
- adds r3, r0, r1
- ldrh r1, [r3, 0x2]
- asrs r0, r7, 16
- cmp r1, r0
- bne _080BB892
- movs r2, 0
- ldrsh r0, [r4, r2]
- movs r5, 0
- ldrsh r1, [r6, r5]
- ldrh r3, [r3]
-_080BB878:
- movs r5, 0xC0
- lsls r5, 4
- adds r2, r5, 0
- orrs r2, r3
- bl MapGridSetMetatileIdAt
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0
- ldrsh r1, [r6, r2]
- bl CurrentMapDrawMetatileAt
- b _080BB89C
-_080BB892:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x6
- bls _080BB860
-_080BB89C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB800
-
- thumb_func_start sub_80BB8A8
-sub_80BB8A8: @ 80BB8A8
- push {lr}
- adds r2, r0, 0
- movs r1, 0
-_080BB8AE:
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080BB8BA
- adds r0, r1, 0
- b _080BB8C6
-_080BB8BA:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x6
- bls _080BB8AE
- movs r0, 0x7
-_080BB8C6:
- pop {r1}
- bx r1
- thumb_func_end sub_80BB8A8
-
- thumb_func_start sub_80BB8CC
-sub_80BB8CC: @ 80BB8CC
- push {r4-r6,lr}
- ldr r2, _080BB948
- ldr r0, _080BB94C
- ldrb r1, [r0]
- ldr r3, _080BB950
- adds r0, r2, r3
- strb r1, [r0]
- movs r3, 0
- ldr r0, _080BB954
- adds r2, r0
- ldr r4, _080BB958
-_080BB8E2:
- adds r1, r3, r2
- adds r0, r3, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080BB8E2
- ldr r0, _080BB95C
- movs r1, 0
- bl VarSet
- ldr r6, _080BB960
- adds r0, r6, 0
- bl sub_80BB8A8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080BB964
- adds r0, r5, 0
- movs r1, 0xFF
- movs r2, 0x7
- bl memset
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl StringCopyN
- ldrb r0, [r6, 0x8]
- subs r5, 0x1
- movs r1, 0x1
- ands r1, r0
- lsls r1, 4
- ldrb r2, [r5]
- movs r0, 0x11
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5]
- ldr r0, _080BB968
- ldr r1, _080BB96C
- ldrb r1, [r1, 0x14]
- bl VarSet
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BB948: .4byte gSaveBlock1
-_080BB94C: .4byte gUnknown_020387DC
-_080BB950: .4byte 0x00001a08
-_080BB954: .4byte 0x00001a11
-_080BB958: .4byte gSaveBlock2 + 0xA
-_080BB95C: .4byte 0x00004054
-_080BB960: .4byte gSaveBlock2
-_080BB964: .4byte gSaveBlock1 + 0x1A0A
-_080BB968: .4byte 0x00004026
-_080BB96C: .4byte gMapHeader
- thumb_func_end sub_80BB8CC
-
- thumb_func_start sub_80BB970
-sub_80BB970: @ 80BB970
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r2, 0
- b _080BBA06
-_080BB978:
- ldr r0, [r5, 0x10]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r3, r1, r0
- ldrb r0, [r3, 0x5]
- adds r7, r2, 0x1
- cmp r0, 0x8
- bne _080BBA02
- movs r2, 0
- ldr r4, _080BB9E0
- adds r6, r1, 0
-_080BB990:
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 5
- adds r0, r4
- ldr r1, _080BB9E4
- adds r0, r1
- ldrb r1, [r0]
- ldr r0, [r3, 0x8]
- cmp r1, r0
- bne _080BB9F8
- ldrh r0, [r3]
- adds r0, 0x7
- ldrh r1, [r3, 0x2]
- adds r1, 0x7
- bl MapGridGetMetatileIdAt
- movs r3, 0
- lsls r0, 16
- asrs r4, r0, 16
-_080BB9B6:
- ldr r0, _080BB9E8
- lsls r1, r3, 2
- adds r2, r1, r0
- ldrh r0, [r2]
- cmp r0, r4
- bne _080BB9EC
- ldr r1, [r5, 0x10]
- adds r1, r6, r1
- ldrh r0, [r1]
- adds r0, 0x7
- ldrh r1, [r1, 0x2]
- adds r1, 0x7
- ldrh r3, [r2, 0x2]
- movs r4, 0xC0
- lsls r4, 4
- adds r2, r4, 0
- orrs r2, r3
- bl MapGridSetMetatileIdAt
- b _080BBA02
- .align 2, 0
-_080BB9E0: .4byte gSaveBlock1
-_080BB9E4: .4byte 0x00001a08
-_080BB9E8: .4byte gUnknown_083D1358
-_080BB9EC:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x6
- bls _080BB9B6
- b _080BBA02
-_080BB9F8:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x13
- bls _080BB990
-_080BBA02:
- lsls r0, r7, 16
- lsrs r2, r0, 16
-_080BBA06:
- ldrb r0, [r5, 0x3]
- cmp r2, r0
- bcc _080BB978
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BB970
-
- thumb_func_start sub_80BBA14
-sub_80BBA14: @ 80BBA14
- push {lr}
- ldr r0, _080BBA40
- ldrb r0, [r0]
- movs r1, 0xA
- bl __udivsi3
- ldr r2, _080BBA44
- lsls r0, 26
- asrs r0, 24
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- adds r0, 0x1
- adds r0, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r0, 0x19
- bl warp1_set_2
- pop {r0}
- bx r0
- .align 2, 0
-_080BBA40: .4byte gUnknown_020387DC
-_080BBA44: .4byte gUnknown_083D1374
- thumb_func_end sub_80BBA14
-
- thumb_func_start sub_80BBA48
-sub_80BBA48: @ 80BBA48
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080BBA6C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _080BBA7C
- cmp r0, 0x1
- bgt _080BBA70
- cmp r0, 0
- beq _080BBA76
- b _080BBAD0
- .align 2, 0
-_080BBA6C: .4byte gTasks
-_080BBA70:
- cmp r0, 0x2
- beq _080BBA94
- b _080BBAD0
-_080BBA76:
- movs r0, 0x1
- strh r0, [r2, 0x8]
- b _080BBAD0
-_080BBA7C:
- ldr r0, _080BBA90
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BBAD0
- movs r0, 0x2
- strh r0, [r2, 0x8]
- b _080BBAD0
- .align 2, 0
-_080BBA90: .4byte gPaletteFade
-_080BBA94:
- ldr r0, _080BBAD8
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- ldr r2, _080BBADC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, r2
- ldr r0, _080BBAE0
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0xFE
- bhi _080BBAB6
- adds r0, 0x1
- strb r0, [r1]
-_080BBAB6:
- bl sub_80BBA14
- bl warp_in
- ldr r0, _080BBAE4
- ldr r1, _080BBAE8
- str r1, [r0]
- ldr r0, _080BBAEC
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_080BBAD0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBAD8: .4byte 0x00004054
-_080BBADC: .4byte gSaveBlock1
-_080BBAE0: .4byte 0x00001a18
-_080BBAE4: .4byte gUnknown_0300485C
-_080BBAE8: .4byte sub_8080990
-_080BBAEC: .4byte CB2_LoadMap
- thumb_func_end sub_80BBA48
-
- thumb_func_start sub_80BBAF0
-sub_80BBAF0: @ 80BBAF0
- push {lr}
- ldr r0, _080BBB1C
- movs r1, 0
- bl CreateTask
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r0, _080BBB20
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- pop {r0}
- bx r0
- .align 2, 0
-_080BBB1C: .4byte sub_80BBA48
-_080BBB20: .4byte gSaveBlock1
- thumb_func_end sub_80BBAF0
-
- thumb_func_start sub_80BBB24
-sub_80BBB24: @ 80BBB24
- push {lr}
- ldr r0, _080BBB40
- ldrb r0, [r0, 0x17]
- cmp r0, 0x9
- bne _080BBB48
- ldr r0, _080BBB44
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- bne _080BBB48
- movs r0, 0
- b _080BBB4A
- .align 2, 0
-_080BBB40: .4byte gMapHeader
-_080BBB44: .4byte 0x00004097
-_080BBB48:
- movs r0, 0x1
-_080BBB4A:
- pop {r1}
- bx r1
- thumb_func_end sub_80BBB24
-
- thumb_func_start sub_80BBB50
-sub_80BBB50: @ 80BBB50
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080BBB88
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BBB8C
- adds r0, r1
- movs r1, 0x2
- bl FieldObjectTurn
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BBB80
- bl EnableBothScriptContexts
- adds r0, r4, 0
- bl DestroyTask
-_080BBB80:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBB88: .4byte gPlayerAvatar
-_080BBB8C: .4byte gMapObjects
- thumb_func_end sub_80BBB50
-
- thumb_func_start sub_80BBB90
-sub_80BBB90: @ 80BBB90
- push {r4,lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- bl HideMapNamePopUpWindow
- mov r4, sp
- adds r4, 0x2
- movs r2, 0x88
- lsls r2, 2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80BB764
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r0, 0x7
- movs r2, 0
- ldrsh r1, [r4, r2]
- adds r1, 0x7
- movs r2, 0xE2
- lsls r2, 4
- bl MapGridSetMetatileIdAt
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r0, 0x7
- movs r2, 0
- ldrsh r1, [r4, r2]
- adds r1, 0x7
- bl CurrentMapDrawMetatileAt
- bl pal_fill_black
- ldr r0, _080BBBE8
- movs r1, 0
- bl CreateTask
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBBE8: .4byte sub_80BBB50
- thumb_func_end sub_80BBB90
-
- thumb_func_start sub_80BBBEC
-sub_80BBBEC: @ 80BBBEC
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080BBC5C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BBC52
- ldr r0, _080BBC60
- ldrb r0, [r0]
- movs r1, 0xA
- bl __udivsi3
- ldr r1, _080BBC64
- movs r5, 0x4
- ldrsb r5, [r1, r5]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- ldr r4, _080BBC68
- lsls r0, 26
- asrs r0, 24
- adds r3, r0, 0x2
- adds r3, r4
- ldrb r3, [r3]
- lsls r3, 24
- asrs r3, 24
- adds r0, 0x3
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- adds r0, r5, 0
- bl warp1_set
- bl warp_in
- ldr r1, _080BBC6C
- ldr r0, _080BBC70
- str r0, [r1]
- ldr r0, _080BBC74
- bl SetMainCallback2
- adds r0, r6, 0
- bl DestroyTask
-_080BBC52:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBC5C: .4byte gPaletteFade
-_080BBC60: .4byte gUnknown_020387DC
-_080BBC64: .4byte gSaveBlock1
-_080BBC68: .4byte gUnknown_083D1374
-_080BBC6C: .4byte gUnknown_0300485C
-_080BBC70: .4byte sub_80BBB90
-_080BBC74: .4byte CB2_LoadMap
- thumb_func_end sub_80BBBEC
-
- thumb_func_start sub_80BBC78
-sub_80BBC78: @ 80BBC78
- push {lr}
- ldr r0, _080BBCA0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BBCA4
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- .align 2, 0
-_080BBCA0: .4byte sub_80BBBEC
-_080BBCA4: .4byte gTasks
- thumb_func_end sub_80BBC78
-
- thumb_func_start CurrentMapIsSecretBase
-CurrentMapIsSecretBase: @ 80BBCA8
- push {lr}
- ldr r1, _080BBCC0
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- cmp r0, 0x19
- bne _080BBCC4
- ldrb r0, [r1, 0x5]
- cmp r0, 0x17
- bhi _080BBCC4
- movs r0, 0x1
- b _080BBCC6
- .align 2, 0
-_080BBCC0: .4byte gSaveBlock1
-_080BBCC4:
- movs r0, 0
-_080BBCC6:
- pop {r1}
- bx r1
- thumb_func_end CurrentMapIsSecretBase
-
- thumb_func_start sub_80BBCCC
-sub_80BBCCC: @ 80BBCCC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- bl CurrentMapIsSecretBase
- lsls r0, 24
- cmp r0, 0
- beq _080BBDBC
- ldr r0, _080BBD70
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- movs r1, 0
- mov r0, sp
- strh r1, [r0]
- ldr r6, _080BBD74
- mov r4, sp
- ldr r0, _080BBD78
- adds r7, r6, r0
-_080BBCFC:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 5
- ldrh r1, [r4]
- adds r2, r0, r1
- ldr r1, _080BBD7C
- adds r0, r6, r1
- adds r1, r2, r0
- ldrb r0, [r1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x77
- bhi _080BBD3A
- ldr r0, _080BBD80
- ldrb r3, [r1]
- lsls r1, r3, 5
- adds r1, r0
- ldrb r0, [r1, 0x11]
- cmp r0, 0x4
- beq _080BBD3A
- adds r0, r2, r7
- ldrb r2, [r0]
- lsrs r0, r2, 4
- adds r0, 0x7
- movs r1, 0xF
- ands r1, r2
- adds r1, 0x7
- adds r2, r3, 0
- bl sub_80FF394
-_080BBD3A:
- ldrh r0, [r4]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- strh r0, [r4]
- cmp r0, 0xF
- bls _080BBCFC
- cmp r5, 0
- beq _080BBD88
- mov r4, sp
- adds r4, 0x2
- movs r2, 0x88
- lsls r2, 2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80BB764
- mov r0, sp
- ldrh r0, [r0]
- adds r0, 0x7
- ldrh r1, [r4]
- adds r1, 0x7
- ldr r2, _080BBD84
- bl MapGridSetMetatileIdAt
- b _080BBDBC
- .align 2, 0
-_080BBD70: .4byte 0x00004054
-_080BBD74: .4byte gSaveBlock1
-_080BBD78: .4byte 0x00001a2a
-_080BBD7C: .4byte 0x00001a1a
-_080BBD80: .4byte gDecorations
-_080BBD84: .4byte 0x00000e21
-_080BBD88:
- mov r0, r8
- cmp r0, 0x1
- bne _080BBDBC
- ldr r0, _080BBDC8
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bne _080BBDBC
- mov r4, sp
- adds r4, 0x2
- movs r2, 0x88
- lsls r2, 2
- mov r0, sp
- adds r1, r4, 0
- bl sub_80BB764
- mov r0, sp
- ldrh r0, [r0]
- adds r0, 0x7
- ldrh r1, [r4]
- adds r1, 0x7
- ldr r2, _080BBDCC
- bl MapGridSetMetatileIdAt
-_080BBDBC:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBDC8: .4byte 0x00004089
-_080BBDCC: .4byte 0x00000e0a
- thumb_func_end sub_80BBCCC
-
- thumb_func_start sub_80BBDD0
-sub_80BBDD0: @ 80BBDD0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- ldr r0, _080BBE00
- bl VarGet
- lsls r0, 16
- lsrs r4, r0, 16
- bl CurrentMapIsSecretBase
- lsls r0, 24
- cmp r0, 0
- bne _080BBE08
- ldr r0, _080BBE04
- str r0, [sp, 0x4]
- adds r0, 0xC
- str r0, [sp, 0x8]
- movs r1, 0xC
- str r1, [sp, 0xC]
- b _080BBE1E
- .align 2, 0
-_080BBE00: .4byte 0x00004054
-_080BBE04: .4byte gSaveBlock1 + 0x2688
-_080BBE08:
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 5
- ldr r0, _080BBF7C
- adds r2, r1, r0
- str r2, [sp, 0x4]
- adds r0, 0x10
- adds r1, r0
- str r1, [sp, 0x8]
- movs r3, 0x10
- str r3, [sp, 0xC]
-_080BBE1E:
- movs r6, 0
- ldr r4, [sp, 0xC]
- cmp r6, r4
- bcc _080BBE28
- b _080BBF6C
-_080BBE28:
- ldr r5, _080BBF80
- mov r10, r5
-_080BBE2C:
- ldr r1, [sp, 0x4]
- adds r0, r1, r6
- ldrb r1, [r0]
- mov r9, r0
- adds r2, r6, 0x1
- str r2, [sp, 0x10]
- cmp r1, 0
- bne _080BBE3E
- b _080BBF5E
-_080BBE3E:
- ldrb r0, [r0]
- lsls r0, 5
- ldr r3, _080BBF84
- adds r0, r3
- ldrb r0, [r0, 0x11]
- cmp r0, 0x4
- beq _080BBE4E
- b _080BBF5E
-_080BBE4E:
- movs r5, 0
- ldr r0, _080BBF88
- ldr r2, [r0, 0x4]
- ldrb r3, [r2]
- mov r8, r0
- cmp r5, r3
- bcs _080BBE8E
- ldr r0, [r2, 0x4]
- ldrh r1, [r0, 0x14]
- ldr r4, _080BBF8C
- ldrh r0, [r4]
- adds r0, 0xAE
- adds r7, r4, 0
- cmp r1, r0
- beq _080BBE8E
- adds r4, r2, 0
- adds r2, r3, 0
-_080BBE70:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, r2
- bcs _080BBE8E
- ldr r1, [r4, 0x4]
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x14]
- ldrh r0, [r7]
- adds r0, 0xAE
- cmp r1, r0
- bne _080BBE70
-_080BBE8E:
- mov r1, r8
- ldr r0, [r1, 0x4]
- ldrb r0, [r0]
- cmp r5, r0
- beq _080BBF5E
- ldr r7, _080BBF90
- ldr r2, [sp, 0x8]
- adds r1, r2, r6
- ldrb r0, [r1]
- lsrs r0, 4
- strh r0, [r7]
- ldr r6, _080BBF94
- ldrb r1, [r1]
- movs r0, 0xF
- ands r0, r1
- strh r0, [r6]
- ldrh r0, [r7]
- adds r0, 0x7
- ldrh r1, [r6]
- adds r1, 0x7
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80572D8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BBEDA
- adds r0, r4, 0
- bl sub_80572EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BBF5E
-_080BBEDA:
- mov r3, r8
- ldr r0, [r3, 0x4]
- ldr r1, [r0, 0x4]
- lsls r4, r5, 1
- adds r4, r5
- lsls r4, 3
- adds r1, r4, r1
- ldr r5, _080BBF98
- adds r0, r5, 0
- ldrb r1, [r1, 0x1]
- adds r0, r1
- ldr r1, _080BBF9C
- strh r0, [r1]
- ldrh r0, [r1]
- mov r2, r9
- ldrb r1, [r2]
- lsls r1, 5
- ldr r3, _080BBFA0
- adds r1, r3
- ldr r1, [r1]
- ldrh r1, [r1]
- bl VarSet
- mov r5, r8
- ldr r0, [r5, 0x4]
- ldr r0, [r0, 0x4]
- adds r4, r0
- ldrb r0, [r4]
- ldr r1, _080BBF9C
- strh r0, [r1]
- ldr r2, _080BBF8C
- ldrh r0, [r2]
- adds r0, 0xAE
- lsls r0, 16
- lsrs r0, 16
- bl FlagReset
- ldr r3, _080BBF9C
- ldrb r0, [r3]
- mov r4, r10
- ldrb r1, [r4, 0x5]
- ldrb r2, [r4, 0x4]
- bl show_sprite
- ldr r5, _080BBF9C
- ldrb r0, [r5]
- ldrb r1, [r4, 0x5]
- ldrb r2, [r4, 0x4]
- movs r4, 0
- ldrsh r3, [r7, r4]
- movs r5, 0
- ldrsh r4, [r6, r5]
- str r4, [sp]
- bl sub_805C0F8
- ldr r1, _080BBF9C
- ldrb r0, [r1]
- mov r2, r10
- ldrb r1, [r2, 0x5]
- ldrb r2, [r2, 0x4]
- bl sub_805C78C
- ldr r3, _080BBF8C
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_080BBF5E:
- ldr r4, [sp, 0x10]
- lsls r0, r4, 24
- lsrs r6, r0, 24
- ldr r5, [sp, 0xC]
- cmp r6, r5
- bcs _080BBF6C
- b _080BBE2C
-_080BBF6C:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBF7C: .4byte gSaveBlock1 + 0x1A1A
-_080BBF80: .4byte gSaveBlock1
-_080BBF84: .4byte gDecorations
-_080BBF88: .4byte gMapHeader
-_080BBF8C: .4byte gUnknown_0202E8CC
-_080BBF90: .4byte gUnknown_0202E8D0
-_080BBF94: .4byte gUnknown_0202E8D2
-_080BBF98: .4byte 0x00003f20
-_080BBF9C: .4byte gScriptResult
-_080BBFA0: .4byte gDecorations + 0x1C
- thumb_func_end sub_80BBDD0
-
- thumb_func_start sub_80BBFA4
-sub_80BBFA4: @ 80BBFA4
- push {r4,r5,lr}
- ldr r0, _080BBFCC
- bl VarGet
- ldr r5, _080BBFD0
- ldr r4, _080BBFD4
- lsls r0, 24
- lsrs r0, 24
- bl sub_80BCCA4
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- ldrb r1, [r0]
- adds r0, r5, 0
- bl VarSet
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BBFCC: .4byte 0x00004054
-_080BBFD0: .4byte 0x0000401f
-_080BBFD4: .4byte gUnknown_083D13EC
- thumb_func_end sub_80BBFA4
-
- thumb_func_start sub_80BBFD8
-sub_80BBFD8: @ 80BBFD8
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- movs r3, 0
- ldrb r0, [r4, 0x3]
- cmp r3, r0
- bge _080BC030
- ldr r6, _080BC01C
-_080BBFE8:
- lsls r3, 16
- asrs r1, r3, 16
- ldr r2, [r4, 0x10]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2, 0x5]
- cmp r0, 0x8
- bne _080BC020
- movs r0, 0
- ldrsh r1, [r5, r0]
- ldrh r0, [r2]
- adds r0, 0x7
- cmp r1, r0
- bne _080BC020
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- ldrh r0, [r2, 0x2]
- adds r0, 0x7
- cmp r1, r0
- bne _080BC020
- ldr r0, [r2, 0x8]
- strb r0, [r6]
- b _080BC030
- .align 2, 0
-_080BC01C: .4byte gUnknown_020387DC
-_080BC020:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r3, r1
- lsrs r3, r0, 16
- asrs r0, 16
- ldrb r1, [r4, 0x3]
- cmp r0, r1
- blt _080BBFE8
-_080BC030:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BBFD8
-
- thumb_func_start sub_80BC038
-sub_80BC038: @ 80BC038
- push {lr}
- bl sub_80BBFD8
- bl sub_80BB5E4
- ldr r0, _080BC04C
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_080BC04C: .4byte gUnknown_081A2E14
- thumb_func_end sub_80BC038
-
- thumb_func_start sub_80BC050
-sub_80BC050: @ 80BC050
- push {lr}
- bl sub_80BB5D0
- bl sub_80BB5E4
- ldr r0, _080BC068
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080BC06C
- movs r0, 0x1
- b _080BC06E
- .align 2, 0
-_080BC068: .4byte gScriptResult
-_080BC06C:
- movs r0, 0
-_080BC06E:
- pop {r1}
- bx r1
- thumb_func_end sub_80BC050
-
- thumb_func_start sub_80BC074
-sub_80BC074: @ 80BC074
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080BC098
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080BC0AC
- cmp r0, 0x1
- bgt _080BC09C
- cmp r0, 0
- beq _080BC0A2
- b _080BC0E4
- .align 2, 0
-_080BC098: .4byte gTasks
-_080BC09C:
- cmp r0, 0x2
- beq _080BC0C4
- b _080BC0E4
-_080BC0A2:
- bl ScriptContext2_Enable
- movs r0, 0x1
- strh r0, [r4, 0x8]
- b _080BC0E4
-_080BC0AC:
- ldr r0, _080BC0C0
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080BC0E4
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080BC0E4
- .align 2, 0
-_080BC0C0: .4byte gPaletteFade
-_080BC0C4:
- movs r0, 0x7E
- bl copy_saved_warp2_bank_and_enter_x_to_warp1
- bl warp_in
- ldr r0, _080BC0EC
- ldr r1, _080BC0F0
- str r1, [r0]
- ldr r0, _080BC0F4
- bl SetMainCallback2
- bl ScriptContext2_Disable
- adds r0, r5, 0
- bl DestroyTask
-_080BC0E4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC0EC: .4byte gUnknown_0300485C
-_080BC0F0: .4byte mapldr_default
-_080BC0F4: .4byte CB2_LoadMap
- thumb_func_end sub_80BC074
-
- thumb_func_start sub_80BC0F8
-sub_80BC0F8: @ 80BC0F8
- push {lr}
- ldr r0, _080BC110
- movs r1, 0
- bl CreateTask
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- .align 2, 0
-_080BC110: .4byte sub_80BC074
- thumb_func_end sub_80BC0F8
-
- thumb_func_start sub_80BC114
-sub_80BC114: @ 80BC114
- push {lr}
- ldr r0, _080BC12C
- ldr r1, _080BC130
- adds r0, r1
- ldr r1, _080BC134
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080BC13C
- ldr r1, _080BC138
- movs r0, 0x1
- b _080BC140
- .align 2, 0
-_080BC12C: .4byte gSaveBlock1
-_080BC130: .4byte 0x00001a08
-_080BC134: .4byte gUnknown_020387DC
-_080BC138: .4byte gScriptResult
-_080BC13C:
- ldr r1, _080BC148
- movs r0, 0
-_080BC140:
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080BC148: .4byte gScriptResult
- thumb_func_end sub_80BC114
-
- thumb_func_start sub_80BC14C
-sub_80BC14C: @ 80BC14C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r5, _080BC174
- ldr r4, _080BC178
-_080BC158:
- lsls r0, r2, 16
- asrs r1, r0, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 5
- adds r0, r5
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, r3
- bne _080BC17C
- lsls r0, r2, 24
- lsrs r0, 24
- b _080BC18A
- .align 2, 0
-_080BC174: .4byte gSaveBlock1
-_080BC178: .4byte 0x00001a08
-_080BC17C:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080BC158
- movs r0, 0
-_080BC18A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80BC14C
-
- thumb_func_start sub_80BC190
-sub_80BC190: @ 80BC190
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r4, r1, 2
- adds r4, r1
- lsls r4, 5
- ldr r0, _080BC1C8
- adds r4, r0
- adds r0, r4, 0
- bl sub_80BB8A8
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringCopyN
- movs r1, 0xFF
- strb r1, [r0]
- ldr r1, _080BC1CC
- adds r0, r5, 0
- bl StringAppend
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080BC1C8: .4byte gSaveBlock1 + 0x1A0A
-_080BC1CC: .4byte gOtherText_PlayersBase
- thumb_func_end sub_80BC190
-
- thumb_func_start GetSecretBaseMapName
-GetSecretBaseMapName: @ 80BC1D0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- ldr r6, _080BC214
- ldr r5, _080BC218
- ldr r4, _080BC21C
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, r5
- ldr r0, _080BC220
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r6]
- adds r0, r4, 0
- bl VarGet
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r0, r8
- bl sub_80BC190
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080BC214: .4byte gUnknown_020387DC
-_080BC218: .4byte gSaveBlock1
-_080BC21C: .4byte 0x00004054
-_080BC220: .4byte 0x00001a08
- thumb_func_end GetSecretBaseMapName
-
- thumb_func_start sub_80BC224
-sub_80BC224: @ 80BC224
- push {r4,r5,lr}
- ldr r0, _080BC25C
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 5
- ldr r0, _080BC260
- adds r4, r0
- ldr r5, _080BC264
- adds r0, r4, 0
- bl sub_80BB8A8
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl StringCopyN
- movs r1, 0xFF
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC25C: .4byte 0x00004054
-_080BC260: .4byte gSaveBlock1 + 0x1A0A
-_080BC264: .4byte gStringVar1
- thumb_func_end sub_80BC224
-
- thumb_func_start sub_80BC268
-sub_80BC268: @ 80BC268
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BC288
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, r2
- ldr r0, _080BC28C
- adds r1, r0
- ldrb r0, [r1]
- lsrs r0, 6
- cmp r0, 0
- bne _080BC290
- movs r0, 0
- b _080BC292
- .align 2, 0
-_080BC288: .4byte gSaveBlock1
-_080BC28C: .4byte 0x00001a09
-_080BC290:
- movs r0, 0x1
-_080BC292:
- pop {r1}
- bx r1
- thumb_func_end sub_80BC268
-
- thumb_func_start sub_80BC298
-sub_80BC298: @ 80BC298
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x1A
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1B
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1C
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1D
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1E
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- movs r1, 0x1F
- bl GetMonData
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80BC298
-
- thumb_func_start sub_80BC300
-sub_80BC300: @ 80BC300
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r0, 0
- mov r10, r0
- movs r6, 0
- mov r9, r6
-_080BC314:
- movs r4, 0
- lsls r3, r6, 2
- lsls r2, r6, 1
- ldr r7, _080BC424
- adds r1, r6, 0x1
- str r1, [sp]
- adds r1, r3, 0
-_080BC322:
- adds r0, r1, r4
- lsls r0, 1
- ldr r5, _080BC428
- adds r0, r5, r0
- mov r5, r9
- strh r5, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080BC322
- ldr r1, _080BC42C
- adds r0, r1, r2
- strh r5, [r0]
- ldr r5, _080BC430
- adds r0, r5, r2
- mov r1, r9
- strh r1, [r0]
- ldr r2, _080BC434
- adds r0, r2, r6
- mov r5, r9
- strb r5, [r0]
- ldr r1, _080BC438
- adds r0, r1, r3
- mov r2, r9
- str r2, [r0]
- ldr r3, _080BC43C
- adds r0, r3, r6
- strb r2, [r0]
- movs r0, 0x64
- adds r5, r6, 0
- muls r5, r0
- adds r4, r5, r7
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _080BC408
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _080BC408
- movs r4, 0
- mov r0, r10
- lsls r0, 2
- mov r8, r0
- mov r1, r10
- lsls r7, r1, 1
- adds r1, 0x1
- str r1, [sp, 0x4]
- ldr r2, _080BC424
-_080BC38E:
- adds r1, r4, 0
- adds r1, 0xD
- adds r0, r5, r2
- str r2, [sp, 0x8]
- bl GetMonData
- mov r3, r8
- adds r1, r3, r4
- lsls r1, 1
- ldr r3, _080BC428
- adds r1, r3, r1
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r2, [sp, 0x8]
- cmp r4, 0x3
- bls _080BC38E
- movs r0, 0x64
- adds r4, r6, 0
- muls r4, r0
- ldr r0, _080BC424
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- ldr r5, _080BC42C
- adds r1, r5, r7
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- ldr r2, _080BC430
- adds r1, r2, r7
- strh r0, [r1]
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- ldr r1, _080BC434
- add r1, r10
- strb r0, [r1]
- adds r0, r4, 0
- movs r1, 0
- bl GetMonData
- ldr r1, _080BC438
- add r1, r8
- str r0, [r1]
- adds r0, r4, 0
- bl sub_80BC298
- ldr r1, _080BC43C
- add r1, r10
- strb r0, [r1]
- ldr r3, [sp, 0x4]
- lsls r0, r3, 16
- lsrs r0, 16
- mov r10, r0
-_080BC408:
- ldr r5, [sp]
- lsls r0, r5, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080BC314
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC424: .4byte gPlayerParty
-_080BC428: .4byte gSaveBlock1 + 0x1A54
-_080BC42C: .4byte gSaveBlock1 + 0x1A84
-_080BC430: .4byte gSaveBlock1 + 0x1A90
-_080BC434: .4byte gSaveBlock1 + 0x1A9C
-_080BC438: .4byte gSaveBlock1 + 0x1A3C
-_080BC43C: .4byte gSaveBlock1 + 0x1AA2
- thumb_func_end sub_80BC300
-
- thumb_func_start sub_80BC440
-sub_80BC440: @ 80BC440
- push {r4,r5,lr}
- ldr r4, _080BC45C
- ldr r0, _080BC460
- adds r4, r0
- ldrh r5, [r4]
- movs r0, 0
- bl sub_80BB594
- strh r5, [r4]
- bl sub_80BC0F8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC45C: .4byte gSaveBlock1
-_080BC460: .4byte 0x00001a16
- thumb_func_end sub_80BC440
-
- thumb_func_start sub_80BC464
-sub_80BC464: @ 80BC464
- push {lr}
- movs r0, 0x14
- bl sav12_xor_increment
- bl sub_80BC440
- pop {r0}
- bx r0
- thumb_func_end sub_80BC464
-
- thumb_func_start sub_80BC474
-sub_80BC474: @ 80BC474
- push {r4-r7,lr}
- ldr r0, _080BC4CC
- ldr r4, [r0, 0x4]
- movs r6, 0
- ldrb r0, [r4, 0x3]
- cmp r6, r0
- bcs _080BC504
- ldr r3, _080BC4D0
-_080BC484:
- ldr r2, [r4, 0x10]
- lsls r1, r6, 1
- adds r0, r1, r6
- lsls r0, 2
- adds r2, r0, r2
- ldrb r0, [r2, 0x5]
- adds r7, r1, 0
- cmp r0, 0x8
- bne _080BC4F8
- ldrb r1, [r3]
- ldr r0, [r2, 0x8]
- cmp r1, r0
- bne _080BC4F8
- ldrh r0, [r2]
- adds r0, 0x7
- ldrh r1, [r2, 0x2]
- adds r1, 0x7
- bl MapGridGetMetatileIdAt
- movs r1, 0
- ldr r5, _080BC4D4
- lsls r0, 16
- asrs r2, r0, 16
-_080BC4B2:
- lsls r0, r1, 2
- adds r3, r0, r5
- ldrh r0, [r3, 0x2]
- cmp r0, r2
- beq _080BC4D8
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x6
- bls _080BC4B2
-_080BC4C6:
- bl DrawWholeMapView
- b _080BC504
- .align 2, 0
-_080BC4CC: .4byte gMapHeader
-_080BC4D0: .4byte gSaveBlock1 + 0x1A08
-_080BC4D4: .4byte gUnknown_083D1358
-_080BC4D8:
- ldr r0, [r4, 0x10]
- adds r1, r7, r6
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x7
- ldrh r1, [r1, 0x2]
- adds r1, 0x7
- ldrh r3, [r3]
- movs r4, 0xC0
- lsls r4, 4
- adds r2, r4, 0
- orrs r2, r3
- bl MapGridSetMetatileIdAt
- b _080BC4C6
-_080BC4F8:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldrb r0, [r4, 0x3]
- cmp r6, r0
- bcc _080BC484
-_080BC504:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BC474
-
- thumb_func_start sub_80BC50C
-sub_80BC50C: @ 80BC50C
- push {r4,r5,lr}
- bl sub_80BC474
- movs r0, 0x14
- bl sav12_xor_increment
- ldr r4, _080BC530
- ldr r0, _080BC534
- adds r4, r0
- ldrh r5, [r4]
- movs r0, 0
- bl sub_80BB594
- strh r5, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC530: .4byte gSaveBlock1
-_080BC534: .4byte 0x00001a16
- thumb_func_end sub_80BC50C
-
- thumb_func_start sub_80BC538
-sub_80BC538: @ 80BC538
- push {r4,r5,lr}
- movs r5, 0
- movs r4, 0x1
-_080BC53E:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80BC268
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BC554
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080BC554:
- lsls r0, r4, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080BC53E
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80BC538
-
- thumb_func_start sub_80BC56C
-sub_80BC56C: @ 80BC56C
- push {lr}
- ldr r0, _080BC58C
- ldrb r0, [r0]
- bl sub_80BC14C
- lsls r0, 24
- lsrs r0, 24
- bl sub_80BC268
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _080BC594
- ldr r0, _080BC590
- strh r1, [r0]
- b _080BC5B2
- .align 2, 0
-_080BC58C: .4byte gUnknown_020387DC
-_080BC590: .4byte gScriptResult
-_080BC594:
- bl sub_80BC538
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bls _080BC5AC
- ldr r1, _080BC5A8
- movs r0, 0x2
- b _080BC5B0
- .align 2, 0
-_080BC5A8: .4byte gScriptResult
-_080BC5AC:
- ldr r1, _080BC5B8
- movs r0, 0
-_080BC5B0:
- strh r0, [r1]
-_080BC5B2:
- pop {r0}
- bx r0
- .align 2, 0
-_080BC5B8: .4byte gScriptResult
- thumb_func_end sub_80BC56C
-
- thumb_func_start sub_80BC5BC
-sub_80BC5BC: @ 80BC5BC
- push {lr}
- ldr r0, _080BC5F8
- ldrb r0, [r0]
- bl sub_80BC14C
- ldr r2, _080BC5FC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, r2
- ldr r0, _080BC600
- adds r1, r0
- ldrb r3, [r1]
- lsrs r2, r3, 6
- movs r0, 0x1
- eors r2, r0
- lsls r2, 6
- movs r0, 0x3F
- ands r0, r3
- orrs r0, r2
- strb r0, [r1]
- movs r0, 0x86
- lsls r0, 1
- bl FlagSet
- pop {r0}
- bx r0
- .align 2, 0
-_080BC5F8: .4byte gUnknown_020387DC
-_080BC5FC: .4byte gSaveBlock1
-_080BC600: .4byte 0x00001a09
- thumb_func_end sub_80BC5BC
-
- thumb_func_start sub_80BC604
-sub_80BC604: @ 80BC604
- push {lr}
- ldr r0, _080BC614
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080BC614: .4byte sub_80FE264
- thumb_func_end sub_80BC604
-
- thumb_func_start sub_80BC618
-sub_80BC618: @ 80BC618
- push {lr}
- ldr r0, _080BC628
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080BC628: .4byte sub_80BC62C
- thumb_func_end sub_80BC618
-
- thumb_func_start sub_80BC62C
-sub_80BC62C: @ 80BC62C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl ScriptContext2_Enable
- bl sub_80F944C
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080BC688
- adds r4, r0, r1
- bl sub_80BC538
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- adds r1, r0, 0
- cmp r1, 0
- beq _080BC694
- cmp r1, 0x7
- ble _080BC65E
- movs r0, 0x7
-_080BC65E:
- strh r0, [r4, 0x6]
- movs r0, 0
- strh r0, [r4, 0x2]
- strh r0, [r4, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r5, 0
- bl sub_80BC7D8
- ldr r1, _080BC68C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BC690
- str r1, [r0]
- b _080BC6A0
- .align 2, 0
-_080BC688: .4byte gUnknown_03004B28
-_080BC68C: .4byte gTasks
-_080BC690: .4byte sub_80BC824
-_080BC694:
- ldr r1, _080BC6A8
- ldr r2, _080BC6AC
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_080BC6A0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC6A8: .4byte gSecretBaseText_NoRegistry
-_080BC6AC: .4byte sub_80BCC54
- thumb_func_end sub_80BC62C
-
- thumb_func_start sub_80BC6B0
-sub_80BC6B0: @ 80BC6B0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080BC6D8
- adds r1, r0
- mov r8, r1
- movs r4, 0
- movs r6, 0
- movs r5, 0x1
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- cmp r6, r0
- bne _080BC6DC
- movs r4, 0x1
- b _080BC706
- .align 2, 0
-_080BC6D8: .4byte gUnknown_03004B28
-_080BC6DC:
- adds r0, r5, 0
- bl sub_80BC268
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BC6F0
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080BC6F0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bhi _080BC706
- mov r1, r8
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- cmp r4, r0
- bne _080BC6DC
- adds r4, r5, 0
-_080BC706:
- adds r5, r4, 0
- cmp r5, 0x13
- bhi _080BC75A
- ldr r7, _080BC7A0
-_080BC70E:
- adds r0, r5, 0
- bl sub_80BC268
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BC750
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80BC190
- lsls r3, r6, 1
- adds r4, r3, 0x2
- lsls r4, 24
- lsrs r4, 24
- adds r3, 0x3
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x12
- adds r1, r4, 0
- movs r2, 0x1C
- bl MenuFillWindowRectWithBlankTile
- adds r0, r7, 0
- movs r1, 0x12
- adds r2, r4, 0
- bl MenuPrint
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x8
- beq _080BC75A
-_080BC750:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080BC70E
-_080BC75A:
- cmp r6, 0x7
- bhi _080BC7A8
- lsls r3, r6, 1
- adds r4, r3, 0x2
- lsls r4, 24
- lsrs r4, 24
- adds r3, 0x3
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x12
- adds r1, r4, 0
- movs r2, 0x1C
- bl MenuFillWindowRectWithBlankTile
- ldr r0, _080BC7A4
- movs r1, 0x12
- adds r2, r4, 0
- bl MenuPrint
- movs r0, 0x1
- bl SetBgTilemapBuffer
- cmp r6, 0x7
- beq _080BC7B2
- lsls r1, r6, 25
- movs r0, 0x80
- lsls r0, 19
- adds r1, r0
- lsrs r1, 24
- movs r0, 0x12
- movs r2, 0x1C
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
- b _080BC7B2
- .align 2, 0
-_080BC7A0: .4byte gStringVar1
-_080BC7A4: .4byte gUnknownText_Exit
-_080BC7A8:
- movs r0, 0x1
- movs r1, 0xBC
- movs r2, 0x98
- bl sub_80F953C
-_080BC7B2:
- mov r1, r8
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080BC7C4
- movs r0, 0
- bl SetBgTilemapBuffer
- b _080BC7CE
-_080BC7C4:
- movs r0, 0
- movs r1, 0xBC
- movs r2, 0x8
- bl sub_80F953C
-_080BC7CE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BC6B0
-
- thumb_func_start sub_80BC7D8
-sub_80BC7D8: @ 80BC7D8
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, _080BC820
- adds r4, r0
- movs r0, 0x11
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldrb r3, [r4, 0x6]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4, 0x2]
- str r0, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x12
- movs r2, 0x2
- bl InitMenu
- adds r0, r5, 0
- bl sub_80BC6B0
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC820: .4byte gUnknown_03004B28
- thumb_func_end sub_80BC7D8
-
- thumb_func_start sub_80BC824
-sub_80BC824: @ 80BC824
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r6, r5, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080BC858
- adds r4, r0, r1
- ldr r2, _080BC85C
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BC874
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080BC860
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- b _080BC8B6
- .align 2, 0
-_080BC858: .4byte gUnknown_03004B28
-_080BC85C: .4byte gMain
-_080BC860:
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080BC940
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4, 0x4]
- subs r0, 0x1
- b _080BC8A4
-_080BC874:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BC8C2
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080BC8AE
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r4, r2]
- cmp r0, r1
- beq _080BC940
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
-_080BC8A4:
- strh r0, [r4, 0x4]
- adds r0, r5, 0
- bl sub_80BC6B0
- b _080BC940
-_080BC8AE:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
-_080BC8B6:
- bl MoveMenuCursor
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2]
- b _080BC940
-_080BC8C2:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080BC91C
- movs r0, 0x5
- bl PlaySE
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _080BC8FC
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r5, 0
- bl sub_80BCC54
- b _080BC940
-_080BC8FC:
- bl sub_8072DEC
- ldrb r0, [r4, 0x4]
- ldrb r1, [r4, 0x2]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl sub_80BC948
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x8]
- adds r0, r5, 0
- bl sub_80BC980
- b _080BC940
-_080BC91C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BC940
- movs r0, 0x5
- bl PlaySE
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r6, 0
- bl sub_80BCC54
-_080BC940:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BC824
-
- thumb_func_start sub_80BC948
-sub_80BC948: @ 80BC948
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- movs r4, 0x1
-_080BC952:
- adds r0, r4, 0
- bl sub_80BC268
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BC96E
- cmp r6, r5
- bne _080BC968
- adds r0, r4, 0
- b _080BC97A
-_080BC968:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080BC96E:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x13
- bls _080BC952
- movs r0, 0
-_080BC97A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80BC948
-
- thumb_func_start sub_80BC980
-sub_80BC980: @ 80BC980
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80F996C
- movs r0, 0x1
- bl sub_80F996C
- movs r0, 0x1
- movs r1, 0
- movs r2, 0xC
- movs r3, 0x5
- bl MenuDrawTextWindow
- ldr r3, _080BC9D8
- movs r0, 0x2
- movs r1, 0x1
- movs r2, 0x2
- bl PrintMenuItems
- movs r0, 0
- str r0, [sp]
- movs r0, 0xA
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x2
- movs r2, 0x1
- movs r3, 0x2
- bl InitMenu
- ldr r1, _080BC9DC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BC9E0
- str r1, [r0]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BC9D8: .4byte gUnknown_083D13D4
-_080BC9DC: .4byte gTasks
-_080BC9E0: .4byte sub_80BC9E4
- thumb_func_end sub_80BC980
-
- thumb_func_start sub_80BC9E4
-sub_80BC9E4: @ 80BC9E4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r2, _080BCA14
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080BCA18
- bl GetMenuCursorPos
- lsls r0, 24
- cmp r0, 0
- beq _080BCA7C
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _080BCA7C
- .align 2, 0
-_080BCA14: .4byte gMain
-_080BCA18:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080BCA3A
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BCA7C
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _080BCA7C
-_080BCA3A:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080BCA68
- movs r0, 0x5
- bl PlaySE
- ldr r4, _080BCA64
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 21
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r5, 0
- bl _call_via_r1
- b _080BCA7C
- .align 2, 0
-_080BCA64: .4byte gUnknown_083D13D4
-_080BCA68:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BCA7C
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80BCBF8
-_080BCA7C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80BC9E4
-
- thumb_func_start sub_80BCA84
-sub_80BCA84: @ 80BCA84
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, _080BCAD8
- adds r4, r0
- movs r0, 0
- bl SetBgTilemapBuffer
- movs r0, 0x1
- bl SetBgTilemapBuffer
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r0, _080BCADC
- ldrb r1, [r4, 0x8]
- bl sub_80BC190
- ldr r4, _080BCAE0
- ldr r1, _080BCAE4
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080BCAE8
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCAD8: .4byte gUnknown_03004B28
-_080BCADC: .4byte gStringVar1
-_080BCAE0: .4byte gStringVar4
-_080BCAE4: .4byte gOtherText_OkayToDeleteFromRegistry
-_080BCAE8: .4byte sub_80BCAEC
- thumb_func_end sub_80BCA84
-
- thumb_func_start sub_80BCAEC
-sub_80BCAEC: @ 80BCAEC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _080BCB0C
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCB0C: .4byte gUnknown_083D13E4
- thumb_func_end sub_80BCAEC
-
- thumb_func_start sub_80BCB10
-sub_80BCB10: @ 80BCB10
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r6, r0, 3
- ldr r7, _080BCB80
- adds r4, r6, r7
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r2, _080BCB84
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 5
- adds r0, r2
- ldr r1, _080BCB88
- adds r0, r1
- ldrb r2, [r0]
- movs r1, 0x3F
- ands r1, r2
- strb r1, [r0]
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- ldrh r1, [r4, 0x4]
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080BCB5C
- subs r0, r1, 0x1
- strh r0, [r4, 0x4]
-_080BCB5C:
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bgt _080BCB6A
- ldrh r0, [r4, 0x6]
- subs r0, 0x1
- strh r0, [r4, 0x6]
-_080BCB6A:
- adds r0, r5, 0
- bl sub_80BC7D8
- adds r0, r7, 0
- subs r0, 0x8
- adds r0, r6, r0
- ldr r1, _080BCB8C
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCB80: .4byte gUnknown_03004B28
-_080BCB84: .4byte gSaveBlock1
-_080BCB88: .4byte 0x00001a09
-_080BCB8C: .4byte sub_80BC824
- thumb_func_end sub_80BCB10
-
- thumb_func_start sub_80BCB90
-sub_80BCB90: @ 80BCB90
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1A
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- ldr r1, _080BCBB8
- ldr r2, _080BCBBC
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCBB8: .4byte gOtherText_RegisteredDataDeleted
-_080BCBBC: .4byte sub_80BCB10
- thumb_func_end sub_80BCB90
-
- thumb_func_start sub_80BCBC0
-sub_80BCBC0: @ 80BCBC0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_80BC7D8
- ldr r1, _080BCBF0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080BCBF4
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCBF0: .4byte gTasks
-_080BCBF4: .4byte sub_80BC824
- thumb_func_end sub_80BCBC0
-
- thumb_func_start sub_80BCBF8
-sub_80BCBF8: @ 80BCBF8
- push {r4,r5,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r5, _080BCC4C
- adds r0, r4, r5
- ldrb r3, [r0, 0x6]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r0, 0x2]
- str r0, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x12
- movs r2, 0x2
- bl InitMenu
- movs r0, 0x1
- movs r1, 0
- movs r2, 0xC
- movs r3, 0x5
- bl MenuZeroFillWindowRect
- movs r0, 0
- bl sub_80F98DC
- movs r0, 0x1
- bl sub_80F98DC
- subs r5, 0x8
- adds r4, r5
- ldr r0, _080BCC50
- str r0, [r4]
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCC4C: .4byte gUnknown_03004B28
-_080BCC50: .4byte sub_80BC824
- thumb_func_end sub_80BCBF8
-
- thumb_func_start sub_80BCC54
-sub_80BCC54: @ 80BCC54
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080BCC84
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl BuyMenuFreeMemory
- movs r0, 0
- bl SetBgTilemapBuffer
- movs r0, 0x1
- bl SetBgTilemapBuffer
- cmp r4, 0
- bne _080BCC8C
- ldr r0, _080BCC88
- bl ScriptContext1_SetupScript
- b _080BCC92
- .align 2, 0
-_080BCC84: .4byte 0x00004054
-_080BCC88: .4byte gUnknown_0815F399
-_080BCC8C:
- ldr r0, _080BCCA0
- bl ScriptContext1_SetupScript
-_080BCC92:
- adds r0, r5, 0
- bl DestroyTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCCA0: .4byte gUnknown_0815F49A
- thumb_func_end sub_80BCC54
-
- thumb_func_start sub_80BCCA4
-sub_80BCCA4: @ 80BCCA4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080BCCDC
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 5
- adds r4, r1
- ldr r1, _080BCCE0
- adds r0, r4, r1
- ldrb r0, [r0]
- movs r1, 0x5
- bl __umodsi3
- ldr r1, _080BCCE4
- adds r4, r1
- ldrb r2, [r4]
- lsls r2, 27
- lsrs r2, 31
- lsls r1, r2, 2
- adds r1, r2
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080BCCDC: .4byte gSaveBlock1
-_080BCCE0: .4byte 0x00001a11
-_080BCCE4: .4byte 0x00001a09
- thumb_func_end sub_80BCCA4
-
- thumb_func_start sub_80BCCE8
-sub_80BCCE8: @ 80BCCE8
- push {lr}
- ldr r0, _080BCD08
- bl VarGet
- lsls r0, 24
- lsrs r0, 24
- bl sub_80BCCA4
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- bne _080BCD10
- ldr r0, _080BCD0C
- b _080BCD72
- .align 2, 0
-_080BCD08: .4byte 0x00004054
-_080BCD0C: .4byte UnknownString_81A1BB2
-_080BCD10:
- cmp r0, 0x1
- bne _080BCD1C
- ldr r0, _080BCD18
- b _080BCD72
- .align 2, 0
-_080BCD18: .4byte UnknownString_81A1F67
-_080BCD1C:
- cmp r0, 0x2
- bne _080BCD28
- ldr r0, _080BCD24
- b _080BCD72
- .align 2, 0
-_080BCD24: .4byte UnknownString_81A2254
-_080BCD28:
- cmp r0, 0x3
- bne _080BCD34
- ldr r0, _080BCD30
- b _080BCD72
- .align 2, 0
-_080BCD30: .4byte UnknownString_81A25C3
-_080BCD34:
- cmp r0, 0x4
- bne _080BCD40
- ldr r0, _080BCD3C
- b _080BCD72
- .align 2, 0
-_080BCD3C: .4byte UnknownString_81A2925
-_080BCD40:
- cmp r0, 0x5
- bne _080BCD4C
- ldr r0, _080BCD48
- b _080BCD72
- .align 2, 0
-_080BCD48: .4byte UnknownString_81A1D74
-_080BCD4C:
- cmp r0, 0x6
- bne _080BCD58
- ldr r0, _080BCD54
- b _080BCD72
- .align 2, 0
-_080BCD54: .4byte UnknownString_81A20C9
-_080BCD58:
- cmp r0, 0x7
- bne _080BCD64
- ldr r0, _080BCD60
- b _080BCD72
- .align 2, 0
-_080BCD60: .4byte UnknownString_81A2439
-_080BCD64:
- cmp r1, 0x8
- beq _080BCD70
- ldr r0, _080BCD6C
- b _080BCD72
- .align 2, 0
-_080BCD6C: .4byte UnknownString_81A2B2A
-_080BCD70:
- ldr r0, _080BCD78
-_080BCD72:
- pop {r1}
- bx r1
- .align 2, 0
-_080BCD78: .4byte UnknownString_81A2754
- thumb_func_end sub_80BCCE8
-
- thumb_func_start unref_sub_80BCD7C
-unref_sub_80BCD7C: @ 80BCD7C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- ldr r7, _080BCDFC
- lsls r1, r0, 2
- adds r1, r0
- lsls r6, r1, 5
- ldr r0, _080BCE00
- adds r0, r7
- mov r10, r0
- ldr r1, _080BCE04
- adds r1, r7
- mov r9, r1
- ldr r2, _080BCE08
- adds r2, r7
- mov r8, r2
- ldr r0, _080BCE0C
- mov r12, r0
-_080BCDAA:
- lsls r4, r5, 2
- adds r0, r4, r6
- add r0, r10
- adds r3, r5, 0x1
- str r3, [r0]
- lsls r0, r5, 3
- adds r0, r6
- add r0, r9
- strh r3, [r0]
- lsls r1, r5, 1
- adds r1, r6
- mov r2, r8
- adds r0, r1, r2
- mov r2, r12
- strh r2, [r0]
- ldr r2, _080BCE10
- adds r0, r7, r2
- adds r1, r0
- strh r3, [r1]
- adds r2, r5, r6
- ldr r1, _080BCE14
- adds r0, r7, r1
- adds r0, r2, r0
- adds r1, r5, 0x5
- strb r1, [r0]
- ldr r1, _080BCE18
- adds r0, r7, r1
- adds r2, r0
- adds r4, r5
- strb r4, [r2]
- lsls r3, 16
- lsrs r5, r3, 16
- cmp r5, 0
- beq _080BCDAA
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCDFC: .4byte gSaveBlock1
-_080BCE00: .4byte 0x00001a3c
-_080BCE04: .4byte 0x00001a54
-_080BCE08: .4byte 0x00001a84
-_080BCE0C: .4byte 0x00000115
-_080BCE10: .4byte 0x00001a90
-_080BCE14: .4byte 0x00001a9c
-_080BCE18: .4byte 0x00001aa2
- thumb_func_end unref_sub_80BCD7C
-
- thumb_func_start sub_80BCE1C
-sub_80BCE1C: @ 80BCE1C
- push {r4,lr}
- ldr r0, _080BCE44
- bl VarGet
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x1
- bl sub_810FB10
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 5
- ldr r1, _080BCE48
- adds r0, r1
- bl CreateSecretBaseEnemyParty
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCE44: .4byte 0x00004054
-_080BCE48: .4byte gSaveBlock1 + 0x1A08
- thumb_func_end sub_80BCE1C
-
- thumb_func_start sub_80BCE4C
-sub_80BCE4C: @ 80BCE4C
- push {lr}
- ldr r0, _080BCE80
- bl VarGet
- ldr r2, _080BCE84
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 5
- adds r1, r2
- ldr r0, _080BCE88
- ldrb r0, [r0]
- ldr r2, _080BCE8C
- adds r1, r2
- movs r2, 0x1
- ands r2, r0
- lsls r2, 5
- ldrb r3, [r1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080BCE80: .4byte 0x00004054
-_080BCE84: .4byte gSaveBlock1
-_080BCE88: .4byte gScriptResult
-_080BCE8C: .4byte 0x00001a09
- thumb_func_end sub_80BCE4C
-
- thumb_func_start sub_80BCE90
-sub_80BCE90: @ 80BCE90
- push {r4-r7,lr}
- ldr r0, _080BCF04
- bl VarGet
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _080BCF08
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080BCED4
- movs r3, 0
- ldr r7, _080BCF0C
- ldr r4, _080BCF10
- movs r6, 0x21
- negs r6, r6
-_080BCEB2:
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 5
- adds r1, r7
- adds r1, r4
- ldrb r2, [r1]
- adds r0, r6, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x13
- bls _080BCEB2
- ldr r0, _080BCF08
- bl FlagSet
-_080BCED4:
- ldr r4, _080BCF14
- lsls r0, r5, 24
- lsrs r0, 24
- bl sub_80BCCA4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldr r2, _080BCF18
- ldr r1, _080BCF0C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 5
- adds r0, r1
- ldr r1, _080BCF10
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 26
- lsrs r0, 31
- strh r0, [r2]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BCF04: .4byte 0x00004054
-_080BCF08: .4byte 0x000008c2
-_080BCF0C: .4byte gSaveBlock1
-_080BCF10: .4byte 0x00001a09
-_080BCF14: .4byte gUnknown_0202E8CC
-_080BCF18: .4byte gScriptResult
- thumb_func_end sub_80BCE90
-
- thumb_func_start sub_80BCF1C
-sub_80BCF1C: @ 80BCF1C
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080BCF40
- adds r4, r1, r0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080BCF54
- cmp r0, 0x1
- bgt _080BCF44
- cmp r0, 0
- beq _080BCF4A
- b _080BD02C
- .align 2, 0
-_080BCF40: .4byte gUnknown_03004B28
-_080BCF44:
- cmp r0, 0x2
- beq _080BD01C
- b _080BD02C
-_080BCF4A:
- adds r0, r4, 0x4
- adds r1, r4, 0x6
- bl PlayerGetDestCoords
- b _080BD028
-_080BCF54:
- mov r5, sp
- adds r5, 0x2
- mov r0, sp
- adds r1, r5, 0
- bl PlayerGetDestCoords
- mov r0, sp
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r1, [r0, r3]
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080BCF7C
- movs r0, 0
- ldrsh r1, [r5, r0]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- cmp r1, r0
- beq _080BD02C
-_080BCF7C:
- strh r2, [r4, 0x4]
- ldrh r0, [r5]
- strh r0, [r4, 0x6]
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8057350
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BCFA8
- bl sub_80C6C90
- b _080BD02C
-_080BCFA8:
- adds r0, r4, 0
- bl sub_8057314
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BCFD8
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- asrs r0, 16
- mov r1, sp
- movs r3, 0
- ldrsh r1, [r1, r3]
- movs r3, 0
- ldrsh r2, [r5, r3]
- bl sub_80C68A4
- b _080BD02C
-_080BCFD8:
- adds r0, r4, 0
- bl sub_8057328
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BCFF6
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl sub_80C6A54
- b _080BD02C
-_080BCFF6:
- adds r0, r4, 0
- bl sub_805733C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BD02C
- mov r0, sp
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileIdAt
- lsls r0, 16
- asrs r0, 16
- bl sub_80C6C30
- b _080BD02C
-_080BD01C:
- ldrb r0, [r4, 0x8]
- bl FieldEffectActiveListContains
- lsls r0, 24
- cmp r0, 0
- bne _080BD02C
-_080BD028:
- movs r0, 0x1
- strh r0, [r4, 0x2]
-_080BD02C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80BCF1C
-
- thumb_func_start sub_80BD034
-sub_80BD034: @ 80BD034
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080BD064
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 5
- adds r4, r2
- ldr r2, _080BD068
- adds r0, r4, r2
- movs r2, 0xA0
- bl memcpy
- ldr r0, _080BD06C
- adds r4, r0
- ldrb r1, [r4]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BD064: .4byte gSaveBlock1
-_080BD068: .4byte 0x00001a08
-_080BD06C: .4byte 0x00001a09
- thumb_func_end sub_80BD034
-
- thumb_func_start sub_80BD070
-sub_80BD070: @ 80BD070
- push {r4,lr}
- movs r2, 0
- adds r4, r0, 0
- adds r4, 0x9
- adds r3, r1, 0
- adds r3, 0x9
-_080BD07C:
- adds r0, r4, r2
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080BD08C
- movs r0, 0
- b _080BD098
-_080BD08C:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080BD07C
- movs r0, 0x1
-_080BD098:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD070
-
- thumb_func_start sub_80BD0A0
-sub_80BD0A0: @ 80BD0A0
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- movs r3, 0
- ldrb r0, [r6, 0x2]
- cmp r0, 0xFF
- bne _080BD0B4
- ldrb r0, [r5, 0x2]
- cmp r0, 0xFF
- beq _080BD0E2
-_080BD0B4:
- adds r2, r6, 0x2
- adds r0, r2, r3
- adds r4, r5, 0x2
- adds r1, r4, r3
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080BD0C8
- movs r0, 0
- b _080BD0E4
-_080BD0C8:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x6
- bhi _080BD0E2
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080BD0B4
- adds r0, r4, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080BD0B4
-_080BD0E2:
- movs r0, 0x1
-_080BD0E4:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD0A0
-
- thumb_func_start sub_80BD0EC
-sub_80BD0EC: @ 80BD0EC
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldrb r2, [r4, 0x1]
- movs r0, 0x10
- adds r1, r0, 0
- ands r1, r2
- ldrb r2, [r5, 0x1]
- ands r0, r2
- cmp r1, r0
- bne _080BD122
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80BD070
- lsls r0, 24
- cmp r0, 0
- beq _080BD122
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80BD0A0
- lsls r0, 24
- cmp r0, 0
- beq _080BD122
- movs r0, 0x1
- b _080BD124
-_080BD122:
- movs r0, 0
-_080BD124:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD0EC
-
- thumb_func_start sub_80BD12C
-sub_80BD12C: @ 80BD12C
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r4, _080BD150
- ldr r3, _080BD154
-_080BD138:
- lsls r0, r1, 16
- asrs r1, r0, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 5
- adds r0, r4
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _080BD158
- adds r0, r1, 0
- b _080BD168
- .align 2, 0
-_080BD150: .4byte gSaveBlock1
-_080BD154: .4byte 0x00001a08
-_080BD158:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080BD138
- movs r0, 0x1
- negs r0, r0
-_080BD168:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD12C
-
- thumb_func_start sub_80BD170
-sub_80BD170: @ 80BD170
- push {r4,lr}
- movs r2, 0x1
- ldr r4, _080BD194
- ldr r3, _080BD198
-_080BD178:
- lsls r0, r2, 16
- asrs r1, r0, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 5
- adds r0, r4
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BD19C
- lsls r0, r2, 24
- lsrs r0, 24
- b _080BD1AA
- .align 2, 0
-_080BD194: .4byte gSaveBlock1
-_080BD198: .4byte 0x00001a08
-_080BD19C:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080BD178
- movs r0, 0
-_080BD1AA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD170
-
- thumb_func_start sub_80BD1B0
-sub_80BD1B0: @ 80BD1B0
- push {r4,lr}
- movs r3, 0x1
- ldr r4, _080BD1DC
-_080BD1B6:
- lsls r2, r3, 16
- asrs r1, r2, 16
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 5
- adds r0, r4
- ldr r1, _080BD1E0
- adds r0, r1
- ldrb r1, [r0]
- lsrs r0, r1, 6
- cmp r0, 0
- bne _080BD1E4
- lsls r0, r1, 28
- cmp r0, 0
- bne _080BD1E4
- lsls r0, r3, 24
- lsrs r0, 24
- b _080BD1F4
- .align 2, 0
-_080BD1DC: .4byte gSaveBlock1
-_080BD1E0: .4byte 0x00001a09
-_080BD1E4:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r2, r1
- lsrs r3, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080BD1B6
- movs r0, 0
-_080BD1F4:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD1B0
-
- thumb_func_start sub_80BD1FC
-sub_80BD1FC: @ 80BD1FC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrb r0, [r5]
- cmp r0, 0
- beq _080BD278
- ldrb r0, [r5]
- bl sub_80BD12C
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- beq _080BD278
- movs r0, 0x1
- negs r0, r0
- cmp r2, r0
- beq _080BD254
- ldr r0, _080BD24C
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 5
- adds r1, r0
- ldr r0, _080BD250
- adds r1, r0
- ldrb r1, [r1]
- lsls r0, r1, 28
- lsrs r0, 28
- cmp r0, 0x1
- beq _080BD278
- lsrs r0, r1, 6
- cmp r0, 0x2
- bne _080BD246
- ldrb r1, [r5, 0x1]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0x1
- bne _080BD278
-_080BD246:
- lsls r4, 24
- lsrs r4, 24
- b _080BD26C
- .align 2, 0
-_080BD24C: .4byte gSaveBlock1
-_080BD250: .4byte 0x00001a09
-_080BD254:
- bl sub_80BD170
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080BD26C
- bl sub_80BD1B0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080BD278
-_080BD26C:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80BD034
- adds r0, r4, 0
- b _080BD27A
-_080BD278:
- movs r0, 0
-_080BD27A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD1FC
-
- thumb_func_start sub_80BD280
-sub_80BD280: @ 80BD280
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xA0
- ldr r0, _080BD324
- mov r8, r0
- movs r2, 0x1
-_080BD290:
- adds r1, r2, 0x1
- lsls r0, r1, 24
- lsrs r5, r0, 24
- mov r9, r1
- cmp r5, 0x13
- bhi _080BD30C
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 5
- mov r1, r8
- adds r6, r0, r1
- movs r7, 0xC0
-_080BD2A8:
- ldrb r0, [r6, 0x1]
- adds r3, r7, 0
- ands r3, r0
- cmp r3, 0
- bne _080BD2C6
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 5
- add r0, r8
- ldrb r1, [r0, 0x1]
- adds r0, r7, 0
- ands r0, r1
- adds r4, r2, 0
- cmp r0, 0x40
- beq _080BD2DE
-_080BD2C6:
- cmp r3, 0x80
- bne _080BD302
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 5
- add r0, r8
- ldrb r1, [r0, 0x1]
- adds r0, r7, 0
- ands r0, r1
- adds r4, r2, 0
- cmp r0, 0x80
- beq _080BD302
-_080BD2DE:
- mov r0, sp
- adds r1, r6, 0
- movs r2, 0xA0
- bl memcpy
- adds r4, r5
- lsls r4, 5
- add r4, r8
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0xA0
- bl memcpy
- adds r0, r4, 0
- mov r1, sp
- movs r2, 0xA0
- bl memcpy
-_080BD302:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080BD2A8
-_080BD30C:
- mov r1, r9
- lsls r0, r1, 24
- lsrs r2, r0, 24
- cmp r2, 0x12
- bls _080BD290
- add sp, 0xA0
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BD324: .4byte gSaveBlock1 + 0x1A08
- thumb_func_end sub_80BD280
-
- thumb_func_start sub_80BD328
-sub_80BD328: @ 80BD328
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- movs r4, 0x1
-_080BD332:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 5
- adds r1, r0, r6
- ldrb r0, [r1, 0x1]
- lsrs r0, 6
- cmp r0, r5
- bne _080BD348
- adds r0, r1, 0
- bl sub_80BD1FC
-_080BD348:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x13
- bls _080BD332
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BD328
-
- thumb_func_start sub_80BD358
-sub_80BD358: @ 80BD358
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrb r0, [r5]
- cmp r0, 0
- beq _080BD372
- ldrb r0, [r5, 0x1]
- lsls r0, 27
- ldr r1, _080BD378
- lsrs r0, 31
- adds r4, r1, 0
- ldrb r1, [r4, 0x8]
- cmp r0, r1
- beq _080BD37C
-_080BD372:
- movs r0, 0
- b _080BD3D4
- .align 2, 0
-_080BD378: .4byte gSaveBlock2
-_080BD37C:
- movs r2, 0
- adds r3, r5, 0
- adds r3, 0x9
- adds r6, r4, 0
- adds r6, 0xA
-_080BD386:
- adds r0, r3, r2
- adds r1, r2, r6
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080BD372
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080BD386
- movs r2, 0
- ldrb r0, [r5, 0x2]
- cmp r0, 0xFF
- bne _080BD3AA
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080BD3D2
-_080BD3AA:
- adds r3, r5, 0x2
- adds r0, r3, r2
- adds r1, r2, r4
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080BD372
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x6
- bhi _080BD3D2
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080BD3AA
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080BD3AA
-_080BD3D2:
- movs r0, 0x1
-_080BD3D4:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD358
-
- thumb_func_start sub_80BD3DC
-sub_80BD3DC: @ 80BD3DC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r10, r0
- mov r9, r1
- mov r8, r2
- movs r5, 0
- movs r6, 0
-_080BD3F0:
- movs r0, 0x1
- ands r0, r5
- cmp r0, 0
- bne _080BD41A
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 5
- mov r1, r10
- adds r4, r1, r0
- adds r0, r4, 0
- bl sub_80BD358
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BD41A
- adds r0, r4, 0
- bl sub_80BB4AC
- movs r0, 0x1
- orrs r5, r0
-_080BD41A:
- movs r7, 0x2
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- bne _080BD448
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 5
- mov r1, r9
- adds r4, r1, r0
- adds r0, r4, 0
- bl sub_80BD358
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BD448
- adds r0, r4, 0
- bl sub_80BB4AC
- orrs r5, r7
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080BD448:
- movs r7, 0x4
- movs r0, 0x4
- ands r0, r5
- cmp r0, 0
- bne _080BD476
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 5
- mov r1, r8
- adds r4, r1, r0
- adds r0, r4, 0
- bl sub_80BD358
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BD476
- adds r0, r4, 0
- bl sub_80BB4AC
- orrs r5, r7
- lsls r0, r5, 24
- lsrs r5, r0, 24
-_080BD476:
- cmp r5, 0x7
- beq _080BD484
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x13
- bls _080BD3F0
-_080BD484:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BD3DC
-
- thumb_func_start sub_80BD494
-sub_80BD494: @ 80BD494
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- mov r8, r1
- lsls r2, 24
- lsrs r7, r2, 24
- movs r5, 0
-_080BD4A4:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 5
- mov r1, r8
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080BD4FE
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80BD0EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BD4FE
- cmp r7, 0
- bne _080BD4D0
- adds r0, r4, 0
- bl sub_80BB4AC
- b _080BD508
-_080BD4D0:
- ldrh r0, [r6, 0xE]
- ldrh r3, [r4, 0xE]
- cmp r0, r3
- bls _080BD4E0
- adds r0, r4, 0
- bl sub_80BB4AC
- b _080BD508
-_080BD4E0:
- ldrb r0, [r6, 0x1]
- lsls r0, 28
- lsrs r0, 28
- ldrb r1, [r4, 0x1]
- movs r3, 0x10
- negs r3, r3
- adds r2, r3, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x1]
- adds r0, r6, 0
- bl sub_80BB4AC
- movs r0, 0x1
- b _080BD50A
-_080BD4FE:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080BD4A4
-_080BD508:
- movs r0, 0
-_080BD50A:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80BD494
-
- thumb_func_start sub_80BD514
-sub_80BD514: @ 80BD514
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- mov r9, r0
- adds r7, r1, 0
- mov r8, r2
- adds r6, r3, 0
- movs r5, 0x1
-_080BD526:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 5
- mov r1, r9
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080BD578
- ldrb r1, [r4, 0x1]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0x40
- bne _080BD54E
- movs r2, 0x10
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
-_080BD54E:
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r5, 0
- bl sub_80BD494
- lsls r0, 24
- cmp r0, 0
- bne _080BD578
- adds r0, r4, 0
- mov r1, r8
- adds r2, r5, 0
- bl sub_80BD494
- lsls r0, 24
- cmp r0, 0
- bne _080BD578
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80BD494
-_080BD578:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080BD526
- movs r5, 0
-_080BD584:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 5
- adds r4, r0, r7
- ldrb r0, [r4]
- cmp r0, 0
- beq _080BD5B8
- ldrb r0, [r4, 0x1]
- movs r2, 0x21
- negs r2, r2
- adds r1, r2, 0
- ands r0, r1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- mov r1, r8
- adds r2, r5, 0
- bl sub_80BD494
- lsls r0, 24
- cmp r0, 0
- bne _080BD5B8
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80BD494
-_080BD5B8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080BD584
- movs r5, 0
- movs r0, 0x21
- negs r0, r0
- adds r7, r0, 0
-_080BD5CA:
- lsls r0, r5, 2
- adds r0, r5
- lsls r4, r0, 5
- mov r2, r8
- adds r1, r4, r2
- ldrb r0, [r1]
- cmp r0, 0
- beq _080BD5EA
- ldrb r0, [r1, 0x1]
- ands r0, r7
- strb r0, [r1, 0x1]
- adds r0, r1, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80BD494
-_080BD5EA:
- adds r1, r4, r6
- ldrb r0, [r1]
- cmp r0, 0
- beq _080BD5F8
- ldrb r0, [r1, 0x1]
- ands r0, r7
- strb r0, [r1, 0x1]
-_080BD5F8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x13
- bls _080BD5CA
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BD514
-
- thumb_func_start sub_80BD610
-sub_80BD610: @ 80BD610
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- bl sub_80BD3DC
- ldr r0, _080BD670
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_80BD514
- adds r0, r4, 0
- bl sub_80BD1FC
- adds r0, r5, 0
- bl sub_80BD1FC
- adds r0, r6, 0
- bl sub_80BD1FC
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80BD328
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80BD328
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_80BD328
- adds r0, r4, 0
- movs r1, 0
- bl sub_80BD328
- adds r0, r5, 0
- movs r1, 0
- bl sub_80BD328
- adds r0, r6, 0
- movs r1, 0
- bl sub_80BD328
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BD670: .4byte gSaveBlock1 + 0x1A08
- thumb_func_end sub_80BD610
-
- thumb_func_start sub_80BD674
-sub_80BD674: @ 80BD674
- push {r4-r7,lr}
- adds r6, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r7, r2, 24
- movs r0, 0x60
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080BD68C
- b _080BD790
-_080BD68C:
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080BD69E
- cmp r0, 0x3
- beq _080BD6BA
- b _080BD6C8
-_080BD69E:
- lsls r4, r5, 1
- adds r0, r6, r4
- movs r1, 0
- adds r2, r5, 0
- bl memset
- adds r4, r5
- adds r4, r6, r4
- adds r0, r4, 0
- movs r1, 0
- adds r2, r5, 0
- bl memset
- b _080BD6C8
-_080BD6BA:
- lsls r0, r5, 1
- adds r0, r5
- adds r0, r6, r0
- movs r1, 0
- adds r2, r5, 0
- bl memset
-_080BD6C8:
- cmp r7, 0x1
- beq _080BD6F0
- cmp r7, 0x1
- bgt _080BD6D6
- cmp r7, 0
- beq _080BD6E0
- b _080BD71C
-_080BD6D6:
- cmp r7, 0x2
- beq _080BD700
- cmp r7, 0x3
- beq _080BD710
- b _080BD71C
-_080BD6E0:
- adds r0, r6, r5
- lsls r2, r5, 1
- adds r1, r6, r2
- adds r2, r5
- adds r2, r6, r2
- bl sub_80BD610
- b _080BD71C
-_080BD6F0:
- lsls r1, r5, 1
- adds r0, r6, r1
- adds r1, r5
- adds r1, r6, r1
- adds r2, r6, 0
- bl sub_80BD610
- b _080BD71C
-_080BD700:
- lsls r0, r5, 1
- adds r0, r5
- adds r0, r6, r0
- adds r2, r6, r5
- adds r1, r6, 0
- bl sub_80BD610
- b _080BD71C
-_080BD710:
- adds r1, r6, r5
- lsls r2, r5, 1
- adds r2, r6, r2
- adds r0, r6, 0
- bl sub_80BD610
-_080BD71C:
- movs r3, 0x1
- ldr r6, _080BD798
- movs r5, 0x10
- negs r5, r5
- ldr r4, _080BD79C
-_080BD726:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 5
- adds r0, r6
- adds r2, r0, r4
- ldrb r1, [r2]
- lsls r0, r1, 28
- lsrs r0, 28
- cmp r0, 0x1
- bne _080BD746
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- ands r0, r5
- strb r0, [r2]
-_080BD746:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x13
- bls _080BD726
- bl sub_80BD280
- movs r3, 0x1
- ldr r4, _080BD798
- ldr r6, _080BD79C
- adds r7, r4, 0
- movs r5, 0x3F
-_080BD75E:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 5
- adds r0, r4
- adds r2, r0, r6
- ldrb r1, [r2]
- lsrs r0, r1, 6
- cmp r0, 0x2
- bne _080BD776
- adds r0, r5, 0
- ands r0, r1
- strb r0, [r2]
-_080BD776:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x13
- bls _080BD75E
- ldr r0, _080BD7A0
- adds r2, r7, r0
- ldrh r1, [r2]
- ldr r0, _080BD7A4
- cmp r1, r0
- beq _080BD790
- adds r0, r1, 0x1
- strh r0, [r2]
-_080BD790:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BD798: .4byte gSaveBlock1
-_080BD79C: .4byte 0x00001a09
-_080BD7A0: .4byte 0x00001a16
-_080BD7A4: .4byte 0x0000ffff
- thumb_func_end sub_80BD674
-
- thumb_func_start sub_80BD7A8
-sub_80BD7A8: @ 80BD7A8
- push {r4-r7,lr}
- movs r3, 0
- ldr r6, _080BD7F0
- movs r4, 0
- ldr r0, _080BD7F4
- adds r5, r6, r0
-_080BD7B4:
- lsls r2, r3, 3
- adds r2, r3
- lsls r2, 2
- adds r1, r2, r6
- ldr r7, _080BD7F8
- adds r0, r1, r7
- strb r4, [r0]
- ldr r0, _080BD7FC
- adds r1, r0
- strb r4, [r1]
- movs r1, 0
- adds r3, 0x1
-_080BD7CC:
- adds r0, r1, r2
- adds r0, r5
- strb r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x21
- bls _080BD7CC
- lsls r0, r3, 24
- lsrs r3, r0, 24
- cmp r3, 0x18
- bls _080BD7B4
- bl sub_80BEBF4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BD7F0: .4byte gSaveBlock1
-_080BD7F4: .4byte 0x0000273a
-_080BD7F8: .4byte 0x00002738
-_080BD7FC: .4byte 0x00002739
- thumb_func_end sub_80BD7A8
-
- thumb_func_start special_0x44
-special_0x44: @ 80BD800
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r4, 0x5
- ldr r1, _080BD874
- ldr r2, _080BD878
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BD834
- adds r2, r1, 0
- ldr r1, _080BD87C
-_080BD81A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x17
- bhi _080BD834
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BD81A
-_080BD834:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- ldr r7, _080BD874
- ldr r0, _080BD87C
- adds r0, r7
- mov r9, r0
-_080BD850:
- lsls r0, r4, 3
- adds r0, r4
- lsls r6, r0, 2
- adds r5, r6, r7
- ldr r1, _080BD87C
- adds r0, r5, r1
- ldrb r0, [r0]
- bl sub_80BFB54
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _080BD884
- ldr r2, _080BD880
- adds r0, r5, r2
- ldrb r0, [r0]
- b _080BD890
- .align 2, 0
-_080BD874: .4byte gSaveBlock1
-_080BD878: .4byte 0x000027ec
-_080BD87C: .4byte 0x00002738
-_080BD880: .4byte 0x00002739
-_080BD884:
- mov r0, r9
- adds r1, r6, r0
- ldrh r0, [r1, 0x16]
- cmp r0, 0
- bne _080BD898
- ldrb r0, [r1, 0x1]
-_080BD890:
- cmp r0, 0x1
- bne _080BD898
- adds r0, r4, 0
- b _080BD8AC
-_080BD898:
- cmp r4, 0
- bne _080BD8A0
- movs r4, 0x17
- b _080BD8A6
-_080BD8A0:
- subs r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080BD8A6:
- cmp r4, r8
- bne _080BD850
- movs r0, 0xFF
-_080BD8AC:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end special_0x44
-
- thumb_func_start sub_80BD8B8
-sub_80BD8B8: @ 80BD8B8
- push {lr}
- bl special_0x44
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- bne _080BD8CA
- movs r0, 0xFF
- b _080BD902
-_080BD8CA:
- ldr r2, _080BD8F4
- ldr r3, _080BD8F8
- adds r0, r2, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080BD900
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r2, _080BD8FC
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x29
- bne _080BD900
- bl sub_80BDA30
- lsls r0, 24
- lsrs r0, 24
- b _080BD902
- .align 2, 0
-_080BD8F4: .4byte gSaveBlock1
-_080BD8F8: .4byte 0x00002afc
-_080BD8FC: .4byte 0x00002738
-_080BD900:
- adds r0, r1, 0
-_080BD902:
- pop {r1}
- bx r1
- thumb_func_end sub_80BD8B8
-
- thumb_func_start UpdateTVScreensOnMap
-UpdateTVScreensOnMap: @ 80BD908
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- ldr r0, _080BD938
- bl FlagSet
- bl CheckForBigMovieOrEmergencyNewsOnTV
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BD92C
- cmp r0, 0x2
- beq _080BD97E
- ldr r0, _080BD93C
- ldrh r0, [r0, 0x4]
- cmp r0, 0xD
- bne _080BD940
-_080BD92C:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl SetTVMetatilesOnMap
- b _080BD97E
- .align 2, 0
-_080BD938: .4byte 0x00000831
-_080BD93C: .4byte gSaveBlock1
-_080BD940:
- ldr r0, _080BD984
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080BD97E
- bl sub_80BD8B8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080BD96E
- bl sub_80BECA0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080BD96E
- bl IsTVShowInSearchOfTrainersAiring
- lsls r0, 24
- cmp r0, 0
- beq _080BD97E
-_080BD96E:
- ldr r0, _080BD988
- bl FlagReset
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x3
- bl SetTVMetatilesOnMap
-_080BD97E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BD984: .4byte 0x00000832
-_080BD988: .4byte 0x00000831
- thumb_func_end UpdateTVScreensOnMap
-
- thumb_func_start SetTVMetatilesOnMap
-SetTVMetatilesOnMap: @ 80BD98C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- mov r10, r1
- lsls r2, 16
- lsrs r2, 16
- movs r5, 0
- cmp r5, r10
- bge _080BD9E0
- movs r1, 0xC0
- lsls r1, 4
- adds r0, r1, 0
- mov r8, r2
- mov r1, r8
- orrs r1, r0
- mov r8, r1
-_080BD9B2:
- movs r4, 0
- adds r7, r5, 0x1
- cmp r4, r9
- bge _080BD9DA
- mov r0, r8
- lsls r6, r0, 16
-_080BD9BE:
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- cmp r0, 0x86
- bne _080BD9D4
- adds r0, r4, 0
- adds r1, r5, 0
- lsrs r2, r6, 16
- bl MapGridSetMetatileIdAt
-_080BD9D4:
- adds r4, 0x1
- cmp r4, r9
- blt _080BD9BE
-_080BD9DA:
- adds r5, r7, 0
- cmp r5, r10
- blt _080BD9B2
-_080BD9E0:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end SetTVMetatilesOnMap
-
- thumb_func_start TurnOffTVScreen
-TurnOffTVScreen: @ 80BD9F0
- push {lr}
- ldr r1, _080BDA08
- ldr r0, [r1]
- ldr r1, [r1, 0x4]
- movs r2, 0x2
- bl SetTVMetatilesOnMap
- bl DrawWholeMapView
- pop {r0}
- bx r0
- .align 2, 0
-_080BDA08: .4byte gUnknown_03004870
- thumb_func_end TurnOffTVScreen
-
- thumb_func_start sub_80BDA0C
-sub_80BDA0C: @ 80BDA0C
- ldr r2, _080BDA24
- ldr r0, _080BDA28
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _080BDA2C
- adds r0, r1
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080BDA24: .4byte gSaveBlock1
-_080BDA28: .4byte gUnknown_0202E8CC
-_080BDA2C: .4byte 0x00002738
- thumb_func_end sub_80BDA0C
-
- thumb_func_start sub_80BDA30
-sub_80BDA30: @ 80BDA30
- push {r4,lr}
- movs r2, 0
- ldr r3, _080BDA5C
-_080BDA36:
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r3
- ldr r4, _080BDA60
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BDA64
- cmp r0, 0x29
- beq _080BDA64
- adds r4, 0x1
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080BDA64
- adds r0, r2, 0
- b _080BDA70
- .align 2, 0
-_080BDA5C: .4byte gSaveBlock1
-_080BDA60: .4byte 0x00002738
-_080BDA64:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x17
- bls _080BDA36
- movs r0, 0xFF
-_080BDA70:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BDA30
-
- thumb_func_start special_0x4a
-special_0x4a: @ 80BDA78
- push {lr}
- ldr r2, _080BDAA4
- ldrh r1, [r2]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BDAA8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x29
- bne _080BDAAC
- movs r3, 0xF1
- lsls r3, 2
- adds r0, r1, r3
- ldrh r0, [r0]
- cmp r0, 0
- beq _080BDAAC
- bl sub_80BDA30
- lsls r0, 24
- lsrs r0, 24
- b _080BDAAE
- .align 2, 0
-_080BDAA4: .4byte gUnknown_0202E8CC
-_080BDAA8: .4byte gSaveBlock1 + 0x2738
-_080BDAAC:
- ldrb r0, [r2]
-_080BDAAE:
- pop {r1}
- bx r1
- thumb_func_end special_0x4a
-
- thumb_func_start sub_80BDAB4
-sub_80BDAB4: @ 80BDAB4
- push {r4,lr}
- ldr r2, _080BDAF8
- ldr r1, _080BDAFC
- adds r0, r2, r1
- movs r3, 0
- movs r1, 0
- strh r1, [r0]
- ldr r4, _080BDB00
- adds r0, r2, r4
- strh r1, [r0]
- adds r4, 0x2
- adds r0, r2, r4
- strh r1, [r0]
- ldr r0, _080BDB04
- adds r1, r2, r0
- ldr r0, _080BDB08
- strh r0, [r1]
- adds r4, 0x6
- adds r1, r2, r4
- movs r0, 0
- strb r0, [r1]
- ldr r0, _080BDB0C
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080BDB10
- adds r0, r2, r1
- strb r3, [r0]
- subs r4, 0x1
- adds r2, r4
- strb r3, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BDAF8: .4byte gSaveBlock1
-_080BDAFC: .4byte 0x00002b10
-_080BDB00: .4byte 0x00002b12
-_080BDB04: .4byte 0x00002b16
-_080BDB08: .4byte 0x0000ffff
-_080BDB0C: .4byte 0x00002b1b
-_080BDB10: .4byte 0x00002b18
- thumb_func_end sub_80BDAB4
-
- thumb_func_start GabbyAndTyBeforeInterview
-GabbyAndTyBeforeInterview: @ 80BDB14
- push {r4,r5,lr}
- ldr r2, _080BDB68
- ldr r3, _080BDB6C
- ldrh r1, [r3, 0x6]
- ldr r4, _080BDB70
- adds r0, r2, r4
- strh r1, [r0]
- ldrh r1, [r3, 0x26]
- adds r4, 0x2
- adds r0, r2, r4
- strh r1, [r0]
- ldrh r1, [r3, 0x22]
- adds r4, 0x2
- adds r0, r2, r4
- strh r1, [r0]
- ldr r0, _080BDB74
- adds r4, r2, r0
- ldrb r1, [r4]
- adds r0, r1, 0
- adds r5, r2, 0
- cmp r0, 0xFF
- beq _080BDB44
- adds r0, r1, 0x1
- strb r0, [r4]
-_080BDB44:
- ldrb r0, [r3, 0x5]
- lsls r0, 31
- ldr r1, _080BDB78
- adds r4, r5, r1
- lsrs r0, 31
- ldrb r1, [r4]
- movs r2, 0x2
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r4]
- ldrb r0, [r3]
- cmp r0, 0
- beq _080BDB7C
- movs r0, 0x2
- orrs r2, r0
- b _080BDB82
- .align 2, 0
-_080BDB68: .4byte gSaveBlock1
-_080BDB6C: .4byte gUnknown_030042E0
-_080BDB70: .4byte 0x00002b10
-_080BDB74: .4byte 0x00002b19
-_080BDB78: .4byte 0x00002b1a
-_080BDB7C:
- movs r0, 0x3
- negs r0, r0
- ands r2, r0
-_080BDB82:
- strb r2, [r4]
- ldrb r0, [r3, 0x3]
- cmp r0, 0
- beq _080BDB9C
- ldr r4, _080BDB98
- adds r0, r5, r4
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _080BDBAA
- .align 2, 0
-_080BDB98: .4byte 0x00002b1a
-_080BDB9C:
- ldr r0, _080BDBDC
- adds r2, r5, r0
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080BDBAA:
- ldrb r1, [r3, 0x5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080BDBE0
- movs r1, 0
- adds r0, r3, 0
- adds r0, 0x36
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BDBE0
-_080BDBC0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xA
- bhi _080BDBEC
- adds r0, r3, 0
- adds r0, 0x36
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BDBC0
- ldr r4, _080BDBDC
- adds r0, r5, r4
- b _080BDBE4
- .align 2, 0
-_080BDBDC: .4byte 0x00002b1a
-_080BDBE0:
- ldr r1, _080BDC08
- adds r0, r5, r1
-_080BDBE4:
- ldrb r1, [r0]
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0]
-_080BDBEC:
- bl TakeTVShowInSearchOfTrainersOffTheAir
- ldr r0, _080BDC0C
- ldr r4, _080BDC10
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0
- bne _080BDC02
- movs r0, 0x1
- bl FlagSet
-_080BDC02:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BDC08: .4byte 0x00002b1a
-_080BDC0C: .4byte gSaveBlock1
-_080BDC10: .4byte 0x00002b14
- thumb_func_end GabbyAndTyBeforeInterview
-
- thumb_func_start sub_80BDC14
-sub_80BDC14: @ 80BDC14
- push {r4-r6,lr}
- ldr r4, _080BDC70
- ldr r0, _080BDC74
- adds r6, r4, r0
- ldrb r3, [r6]
- lsls r1, r3, 31
- adds r0, 0x1
- adds r5, r4, r0
- lsrs r1, 31
- ldrb r2, [r5]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- movs r1, 0x2
- ands r1, r3
- movs r2, 0x3
- negs r2, r2
- ands r0, r2
- orrs r0, r1
- movs r1, 0x4
- ands r1, r3
- subs r2, 0x2
- ands r0, r2
- orrs r0, r1
- movs r1, 0x8
- ands r1, r3
- subs r2, 0x4
- ands r0, r2
- orrs r0, r1
- strb r0, [r5]
- movs r0, 0x10
- orrs r3, r0
- strb r3, [r6]
- ldr r0, _080BDC78
- ldrb r0, [r0, 0x14]
- ldr r1, _080BDC7C
- adds r4, r1
- strb r0, [r4]
- movs r0, 0x6
- bl sav12_xor_increment
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BDC70: .4byte gSaveBlock1
-_080BDC74: .4byte 0x00002b1a
-_080BDC78: .4byte gMapHeader
-_080BDC7C: .4byte 0x00002b18
- thumb_func_end sub_80BDC14
-
- thumb_func_start TakeTVShowInSearchOfTrainersOffTheAir
-TakeTVShowInSearchOfTrainersOffTheAir: @ 80BDC80
- ldr r0, _080BDC94
- ldr r1, _080BDC98
- adds r0, r1
- ldrb r2, [r0]
- movs r1, 0x11
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080BDC94: .4byte gSaveBlock1
-_080BDC98: .4byte 0x00002b1a
- thumb_func_end TakeTVShowInSearchOfTrainersOffTheAir
-
- thumb_func_start GabbyAndTyGetBattleNum
-GabbyAndTyGetBattleNum: @ 80BDC9C
- push {lr}
- ldr r0, _080BDCBC
- ldr r2, _080BDCC0
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0x5
- bls _080BDCB8
- ldrb r0, [r1]
- movs r1, 0x3
- bl __umodsi3
- adds r0, 0x6
- lsls r0, 24
- lsrs r0, 24
-_080BDCB8:
- pop {r1}
- bx r1
- .align 2, 0
-_080BDCBC: .4byte gSaveBlock1
-_080BDCC0: .4byte 0x00002b19
- thumb_func_end GabbyAndTyGetBattleNum
-
- thumb_func_start IsTVShowInSearchOfTrainersAiring
-IsTVShowInSearchOfTrainersAiring: @ 80BDCC4
- ldr r0, _080BDCD4
- ldr r1, _080BDCD8
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r0, 31
- bx lr
- .align 2, 0
-_080BDCD4: .4byte gSaveBlock1
-_080BDCD8: .4byte 0x00002b1a
- thumb_func_end IsTVShowInSearchOfTrainersAiring
-
- thumb_func_start GabbyAndTyGetLastQuote
-GabbyAndTyGetLastQuote: @ 80BDCDC
- push {r4,r5,lr}
- ldr r0, _080BDD00
- ldr r1, _080BDD04
- adds r4, r0, r1
- ldrh r0, [r4]
- ldr r5, _080BDD08
- cmp r0, r5
- beq _080BDD10
- ldr r0, _080BDD0C
- ldrh r1, [r4]
- bl sub_80EB3FC
- ldrh r1, [r4]
- adds r0, r5, 0
- orrs r0, r1
- strh r0, [r4]
- movs r0, 0x1
- b _080BDD12
- .align 2, 0
-_080BDD00: .4byte gSaveBlock1
-_080BDD04: .4byte 0x00002b16
-_080BDD08: .4byte 0x0000ffff
-_080BDD0C: .4byte gStringVar1
-_080BDD10:
- movs r0, 0
-_080BDD12:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GabbyAndTyGetLastQuote
-
- thumb_func_start sub_80BDD18
-sub_80BDD18: @ 80BDD18
- push {lr}
- ldr r0, _080BDD30
- ldr r1, _080BDD34
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080BDD38
- movs r0, 0x1
- b _080BDD5E
- .align 2, 0
-_080BDD30: .4byte gSaveBlock1
-_080BDD34: .4byte 0x00002b1b
-_080BDD38:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080BDD44
- movs r0, 0x2
- b _080BDD5E
-_080BDD44:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080BDD50
- movs r0, 0x3
- b _080BDD5E
-_080BDD50:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080BDD5C
- movs r0, 0
- b _080BDD5E
-_080BDD5C:
- movs r0, 0x4
-_080BDD5E:
- pop {r1}
- bx r1
- thumb_func_end sub_80BDD18
-
- thumb_func_start GabbyAndTySetScriptVarsToFieldObjectLocalIds
-GabbyAndTySetScriptVarsToFieldObjectLocalIds: @ 80BDD64
- push {lr}
- bl GabbyAndTyGetBattleNum
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x7
- bhi _080BDE3C
- lsls r0, 2
- ldr r1, _080BDD80
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BDD80: .4byte _080BDD84
- .align 2, 0
-_080BDD84:
- .4byte _080BDDA4
- .4byte _080BDDB8
- .4byte _080BDDCC
- .4byte _080BDDE0
- .4byte _080BDDF4
- .4byte _080BDE08
- .4byte _080BDE1C
- .4byte _080BDE30
-_080BDDA4:
- ldr r1, _080BDDB0
- movs r0, 0xE
- strh r0, [r1]
- ldr r1, _080BDDB4
- movs r0, 0xD
- b _080BDE3A
- .align 2, 0
-_080BDDB0: .4byte gUnknown_0202E8CC
-_080BDDB4: .4byte gUnknown_0202E8CE
-_080BDDB8:
- ldr r1, _080BDDC4
- movs r0, 0x5
- strh r0, [r1]
- ldr r1, _080BDDC8
- movs r0, 0x6
- b _080BDE3A
- .align 2, 0
-_080BDDC4: .4byte gUnknown_0202E8CC
-_080BDDC8: .4byte gUnknown_0202E8CE
-_080BDDCC:
- ldr r1, _080BDDD8
- movs r0, 0x12
- strh r0, [r1]
- ldr r1, _080BDDDC
- movs r0, 0x11
- b _080BDE3A
- .align 2, 0
-_080BDDD8: .4byte gUnknown_0202E8CC
-_080BDDDC: .4byte gUnknown_0202E8CE
-_080BDDE0:
- ldr r1, _080BDDEC
- movs r0, 0x15
- strh r0, [r1]
- ldr r1, _080BDDF0
- movs r0, 0x16
- b _080BDE3A
- .align 2, 0
-_080BDDEC: .4byte gUnknown_0202E8CC
-_080BDDF0: .4byte gUnknown_0202E8CE
-_080BDDF4:
- ldr r1, _080BDE00
- movs r0, 0x8
- strh r0, [r1]
- ldr r1, _080BDE04
- movs r0, 0x9
- b _080BDE3A
- .align 2, 0
-_080BDE00: .4byte gUnknown_0202E8CC
-_080BDE04: .4byte gUnknown_0202E8CE
-_080BDE08:
- ldr r1, _080BDE14
- movs r0, 0x13
- strh r0, [r1]
- ldr r1, _080BDE18
- movs r0, 0x14
- b _080BDE3A
- .align 2, 0
-_080BDE14: .4byte gUnknown_0202E8CC
-_080BDE18: .4byte gUnknown_0202E8CE
-_080BDE1C:
- ldr r1, _080BDE28
- movs r0, 0x17
- strh r0, [r1]
- ldr r1, _080BDE2C
- movs r0, 0x18
- b _080BDE3A
- .align 2, 0
-_080BDE28: .4byte gUnknown_0202E8CC
-_080BDE2C: .4byte gUnknown_0202E8CE
-_080BDE30:
- ldr r1, _080BDE40
- movs r0, 0xA
- strh r0, [r1]
- ldr r1, _080BDE44
- movs r0, 0xB
-_080BDE3A:
- strh r0, [r1]
-_080BDE3C:
- pop {r0}
- bx r0
- .align 2, 0
-_080BDE40: .4byte gUnknown_0202E8CC
-_080BDE44: .4byte gUnknown_0202E8CE
- thumb_func_end GabbyAndTySetScriptVarsToFieldObjectLocalIds
-
- thumb_func_start sub_80BDE48
-sub_80BDE48: @ 80BDE48
- push {lr}
- ldr r0, _080BDE60
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r0, 0x6
- bhi _080BDEA6
- lsls r0, 2
- ldr r1, _080BDE64
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BDE60: .4byte gUnknown_0202E8CE
-_080BDE64: .4byte _080BDE68
- .align 2, 0
-_080BDE68:
- .4byte _080BDE84
- .4byte _080BDE8A
- .4byte _080BDE90
- .4byte _080BDE96
- .4byte _080BDEA6
- .4byte _080BDE9C
- .4byte _080BDEA2
-_080BDE84:
- bl sub_80BE5FC
- b _080BDEA6
-_080BDE8A:
- bl sub_80BE65C
- b _080BDEA6
-_080BDE90:
- bl sub_80BE6A0
- b _080BDEA6
-_080BDE96:
- bl nullsub_21
- b _080BDEA6
-_080BDE9C:
- bl sub_80BE188
- b _080BDEA6
-_080BDEA2:
- bl sub_80BE320
-_080BDEA6:
- pop {r0}
- bx r0
- thumb_func_end sub_80BDE48
-
- thumb_func_start sub_80BDEAC
-sub_80BDEAC: @ 80BDEAC
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2
- ldrb r0, [r1]
- cmp r0, 0xFC
- bne _080BDEC0
- ldrb r0, [r1, 0x1]
- cmp r0, 0x15
- bne _080BDEC0
- movs r2, 0x1
-_080BDEC0:
- adds r0, r2, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80BDEAC
-
- thumb_func_start sub_80BDEC8
-sub_80BDEC8: @ 80BDEC8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r4, 0
- bl sub_80BEB20
- bl sub_80BE778
- ldr r5, _080BDEE8
- ldrh r0, [r5, 0x28]
- cmp r0, 0
- bne _080BDEEC
- bl sub_80BE074
- b _080BE012
- .align 2, 0
-_080BDEE8: .4byte gUnknown_030042E0
-_080BDEEC:
- bl sub_80BE028
- ldr r0, _080BDF98
- bl sub_80BF77C
- lsls r0, 24
- cmp r0, 0
- beq _080BDEFE
- b _080BE012
-_080BDEFE:
- ldrh r1, [r5, 0x28]
- movs r0, 0xB
- muls r0, r1
- ldr r1, _080BDF9C
- adds r0, r1
- adds r1, r5, 0
- adds r1, 0x2A
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- bne _080BDF16
- b _080BE012
-_080BDF16:
- ldr r0, _080BDFA0
- bl sub_80BF74C
- ldr r1, _080BDFA4
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080BE012
- movs r0, 0x15
- bl sub_80BF1B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BE012
- movs r2, 0
- adds r7, r5, 0
- adds r1, r7, 0
- adds r1, 0x36
-_080BDF42:
- adds r0, r2, r1
- ldrb r0, [r0]
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xA
- bls _080BDF42
- cmp r4, 0
- bne _080BDF64
- ldrb r1, [r7, 0x5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BE012
-_080BDF64:
- movs r4, 0
- ldr r0, _080BDFA4
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BDFA0
- adds r5, r0, r1
- movs r0, 0x15
- strb r0, [r5]
- strb r4, [r5, 0x1]
- ldrb r1, [r7, 0x5]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080BDFAC
- movs r4, 0x1
- movs r0, 0x1
- adds r3, r5, 0
- adds r3, 0x13
- ldr r1, _080BDFA8
- mov r8, r1
- adds r6, r5, 0x4
- b _080BDFDE
- .align 2, 0
-_080BDF98: .4byte 0x0000ffff
-_080BDF9C: .4byte gSpeciesNames
-_080BDFA0: .4byte gSaveBlock1 + 0x2738
-_080BDFA4: .4byte gUnknown_03005D38
-_080BDFA8: .4byte gSaveBlock2
-_080BDFAC:
- movs r2, 0
- ldr r0, _080BE01C
- mov r12, r0
- adds r3, r5, 0
- adds r3, 0x13
- ldr r1, _080BE020
- mov r8, r1
- adds r6, r5, 0x4
- adds r1, r7, 0
- adds r1, 0x36
-_080BDFC0:
- adds r0, r2, r1
- ldrb r0, [r0]
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xA
- bls _080BDFC0
- cmp r4, 0xFF
- bls _080BDFDA
- movs r4, 0xFF
-_080BDFDA:
- mov r1, r12
- ldrh r0, [r1]
-_080BDFDE:
- strb r4, [r5, 0x12]
- strb r0, [r5, 0xF]
- adds r0, r3, 0
- mov r1, r8
- bl StringCopy
- ldr r4, _080BE024
- adds r0, r6, 0
- adds r1, r4, 0
- bl StringCopy
- subs r4, 0x2A
- ldrh r0, [r4, 0x28]
- strh r0, [r5, 0x10]
- adds r0, r5, 0
- bl sub_80BE138
- movs r0, 0x2
- strb r0, [r5, 0x2]
- adds r0, r6, 0
- bl sub_80BDEAC
- strb r0, [r5, 0x3]
- adds r0, r6, 0
- bl SkipExtCtrlCodes
-_080BE012:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE01C: .4byte gUnknown_02024C04
-_080BE020: .4byte gSaveBlock2
-_080BE024: .4byte gUnknown_0300430A
- thumb_func_end sub_80BDEC8
-
- thumb_func_start sub_80BE028
-sub_80BE028: @ 80BE028
- push {r4,lr}
- ldr r4, _080BE064
- ldrb r0, [r4]
- cmp r0, 0x19
- beq _080BE048
- ldr r1, _080BE068
- adds r0, r4, r1
- movs r1, 0x18
- bl sub_80BF55C
- movs r0, 0x5
- bl sub_8053108
- strh r0, [r4, 0x6]
- movs r0, 0x19
- strb r0, [r4]
-_080BE048:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- ldr r1, _080BE06C
- ldrh r0, [r1, 0x28]
- strh r0, [r4, 0x4]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x8]
- ldr r0, _080BE070
- ldrb r0, [r0, 0x14]
- strb r0, [r4, 0xA]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE064: .4byte gSaveBlock1 + 0x2A98
-_080BE068: .4byte 0xfffffca0
-_080BE06C: .4byte gUnknown_030042E0
-_080BE070: .4byte gMapHeader
- thumb_func_end sub_80BE028
-
- thumb_func_start sub_80BE074
-sub_80BE074: @ 80BE074
- push {r4-r7,lr}
- ldr r0, _080BE118
- bl sub_80BF77C
- lsls r0, 24
- cmp r0, 0
- bne _080BE112
- movs r1, 0
- movs r5, 0
- ldr r2, _080BE11C
-_080BE088:
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xA
- bls _080BE088
- cmp r5, 0xFF
- bls _080BE0A2
- movs r5, 0xFF
-_080BE0A2:
- cmp r5, 0x2
- bls _080BE112
- ldr r7, _080BE120
- ldrb r0, [r7]
- cmp r0, 0x1
- bne _080BE112
- ldr r6, _080BE124
- adds r0, r6, 0
- bl sub_80BF74C
- ldr r4, _080BE128
- strb r0, [r4]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080BE112
- movs r0, 0x17
- bl sub_80BF1B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BE112
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- adds r4, r6
- movs r1, 0
- movs r0, 0x17
- strb r0, [r4]
- strb r1, [r4, 0x1]
- ldr r1, _080BE12C
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0xC]
- ldrh r0, [r1, 0x20]
- strh r0, [r4, 0xE]
- strb r5, [r4, 0x10]
- ldrb r0, [r7]
- strb r0, [r4, 0x11]
- ldr r0, _080BE130
- ldrb r0, [r0, 0x14]
- strb r0, [r4, 0x12]
- adds r0, r4, 0
- adds r0, 0x13
- ldr r1, _080BE134
- bl StringCopy
- adds r0, r4, 0
- bl sub_80BE138
- movs r0, 0x2
- strb r0, [r4, 0x2]
-_080BE112:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE118: .4byte 0x0000ffff
-_080BE11C: .4byte gUnknown_03004316
-_080BE120: .4byte gUnknown_02024D26
-_080BE124: .4byte gSaveBlock1 + 0x2738
-_080BE128: .4byte gUnknown_03005D38
-_080BE12C: .4byte gUnknown_030042E0
-_080BE130: .4byte gMapHeader
-_080BE134: .4byte gSaveBlock2
- thumb_func_end sub_80BE074
-
- thumb_func_start sub_80BE138
-sub_80BE138: @ 80BE138
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80BFB94
- strb r0, [r4, 0x1E]
- lsrs r2, r0, 8
- strb r2, [r4, 0x1F]
- adds r1, r4, 0
- adds r1, 0x20
- strb r0, [r1]
- adds r1, 0x1
- strb r2, [r1]
- adds r1, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- adds r0, 0x23
- strb r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BE138
-
- thumb_func_start sub_80BE160
-sub_80BE160: @ 80BE160
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80BFB94
- adds r1, r4, 0
- adds r1, 0x20
- strb r0, [r1]
- lsrs r1, r0, 8
- adds r2, r4, 0
- adds r2, 0x21
- strb r1, [r2]
- adds r2, 0x1
- strb r0, [r2]
- adds r0, r4, 0
- adds r0, 0x23
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BE160
-
- thumb_func_start sub_80BE188
-sub_80BE188: @ 80BE188
- push {r4-r6,lr}
- ldr r6, _080BE22C
- ldrb r1, [r6]
- cmp r1, 0x6
- bne _080BE224
- ldr r0, _080BE230
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r2, _080BE234
- adds r0, r6, r2
- adds r4, r0
- strb r1, [r4]
- movs r0, 0x1
- strb r0, [r4, 0x1]
- ldrh r0, [r6, 0x2]
- strh r0, [r4, 0x2]
- adds r0, r4, 0
- adds r0, 0x16
- ldr r1, _080BE238
- bl StringCopy
- adds r5, r4, 0
- adds r5, 0x8
- adds r1, r6, 0
- adds r1, 0x8
- adds r0, r5, 0
- bl StringCopy
- ldrb r0, [r6, 0x13]
- lsls r0, 29
- lsrs r0, 29
- ldrb r2, [r4, 0x13]
- movs r3, 0x8
- negs r3, r3
- adds r1, r3, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x13]
- ldrb r2, [r6, 0x13]
- movs r0, 0x18
- ands r0, r2
- movs r2, 0x19
- negs r2, r2
- ands r2, r1
- orrs r2, r0
- strb r2, [r4, 0x13]
- ldrh r0, [r6, 0x14]
- strh r0, [r4, 0x14]
- ldrb r0, [r6, 0x13]
- movs r1, 0x60
- ands r1, r0
- movs r0, 0x61
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x13]
- ldrb r1, [r6, 0x13]
- lsls r1, 29
- lsrs r1, 29
- ands r0, r3
- orrs r0, r1
- strb r0, [r4, 0x13]
- adds r0, r4, 0
- bl sub_80BE160
- movs r0, 0x2
- strb r0, [r4, 0x1E]
- adds r0, r5, 0
- bl sub_80BDEAC
- strb r0, [r4, 0x1F]
- adds r0, r5, 0
- bl SkipExtCtrlCodes
-_080BE224:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE22C: .4byte gSaveBlock1 + 0x2A98
-_080BE230: .4byte gUnknown_03005D38
-_080BE234: .4byte 0xfffffca0
-_080BE238: .4byte gSaveBlock2
- thumb_func_end sub_80BE188
-
- thumb_func_start sub_80BE23C
-sub_80BE23C: @ 80BE23C
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r4, _080BE278
- bl sub_80BF484
- ldr r0, _080BE27C
- adds r5, r4, r0
- adds r0, r5, 0
- bl sub_80BF720
- ldr r1, _080BE280
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080BE270
- adds r0, r5, 0
- movs r1, 0x18
- bl sub_80BF55C
- strh r6, [r4, 0x14]
- movs r0, 0x6
- strb r0, [r4]
-_080BE270:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE278: .4byte gSaveBlock1 + 0x2A98
-_080BE27C: .4byte 0xfffffca0
-_080BE280: .4byte gUnknown_03005D38
- thumb_func_end sub_80BE23C
-
- thumb_func_start sub_80BE284
-sub_80BE284: @ 80BE284
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r7, _080BE304
- ldr r1, _080BE308
- adds r0, r7, r1
- bl sub_80BF720
- ldr r1, _080BE30C
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080BE2FE
- movs r3, 0x3
- adds r1, r4, 0
- ands r1, r3
- lsls r1, 5
- ldrb r2, [r7, 0x13]
- movs r0, 0x61
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- ldr r1, _080BE310
- ldrb r2, [r1]
- movs r1, 0x7
- ands r1, r2
- movs r2, 0x8
- negs r2, r2
- ands r0, r2
- orrs r0, r1
- ldr r1, _080BE314
- ldrb r1, [r1]
- ands r3, r1
- lsls r3, 3
- movs r1, 0x19
- negs r1, r1
- ands r0, r1
- orrs r0, r3
- strb r0, [r7, 0x13]
- ldr r6, _080BE318
- ldrb r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _080BE31C
- adds r0, r4
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- strh r0, [r7, 0x2]
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- adds r2, r7, 0
- adds r2, 0x8
- movs r1, 0x2
- bl GetMonData
-_080BE2FE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE304: .4byte gSaveBlock1 + 0x2A98
-_080BE308: .4byte 0xfffffca0
-_080BE30C: .4byte gUnknown_03005D38
-_080BE310: .4byte gUnknown_0203869C
-_080BE314: .4byte gUnknown_0203869E
-_080BE318: .4byte gUnknown_02038694
-_080BE31C: .4byte gPlayerParty
- thumb_func_end sub_80BE284
-
- thumb_func_start sub_80BE320
-sub_80BE320: @ 80BE320
- push {r4-r6,lr}
- ldr r0, _080BE384
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BE388
- adds r6, r0, r1
- movs r0, 0x7
- strb r0, [r6]
- movs r0, 0x1
- strb r0, [r6, 0x1]
- adds r0, r6, 0x2
- ldr r4, _080BE38C
- adds r1, r4, 0
- bl StringCopy
- adds r0, r6, 0
- adds r0, 0xC
- ldr r2, _080BE390
- adds r1, r4, r2
- bl StringCopy
- movs r1, 0x90
- lsls r1, 3
- adds r0, r4, r1
- ldrh r0, [r0]
- strh r0, [r6, 0xA]
- ldr r2, _080BE394
- adds r0, r4, r2
- ldrh r0, [r0]
- strh r0, [r6, 0x14]
- movs r0, 0xAF
- lsls r0, 3
- adds r5, r4, r0
- ldrb r0, [r5]
- bl sub_8135D3C
- strh r0, [r6, 0x16]
- ldr r1, _080BE398
- adds r4, r1
- ldrb r0, [r4]
- strb r0, [r6, 0x1C]
- ldrb r0, [r5]
- cmp r0, 0
- bne _080BE39C
- movs r0, 0x32
- b _080BE39E
- .align 2, 0
-_080BE384: .4byte gUnknown_03005D38
-_080BE388: .4byte gSaveBlock1 + 0x2738
-_080BE38C: .4byte gSaveBlock2
-_080BE390: .4byte 0x00000484
-_080BE394: .4byte 0x00000482
-_080BE398: .4byte 0x00000555
-_080BE39C:
- movs r0, 0x64
-_080BE39E:
- strb r0, [r6, 0x1A]
- ldr r0, _080BE3B8
- ldrh r0, [r0]
- strb r0, [r6, 0x1B]
- adds r0, r6, 0
- bl sub_80BE160
- movs r0, 0x2
- strb r0, [r6, 0x1D]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE3B8: .4byte gUnknown_0202E8CC
- thumb_func_end sub_80BE320
-
- thumb_func_start sub_80BE3BC
-sub_80BE3BC: @ 80BE3BC
- push {r4-r7,lr}
- ldr r0, _080BE460
- bl sub_80BF77C
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080BE458
- ldr r6, _080BE464
- adds r0, r6, 0
- bl sub_80BF74C
- ldr r5, _080BE468
- strb r0, [r5]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080BE458
- movs r0, 0x16
- bl sub_80BF1B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BE458
- bl sub_80BF20C
- ldr r2, _080BE46C
- ldrh r0, [r2, 0x2]
- cmp r0, 0x13
- bls _080BE458
- movs r1, 0
- ldrsb r1, [r5, r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r5, r0, r6
- movs r0, 0x16
- strb r0, [r5]
- strb r4, [r5, 0x1]
- ldr r0, _080BE470
- ldrb r0, [r0, 0x14]
- strb r0, [r5, 0x12]
- movs r4, 0
- adds r7, r5, 0x6
- mov r12, r2
- adds r6, r5, 0
- adds r6, 0xC
-_080BE420:
- lsls r2, r4, 1
- adds r3, r7, r2
- lsls r1, r4, 2
- add r1, r12
- ldrh r0, [r1]
- strh r0, [r3]
- adds r2, r6, r2
- ldrh r0, [r1, 0x2]
- strh r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _080BE420
- movs r0, 0x1
- bl GetPriceReduction
- strb r0, [r5, 0x2]
- adds r0, r5, 0
- adds r0, 0x13
- ldr r1, _080BE474
- bl StringCopy
- adds r0, r5, 0
- bl sub_80BE138
- movs r0, 0x2
- strb r0, [r5, 0x3]
-_080BE458:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE460: .4byte 0x00005555
-_080BE464: .4byte gSaveBlock1 + 0x2738
-_080BE468: .4byte gUnknown_03005D38
-_080BE46C: .4byte gUnknown_02038724
-_080BE470: .4byte gMapHeader
-_080BE474: .4byte gSaveBlock2
- thumb_func_end sub_80BE3BC
-
- thumb_func_start sub_80BE478
-sub_80BE478: @ 80BE478
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- bl sub_80BF478
- ldr r0, _080BE554
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080BE548
- ldr r0, _080BE558
- mov r8, r0
- ldrh r0, [r0]
- movs r7, 0x64
- muls r0, r7
- ldr r6, _080BE55C
- adds r0, r6
- ldr r4, _080BE560
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- ldr r1, _080BE564
- mov r9, r1
- mov r0, r9
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080BE548
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080BE548
- ldr r0, _080BE568
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _080BE56C
- adds r4, r0
- movs r0, 0x5
- strb r0, [r4]
- movs r5, 0x1
- strb r5, [r4, 0x1]
- mov r1, r8
- ldrh r0, [r1]
- muls r0, r7
- adds r0, r6
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- strh r0, [r4, 0x2]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- strb r0, [r4, 0x1A]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ands r0, r5
- strb r0, [r4, 0x1B]
- ldrh r0, [r4, 0x2]
- bl sub_80BF674
- strh r0, [r4, 0x1C]
- adds r0, r4, 0
- adds r0, 0xF
- mov r1, r9
- bl StringCopy
- mov r1, r8
- ldrh r0, [r1]
- muls r0, r7
- adds r0, r6
- adds r5, r4, 0x4
- movs r1, 0x2
- adds r2, r5, 0
- bl GetMonData
- adds r0, r4, 0
- bl sub_80BE160
- movs r0, 0x2
- strb r0, [r4, 0x1E]
- adds r0, r5, 0
- bl sub_80BDEAC
- strb r0, [r4, 0x1F]
- adds r0, r5, 0
- bl SkipExtCtrlCodes
-_080BE548:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE554: .4byte gScriptResult
-_080BE558: .4byte gUnknown_0202E8CC
-_080BE55C: .4byte gPlayerParty
-_080BE560: .4byte gStringVar1
-_080BE564: .4byte gSaveBlock2
-_080BE568: .4byte gUnknown_03005D38
-_080BE56C: .4byte gSaveBlock1 + 0x2738
- thumb_func_end sub_80BE478
-
- thumb_func_start StartMassOutbreak
-StartMassOutbreak: @ 80BE570
- push {r4,lr}
- ldr r0, _080BE5F0
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r2, _080BE5F4
- adds r0, r2
- ldrh r3, [r0, 0xC]
- movs r4, 0xF1
- lsls r4, 2
- adds r1, r2, r4
- strh r3, [r1]
- ldrb r3, [r0, 0x10]
- adds r4, 0x2
- adds r1, r2, r4
- strb r3, [r1]
- ldrb r3, [r0, 0x11]
- adds r4, 0x1
- adds r1, r2, r4
- strb r3, [r1]
- ldrb r3, [r0, 0x14]
- adds r4, 0x1
- adds r1, r2, r4
- strb r3, [r1]
- ldrb r3, [r0, 0x2]
- adds r4, 0x1
- adds r1, r2, r4
- strb r3, [r1]
- ldrh r3, [r0, 0xE]
- adds r4, 0x1
- adds r1, r2, r4
- strh r3, [r1]
- ldrh r3, [r0, 0x4]
- adds r4, 0x2
- adds r1, r2, r4
- strh r3, [r1]
- ldrh r3, [r0, 0x6]
- adds r4, 0x2
- adds r1, r2, r4
- strh r3, [r1]
- ldrh r3, [r0, 0x8]
- adds r4, 0x2
- adds r1, r2, r4
- strh r3, [r1]
- ldrh r3, [r0, 0xA]
- adds r4, 0x2
- adds r1, r2, r4
- strh r3, [r1]
- ldrb r3, [r0, 0x3]
- adds r4, 0x2
- adds r1, r2, r4
- strb r3, [r1]
- ldrb r1, [r0, 0x13]
- ldr r3, _080BE5F8
- adds r0, r2, r3
- strb r1, [r0]
- adds r4, 0x2
- adds r2, r4
- movs r0, 0x2
- strh r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE5F0: .4byte gUnknown_0202E8CC
-_080BE5F4: .4byte gSaveBlock1 + 0x2738
-_080BE5F8: .4byte 0x000003d5
- thumb_func_end StartMassOutbreak
-
- thumb_func_start sub_80BE5FC
-sub_80BE5FC: @ 80BE5FC
- push {r4,lr}
- ldr r0, _080BE64C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _080BE650
- adds r4, r0
- movs r0, 0x1
- strb r0, [r4]
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- adds r0, 0x10
- ldr r1, _080BE654
- bl StringCopy
- bl sub_810F87C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _080BE658
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- strh r0, [r4, 0x2]
- adds r0, r4, 0
- bl sub_80BE160
- movs r0, 0x2
- strb r0, [r4, 0x18]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE64C: .4byte gUnknown_03005D38
-_080BE650: .4byte gSaveBlock1 + 0x2738
-_080BE654: .4byte gSaveBlock2
-_080BE658: .4byte gPlayerParty
- thumb_func_end sub_80BE5FC
-
- thumb_func_start sub_80BE65C
-sub_80BE65C: @ 80BE65C
- push {r4-r6,lr}
- ldr r0, _080BE694
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _080BE698
- adds r4, r0
- movs r6, 0
- movs r5, 0x2
- strb r5, [r4]
- movs r0, 0x1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- adds r0, 0x10
- ldr r1, _080BE69C
- bl StringCopy
- strh r6, [r4, 0x2]
- adds r0, r4, 0
- bl sub_80BE160
- strb r5, [r4, 0x18]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE694: .4byte gUnknown_03005D38
-_080BE698: .4byte gSaveBlock1 + 0x2738
-_080BE69C: .4byte gSaveBlock2
- thumb_func_end sub_80BE65C
-
- thumb_func_start sub_80BE6A0
-sub_80BE6A0: @ 80BE6A0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _080BE760
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _080BE764
- adds r4, r0
- movs r0, 0x3
- strb r0, [r4]
- movs r0, 0x1
- strb r0, [r4, 0x1]
- bl sub_810F87C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r6, _080BE768
- adds r0, r6
- movs r1, 0x20
- movs r2, 0
- bl GetMonData
- lsrs r0, 4
- movs r1, 0xF
- ands r0, r1
- ldrb r2, [r4, 0x4]
- movs r1, 0x10
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x4]
- ldr r0, _080BE76C
- ldrb r0, [r0]
- lsls r0, 4
- movs r2, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x4]
- adds r0, r4, 0x5
- ldr r1, _080BE770
- bl StringCopy
- bl sub_810F87C
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- adds r5, r4, 0
- adds r5, 0x10
- movs r1, 0x2
- adds r2, r5, 0
- bl GetMonData
- bl sub_810F87C
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- strh r0, [r4, 0x2]
- adds r0, r4, 0
- bl sub_80BE160
- movs r0, 0x2
- strb r0, [r4, 0xD]
- adds r0, r5, 0
- bl sub_80BDEAC
- strb r0, [r4, 0xE]
- adds r0, r5, 0
- bl SkipExtCtrlCodes
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE760: .4byte gUnknown_03005D38
-_080BE764: .4byte gSaveBlock1 + 0x2738
-_080BE768: .4byte gPlayerParty
-_080BE76C: .4byte gUnknown_0202E8D2
-_080BE770: .4byte gSaveBlock2
- thumb_func_end sub_80BE6A0
-
- thumb_func_start nullsub_21
-nullsub_21: @ 80BE774
- bx lr
- thumb_func_end nullsub_21
-
- thumb_func_start sub_80BE778
-sub_80BE778: @ 80BE778
- push {r4-r6,lr}
- ldr r0, _080BE83C
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080BE836
- movs r1, 0
- ldr r3, _080BE840
- ldr r2, _080BE844
-_080BE78C:
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x29
- beq _080BE836
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x17
- bls _080BE78C
- ldr r0, _080BE848
- bl sub_80BF77C
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080BE836
- ldr r6, _080BE84C
- adds r0, r6, 0
- bl sub_80BF720
- ldr r4, _080BE850
- strb r0, [r4]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080BE836
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- ldrsb r1, [r4, r1]
- lsls r4, r1, 3
- adds r4, r1
- lsls r4, 2
- adds r4, r6
- movs r1, 0x29
- strb r1, [r4]
- movs r3, 0x1
- strb r3, [r4, 0x1]
- ldr r2, _080BE854
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1, 0xA]
- strb r0, [r4, 0x14]
- strb r5, [r4, 0x2]
- strb r5, [r4, 0x3]
- ldrh r0, [r1]
- movs r2, 0
- strh r0, [r4, 0xC]
- strh r5, [r4, 0xE]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x4]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x6]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x8]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0xA]
- ldrb r0, [r1, 0xB]
- strb r0, [r4, 0x10]
- strb r2, [r4, 0x11]
- strb r2, [r4, 0x12]
- movs r0, 0x32
- strb r0, [r4, 0x13]
- strb r2, [r4, 0x15]
- strh r3, [r4, 0x16]
- adds r0, r4, 0
- bl sub_80BE160
- movs r0, 0x2
- strb r0, [r4, 0x18]
-_080BE836:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE83C: .4byte 0x00000804
-_080BE840: .4byte gSaveBlock1
-_080BE844: .4byte 0x00002738
-_080BE848: .4byte 0x00000147
-_080BE84C: .4byte gSaveBlock1 + 0x2738
-_080BE850: .4byte gUnknown_03005D38
-_080BE854: .4byte gUnknown_083D13F8
- thumb_func_end sub_80BE778
-
- thumb_func_start EndMassOutbreak
-EndMassOutbreak: @ 80BE858
- push {r4,lr}
- ldr r0, _080BE8B4
- ldr r2, _080BE8B8
- adds r1, r0, r2
- movs r3, 0
- movs r2, 0
- strh r2, [r1]
- ldr r4, _080BE8BC
- adds r1, r0, r4
- strb r3, [r1]
- adds r4, 0x1
- adds r1, r0, r4
- strb r3, [r1]
- adds r4, 0x1
- adds r1, r0, r4
- strb r3, [r1]
- adds r4, 0x1
- adds r1, r0, r4
- strb r3, [r1]
- adds r4, 0x1
- adds r1, r0, r4
- strh r2, [r1]
- adds r4, 0x2
- adds r1, r0, r4
- strh r2, [r1]
- adds r4, 0x2
- adds r1, r0, r4
- strh r2, [r1]
- adds r4, 0x2
- adds r1, r0, r4
- strh r2, [r1]
- adds r4, 0x2
- adds r1, r0, r4
- strh r2, [r1]
- adds r4, 0x2
- adds r1, r0, r4
- strb r3, [r1]
- adds r4, 0x1
- adds r1, r0, r4
- strb r3, [r1]
- ldr r1, _080BE8C0
- adds r0, r1
- strh r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE8B4: .4byte gSaveBlock1
-_080BE8B8: .4byte 0x00002afc
-_080BE8BC: .4byte 0x00002afe
-_080BE8C0: .4byte 0x00002b0e
- thumb_func_end EndMassOutbreak
-
- thumb_func_start sub_80BE8C4
-sub_80BE8C4: @ 80BE8C4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r4, 0
- bl sub_80BE8EC
- adds r0, r4, 0
- bl UpdateMassOutbreakTimeLeft
- adds r0, r4, 0
- bl sub_80BEE84
- adds r0, r4, 0
- bl sub_80BEA5C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BE8C4
-
- thumb_func_start sub_80BE8EC
-sub_80BE8EC: @ 80BE8EC
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, _080BE930
- ldr r2, _080BE934
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0
- bne _080BE94C
- movs r3, 0
- adds r5, r1, 0
- ldr r7, _080BE938
- adds r6, r5, r7
-_080BE906:
- lsls r0, r3, 3
- adds r0, r3
- lsls r2, r0, 2
- adds r1, r2, r5
- ldr r7, _080BE938
- adds r0, r1, r7
- ldrb r0, [r0]
- cmp r0, 0x29
- bne _080BE942
- adds r7, 0x1
- adds r0, r1, r7
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080BE942
- adds r1, r2, r6
- ldrh r0, [r1, 0x16]
- cmp r0, r4
- bcs _080BE93C
- movs r0, 0
- strh r0, [r1, 0x16]
- b _080BE94C
- .align 2, 0
-_080BE930: .4byte gSaveBlock1
-_080BE934: .4byte 0x00002afc
-_080BE938: .4byte 0x00002738
-_080BE93C:
- subs r0, r4
- strh r0, [r1, 0x16]
- b _080BE94C
-_080BE942:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x17
- bls _080BE906
-_080BE94C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BE8EC
-
- thumb_func_start UpdateMassOutbreakTimeLeft
-UpdateMassOutbreakTimeLeft: @ 80BE954
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _080BE96C
- ldr r3, _080BE970
- adds r2, r0, r3
- ldrh r0, [r2]
- cmp r0, r1
- bhi _080BE974
- bl EndMassOutbreak
- b _080BE978
- .align 2, 0
-_080BE96C: .4byte gSaveBlock1
-_080BE970: .4byte 0x00002b0e
-_080BE974:
- subs r0, r1
- strh r0, [r2]
-_080BE978:
- pop {r0}
- bx r0
- thumb_func_end UpdateMassOutbreakTimeLeft
-
- thumb_func_start sub_80BE97C
-sub_80BE97C: @ 80BE97C
- push {r4,lr}
- lsls r0, 24
- cmp r0, 0
- beq _080BE9A4
- ldr r4, _080BE9A0
- ldrh r0, [r4]
- lsrs r0, 8
- cmp r0, 0x4
- bls _080BE992
- bl sub_80BE9D4
-_080BE992:
- ldrb r0, [r4]
- strh r0, [r4]
- cmp r0, 0xFF
- beq _080BE9C8
- adds r0, 0x1
- b _080BE9C6
- .align 2, 0
-_080BE9A0: .4byte gUnknown_020387E2
-_080BE9A4:
- ldr r4, _080BE9D0
- ldrb r0, [r4]
- cmp r0, 0x4
- bls _080BE9B0
- bl sub_80BE9D4
-_080BE9B0:
- ldrh r0, [r4]
- movs r1, 0xFF
- lsls r1, 8
- ands r1, r0
- strh r1, [r4]
- lsrs r0, r1, 8
- cmp r0, 0xFF
- beq _080BE9C8
- movs r2, 0x80
- lsls r2, 1
- adds r0, r1, r2
-_080BE9C6:
- strh r0, [r4]
-_080BE9C8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BE9D0: .4byte gUnknown_020387E2
- thumb_func_end sub_80BE97C
-
- thumb_func_start sub_80BE9D4
-sub_80BE9D4: @ 80BE9D4
- push {r4,r5,lr}
- ldr r5, _080BEA3C
- adds r0, r5, 0
- bl sub_80BF74C
- ldr r4, _080BEA40
- strb r0, [r4]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080BEA36
- movs r0, 0x18
- bl sub_80BF1B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BEA36
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- adds r4, r5
- movs r1, 0
- movs r0, 0x18
- strb r0, [r4]
- strb r1, [r4, 0x1]
- ldr r1, _080BEA44
- ldrh r0, [r1]
- strb r0, [r4, 0x2]
- ldrh r0, [r1]
- lsrs r0, 8
- strb r0, [r4, 0x3]
- ldr r0, _080BEA48
- ldrh r0, [r0]
- strh r0, [r4, 0x4]
- adds r0, r4, 0
- adds r0, 0x13
- ldr r1, _080BEA4C
- bl StringCopy
- adds r0, r4, 0
- bl sub_80BE138
- movs r0, 0x2
- strb r0, [r4, 0x6]
-_080BEA36:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BEA3C: .4byte gSaveBlock1 + 0x2738
-_080BEA40: .4byte gUnknown_03005D38
-_080BEA44: .4byte gUnknown_020387E2
-_080BEA48: .4byte gUnknown_020387E0
-_080BEA4C: .4byte gSaveBlock2
- thumb_func_end sub_80BE9D4
-
- thumb_func_start sub_80BEA50
-sub_80BEA50: @ 80BEA50
- ldr r1, _080BEA58
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080BEA58: .4byte gUnknown_020387E0
- thumb_func_end sub_80BEA50
-
- thumb_func_start sub_80BEA5C
-sub_80BEA5C: @ 80BEA5C
- push {lr}
- ldr r1, _080BEA78
- ldrb r0, [r1]
- cmp r0, 0x19
- bne _080BEA84
- ldrh r0, [r1, 0x2]
- cmp r0, 0x13
- bhi _080BEA80
- ldr r2, _080BEA7C
- adds r0, r1, r2
- movs r1, 0x18
- bl sub_80BF55C
- b _080BEA84
- .align 2, 0
-_080BEA78: .4byte gSaveBlock1 + 0x2A98
-_080BEA7C: .4byte 0xfffffca0
-_080BEA80:
- bl sub_80BEA88
-_080BEA84:
- pop {r0}
- bx r0
- thumb_func_end sub_80BEA5C
-
- thumb_func_start sub_80BEA88
-sub_80BEA88: @ 80BEA88
- push {r4-r7,lr}
- ldr r5, _080BEB0C
- ldr r0, _080BEB10
- bl sub_80BF77C
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _080BEB04
- ldr r0, _080BEB14
- adds r7, r5, r0
- adds r0, r7, 0
- bl sub_80BF74C
- ldr r4, _080BEB18
- strb r0, [r4]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080BEB04
- movs r0, 0x19
- bl sub_80BF1B4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BEB04
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- adds r4, r7
- movs r0, 0x19
- strb r0, [r4]
- strb r6, [r4, 0x1]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x2]
- movs r0, 0x5
- bl sub_8053108
- ldrh r1, [r5, 0x6]
- subs r0, r1
- strh r0, [r4, 0x6]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x4]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x8]
- ldrb r0, [r5, 0xA]
- strb r0, [r4, 0xA]
- adds r0, r4, 0
- adds r0, 0x13
- ldr r1, _080BEB1C
- bl StringCopy
- adds r0, r4, 0
- bl sub_80BE138
- movs r0, 0x2
- strb r0, [r4, 0xB]
-_080BEB04:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BEB0C: .4byte gSaveBlock1 + 0x2A98
-_080BEB10: .4byte 0x0000ffff
-_080BEB14: .4byte 0xfffffca0
-_080BEB18: .4byte gUnknown_03005D38
-_080BEB1C: .4byte gSaveBlock2
- thumb_func_end sub_80BEA88
-
- thumb_func_start sub_80BEB20
-sub_80BEB20: @ 80BEB20
- push {r4-r6,lr}
- ldr r0, _080BEBAC
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080BEBA6
- ldr r6, _080BEBB0
- adds r0, r6, 0
- bl sub_80BEBC8
- ldr r5, _080BEBB4
- strb r0, [r5]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080BEBA6
- ldr r0, _080BEBB8
- bl sub_80BF77C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BEBA6
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80BEE48
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BEBA6
- movs r0, 0
- ldrsb r0, [r5, r0]
- lsls r0, 2
- ldr r1, _080BEBBC
- adds r2, r6, r1
- adds r0, r6, r0
- strb r4, [r0]
- movs r0, 0
- ldrsb r0, [r5, r0]
- lsls r0, 2
- adds r0, r2
- ldr r1, _080BEBC0
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0]
- movs r0, 0
- ldrsb r0, [r5, r0]
- lsls r0, 2
- adds r0, r2
- ldr r1, _080BEBC4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_080BEBA6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BEBAC: .4byte 0x00000804
-_080BEBB0: .4byte gSaveBlock1 + 0x2ABC
-_080BEBB4: .4byte gUnknown_03005D38
-_080BEBB8: .4byte 0x0000028f
-_080BEBBC: .4byte 0xffffd544
-_080BEBC0: .4byte 0x00002abe
-_080BEBC4: .4byte 0x00002abd
- thumb_func_end sub_80BEB20
-
- thumb_func_start sub_80BEBC8
-sub_80BEBC8: @ 80BEBC8
- push {lr}
- adds r2, r0, 0
- movs r1, 0
-_080BEBCE:
- lsls r0, r1, 24
- asrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BEBE0
- adds r0, r1, 0
- b _080BEBF0
-_080BEBE0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- asrs r0, 24
- cmp r0, 0xF
- ble _080BEBCE
- movs r0, 0x1
- negs r0, r0
-_080BEBF0:
- pop {r1}
- bx r1
- thumb_func_end sub_80BEBC8
-
- thumb_func_start sub_80BEBF4
-sub_80BEBF4: @ 80BEBF4
- push {r4,lr}
- movs r4, 0
-_080BEBF8:
- adds r0, r4, 0
- bl sub_80BEC10
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _080BEBF8
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80BEBF4
-
- thumb_func_start sub_80BEC10
-sub_80BEC10: @ 80BEC10
- lsls r0, 24
- ldr r1, _080BEC30
- lsrs r0, 22
- adds r0, r1
- ldr r2, _080BEC34
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r3, _080BEC38
- adds r1, r0, r3
- strb r2, [r1]
- ldr r1, _080BEC3C
- adds r0, r1
- strh r2, [r0]
- bx lr
- .align 2, 0
-_080BEC30: .4byte gSaveBlock1
-_080BEC34: .4byte 0x00002abc
-_080BEC38: .4byte 0x00002abd
-_080BEC3C: .4byte 0x00002abe
- thumb_func_end sub_80BEC10
-
- thumb_func_start sub_80BEC40
-sub_80BEC40: @ 80BEC40
- push {r4-r7,lr}
- movs r1, 0
- ldr r6, _080BEC80
-_080BEC46:
- ldr r3, _080BEC80
- lsls r2, r1, 2
- adds r0, r2, r3
- ldr r4, _080BEC84
- adds r0, r4
- ldrb r0, [r0]
- adds r5, r1, 0x1
- cmp r0, 0
- bne _080BEC92
- lsls r0, r5, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bhi _080BEC92
- adds r4, r3, r4
- adds r3, r2, r4
-_080BEC64:
- lsls r2, r1, 2
- adds r0, r2, r6
- ldr r7, _080BEC84
- adds r0, r7
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BEC88
- adds r0, r2, r4
- ldr r0, [r0]
- str r0, [r3]
- adds r0, r1, 0
- bl sub_80BEC10
- b _080BEC92
- .align 2, 0
-_080BEC80: .4byte gSaveBlock1
-_080BEC84: .4byte 0x00002abc
-_080BEC88:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _080BEC64
-_080BEC92:
- lsls r0, r5, 24
- lsrs r1, r0, 24
- cmp r1, 0xE
- bls _080BEC46
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BEC40
-
- thumb_func_start sub_80BECA0
-sub_80BECA0: @ 80BECA0
- push {r4,lr}
- movs r2, 0
- ldr r3, _080BECCC
-_080BECA6:
- lsls r0, r2, 2
- adds r1, r0, r3
- ldr r4, _080BECD0
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080BECD4
- adds r4, 0x1
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080BECD4
- adds r4, 0x1
- adds r0, r1, r4
- ldrh r0, [r0]
- cmp r0, 0x2
- bhi _080BECD4
- adds r0, r2, 0
- b _080BECE0
- .align 2, 0
-_080BECCC: .4byte gSaveBlock1
-_080BECD0: .4byte 0x00002abc
-_080BECD4:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _080BECA6
- movs r0, 0xFF
-_080BECE0:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BECA0
-
- thumb_func_start sub_80BECE8
-sub_80BECE8: @ 80BECE8
- push {r4,lr}
- bl sub_80BECA0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xFF
- bne _080BED00
- ldr r1, _080BECFC
- movs r0, 0
- b _080BED86
- .align 2, 0
-_080BECFC: .4byte gScriptResult
-_080BED00:
- ldr r0, _080BED2C
- lsls r1, 2
- adds r4, r1, r0
- ldr r0, _080BED30
- adds r1, r4, r0
- ldrh r0, [r1]
- cmp r0, 0
- bne _080BED5C
- ldr r2, _080BED34
- adds r1, r4, r2
- movs r0, 0x2
- strb r0, [r1]
- ldr r0, _080BED38
- ldrb r0, [r0, 0x2]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x13
- bgt _080BED40
- ldr r1, _080BED3C
- subs r2, 0x1
- b _080BED44
- .align 2, 0
-_080BED2C: .4byte gSaveBlock1
-_080BED30: .4byte 0x00002abe
-_080BED34: .4byte 0x00002abd
-_080BED38: .4byte gLocalTime
-_080BED3C: .4byte gUnknown_083D1444
-_080BED40:
- ldr r1, _080BED54
- ldr r2, _080BED58
-_080BED44:
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl ShowFieldMessage
- b _080BED82
- .align 2, 0
-_080BED54: .4byte gUnknown_083D1454
-_080BED58: .4byte 0x00002abc
-_080BED5C:
- ldrh r1, [r1]
- ldr r0, _080BED90
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- ldr r0, _080BED94
- adds r1, r4, r0
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080BED98
- ldr r2, _080BED9C
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl ShowFieldMessage
-_080BED82:
- ldr r1, _080BEDA0
- movs r0, 0x1
-_080BED86:
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BED90: .4byte gStringVar1
-_080BED94: .4byte 0x00002abd
-_080BED98: .4byte gUnknown_083D1434
-_080BED9C: .4byte 0x00002abc
-_080BEDA0: .4byte gScriptResult
- thumb_func_end sub_80BECE8
-
- thumb_func_start GetPriceReduction
-GetPriceReduction: @ 80BEDA4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- bne _080BEDB4
- b _080BEDF6
-_080BEDB0:
- movs r0, 0x1
- b _080BEDF8
-_080BEDB4:
- movs r2, 0
- ldr r4, _080BEDE0
-_080BEDB8:
- lsls r0, r2, 2
- adds r1, r0, r4
- ldr r5, _080BEDE4
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, r3
- bne _080BEDEC
- ldr r2, _080BEDE8
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080BEDF6
- adds r0, r3, 0
- bl IsPriceDiscounted
- lsls r0, 24
- cmp r0, 0
- bne _080BEDB0
- b _080BEDF6
- .align 2, 0
-_080BEDE0: .4byte gSaveBlock1
-_080BEDE4: .4byte 0x00002abc
-_080BEDE8: .4byte 0x00002abd
-_080BEDEC:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _080BEDB8
-_080BEDF6:
- movs r0, 0
-_080BEDF8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end GetPriceReduction
-
- thumb_func_start IsPriceDiscounted
-IsPriceDiscounted: @ 80BEE00
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BEE12
- cmp r0, 0x3
- beq _080BEE30
-_080BEE0E:
- movs r0, 0x1
- b _080BEE3C
-_080BEE12:
- ldr r0, _080BEE28
- ldrh r1, [r0, 0x4]
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bne _080BEE3A
- ldr r0, _080BEE2C
- ldrh r0, [r0]
- cmp r0, 0x1A
- beq _080BEE0E
- b _080BEE3A
- .align 2, 0
-_080BEE28: .4byte gSaveBlock1
-_080BEE2C: .4byte gUnknown_0202E8DE
-_080BEE30:
- ldr r0, _080BEE40
- ldrh r1, [r0, 0x4]
- ldr r0, _080BEE44
- cmp r1, r0
- beq _080BEE0E
-_080BEE3A:
- movs r0, 0
-_080BEE3C:
- pop {r1}
- bx r1
- .align 2, 0
-_080BEE40: .4byte gSaveBlock1
-_080BEE44: .4byte 0x0000160d
- thumb_func_end IsPriceDiscounted
-
- thumb_func_start sub_80BEE48
-sub_80BEE48: @ 80BEE48
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080BEE56
-_080BEE52:
- movs r0, 0x1
- b _080BEE74
-_080BEE56:
- movs r1, 0
- ldr r4, _080BEE7C
- ldr r3, _080BEE80
-_080BEE5C:
- lsls r0, r1, 2
- adds r0, r4
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, r2
- beq _080BEE52
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _080BEE5C
- movs r0, 0
-_080BEE74:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080BEE7C: .4byte gSaveBlock1
-_080BEE80: .4byte 0x00002abc
- thumb_func_end sub_80BEE48
-
- thumb_func_start sub_80BEE84
-sub_80BEE84: @ 80BEE84
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 16
- lsrs r7, r0, 16
- movs r5, 0
- ldr r0, _080BEEB8
- mov r8, r0
-_080BEE94:
- lsls r0, r5, 2
- mov r1, r8
- adds r2, r0, r1
- ldr r3, _080BEEBC
- adds r1, r2, r3
- ldrb r1, [r1]
- adds r6, r0, 0
- cmp r1, 0
- beq _080BEEEC
- ldr r1, _080BEEC0
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, r7
- bcs _080BEEC4
- adds r0, r5, 0
- bl sub_80BEC10
- b _080BEEEC
- .align 2, 0
-_080BEEB8: .4byte gSaveBlock1
-_080BEEBC: .4byte 0x00002abc
-_080BEEC0: .4byte 0x00002abe
-_080BEEC4:
- ldr r3, _080BEF04
- adds r4, r2, r3
- ldrb r0, [r4]
- cmp r0, 0
- bne _080BEEDE
- ldr r0, _080BEF08
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080BEEDE
- strb r0, [r4]
-_080BEEDE:
- mov r0, r8
- adds r1, r6, r0
- ldr r3, _080BEF0C
- adds r1, r3
- ldrh r0, [r1]
- subs r0, r7
- strh r0, [r1]
-_080BEEEC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _080BEE94
- bl sub_80BEC40
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BEF04: .4byte 0x00002abd
-_080BEF08: .4byte 0x00000804
-_080BEF0C: .4byte 0x00002abe
- thumb_func_end sub_80BEE84
-
- thumb_func_start sub_80BEF10
-sub_80BEF10: @ 80BEF10
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r1, 0x1
- beq _080BEF50
- cmp r1, 0x1
- bgt _080BEF2A
- cmp r1, 0
- beq _080BEF34
- b _080BEF98
-_080BEF2A:
- cmp r2, 0x2
- beq _080BEF6C
- cmp r2, 0x3
- beq _080BEF88
- b _080BEF98
-_080BEF34:
- ldr r1, _080BEF48
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080BEF4C
- ldr r1, [r1, 0x14]
- bl StringCopy
- b _080BEF98
- .align 2, 0
-_080BEF48: .4byte gUnknown_083D1464
-_080BEF4C: .4byte gUnknown_083CE048
-_080BEF50:
- ldr r1, _080BEF64
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080BEF68
- ldr r1, [r1, 0x18]
- bl StringCopy
- b _080BEF98
- .align 2, 0
-_080BEF64: .4byte gUnknown_083D1464
-_080BEF68: .4byte gUnknown_083CE048
-_080BEF6C:
- ldr r1, _080BEF80
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080BEF84
- ldr r1, [r1, 0x1C]
- bl StringCopy
- b _080BEF98
- .align 2, 0
-_080BEF80: .4byte gUnknown_083D1464
-_080BEF84: .4byte gUnknown_083CE048
-_080BEF88:
- ldr r1, _080BEF9C
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080BEFA0
- ldr r1, [r1, 0x20]
- bl StringCopy
-_080BEF98:
- pop {r0}
- bx r0
- .align 2, 0
-_080BEF9C: .4byte gUnknown_083D1464
-_080BEFA0: .4byte gUnknown_083CE048
- thumb_func_end sub_80BEF10
-
- thumb_func_start CopyContestCategoryToStringVar
-CopyContestCategoryToStringVar: @ 80BEFA4
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r0, r1, 24
- cmp r0, 0x4
- bhi _080BF054
- lsls r0, 2
- ldr r1, _080BEFBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BEFBC: .4byte _080BEFC0
- .align 2, 0
-_080BEFC0:
- .4byte _080BEFD4
- .4byte _080BEFF0
- .4byte _080BF00C
- .4byte _080BF028
- .4byte _080BF044
-_080BEFD4:
- ldr r1, _080BEFE8
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080BEFEC
- ldr r1, [r1]
- bl StringCopy
- b _080BF054
- .align 2, 0
-_080BEFE8: .4byte gUnknown_083D1464
-_080BEFEC: .4byte gUnknown_083CE048
-_080BEFF0:
- ldr r1, _080BF004
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080BF008
- ldr r1, [r1, 0x4]
- bl StringCopy
- b _080BF054
- .align 2, 0
-_080BF004: .4byte gUnknown_083D1464
-_080BF008: .4byte gUnknown_083CE048
-_080BF00C:
- ldr r1, _080BF020
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080BF024
- ldr r1, [r1, 0x8]
- bl StringCopy
- b _080BF054
- .align 2, 0
-_080BF020: .4byte gUnknown_083D1464
-_080BF024: .4byte gUnknown_083CE048
-_080BF028:
- ldr r1, _080BF03C
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080BF040
- ldr r1, [r1, 0xC]
- bl StringCopy
- b _080BF054
- .align 2, 0
-_080BF03C: .4byte gUnknown_083D1464
-_080BF040: .4byte gUnknown_083CE048
-_080BF044:
- ldr r1, _080BF058
- lsls r0, r2, 2
- adds r0, r1
- ldr r0, [r0]
- ldr r1, _080BF05C
- ldr r1, [r1, 0x10]
- bl StringCopy
-_080BF054:
- pop {r0}
- bx r0
- .align 2, 0
-_080BF058: .4byte gUnknown_083D1464
-_080BF05C: .4byte gUnknown_083CE048
- thumb_func_end CopyContestCategoryToStringVar
-
- thumb_func_start SetContestCategoryStringVarForInterview
-SetContestCategoryStringVarForInterview: @ 80BF060
- push {lr}
- ldr r0, _080BF080
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BF084
- adds r0, r1
- ldrb r1, [r0, 0x13]
- lsls r1, 29
- lsrs r1, 29
- movs r0, 0x1
- bl CopyContestCategoryToStringVar
- pop {r0}
- bx r0
- .align 2, 0
-_080BF080: .4byte gUnknown_0202E8CC
-_080BF084: .4byte gSaveBlock1 + 0x2738
- thumb_func_end SetContestCategoryStringVarForInterview
-
- thumb_func_start sub_80BF088
-sub_80BF088: @ 80BF088
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- bl sub_80BF0B8
- adds r3, r0, 0
- ldr r0, _080BF0B4
- lsls r4, 2
- adds r4, r0
- ldr r0, [r4]
- lsls r3, 24
- lsrs r3, 24
- adds r1, r5, 0
- movs r2, 0
- bl ConvertIntToDecimalStringN
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080BF0B4: .4byte gUnknown_083D1464
- thumb_func_end sub_80BF088
-
- thumb_func_start sub_80BF0B8
-sub_80BF0B8: @ 80BF0B8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0xA
- bl __divsi3
- cmp r0, 0
- beq _080BF144
- adds r0, r4, 0
- movs r1, 0x64
- bl __divsi3
- cmp r0, 0
- bne _080BF0D6
- movs r0, 0x2
- b _080BF14E
-_080BF0D6:
- movs r1, 0xFA
- lsls r1, 2
- adds r0, r4, 0
- bl __divsi3
- cmp r0, 0
- bne _080BF0E8
- movs r0, 0x3
- b _080BF14E
-_080BF0E8:
- ldr r1, _080BF0F8
- adds r0, r4, 0
- bl __divsi3
- cmp r0, 0
- bne _080BF0FC
- movs r0, 0x4
- b _080BF14E
- .align 2, 0
-_080BF0F8: .4byte 0x00002710
-_080BF0FC:
- ldr r1, _080BF10C
- adds r0, r4, 0
- bl __divsi3
- cmp r0, 0
- bne _080BF110
- movs r0, 0x5
- b _080BF14E
- .align 2, 0
-_080BF10C: .4byte 0x000186a0
-_080BF110:
- ldr r1, _080BF120
- adds r0, r4, 0
- bl __divsi3
- cmp r0, 0
- bne _080BF124
- movs r0, 0x6
- b _080BF14E
- .align 2, 0
-_080BF120: .4byte 0x000f4240
-_080BF124:
- ldr r1, _080BF134
- adds r0, r4, 0
- bl __divsi3
- cmp r0, 0
- bne _080BF138
- movs r0, 0x7
- b _080BF14E
- .align 2, 0
-_080BF134: .4byte 0x00989680
-_080BF138:
- ldr r1, _080BF148
- adds r0, r4, 0
- bl __divsi3
- cmp r0, 0
- beq _080BF14C
-_080BF144:
- movs r0, 0x1
- b _080BF14E
- .align 2, 0
-_080BF148: .4byte 0x05f5e100
-_080BF14C:
- movs r0, 0x8
-_080BF14E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BF0B8
-
- thumb_func_start sub_80BF154
-sub_80BF154: @ 80BF154
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r7, 0
- movs r5, 0
-_080BF166:
- lsls r4, r5, 1
- adds r0, r6, 0x6
- adds r1, r0, r4
- ldrh r0, [r1]
- cmp r0, 0
- beq _080BF186
- bl itemid_get_market_price
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- adds r1, 0xC
- adds r1, r4
- ldrh r1, [r1]
- muls r0, r1
- adds r7, r0
-_080BF186:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080BF166
- ldrb r0, [r6, 0x2]
- cmp r0, 0x1
- bne _080BF1A0
- asrs r1, r7, 1
- mov r0, r8
- bl sub_80BF088
- b _080BF1A8
-_080BF1A0:
- mov r0, r8
- adds r1, r7, 0
- bl sub_80BF088
-_080BF1A8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BF154
-
- thumb_func_start sub_80BF1B4
-sub_80BF1B4: @ 80BF1B4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r7, _080BF1F4
- bl sub_80BFB94
- adds r5, r0, 0
- movs r4, 0x5
-_080BF1C4:
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r1, r0, r7
- ldrb r0, [r1]
- cmp r0, r6
- bne _080BF1F8
- movs r3, 0xFF
- adds r0, r5, 0
- ands r0, r3
- adds r2, r1, 0
- adds r2, 0x22
- ldrb r2, [r2]
- cmp r0, r2
- bne _080BF1F8
- lsrs r0, r5, 8
- ands r0, r3
- adds r1, 0x23
- ldrb r1, [r1]
- cmp r0, r1
- bne _080BF1F8
- movs r0, 0x1
- b _080BF204
- .align 2, 0
-_080BF1F4: .4byte gSaveBlock1 + 0x2738
-_080BF1F8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x17
- bls _080BF1C4
- movs r0, 0
-_080BF204:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80BF1B4
-
- thumb_func_start sub_80BF20C
-sub_80BF20C: @ 80BF20C
- push {r4-r7,lr}
- movs r2, 0
-_080BF210:
- adds r1, r2, 0x1
- lsls r0, r1, 24
- lsrs r5, r0, 24
- adds r7, r1, 0
- cmp r5, 0x2
- bhi _080BF248
- ldr r6, _080BF258
- lsls r0, r2, 2
- adds r4, r0, r6
-_080BF222:
- lsls r0, r5, 2
- adds r3, r0, r6
- ldrh r0, [r4, 0x2]
- ldrh r1, [r3, 0x2]
- cmp r0, r1
- bcs _080BF23E
- ldrh r1, [r4]
- adds r2, r0, 0
- ldrh r0, [r3]
- strh r0, [r4]
- ldrh r0, [r3, 0x2]
- strh r0, [r4, 0x2]
- strh r1, [r3]
- strh r2, [r3, 0x2]
-_080BF23E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _080BF222
-_080BF248:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- cmp r2, 0x1
- bls _080BF210
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BF258: .4byte gUnknown_02038724
- thumb_func_end sub_80BF20C
-
- thumb_func_start sub_80BF25C
-sub_80BF25C: @ 80BF25C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0
- ldr r3, _080BF28C
- ldr r0, _080BF290
- adds r4, r3, r0
-_080BF26A:
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r3
- ldr r6, _080BF290
- adds r0, r2, r6
- ldrb r0, [r0]
- cmp r0, r5
- bne _080BF2AE
- ldr r3, _080BF294
- adds r0, r2, r3
- ldrb r2, [r0]
- cmp r2, 0x1
- bne _080BF29C
- ldr r0, _080BF298
- strh r2, [r0]
- b _080BF2BC
- .align 2, 0
-_080BF28C: .4byte gSaveBlock1
-_080BF290: .4byte 0x00002738
-_080BF294: .4byte 0x00002739
-_080BF298: .4byte gScriptResult
-_080BF29C:
- adds r0, r4, 0
- bl sub_80BF55C
- adds r0, r4, 0
- bl sub_80BF588
- bl sub_80BF6D8
- b _080BF2BC
-_080BF2AE:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _080BF26A
- bl sub_80BF6D8
-_080BF2BC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80BF25C
-
- thumb_func_start sub_80BF2C4
-sub_80BF2C4: @ 80BF2C4
- push {lr}
- ldr r1, _080BF2E0
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080BF2E4
- ldrh r0, [r0]
- subs r0, 0x1
- cmp r0, 0x6
- bhi _080BF330
- lsls r0, 2
- ldr r1, _080BF2E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080BF2E0: .4byte gScriptResult
-_080BF2E4: .4byte gUnknown_0202E8CE
-_080BF2E8: .4byte _080BF2EC
- .align 2, 0
-_080BF2EC:
- .4byte _080BF308
- .4byte _080BF30E
- .4byte _080BF314
- .4byte _080BF31A
- .4byte _080BF320
- .4byte _080BF326
- .4byte _080BF32C
-_080BF308:
- bl sub_80BF334
- b _080BF330
-_080BF30E:
- bl sub_80BF3A4
- b _080BF330
-_080BF314:
- bl sub_80BF3DC
- b _080BF330
-_080BF31A:
- bl sub_80BF46C
- b _080BF330
-_080BF320:
- bl sub_80BF478
- b _080BF330
-_080BF326:
- bl sub_80BF484
- b _080BF330
-_080BF32C:
- bl sub_80BF4BC
-_080BF330:
- pop {r0}
- bx r0
- thumb_func_end sub_80BF2C4
-
- thumb_func_start sub_80BF334
-sub_80BF334: @ 80BF334
- push {r4,lr}
- movs r0, 0x1
- bl sub_80BF25C
- ldr r0, _080BF38C
- ldrh r0, [r0]
- cmp r0, 0
- bne _080BF384
- ldr r4, _080BF390
- bl sub_810F87C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _080BF394
- adds r0, r1
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- movs r1, 0xB
- muls r1, r0
- ldr r0, _080BF398
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- ldr r0, _080BF39C
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BF3A0
- adds r0, r1
- adds r0, 0x4
- movs r1, 0x6
- bl sub_80EB6FC
-_080BF384:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BF38C: .4byte gScriptResult
-_080BF390: .4byte gStringVar1
-_080BF394: .4byte gPlayerParty
-_080BF398: .4byte gSpeciesNames
-_080BF39C: .4byte gUnknown_03005D38
-_080BF3A0: .4byte gSaveBlock1 + 0x2738
- thumb_func_end sub_80BF334
-
- thumb_func_start sub_80BF3A4
-sub_80BF3A4: @ 80BF3A4
- push {lr}
- movs r0, 0x2
- bl sub_80BF25C
- ldr r0, _080BF3D0
- ldrh r0, [r0]
- cmp r0, 0
- bne _080BF3CC
- ldr r0, _080BF3D4
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BF3D8
- adds r0, r1
- adds r0, 0x4
- movs r1, 0x6
- bl sub_80EB6FC
-_080BF3CC:
- pop {r0}
- bx r0
- .align 2, 0
-_080BF3D0: .4byte gScriptResult
-_080BF3D4: .4byte gUnknown_03005D38
-_080BF3D8: .4byte gSaveBlock1 + 0x2738
- thumb_func_end sub_80BF3A4
-
- thumb_func_start sub_80BF3DC
-sub_80BF3DC: @ 80BF3DC
- push {r4-r6,lr}
- movs r0, 0x3
- bl sub_80BF25C
- ldr r0, _080BF450
- ldrh r0, [r0]
- cmp r0, 0
- bne _080BF448
- ldr r6, _080BF454
- bl sub_810F87C
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0x64
- muls r0, r5
- ldr r4, _080BF458
- adds r0, r4
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- movs r1, 0xB
- muls r1, r0
- ldr r0, _080BF45C
- adds r1, r0
- adds r0, r6, 0
- bl StringCopy
- bl sub_810F87C
- lsls r0, 24
- lsrs r0, 24
- muls r0, r5
- adds r0, r4
- ldr r4, _080BF460
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- adds r0, r4, 0
- bl StringGetEnd10
- ldr r0, _080BF464
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BF468
- adds r0, r1
- adds r0, 0x1C
- movs r1, 0x2
- bl sub_80EB6FC
-_080BF448:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BF450: .4byte gScriptResult
-_080BF454: .4byte gStringVar1
-_080BF458: .4byte gPlayerParty
-_080BF45C: .4byte gSpeciesNames
-_080BF460: .4byte gStringVar2
-_080BF464: .4byte gUnknown_03005D38
-_080BF468: .4byte gSaveBlock1 + 0x2738
- thumb_func_end sub_80BF3DC
-
- thumb_func_start sub_80BF46C
-sub_80BF46C: @ 80BF46C
- ldr r1, _080BF474
- movs r0, 0x1
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080BF474: .4byte gScriptResult
- thumb_func_end sub_80BF46C
-
- thumb_func_start sub_80BF478
-sub_80BF478: @ 80BF478
- push {lr}
- movs r0, 0x5
- bl sub_80BF25C
- pop {r0}
- bx r0
- thumb_func_end sub_80BF478
-
- thumb_func_start sub_80BF484
-sub_80BF484: @ 80BF484
- push {lr}
- movs r0, 0x6
- bl sub_80BF25C
- ldr r0, _080BF4B0
- ldrh r0, [r0]
- cmp r0, 0
- bne _080BF4AC
- ldr r0, _080BF4B4
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BF4B8
- adds r0, r1
- adds r0, 0x4
- movs r1, 0x2
- bl sub_80EB6FC
-_080BF4AC:
- pop {r0}
- bx r0
- .align 2, 0
-_080BF4B0: .4byte gScriptResult
-_080BF4B4: .4byte gUnknown_03005D38
-_080BF4B8: .4byte gSaveBlock1 + 0x2738
- thumb_func_end sub_80BF484
-
- thumb_func_start sub_80BF4BC
-sub_80BF4BC: @ 80BF4BC
- push {lr}
- movs r0, 0x7
- bl sub_80BF25C
- ldr r0, _080BF4E8
- ldrh r0, [r0]
- cmp r0, 0
- bne _080BF4E4
- ldr r0, _080BF4EC
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080BF4F0
- adds r0, r1
- adds r0, 0x18
- movs r1, 0x1
- bl sub_80EB6FC
-_080BF4E4:
- pop {r0}
- bx r0
- .align 2, 0
-_080BF4E8: .4byte gScriptResult
-_080BF4EC: .4byte gUnknown_03005D38
-_080BF4F0: .4byte gSaveBlock1 + 0x2738
- thumb_func_end sub_80BF4BC
-
- thumb_func_start sub_80BF4F4
-sub_80BF4F4: @ 80BF4F4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- adds r4, r0, 0
- muls r4, r1
- ldr r0, _080BF530
- adds r4, r0
- ldr r5, _080BF534
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r5, 0
- bl GetMonData
- adds r0, r4, 0
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- movs r1, 0xB
- muls r0, r1
- ldr r1, _080BF538
- adds r0, r1
- adds r1, r5, 0
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- beq _080BF53C
- movs r0, 0x1
- b _080BF53E
- .align 2, 0
-_080BF530: .4byte gPlayerParty
-_080BF534: .4byte gStringVar1
-_080BF538: .4byte gSpeciesNames
-_080BF53C:
- movs r0, 0
-_080BF53E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80BF4F4
-
- thumb_func_start sub_80BF544
-sub_80BF544: @ 80BF544
- push {lr}
- bl sub_810F87C
- lsls r0, 24
- lsrs r0, 24
- bl sub_80BF4F4
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80BF544
-
- thumb_func_start sub_80BF55C
-sub_80BF55C: @ 80BF55C
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- lsls r2, r1, 3
- adds r2, r1
- lsls r2, 2
- adds r2, r0
- movs r0, 0
- strb r0, [r2]
- strb r0, [r2, 0x1]
- movs r1, 0
- adds r2, 0x2
- movs r3, 0
-_080BF576:
- adds r0, r2, r1
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x21
- bls _080BF576
- pop {r0}
- bx r0
- thumb_func_end sub_80BF55C
-
- thumb_func_start sub_80BF588
-sub_80BF588: @ 80BF588
- push {r4-r7,lr}
- adds r4, r0, 0
- movs r5, 0
-_080BF58E:
- lsls r0, r5, 3
- adds r0, r5
- lsls r1, r0, 2
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BF5D2
- adds r0, r5, 0x1
- b _080BF5CA
-_080BF5A0:
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r4
- ldrb r0, [r3]
- cmp r0, 0
- beq _080BF5C8
- adds r1, r4
- adds r0, r3, 0
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80BF55C
- b _080BF5D2
-_080BF5C8:
- adds r0, r2, 0x1
-_080BF5CA:
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x4
- bls _080BF5A0
-_080BF5D2:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080BF58E
- movs r5, 0x5
-_080BF5DE:
- lsls r0, r5, 3
- adds r0, r5
- lsls r1, r0, 2
- adds r0, r1, r4
- ldrb r0, [r0]
- adds r5, 0x1
- cmp r0, 0
- bne _080BF62A
- lsls r0, r5, 24
- b _080BF624
-_080BF5F2:
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r4
- ldrb r0, [r3]
- cmp r0, 0
- beq _080BF620
- adds r1, r4
- adds r0, r3, 0
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldr r0, _080BF61C
- adds r1, r2, 0
- bl sub_80BF55C
- b _080BF62A
- .align 2, 0
-_080BF61C: .4byte gSaveBlock1 + 0x2738
-_080BF620:
- adds r0, r2, 0x1
- lsls r0, 24
-_080BF624:
- lsrs r2, r0, 24
- cmp r2, 0x17
- bls _080BF5F2
-_080BF62A:
- lsls r0, r5, 24
- lsrs r5, r0, 24
- cmp r5, 0x17
- bls _080BF5DE
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BF588
-
- thumb_func_start sub_80BF638
-sub_80BF638: @ 80BF638
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 16
- lsrs r0, 16
- bl sub_80BF674
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- ldr r0, _080BF66C
- lsls r4, 2
- adds r4, r0
- ldr r0, [r4]
- movs r1, 0xB
- muls r1, r5
- ldr r2, _080BF670
- adds r1, r2
- bl StringCopy
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080BF66C: .4byte gUnknown_083D1464
-_080BF670: .4byte gSpeciesNames
- thumb_func_end sub_80BF638
-
- thumb_func_start sub_80BF674
-sub_80BF674: @ 80BF674
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _080BF694
- bl __umodsi3
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r6, r4, 0
- b _080BF6B2
- .align 2, 0
-_080BF694: .4byte 0x0000019b
-_080BF698:
- cmp r4, 0x1
- bne _080BF6A4
- ldr r4, _080BF6A0
- b _080BF6AA
- .align 2, 0
-_080BF6A0: .4byte 0x0000019b
-_080BF6A4:
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080BF6AA:
- cmp r4, r6
- bne _080BF6B2
- adds r4, r5, 0
- b _080BF6CE
-_080BF6B2:
- adds r0, r4, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_8090D90
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- bne _080BF698
- cmp r4, r5
- beq _080BF698
-_080BF6CE:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80BF674
-
- thumb_func_start sub_80BF6D8
-sub_80BF6D8: @ 80BF6D8
- push {lr}
- ldr r0, _080BF700
- bl sub_80BF720
- ldr r1, _080BF704
- strb r0, [r1]
- ldr r2, _080BF708
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- strh r1, [r2]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080BF710
- ldr r1, _080BF70C
- movs r0, 0x1
- b _080BF714
- .align 2, 0
-_080BF700: .4byte gSaveBlock1 + 0x2738
-_080BF704: .4byte gUnknown_03005D38
-_080BF708: .4byte gUnknown_0202E8D0
-_080BF70C: .4byte gScriptResult
-_080BF710:
- ldr r1, _080BF71C
- movs r0, 0
-_080BF714:
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080BF71C: .4byte gScriptResult
- thumb_func_end sub_80BF6D8
-
- thumb_func_start sub_80BF720
-sub_80BF720: @ 80BF720
- push {lr}
- adds r2, r0, 0
- movs r1, 0
-_080BF726:
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BF73A
- lsls r0, r1, 24
- asrs r0, 24
- b _080BF748
-_080BF73A:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _080BF726
- movs r0, 0x1
- negs r0, r0
-_080BF748:
- pop {r1}
- bx r1
- thumb_func_end sub_80BF720
-
- thumb_func_start sub_80BF74C
-sub_80BF74C: @ 80BF74C
- push {lr}
- adds r2, r0, 0
- movs r1, 0x5
-_080BF752:
- lsls r0, r1, 24
- asrs r1, r0, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080BF768
- adds r0, r1, 0
- b _080BF778
-_080BF768:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- asrs r0, 24
- cmp r0, 0x17
- ble _080BF752
- movs r0, 0x1
- negs r0, r0
-_080BF778:
- pop {r1}
- bx r1
- thumb_func_end sub_80BF74C
-
- thumb_func_start sub_80BF77C
-sub_80BF77C: @ 80BF77C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r4
- bls _080BF794
- movs r0, 0x1
- b _080BF796
-_080BF794:
- movs r0, 0
-_080BF796:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BF77C
-
- thumb_func_start sub_80BF79C
-sub_80BF79C: @ 80BF79C
- push {r4-r6,lr}
- adds r4, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r2, r0, 24
- adds r5, r4, 0x4
- ldr r6, _080BF7B8
- b _080BF7C2
- .align 2, 0
-_080BF7B8: .4byte 0x0000ffff
-_080BF7BC:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_080BF7C2:
- cmp r2, 0x6
- bne _080BF7C8
- movs r2, 0
-_080BF7C8:
- lsls r1, r2, 1
- adds r0, r5, r1
- ldrh r0, [r0]
- adds r3, r4, 0x4
- cmp r0, r6
- beq _080BF7BC
- ldr r0, _080BF7E4
- adds r1, r3, r1
- ldrh r1, [r1]
- bl sub_80EB3FC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BF7E4: .4byte gStringVar3
- thumb_func_end sub_80BF79C
-
- thumb_func_start sub_80BF7E8
-sub_80BF7E8: @ 80BF7E8
- push {lr}
- adds r2, r0, 0
- movs r3, 0
- movs r1, 0
- ldrb r0, [r2, 0x4]
- cmp r0, 0xFF
- beq _080BF814
- adds r2, 0x4
-_080BF7F8:
- adds r0, r2, r1
- ldrb r0, [r0]
- adds r0, r3, r0
- lsls r0, 16
- lsrs r3, r0, 16
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xA
- bhi _080BF814
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080BF7F8
-_080BF814:
- movs r0, 0x7
- ands r3, r0
- adds r0, r3, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80BF7E8
-
- thumb_func_start sub_80BF820
-sub_80BF820: @ 80BF820
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r4, [sp, 0x1C]
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r6, r2, 24
- lsls r3, 16
- lsrs r3, 16
- lsls r4, 16
- lsrs r4, 16
- movs r2, 0
- movs r7, 0xFF
-_080BF844:
- mov r1, sp
- adds r0, r1, r2
- ldrb r1, [r0]
- orrs r1, r7
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _080BF844
- cmp r3, 0
- bne _080BF8A6
- ldr r4, [sp, 0x20]
- adds r4, 0xF
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r6, 0
- bne _080BF874
- mov r0, sp
- adds r1, r4, r5
- b _080BF920
-_080BF874:
- cmp r6, 0x1
- bne _080BF880
- mov r0, sp
- subs r1, r2, r5
- adds r1, r4, r1
- b _080BF920
-_080BF880:
- cmp r6, 0x2
- bne _080BF892
- mov r1, sp
- adds r0, r4, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0x1
- adds r0, r4, r0
- b _080BF950
-_080BF892:
- mov r1, sp
- subs r0, r2, 0x2
- subs r0, r5
- adds r0, r4, r0
- ldrb r0, [r0]
- strb r0, [r1]
- subs r0, r2, 0x1
- subs r0, r5
- adds r0, r4, r0
- b _080BF950
-_080BF8A6:
- cmp r3, 0x1
- bne _080BF8F4
- ldr r4, [sp, 0x20]
- adds r4, 0x4
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r6, 0
- bne _080BF8C2
- mov r0, sp
- adds r1, r4, r5
- b _080BF920
-_080BF8C2:
- cmp r6, 0x1
- bne _080BF8CE
- mov r0, sp
- subs r1, r2, r5
- adds r1, r4, r1
- b _080BF920
-_080BF8CE:
- cmp r6, 0x2
- bne _080BF8E0
- mov r1, sp
- adds r0, r4, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0x1
- adds r0, r4, r0
- b _080BF950
-_080BF8E0:
- mov r1, sp
- subs r0, r2, 0x2
- subs r0, r5
- adds r0, r4, r0
- ldrb r0, [r0]
- strb r0, [r1]
- subs r0, r2, 0x1
- subs r0, r5
- adds r0, r4, r0
- b _080BF950
-_080BF8F4:
- movs r0, 0xB
- muls r4, r0
- ldr r7, _080BF910
- adds r0, r4, r7
- bl StringLength
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r6, 0
- bne _080BF914
- mov r0, sp
- adds r1, r5, r4
- b _080BF91E
- .align 2, 0
-_080BF910: .4byte gSpeciesNames
-_080BF914:
- cmp r6, 0x1
- bne _080BF926
- mov r0, sp
- subs r1, r2, r5
- adds r1, r4
-_080BF91E:
- adds r1, r7
-_080BF920:
- ldrb r1, [r1]
- strb r1, [r0]
- b _080BF954
-_080BF926:
- cmp r6, 0x2
- bne _080BF93A
- mov r1, sp
- adds r0, r5, r4
- adds r0, r7
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- adds r0, r5, r0
- b _080BF94E
-_080BF93A:
- mov r1, sp
- subs r0, r2, 0x2
- subs r0, r5
- adds r0, r4
- adds r0, r7
- ldrb r0, [r0]
- strb r0, [r1]
- subs r0, r2, 0x1
- subs r0, r5
- adds r0, r4
-_080BF94E:
- adds r0, r7
-_080BF950:
- ldrb r0, [r0]
- strb r0, [r1, 0x1]
-_080BF954:
- ldr r0, _080BF970
- mov r2, r8
- lsls r1, r2, 2
- adds r1, r0
- ldr r0, [r1]
- mov r1, sp
- bl StringCopy
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BF970: .4byte gUnknown_083D1464
- thumb_func_end sub_80BF820
-
- thumb_func_start sub_80BF974
-sub_80BF974: @ 80BF974
- push {r4,lr}
- movs r1, 0
- ldr r4, _080BF994
- ldr r0, _080BF998
- ldrh r2, [r0]
- ldr r3, _080BF99C
-_080BF980:
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _080BF9A0
- movs r0, 0x1
- b _080BF9AC
- .align 2, 0
-_080BF994: .4byte gSaveBlock1
-_080BF998: .4byte gUnknown_0202E8CC
-_080BF99C: .4byte 0x00002738
-_080BF9A0:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _080BF980
- movs r0, 0
-_080BF9AC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BF974
-
- thumb_func_start sub_80BF9B4
-sub_80BF9B4: @ 80BF9B4
- push {r4,lr}
- ldr r0, _080BF9E0
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BF9E4
- adds r0, r1
- ldr r4, _080BF9E8
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- ldr r0, _080BF9EC
- adds r1, r4, 0
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- beq _080BF9F0
- bl sub_80BE478
- movs r0, 0x1
- b _080BF9F2
- .align 2, 0
-_080BF9E0: .4byte gUnknown_0202E8CC
-_080BF9E4: .4byte gPlayerParty
-_080BF9E8: .4byte gStringVar1
-_080BF9EC: .4byte gStringVar3
-_080BF9F0:
- movs r0, 0
-_080BF9F2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80BF9B4
-
- thumb_func_start sub_80BF9F8
-sub_80BF9F8: @ 80BF9F8
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x8
- ldr r0, _080BFAA0
- mov r9, r0
- ldrh r0, [r0]
- movs r1, 0x64
- mov r8, r1
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- ldr r6, _080BFAA4
- adds r0, r6
- ldr r2, _080BFAA8
- movs r1, 0x2
- bl GetMonData
- mov r1, r9
- ldrh r0, [r1]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- ldr r1, _080BFAAC
- mov r10, r1
- movs r1, 0x2
- mov r2, r10
- bl GetMonData
- mov r1, r9
- ldrh r0, [r1]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- movs r1, 0xB
- movs r2, 0
- bl GetMonData
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r1, r9
- ldrh r0, [r1]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- bl GetMonGender
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r1, r9
- ldrh r0, [r1]
- mov r1, r8
- muls r1, r0
- adds r0, r1, 0
- adds r0, r6
- movs r1, 0
- movs r2, 0
- bl GetMonData
- str r0, [sp]
- ldr r0, _080BFAB0
- str r0, [sp, 0x4]
- movs r0, 0x3
- mov r1, r10
- adds r2, r5, 0
- adds r3, r4, 0
- bl DoNamingScreen
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFAA0: .4byte gUnknown_0202E8CC
-_080BFAA4: .4byte gPlayerParty
-_080BFAA8: .4byte gStringVar3
-_080BFAAC: .4byte gStringVar2
-_080BFAB0: .4byte c2_080CC144
- thumb_func_end sub_80BF9F8
-
- thumb_func_start c2_080CC144
-c2_080CC144: @ 80BFAB4
- push {lr}
- ldr r0, _080BFAD4
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BFAD8
- adds r0, r1
- ldr r2, _080BFADC
- movs r1, 0x2
- bl SetMonData
- bl c2_exit_to_overworld_1_continue_scripts_restart_music
- pop {r0}
- bx r0
- .align 2, 0
-_080BFAD4: .4byte gUnknown_0202E8CC
-_080BFAD8: .4byte gPlayerParty
-_080BFADC: .4byte gStringVar2
- thumb_func_end c2_080CC144
-
- thumb_func_start sub_80BFAE0
-sub_80BFAE0: @ 80BFAE0
- push {r4,lr}
- ldr r0, _080BFB04
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BFB08
- adds r0, r1
- ldr r4, _080BFB0C
- movs r1, 0x2
- adds r2, r4, 0
- bl GetMonData
- adds r0, r4, 0
- bl StringGetEnd10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFB04: .4byte gUnknown_0202E8CC
-_080BFB08: .4byte gPlayerParty
-_080BFB0C: .4byte gStringVar1
- thumb_func_end sub_80BFAE0
-
- thumb_func_start sub_80BFB10
-sub_80BFB10: @ 80BFB10
- push {r4,lr}
- bl sub_80BFB94
- adds r4, r0, 0
- ldr r0, _080BFB38
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080BFB3C
- adds r0, r1
- movs r1, 0x1
- movs r2, 0
- bl GetMonData
- cmp r4, r0
- bne _080BFB44
- ldr r1, _080BFB40
- movs r0, 0
- b _080BFB48
- .align 2, 0
-_080BFB38: .4byte gUnknown_0202E8CC
-_080BFB3C: .4byte gPlayerParty
-_080BFB40: .4byte gScriptResult
-_080BFB44:
- ldr r1, _080BFB50
- movs r0, 0x1
-_080BFB48:
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFB50: .4byte gScriptResult
- thumb_func_end sub_80BFB10
-
- thumb_func_start sub_80BFB54
-sub_80BFB54: @ 80BFB54
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- adds r2, r1, 0
- cmp r1, 0
- beq _080BFB8A
- subs r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bhi _080BFB6E
- movs r0, 0x2
- b _080BFB90
-_080BFB6E:
- adds r0, r1, 0
- subs r0, 0x15
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bhi _080BFB7E
- movs r0, 0x3
- b _080BFB90
-_080BFB7E:
- adds r0, r2, 0
- subs r0, 0x29
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x13
- bls _080BFB8E
-_080BFB8A:
- movs r0, 0
- b _080BFB90
-_080BFB8E:
- movs r0, 0x4
-_080BFB90:
- pop {r1}
- bx r1
- thumb_func_end sub_80BFB54
-
- thumb_func_start sub_80BFB94
-sub_80BFB94: @ 80BFB94
- ldr r2, _080BFBAC
- ldrb r0, [r2, 0xD]
- lsls r0, 24
- ldrb r1, [r2, 0xC]
- lsls r1, 16
- orrs r0, r1
- ldrb r1, [r2, 0xB]
- lsls r1, 8
- orrs r0, r1
- ldrb r1, [r2, 0xA]
- orrs r0, r1
- bx lr
- .align 2, 0
-_080BFBAC: .4byte gSaveBlock2
- thumb_func_end sub_80BFB94
-
- thumb_func_start CheckForBigMovieOrEmergencyNewsOnTV
-CheckForBigMovieOrEmergencyNewsOnTV: @ 80BFBB0
- push {lr}
- ldr r1, _080BFBD0
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- cmp r0, 0x1
- bne _080BFBCC
- ldr r0, _080BFBD4
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _080BFBD8
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, 0
- beq _080BFBE0
-_080BFBCC:
- movs r0, 0
- b _080BFC0A
- .align 2, 0
-_080BFBD0: .4byte gSaveBlock1
-_080BFBD4: .4byte gSaveBlock2
-_080BFBD8:
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, 0x2
- bne _080BFBCC
-_080BFBE0:
- ldr r0, _080BFC04
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BFBFE
- movs r0, 0x83
- lsls r0, 4
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BFC08
-_080BFBFE:
- movs r0, 0x1
- b _080BFC0A
- .align 2, 0
-_080BFC04: .4byte 0x0000085d
-_080BFC08:
- movs r0, 0x2
-_080BFC0A:
- pop {r1}
- bx r1
- thumb_func_end CheckForBigMovieOrEmergencyNewsOnTV
-
- thumb_func_start GetMomOrDadStringForTVMessage
-GetMomOrDadStringForTVMessage: @ 80BFC10
- push {r4,lr}
- ldr r1, _080BFC40
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- cmp r0, 0x1
- bne _080BFC6C
- ldr r0, _080BFC44
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _080BFC54
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bne _080BFC6C
- ldr r0, _080BFC48
- ldr r1, _080BFC4C
- bl StringCopy
- ldr r0, _080BFC50
- movs r1, 0x1
- bl VarSet
- b _080BFC6C
- .align 2, 0
-_080BFC40: .4byte gSaveBlock1
-_080BFC44: .4byte gSaveBlock2
-_080BFC48: .4byte gStringVar1
-_080BFC4C: .4byte gOtherText_Mom
-_080BFC50: .4byte 0x00004003
-_080BFC54:
- movs r0, 0x5
- ldrsb r0, [r1, r0]
- cmp r0, 0x2
- bne _080BFC6C
- ldr r0, _080BFCB4
- ldr r1, _080BFCB8
- bl StringCopy
- ldr r0, _080BFCBC
- movs r1, 0x1
- bl VarSet
-_080BFC6C:
- ldr r4, _080BFCBC
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _080BFCAA
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- beq _080BFCC0
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bls _080BFCD4
- adds r0, r4, 0
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080BFCC0
-_080BFCAA:
- ldr r0, _080BFCB4
- ldr r1, _080BFCB8
- bl StringCopy
- b _080BFD10
- .align 2, 0
-_080BFCB4: .4byte gStringVar1
-_080BFCB8: .4byte gOtherText_Mom
-_080BFCBC: .4byte 0x00004003
-_080BFCC0:
- ldr r0, _080BFCCC
- ldr r1, _080BFCD0
- bl StringCopy
- b _080BFD10
- .align 2, 0
-_080BFCCC: .4byte gStringVar1
-_080BFCD0: .4byte gOtherText_Dad
-_080BFCD4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080BFD00
- ldr r0, _080BFCF8
- ldr r1, _080BFCFC
- bl StringCopy
- adds r0, r4, 0
- movs r1, 0x1
- bl VarSet
- b _080BFD10
- .align 2, 0
-_080BFCF8: .4byte gStringVar1
-_080BFCFC: .4byte gOtherText_Mom
-_080BFD00:
- ldr r0, _080BFD18
- ldr r1, _080BFD1C
- bl StringCopy
- adds r0, r4, 0
- movs r1, 0x2
- bl VarSet
-_080BFD10:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFD18: .4byte gStringVar1
-_080BFD1C: .4byte gOtherText_Dad
- thumb_func_end GetMomOrDadStringForTVMessage
-
- thumb_func_start sub_80BFD20
-sub_80BFD20: @ 80BFD20
- push {lr}
- ldr r0, _080BFD3C
- movs r1, 0
- bl VarSet
- ldr r0, _080BFD40
- ldrb r1, [r0, 0x5]
- ldrb r2, [r0, 0x4]
- movs r0, 0x5
- bl RemoveFieldObjectByLocalIdAndMap
- pop {r0}
- bx r0
- .align 2, 0
-_080BFD3C: .4byte 0x000040bc
-_080BFD40: .4byte gSaveBlock1
- thumb_func_end sub_80BFD20
-
- thumb_func_start sub_80BFD44
-sub_80BFD44: @ 80BFD44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r6, r2, 24
- movs r4, 0
-_080BFD54:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 5
- adds r0, r4
- lsls r0, 2
- ldr r5, _080BFD8C
- adds r0, r5
- adds r1, r4, 0
- muls r1, r7
- add r1, r8
- movs r2, 0xE1
- lsls r2, 2
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080BFD54
- adds r4, r5, 0
- cmp r6, 0x1
- beq _080BFDBC
- cmp r6, 0x1
- bgt _080BFD90
- cmp r6, 0
- beq _080BFD9A
- b _080BFDFC
- .align 2, 0
-_080BFD8C: .4byte 0x02007000
-_080BFD90:
- cmp r6, 0x2
- beq _080BFDCC
- cmp r6, 0x3
- beq _080BFDE8
- b _080BFDFC
-_080BFD9A:
- ldr r0, _080BFDB4
- movs r2, 0xE1
- lsls r2, 2
- adds r1, r4, r2
- movs r3, 0xE1
- lsls r3, 3
- adds r2, r4, r3
- ldr r5, _080BFDB8
- adds r3, r4, r5
- bl sub_80BFE24
- b _080BFDFC
- .align 2, 0
-_080BFDB4: .4byte gSaveBlock1 + 0x2738
-_080BFDB8: .4byte 0x00000a8c
-_080BFDBC:
- ldr r1, _080BFDC8
- movs r0, 0xE1
- lsls r0, 3
- adds r2, r4, r0
- b _080BFDD4
- .align 2, 0
-_080BFDC8: .4byte gSaveBlock1 + 0x2738
-_080BFDCC:
- movs r0, 0xE1
- lsls r0, 2
- adds r1, r4, r0
- ldr r2, _080BFDE0
-_080BFDD4:
- ldr r5, _080BFDE4
- adds r3, r4, r5
- adds r0, r4, 0
- bl sub_80BFE24
- b _080BFDFC
- .align 2, 0
-_080BFDE0: .4byte gSaveBlock1 + 0x2738
-_080BFDE4: .4byte 0x00000a8c
-_080BFDE8:
- movs r0, 0xE1
- lsls r0, 2
- adds r1, r5, r0
- movs r3, 0xE1
- lsls r3, 3
- adds r2, r5, r3
- ldr r3, _080BFE20
- adds r0, r5, 0
- bl sub_80BFE24
-_080BFDFC:
- ldr r4, _080BFE20
- adds r0, r4, 0
- bl sub_80BF588
- bl sub_80C04A0
- adds r0, r4, 0
- bl sub_80BF588
- bl sub_80C01D4
- bl sub_80C0408
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080BFE20: .4byte gSaveBlock1 + 0x2738
- thumb_func_end sub_80BFD44
-
- thumb_func_start sub_80BFE24
-sub_80BFE24: @ 80BFE24
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- str r2, [sp, 0x18]
- str r3, [sp, 0x1C]
- add r0, sp, 0x10
- str r0, [sp]
- add r0, sp, 0x14
- str r0, [sp, 0x4]
- add r0, sp, 0x18
- str r0, [sp, 0x8]
- add r0, sp, 0x1C
- str r0, [sp, 0xC]
- bl GetLinkPlayerCount
- ldr r1, _080BFEA0
- strb r0, [r1]
-_080BFE50:
- movs r6, 0
- ldr r0, _080BFEA0
- ldrb r1, [r0]
- cmp r6, r1
- bcs _080BFE50
- mov r10, r0
-_080BFE5C:
- cmp r6, 0
- bne _080BFE64
- ldr r2, _080BFEA4
- strb r6, [r2]
-_080BFE64:
- lsls r4, r6, 2
- mov r3, sp
- adds r0, r3, r4
- ldr r0, [r0]
- ldr r0, [r0]
- bl sub_80C019C
- ldr r1, _080BFEA8
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- adds r7, r4, 0
- cmp r0, r1
- bne _080BFEAC
- ldr r1, _080BFEA4
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- mov r2, r10
- ldrb r2, [r2]
- cmp r0, r2
- beq _080BFF58
- adds r6, 0x1
- mov r9, r6
- b _080BFF3C
- .align 2, 0
-_080BFEA0: .4byte gUnknown_03000720
-_080BFEA4: .4byte gUnknown_020387E4
-_080BFEA8: .4byte gUnknown_03000722
-_080BFEAC:
- movs r5, 0
- mov r3, r10
- ldrb r0, [r3]
- subs r0, 0x1
- adds r2, r6, 0x1
- mov r9, r2
- cmp r5, r0
- bge _080BFF22
- ldr r3, _080BFF4C
- mov r8, r3
-_080BFEC0:
- adds r0, r6, r5
- adds r4, r0, 0x1
- mov r0, r8
- ldrb r1, [r0]
- adds r0, r4, 0
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- ldr r0, [r0]
- bl sub_80BF74C
- ldr r1, _080BFF50
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080BFF12
- mov r2, r8
- ldrb r1, [r2]
- adds r0, r4, 0
- bl __modsi3
- adds r2, r0, 0
- lsls r0, r2, 2
- add r0, sp
- ldr r0, [r0]
- mov r3, sp
- adds r1, r3, r7
- ldr r1, [r1]
- lsls r2, 24
- lsrs r2, 24
- bl sub_80BFF68
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080BFF22
-_080BFF12:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- mov r1, r8
- ldrb r0, [r1]
- subs r0, 0x1
- cmp r5, r0
- blt _080BFEC0
-_080BFF22:
- mov r2, r10
- ldrb r0, [r2]
- subs r0, 0x1
- cmp r5, r0
- bne _080BFF3C
- mov r3, sp
- adds r0, r3, r7
- ldr r0, [r0]
- ldr r0, [r0]
- ldr r1, _080BFF54
- ldrb r1, [r1]
- bl sub_80BF55C
-_080BFF3C:
- mov r1, r9
- lsls r0, r1, 24
- lsrs r6, r0, 24
- mov r2, r10
- ldrb r2, [r2]
- cmp r6, r2
- bcc _080BFE5C
- b _080BFE50
- .align 2, 0
-_080BFF4C: .4byte gUnknown_03000720
-_080BFF50: .4byte gUnknown_03005D38
-_080BFF54: .4byte gUnknown_03000722
-_080BFF58:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80BFE24
-
- thumb_func_start sub_80BFF68
-sub_80BFF68: @ 80BFF68
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r2, 24
- lsrs r7, r2, 24
- ldr r4, [r0]
- ldr r6, [r1]
- movs r5, 0
- ldr r2, _080BFFA4
- movs r1, 0
- ldrsb r1, [r2, r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r0, [r0]
- str r2, [sp]
- bl sub_80BFB54
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- ldr r2, [sp]
- cmp r0, 0x3
- beq _080BFFD8
- cmp r0, 0x3
- bgt _080BFFA8
- cmp r0, 0x2
- beq _080BFFAE
- b _080C0026
- .align 2, 0
-_080BFFA4: .4byte gUnknown_03000722
-_080BFFA8:
- cmp r1, 0x4
- beq _080C0000
- b _080C0026
-_080BFFAE:
- ldr r0, _080BFFD4
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4, r0
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r6, r1
- adds r2, r7, 0
- bl sub_80C004C
- b _080C0022
- .align 2, 0
-_080BFFD4: .4byte gUnknown_03005D38
-_080BFFD8:
- ldr r0, _080BFFFC
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4, r0
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r6, r1
- adds r2, r7, 0
- bl sub_80C00B4
- b _080C0022
- .align 2, 0
-_080BFFFC: .4byte gUnknown_03005D38
-_080C0000:
- ldr r0, _080C0030
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4, r0
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- lsls r1, r2, 3
- adds r1, r2
- lsls r1, 2
- adds r1, r6, r1
- adds r2, r7, 0
- bl sub_80C0134
-_080C0022:
- lsls r0, 24
- lsrs r5, r0, 24
-_080C0026:
- cmp r5, 0x1
- beq _080C0034
- movs r0, 0
- b _080C0040
- .align 2, 0
-_080C0030: .4byte gUnknown_03005D38
-_080C0034:
- ldr r0, _080C0048
- ldrb r1, [r0]
- adds r0, r6, 0
- bl sub_80BF55C
- movs r0, 0x1
-_080C0040:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080C0048: .4byte gUnknown_03000722
- thumb_func_end sub_80BFF68
-
- thumb_func_start sub_80C004C
-sub_80C004C: @ 80C004C
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r0, r2, 24
- lsrs r0, 24
- bl GetLinkPlayerTrainerId
- adds r5, r0, 0
- movs r2, 0xFF
- ands r0, r2
- adds r1, r4, 0
- adds r1, 0x22
- ldrb r1, [r1]
- cmp r0, r1
- bne _080C007C
- lsrs r0, r5, 8
- ands r0, r2
- adds r1, r4, 0
- adds r1, 0x23
- ldrb r1, [r1]
- cmp r0, r1
- bne _080C007C
- movs r0, 0
- b _080C00AC
-_080C007C:
- adds r1, r4, 0
- adds r1, 0x20
- ldrb r0, [r1]
- adds r2, r4, 0
- adds r2, 0x22
- strb r0, [r2]
- adds r3, r4, 0
- adds r3, 0x21
- ldrb r0, [r3]
- adds r2, 0x1
- strb r0, [r2]
- strb r5, [r1]
- lsrs r0, r5, 8
- strb r0, [r3]
- adds r1, r6, 0
- adds r0, r4, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r0, 0x1
- strb r0, [r6, 0x1]
-_080C00AC:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C004C
-
- thumb_func_start sub_80C00B4
-sub_80C00B4: @ 80C00B4
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r0, r2, 24
- lsrs r0, 24
- bl GetLinkPlayerTrainerId
- adds r2, r0, 0
- movs r3, 0xFF
- ands r0, r3
- adds r1, r4, 0
- adds r1, 0x20
- ldrb r1, [r1]
- cmp r0, r1
- bne _080C00E0
- lsrs r0, r2, 8
- ands r0, r3
- adds r1, r4, 0
- adds r1, 0x21
- ldrb r1, [r1]
- cmp r0, r1
- beq _080C0100
-_080C00E0:
- movs r3, 0xFF
- adds r0, r2, 0
- ands r0, r3
- adds r1, r4, 0
- adds r1, 0x22
- lsrs r5, r2, 8
- ldrb r1, [r1]
- cmp r0, r1
- bne _080C0104
- adds r0, r5, 0
- ands r0, r3
- adds r1, r4, 0
- adds r1, 0x23
- ldrb r1, [r1]
- cmp r0, r1
- bne _080C0104
-_080C0100:
- movs r0, 0
- b _080C012C
-_080C0104:
- ldrb r1, [r4, 0x1E]
- adds r0, r4, 0
- adds r0, 0x20
- strb r1, [r0]
- ldrb r0, [r4, 0x1F]
- adds r1, r4, 0
- adds r1, 0x21
- strb r0, [r1]
- strb r2, [r4, 0x1E]
- strb r5, [r4, 0x1F]
- adds r1, r6, 0
- adds r0, r4, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r0, 0x1
- strb r0, [r6, 0x1]
-_080C012C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C00B4
-
- thumb_func_start sub_80C0134
-sub_80C0134: @ 80C0134
- push {r4-r6,lr}
- adds r6, r0, 0
- adds r4, r1, 0
- lsls r0, r2, 24
- lsrs r0, 24
- bl GetLinkPlayerTrainerId
- adds r5, r0, 0
- movs r2, 0xFF
- ands r0, r2
- adds r1, r4, 0
- adds r1, 0x22
- ldrb r1, [r1]
- cmp r0, r1
- bne _080C0164
- lsrs r0, r5, 8
- ands r0, r2
- adds r1, r4, 0
- adds r1, 0x23
- ldrb r1, [r1]
- cmp r0, r1
- bne _080C0164
- movs r0, 0
- b _080C0196
-_080C0164:
- adds r1, r4, 0
- adds r1, 0x20
- ldrb r0, [r1]
- adds r2, r4, 0
- adds r2, 0x22
- strb r0, [r2]
- adds r3, r4, 0
- adds r3, 0x21
- ldrb r0, [r3]
- adds r2, 0x1
- strb r0, [r2]
- strb r5, [r1]
- lsrs r0, r5, 8
- strb r0, [r3]
- adds r1, r6, 0
- adds r0, r4, 0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r0, 0x1
- strb r0, [r6, 0x1]
- strh r0, [r6, 0x16]
-_080C0196:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C0134
-
- thumb_func_start sub_80C019C
-sub_80C019C: @ 80C019C
- push {lr}
- adds r3, r0, 0
- movs r2, 0
-_080C01A2:
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r3
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _080C01C2
- ldrb r0, [r1]
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bhi _080C01C2
- lsls r0, r2, 24
- asrs r0, 24
- b _080C01D0
-_080C01C2:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x17
- bls _080C01A2
- movs r0, 0x1
- negs r0, r0
-_080C01D0:
- pop {r1}
- bx r1
- thumb_func_end sub_80C019C
-
- thumb_func_start sub_80C01D4
-sub_80C01D4: @ 80C01D4
- push {r4-r6,lr}
- movs r6, 0
-_080C01D8:
- ldr r0, _080C01F8
- lsls r2, r6, 3
- adds r1, r2, r6
- lsls r1, 2
- adds r1, r0
- ldr r0, _080C01FC
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0x29
- bls _080C01EE
- b _080C038C
-_080C01EE:
- lsls r0, 2
- ldr r1, _080C0200
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C01F8: .4byte gSaveBlock1
-_080C01FC: .4byte 0x00002738
-_080C0200: .4byte _080C0204
- .align 2, 0
-_080C0204:
- .4byte _080C0394
- .4byte _080C02AC
- .4byte _080C0394
- .4byte _080C02BC
- .4byte _080C02CC
- .4byte _080C02DC
- .4byte _080C02F8
- .4byte _080C0308
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C0324
- .4byte _080C0394
- .4byte _080C0334
- .4byte _080C0350
- .4byte _080C0368
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C038C
- .4byte _080C0394
-_080C02AC:
- adds r0, r2, r6
- lsls r0, 2
- ldr r1, _080C02B8
- adds r0, r1
- ldrh r0, [r0, 0x2]
- b _080C035A
- .align 2, 0
-_080C02B8: .4byte gSaveBlock1 + 0x2738
-_080C02BC:
- adds r0, r2, r6
- lsls r0, 2
- ldr r1, _080C02C8
- adds r0, r1
- ldrh r0, [r0, 0x2]
- b _080C035A
- .align 2, 0
-_080C02C8: .4byte gSaveBlock1 + 0x2738
-_080C02CC:
- adds r0, r2, r6
- lsls r0, 2
- ldr r1, _080C02D8
- adds r0, r1
- ldrh r0, [r0, 0x6]
- b _080C035A
- .align 2, 0
-_080C02D8: .4byte gSaveBlock1 + 0x2738
-_080C02DC:
- adds r4, r2, r6
- lsls r4, 2
- ldr r0, _080C02F4
- adds r4, r0
- ldrh r0, [r4, 0x2]
- lsls r5, r6, 24
- lsrs r5, 24
- adds r1, r5, 0
- bl sub_80C03C8
- ldrh r0, [r4, 0x1C]
- b _080C037E
- .align 2, 0
-_080C02F4: .4byte gSaveBlock1 + 0x2738
-_080C02F8:
- adds r0, r2, r6
- lsls r0, 2
- ldr r1, _080C0304
- adds r0, r1
- ldrh r0, [r0, 0x2]
- b _080C035A
- .align 2, 0
-_080C0304: .4byte gSaveBlock1 + 0x2738
-_080C0308:
- adds r4, r2, r6
- lsls r4, 2
- ldr r0, _080C0320
- adds r4, r0
- ldrh r0, [r4, 0xA]
- lsls r5, r6, 24
- lsrs r5, 24
- adds r1, r5, 0
- bl sub_80C03C8
- ldrh r0, [r4, 0x14]
- b _080C037E
- .align 2, 0
-_080C0320: .4byte gSaveBlock1 + 0x2738
-_080C0324:
- adds r0, r2, r6
- lsls r0, 2
- ldr r1, _080C0330
- adds r0, r1
- ldrh r0, [r0, 0x10]
- b _080C035A
- .align 2, 0
-_080C0330: .4byte gSaveBlock1 + 0x2738
-_080C0334:
- adds r4, r2, r6
- lsls r4, 2
- ldr r0, _080C034C
- adds r4, r0
- ldrh r0, [r4, 0xC]
- lsls r5, r6, 24
- lsrs r5, 24
- adds r1, r5, 0
- bl sub_80C03C8
- ldrh r0, [r4, 0xE]
- b _080C037E
- .align 2, 0
-_080C034C: .4byte gSaveBlock1 + 0x2738
-_080C0350:
- adds r0, r2, r6
- lsls r0, 2
- ldr r1, _080C0364
- adds r0, r1
- ldrh r0, [r0, 0x4]
-_080C035A:
- lsls r1, r6, 24
- lsrs r1, 24
- bl sub_80C03C8
- b _080C0394
- .align 2, 0
-_080C0364: .4byte gSaveBlock1 + 0x2738
-_080C0368:
- adds r4, r2, r6
- lsls r4, 2
- ldr r0, _080C0388
- adds r4, r0
- ldrh r0, [r4, 0x8]
- lsls r5, r6, 24
- lsrs r5, 24
- adds r1, r5, 0
- bl sub_80C03C8
- ldrh r0, [r4, 0x4]
-_080C037E:
- adds r1, r5, 0
- bl sub_80C03C8
- b _080C0394
- .align 2, 0
-_080C0388: .4byte gSaveBlock1 + 0x2738
-_080C038C:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_80C03A8
-_080C0394:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x17
- bhi _080C03A0
- b _080C01D8
-_080C03A0:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80C01D4
-
- thumb_func_start sub_80C03A8
-sub_80C03A8: @ 80C03A8
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C03C0
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r0, _080C03C4
- adds r1, r0
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080C03C0: .4byte gSaveBlock1
-_080C03C4: .4byte 0x00002739
- thumb_func_end sub_80C03A8
-
- thumb_func_start sub_80C03C8
-sub_80C03C8: @ 80C03C8
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_8090D90
- lsls r0, 24
- asrs r2, r0, 24
- cmp r2, 0
- bne _080C03F8
- ldr r1, _080C0400
- lsls r0, r4, 3
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldr r1, _080C0404
- adds r0, r1
- strb r2, [r0]
-_080C03F8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0400: .4byte gSaveBlock1
-_080C0404: .4byte 0x00002739
- thumb_func_end sub_80C03C8
-
- thumb_func_start sub_80C0408
-sub_80C0408: @ 80C0408
- push {r4-r6,lr}
- ldr r0, _080C044C
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C0444
- movs r2, 0
- ldr r6, _080C0450
- ldr r4, _080C0454
- movs r3, 0
- ldr r5, _080C0458
-_080C0422:
- lsls r0, r2, 3
- adds r0, r2
- lsls r0, 2
- adds r1, r0, r6
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0x7
- beq _080C0436
- cmp r0, 0x29
- bne _080C043A
-_080C0436:
- adds r0, r1, r4
- strb r3, [r0]
-_080C043A:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x17
- bls _080C0422
-_080C0444:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C044C: .4byte 0x00000804
-_080C0450: .4byte gSaveBlock1
-_080C0454: .4byte 0x00002739
-_080C0458: .4byte 0x00002738
- thumb_func_end sub_80C0408
-
- thumb_func_start sub_80C045C
-sub_80C045C: @ 80C045C
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _080C0494
-_080C0462:
- lsls r0, r5, 3
- adds r0, r5
- lsls r0, 2
- adds r4, r0, r6
- ldr r1, _080C0498
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_80BFB54
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080C0484
- ldr r0, _080C049C
- adds r1, r4, r0
- movs r0, 0
- strb r0, [r1]
-_080C0484:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x4
- bls _080C0462
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0494: .4byte gSaveBlock1
-_080C0498: .4byte 0x00002738
-_080C049C: .4byte 0x00002739
- thumb_func_end sub_80C045C
-
- thumb_func_start sub_80C04A0
-sub_80C04A0: @ 80C04A0
- push {r4,r5,lr}
- movs r3, 0
- movs r2, 0x5
- ldr r5, _080C0508
- ldr r4, _080C050C
-_080C04AA:
- lsls r0, r2, 24
- asrs r1, r0, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C04C8
- lsls r0, r3, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r3, r0, 24
-_080C04C8:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- asrs r0, 24
- cmp r0, 0x17
- ble _080C04AA
- movs r2, 0
- lsls r0, r3, 24
- asrs r0, 24
- movs r1, 0x5
- subs r0, r1, r0
- cmp r2, r0
- bge _080C0502
- adds r5, r0, 0
-_080C04E4:
- lsls r1, r2, 24
- asrs r4, r1, 24
- movs r0, 0xA0
- lsls r0, 19
- adds r1, r0
- lsrs r1, 24
- ldr r0, _080C0510
- bl sub_80BF55C
- adds r4, 0x1
- lsls r4, 24
- lsrs r2, r4, 24
- asrs r4, 24
- cmp r4, r5
- blt _080C04E4
-_080C0502:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0508: .4byte gSaveBlock1
-_080C050C: .4byte 0x00002738
-_080C0510: .4byte gSaveBlock1 + 0x2738
- thumb_func_end sub_80C04A0
-
- thumb_func_start sub_80C0514
-sub_80C0514: @ 80C0514
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- adds r7, r1, 0
- lsls r2, 24
- lsrs r5, r2, 24
- movs r4, 0
-_080C0524:
- lsls r0, r4, 6
- ldr r6, _080C0550
- adds r0, r6
- adds r1, r4, 0
- muls r1, r7
- add r1, r8
- movs r2, 0x40
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080C0524
- adds r4, r6, 0
- cmp r5, 0x1
- beq _080C0578
- cmp r5, 0x1
- bgt _080C0554
- cmp r5, 0
- beq _080C055E
- b _080C05AC
- .align 2, 0
-_080C0550: .4byte 0x02007000
-_080C0554:
- cmp r5, 0x2
- beq _080C0584
- cmp r5, 0x3
- beq _080C059C
- b _080C05AC
-_080C055E:
- ldr r0, _080C0574
- adds r1, r4, 0
- adds r1, 0x40
- adds r2, r4, 0
- adds r2, 0x80
- adds r3, r4, 0
- adds r3, 0xC0
- bl sub_80C05C4
- b _080C05AC
- .align 2, 0
-_080C0574: .4byte gSaveBlock1 + 0x2ABC
-_080C0578:
- ldr r1, _080C0580
- adds r2, r4, 0
- adds r2, 0x80
- b _080C058A
- .align 2, 0
-_080C0580: .4byte gSaveBlock1 + 0x2ABC
-_080C0584:
- adds r1, r4, 0
- adds r1, 0x40
- ldr r2, _080C0598
-_080C058A:
- adds r3, r4, 0
- adds r3, 0xC0
- adds r0, r4, 0
- bl sub_80C05C4
- b _080C05AC
- .align 2, 0
-_080C0598: .4byte gSaveBlock1 + 0x2ABC
-_080C059C:
- adds r1, r6, 0
- adds r1, 0x40
- adds r2, r6, 0
- adds r2, 0x80
- ldr r3, _080C05C0
- adds r0, r6, 0
- bl sub_80C05C4
-_080C05AC:
- bl sub_80C0750
- bl sub_80C0788
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C05C0: .4byte gSaveBlock1 + 0x2ABC
- thumb_func_end sub_80C0514
-
- thumb_func_start sub_80C05C4
-sub_80C05C4: @ 80C05C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- str r2, [sp, 0x18]
- str r3, [sp, 0x1C]
- add r0, sp, 0x10
- str r0, [sp]
- add r0, sp, 0x14
- str r0, [sp, 0x4]
- add r0, sp, 0x18
- str r0, [sp, 0x8]
- add r0, sp, 0x1C
- str r0, [sp, 0xC]
- bl GetLinkPlayerCount
- ldr r1, _080C0600
- strb r0, [r1]
- movs r0, 0
- mov r10, r0
-_080C05F4:
- movs r7, 0
- mov r1, r10
- adds r1, 0x1
- str r1, [sp, 0x20]
- b _080C068C
- .align 2, 0
-_080C0600: .4byte gUnknown_03000721
-_080C0604:
- lsls r4, r7, 2
- mov r1, sp
- adds r0, r1, r4
- ldr r0, [r0]
- ldr r0, [r0]
- mov r1, r10
- bl sub_80C0730
- ldr r1, _080C06B0
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- mov r8, r4
- adds r1, r7, 0x1
- mov r9, r1
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080C0686
- movs r5, 0
- ldr r1, _080C06B4
- ldrb r0, [r1]
- subs r0, 0x1
- cmp r5, r0
- bge _080C0686
- adds r6, r1, 0
-_080C0638:
- adds r0, r7, r5
- adds r4, r0, 0x1
- ldrb r1, [r6]
- adds r0, r4, 0
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- ldr r0, [r0]
- bl sub_80BEBC8
- ldr r1, _080C06B8
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- beq _080C0678
- ldrb r1, [r6]
- adds r0, r4, 0
- bl __modsi3
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- mov r1, sp
- add r1, r8
- ldr r1, [r1]
- bl sub_80C06BC
-_080C0678:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6]
- subs r0, 0x1
- cmp r5, r0
- blt _080C0638
-_080C0686:
- mov r1, r9
- lsls r0, r1, 24
- lsrs r7, r0, 24
-_080C068C:
- ldr r0, _080C06B4
- ldrb r0, [r0]
- cmp r7, r0
- bcc _080C0604
- ldr r1, [sp, 0x20]
- lsls r0, r1, 24
- lsrs r0, 24
- mov r10, r0
- cmp r0, 0xF
- bls _080C05F4
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C06B0: .4byte gUnknown_03000722
-_080C06B4: .4byte gUnknown_03000721
-_080C06B8: .4byte gUnknown_03005D38
- thumb_func_end sub_80C05C4
-
- thumb_func_start sub_80C06BC
-sub_80C06BC: @ 80C06BC
- push {lr}
- ldr r0, [r0]
- ldr r1, [r1]
- ldr r2, _080C06E0
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- lsls r2, 2
- adds r1, r2
- ldr r2, _080C06E4
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- bl sub_80C06E8
- pop {r0}
- bx r0
- .align 2, 0
-_080C06E0: .4byte gUnknown_03000722
-_080C06E4: .4byte gUnknown_03005D38
- thumb_func_end sub_80C06BC
-
- thumb_func_start sub_80C06E8
-sub_80C06E8: @ 80C06E8
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r6, r2, 24
- ldrb r3, [r5]
- adds r0, r3, 0
- cmp r0, 0
- bne _080C06FE
-_080C06FA:
- movs r0, 0
- b _080C072A
-_080C06FE:
- movs r1, 0
- adds r2, r3, 0
- adds r3, r0, 0
-_080C0704:
- lsls r0, r1, 2
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, r3
- beq _080C06FA
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _080C0704
- lsls r0, r6, 24
- asrs r0, 22
- adds r0, r4
- strb r2, [r0]
- movs r1, 0x1
- strb r1, [r0, 0x1]
- ldrh r1, [r5, 0x2]
- strh r1, [r0, 0x2]
- movs r0, 0x1
-_080C072A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C06E8
-
- thumb_func_start sub_80C0730
-sub_80C0730: @ 80C0730
- push {lr}
- lsls r1, 24
- lsrs r2, r1, 24
- lsls r1, r2, 2
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080C0746
- lsls r0, r2, 24
- asrs r0, 24
- b _080C074A
-_080C0746:
- movs r0, 0x1
- negs r0, r0
-_080C074A:
- pop {r1}
- bx r1
- thumb_func_end sub_80C0730
-
- thumb_func_start sub_80C0750
-sub_80C0750: @ 80C0750
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080C0780
-_080C0756:
- lsls r0, r4, 2
- adds r0, r5
- ldr r1, _080C0784
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x3
- bls _080C076A
- adds r0, r4, 0
- bl sub_80BEC10
-_080C076A:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xF
- bls _080C0756
- bl sub_80BEC40
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0780: .4byte gSaveBlock1
-_080C0784: .4byte 0x00002abc
- thumb_func_end sub_80C0750
-
- thumb_func_start sub_80C0788
-sub_80C0788: @ 80C0788
- push {r4,lr}
- ldr r0, _080C07B8
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C07B2
- movs r1, 0
- ldr r4, _080C07BC
- ldr r3, _080C07C0
- movs r2, 0
-_080C07A0:
- lsls r0, r1, 2
- adds r0, r4
- adds r0, r3
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _080C07A0
-_080C07B2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C07B8: .4byte 0x00000804
-_080C07BC: .4byte gSaveBlock1
-_080C07C0: .4byte 0x00002abd
- thumb_func_end sub_80C0788
-
- thumb_func_start sub_80C07C4
-sub_80C07C4: @ 80C07C4
- push {lr}
- ldr r2, _080C07F8
- ldr r0, _080C07FC
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r2
- ldr r2, _080C0800
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C07E0
- b _080C08F8
-_080C07E0:
- subs r2, 0x1
- adds r0, r1, r2
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0x28
- bls _080C07EE
- b _080C08F8
-_080C07EE:
- lsls r0, 2
- ldr r1, _080C0804
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C07F8: .4byte gSaveBlock1
-_080C07FC: .4byte gUnknown_0202E8CC
-_080C0800: .4byte 0x00002739
-_080C0804: .4byte _080C0808
- .align 2, 0
-_080C0808:
- .4byte _080C08AC
- .4byte _080C08B2
- .4byte _080C08B8
- .4byte _080C08BE
- .4byte _080C08E2
- .4byte _080C08CA
- .4byte _080C08D0
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08D6
- .4byte _080C08DC
- .4byte _080C08E8
- .4byte _080C08EE
- .4byte _080C08F4
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08F8
- .4byte _080C08C4
-_080C08AC:
- bl DoTVShowPokemonFanClubLetter
- b _080C08F8
-_080C08B2:
- bl DoTVShowRecentHappenings
- b _080C08F8
-_080C08B8:
- bl DoTVShowPokemonFanClubOpinions
- b _080C08F8
-_080C08BE:
- bl nullsub_22
- b _080C08F8
-_080C08C4:
- bl DoTVShowPokemonNewsMassOutbreak
- b _080C08F8
-_080C08CA:
- bl DoTVShowBravoTrainerPokemonProfile
- b _080C08F8
-_080C08D0:
- bl sub_80C0B9C
- b _080C08F8
-_080C08D6:
- bl DoTVShowPokemonTodaySuccessfulCapture
- b _080C08F8
-_080C08DC:
- bl DoTVShowTodaysSmartShopper
- b _080C08F8
-_080C08E2:
- bl DoTVShowTheNameRaterShow
- b _080C08F8
-_080C08E8:
- bl DoTVShowPokemonTodayFailedCapture
- b _080C08F8
-_080C08EE:
- bl DoTVShowPokemonAngler
- b _080C08F8
-_080C08F4:
- bl DoTVShowTheWorldOfMasters
-_080C08F8:
- pop {r0}
- bx r0
- thumb_func_end sub_80C07C4
-
- thumb_func_start sub_80C08FC
-sub_80C08FC: @ 80C08FC
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r4, r2, 24
- lsrs r4, 24
- bl StringCopy
- cmp r4, 0x1
- bhi _080C0914
- adds r0, r5, 0
- movs r1, 0x1
- bl ConvertInternationalString
-_080C0914:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C08FC
-
- thumb_func_start DoTVShowBravoTrainerPokemonProfile
-DoTVShowBravoTrainerPokemonProfile: @ 80C091C
- push {r4,r5,lr}
- ldr r0, _080C0948
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C094C
- adds r4, r0, r1
- ldr r1, _080C0950
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080C0954
- ldrb r5, [r0]
- cmp r5, 0x8
- bls _080C093C
- b _080C0B7A
-_080C093C:
- lsls r0, r5, 2
- ldr r1, _080C0958
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0948: .4byte gUnknown_0202E8CC
-_080C094C: .4byte gSaveBlock1 + 0x2738
-_080C0950: .4byte gScriptResult
-_080C0954: .4byte gUnknown_020387E8
-_080C0958: .4byte _080C095C
- .align 2, 0
-_080C095C:
- .4byte _080C0980
- .4byte _080C09D8
- .4byte _080C0A10
- .4byte _080C0A40
- .4byte _080C0A74
- .4byte _080C0AA8
- .4byte _080C0AEC
- .4byte _080C0B34
- .4byte _080C0B64
-_080C0980:
- ldr r0, _080C09C0
- adds r1, r4, 0
- adds r1, 0x16
- ldrb r2, [r4, 0x1E]
- bl sub_80C08FC
- ldrb r1, [r4, 0x13]
- lsls r1, 29
- lsrs r1, 29
- movs r0, 0x1
- bl CopyContestCategoryToStringVar
- ldrb r1, [r4, 0x13]
- lsls r1, 27
- lsrs r1, 30
- movs r0, 0x2
- bl sub_80BEF10
- ldrh r1, [r4, 0x2]
- movs r0, 0xB
- muls r0, r1
- ldr r1, _080C09C4
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x8
- bl StringCompareWithoutExtCtrlCodes
- cmp r0, 0
- bne _080C09CC
- ldr r1, _080C09C8
- movs r0, 0x8
- b _080C0B78
- .align 2, 0
-_080C09C0: .4byte gStringVar1
-_080C09C4: .4byte gSpeciesNames
-_080C09C8: .4byte gUnknown_020387E8
-_080C09CC:
- ldr r1, _080C09D4
- movs r0, 0x1
- b _080C0B78
- .align 2, 0
-_080C09D4: .4byte gUnknown_020387E8
-_080C09D8:
- ldr r0, _080C0A04
- ldrh r2, [r4, 0x2]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0A08
- adds r1, r2
- bl StringCopy
- ldr r0, _080C0A0C
- adds r1, r4, 0
- adds r1, 0x8
- ldrb r2, [r4, 0x1F]
- bl sub_80C08FC
- ldrb r1, [r4, 0x13]
- lsls r1, 29
- lsrs r1, 29
- movs r0, 0x2
- bl CopyContestCategoryToStringVar
- b _080C0B74
- .align 2, 0
-_080C0A04: .4byte gStringVar1
-_080C0A08: .4byte gSpeciesNames
-_080C0A0C: .4byte gStringVar2
-_080C0A10:
- ldr r0, _080C0A2C
- adds r1, r4, 0
- adds r1, 0x16
- ldrb r2, [r4, 0x1E]
- bl sub_80C08FC
- ldrb r1, [r4, 0x13]
- movs r0, 0x60
- ands r0, r1
- cmp r0, 0
- bne _080C0A34
- ldr r1, _080C0A30
- movs r0, 0x3
- b _080C0B78
- .align 2, 0
-_080C0A2C: .4byte gStringVar1
-_080C0A30: .4byte gUnknown_020387E8
-_080C0A34:
- ldr r1, _080C0A3C
- movs r0, 0x4
- b _080C0B78
- .align 2, 0
-_080C0A3C: .4byte gUnknown_020387E8
-_080C0A40:
- ldr r0, _080C0A68
- adds r1, r4, 0
- adds r1, 0x16
- ldrb r2, [r4, 0x1E]
- bl sub_80C08FC
- ldr r0, _080C0A6C
- ldrh r1, [r4, 0x4]
- bl sub_80EB3FC
- ldrb r1, [r4, 0x13]
- lsls r1, 25
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x2
- bl sub_80BF088
- ldr r1, _080C0A70
- movs r0, 0x5
- b _080C0B78
- .align 2, 0
-_080C0A68: .4byte gStringVar1
-_080C0A6C: .4byte gStringVar2
-_080C0A70: .4byte gUnknown_020387E8
-_080C0A74:
- ldr r0, _080C0A9C
- adds r1, r4, 0
- adds r1, 0x16
- ldrb r2, [r4, 0x1E]
- bl sub_80C08FC
- ldr r0, _080C0AA0
- ldrh r1, [r4, 0x4]
- bl sub_80EB3FC
- ldrb r1, [r4, 0x13]
- lsls r1, 25
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x2
- bl sub_80BF088
- ldr r1, _080C0AA4
- movs r0, 0x5
- b _080C0B78
- .align 2, 0
-_080C0A9C: .4byte gStringVar1
-_080C0AA0: .4byte gStringVar2
-_080C0AA4: .4byte gUnknown_020387E8
-_080C0AA8:
- ldr r0, _080C0AD4
- adds r1, r4, 0
- adds r1, 0x16
- ldrb r2, [r4, 0x1E]
- bl sub_80C08FC
- ldrb r1, [r4, 0x13]
- lsls r1, 29
- lsrs r1, 29
- movs r0, 0x1
- bl CopyContestCategoryToStringVar
- ldr r0, _080C0AD8
- ldrh r1, [r4, 0x6]
- bl sub_80EB3FC
- ldrh r0, [r4, 0x14]
- cmp r0, 0
- beq _080C0AE0
- ldr r1, _080C0ADC
- movs r0, 0x6
- b _080C0B78
- .align 2, 0
-_080C0AD4: .4byte gStringVar1
-_080C0AD8: .4byte gStringVar3
-_080C0ADC: .4byte gUnknown_020387E8
-_080C0AE0:
- ldr r1, _080C0AE8
- movs r0, 0x7
- b _080C0B78
- .align 2, 0
-_080C0AE8: .4byte gUnknown_020387E8
-_080C0AEC:
- ldr r0, _080C0B1C
- ldrh r2, [r4, 0x2]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0B20
- adds r1, r2
- bl StringCopy
- ldr r0, _080C0B24
- ldrh r2, [r4, 0x14]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080C0B28
- adds r1, r2
- bl StringCopy
- ldr r0, _080C0B2C
- ldrh r1, [r4, 0x6]
- bl sub_80EB3FC
- ldr r1, _080C0B30
- movs r0, 0x7
- b _080C0B78
- .align 2, 0
-_080C0B1C: .4byte gStringVar1
-_080C0B20: .4byte gSpeciesNames
-_080C0B24: .4byte gStringVar2
-_080C0B28: .4byte gMoveNames
-_080C0B2C: .4byte gStringVar3
-_080C0B30: .4byte gUnknown_020387E8
-_080C0B34:
- ldr r0, _080C0B58
- adds r1, r4, 0
- adds r1, 0x16
- ldrb r2, [r4, 0x1E]
- bl sub_80C08FC
- ldr r0, _080C0B5C
- ldrh r2, [r4, 0x2]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0B60
- adds r1, r2
- bl StringCopy
- bl TVShowDone
- b _080C0B7A
- .align 2, 0
-_080C0B58: .4byte gStringVar1
-_080C0B5C: .4byte gStringVar2
-_080C0B60: .4byte gSpeciesNames
-_080C0B64:
- ldr r0, _080C0B8C
- ldrh r2, [r4, 0x2]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0B90
- adds r1, r2
- bl StringCopy
-_080C0B74:
- ldr r1, _080C0B94
- movs r0, 0x2
-_080C0B78:
- strb r0, [r1]
-_080C0B7A:
- ldr r0, _080C0B98
- lsls r1, r5, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0B8C: .4byte gStringVar1
-_080C0B90: .4byte gSpeciesNames
-_080C0B94: .4byte gUnknown_020387E8
-_080C0B98: .4byte gUnknown_083D1524
- thumb_func_end DoTVShowBravoTrainerPokemonProfile
-
- thumb_func_start sub_80C0B9C
-sub_80C0B9C: @ 80C0B9C
- push {r4,r5,lr}
- ldr r0, _080C0BC8
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C0BCC
- adds r4, r0, r1
- ldr r1, _080C0BD0
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080C0BD4
- ldrb r5, [r0]
- adds r2, r0, 0
- cmp r5, 0xE
- bls _080C0BBE
- b _080C0DDE
-_080C0BBE:
- lsls r0, r5, 2
- ldr r1, _080C0BD8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0BC8: .4byte gUnknown_0202E8CC
-_080C0BCC: .4byte gSaveBlock1 + 0x2738
-_080C0BD0: .4byte gScriptResult
-_080C0BD4: .4byte gUnknown_020387E8
-_080C0BD8: .4byte _080C0BDC
- .align 2, 0
-_080C0BDC:
- .4byte _080C0C18
- .4byte _080C0C5C
- .4byte _080C0C8C
- .4byte _080C0CB0
- .4byte _080C0CDC
- .4byte _080C0D24
- .4byte _080C0D30
- .4byte _080C0D3C
- .4byte _080C0D42
- .4byte _080C0D42
- .4byte _080C0D42
- .4byte _080C0D5C
- .4byte _080C0D88
- .4byte _080C0D88
- .4byte _080C0DC0
-_080C0C18:
- ldr r0, _080C0C40
- adds r1, r4, 0x2
- ldrb r2, [r4, 0x1D]
- bl sub_80C08FC
- ldr r0, _080C0C44
- ldrh r2, [r4, 0xA]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0C48
- adds r1, r2
- bl StringCopy
- ldrh r0, [r4, 0x16]
- cmp r0, 0x6
- bls _080C0C50
- ldr r1, _080C0C4C
- movs r0, 0x1
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0C40: .4byte gStringVar1
-_080C0C44: .4byte gStringVar2
-_080C0C48: .4byte gSpeciesNames
-_080C0C4C: .4byte gUnknown_020387E8
-_080C0C50:
- ldr r1, _080C0C58
- movs r0, 0x2
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0C58: .4byte gUnknown_020387E8
-_080C0C5C:
- ldrb r1, [r4, 0x1A]
- movs r0, 0
- bl sub_80BF088
- ldrh r1, [r4, 0x16]
- movs r0, 0x1
- bl sub_80BF088
- ldrb r0, [r4, 0x1C]
- cmp r0, 0x1
- bne _080C0C80
- ldr r1, _080C0C7C
- movs r0, 0x3
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0C7C: .4byte gUnknown_020387E8
-_080C0C80:
- ldr r1, _080C0C88
- movs r0, 0x4
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0C88: .4byte gUnknown_020387E8
-_080C0C8C:
- ldr r0, _080C0CAC
- adds r1, r4, 0
- adds r1, 0xC
- ldrb r2, [r4, 0x1D]
- bl sub_80C08FC
- ldrh r1, [r4, 0x16]
- adds r1, 0x1
- movs r0, 0x1
- bl sub_80BF088
-_080C0CA2:
- ldrb r0, [r4, 0x1B]
- cmp r0, 0
- beq _080C0CFE
- b _080C0D18
- .align 2, 0
-_080C0CAC: .4byte gStringVar1
-_080C0CB0:
- ldr r0, _080C0CD0
- adds r1, r4, 0
- adds r1, 0xC
- ldrb r2, [r4, 0x1D]
- bl sub_80C08FC
- ldr r0, _080C0CD4
- ldrh r2, [r4, 0x14]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0CD8
- adds r1, r2
- bl StringCopy
- b _080C0CA2
- .align 2, 0
-_080C0CD0: .4byte gStringVar1
-_080C0CD4: .4byte gStringVar2
-_080C0CD8: .4byte gSpeciesNames
-_080C0CDC:
- ldr r0, _080C0D08
- adds r1, r4, 0
- adds r1, 0xC
- ldrb r2, [r4, 0x1D]
- bl sub_80C08FC
- ldr r0, _080C0D0C
- ldrh r2, [r4, 0x14]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0D10
- adds r1, r2
- bl StringCopy
- ldrb r0, [r4, 0x1B]
- cmp r0, 0
- bne _080C0D18
-_080C0CFE:
- ldr r1, _080C0D14
- movs r0, 0x5
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D08: .4byte gStringVar1
-_080C0D0C: .4byte gStringVar2
-_080C0D10: .4byte gSpeciesNames
-_080C0D14: .4byte gUnknown_020387E8
-_080C0D18:
- ldr r1, _080C0D20
- movs r0, 0x6
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D20: .4byte gUnknown_020387E8
-_080C0D24:
- ldr r0, _080C0D2C
- adds r1, r4, 0
- adds r1, 0xC
- b _080C0D46
- .align 2, 0
-_080C0D2C: .4byte gStringVar1
-_080C0D30:
- ldr r0, _080C0D38
- adds r1, r4, 0
- adds r1, 0xC
- b _080C0D46
- .align 2, 0
-_080C0D38: .4byte gStringVar1
-_080C0D3C:
- movs r0, 0xB
- strb r0, [r2]
- b _080C0DDE
-_080C0D42:
- ldr r0, _080C0D54
- adds r1, r4, 0x2
-_080C0D46:
- ldrb r2, [r4, 0x1D]
- bl sub_80C08FC
- ldr r1, _080C0D58
- movs r0, 0xB
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D54: .4byte gStringVar1
-_080C0D58: .4byte gUnknown_020387E8
-_080C0D5C:
- ldr r0, _080C0D74
- ldrh r1, [r4, 0x18]
- bl sub_80EB3FC
- ldrb r0, [r4, 0x1B]
- cmp r0, 0
- bne _080C0D7C
- ldr r1, _080C0D78
- movs r0, 0xC
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D74: .4byte gStringVar1
-_080C0D78: .4byte gUnknown_020387E8
-_080C0D7C:
- ldr r1, _080C0D84
- movs r0, 0xD
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0D84: .4byte gUnknown_020387E8
-_080C0D88:
- ldr r0, _080C0DB0
- ldrh r1, [r4, 0x18]
- bl sub_80EB3FC
- ldr r0, _080C0DB4
- adds r1, r4, 0x2
- ldrb r2, [r4, 0x1D]
- bl sub_80C08FC
- ldr r0, _080C0DB8
- adds r1, r4, 0
- adds r1, 0xC
- ldrb r2, [r4, 0x1D]
- bl sub_80C08FC
- ldr r1, _080C0DBC
- movs r0, 0xE
- strb r0, [r1]
- b _080C0DDE
- .align 2, 0
-_080C0DB0: .4byte gStringVar1
-_080C0DB4: .4byte gStringVar2
-_080C0DB8: .4byte gStringVar3
-_080C0DBC: .4byte gUnknown_020387E8
-_080C0DC0:
- ldr r0, _080C0DF0
- adds r1, r4, 0x2
- ldrb r2, [r4, 0x1D]
- bl sub_80C08FC
- ldr r0, _080C0DF4
- ldrh r2, [r4, 0xA]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C0DF8
- adds r1, r2
- bl StringCopy
- bl TVShowDone
-_080C0DDE:
- ldr r0, _080C0DFC
- lsls r1, r5, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C0DF0: .4byte gStringVar1
-_080C0DF4: .4byte gStringVar2
-_080C0DF8: .4byte gSpeciesNames
-_080C0DFC: .4byte gUnknown_083D1548
- thumb_func_end sub_80C0B9C
-
- thumb_func_start DoTVShowTodaysSmartShopper
-DoTVShowTodaysSmartShopper: @ 80C0E00
- push {r4-r6,lr}
- ldr r0, _080C0E2C
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C0E30
- adds r5, r0, r1
- ldr r1, _080C0E34
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080C0E38
- ldrb r6, [r0]
- adds r2, r0, 0
- cmp r6, 0xC
- bls _080C0E22
- b _080C1014
-_080C0E22:
- lsls r0, r6, 2
- ldr r1, _080C0E3C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C0E2C: .4byte gUnknown_0202E8CC
-_080C0E30: .4byte gSaveBlock1 + 0x2738
-_080C0E34: .4byte gScriptResult
-_080C0E38: .4byte gUnknown_020387E8
-_080C0E3C: .4byte _080C0E40
- .align 2, 0
-_080C0E40:
- .4byte _080C0E74
- .4byte _080C0EB0
- .4byte _080C0EF8
- .4byte _080C0F0A
- .4byte _080C0EF8
- .4byte _080C0EF8
- .4byte _080C0F34
- .4byte _080C0F64
- .4byte _080C0F94
- .4byte _080C0FA0
- .4byte _080C0FAE
- .4byte _080C0FC0
- .4byte _080C1004
-_080C0E74:
- ldr r0, _080C0E98
- adds r1, r5, 0
- adds r1, 0x13
- ldrb r2, [r5, 0x3]
- bl sub_80C08FC
- ldr r0, _080C0E9C
- ldrb r1, [r5, 0x12]
- movs r2, 0
- bl sub_80FBFB4
- ldrh r0, [r5, 0xC]
- cmp r0, 0xFE
- bls _080C0EA4
- ldr r1, _080C0EA0
- movs r0, 0xB
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0E98: .4byte gStringVar1
-_080C0E9C: .4byte gStringVar2
-_080C0EA0: .4byte gUnknown_020387E8
-_080C0EA4:
- ldr r1, _080C0EAC
- movs r0, 0x1
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0EAC: .4byte gUnknown_020387E8
-_080C0EB0:
- ldr r0, _080C0EEC
- adds r1, r5, 0
- adds r1, 0x13
- ldrb r2, [r5, 0x3]
- bl sub_80C08FC
- ldr r4, _080C0EF0
- ldrh r0, [r5, 0x6]
- bl itemid_get_item
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldrh r1, [r5, 0xC]
- movs r0, 0x2
- bl sub_80BF088
- ldr r4, _080C0EF4
- bl Random
- ldrb r2, [r4]
- adds r2, 0x1
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- ands r0, r1
- adds r0, r2
- strb r0, [r4]
- b _080C1014
- .align 2, 0
-_080C0EEC: .4byte gStringVar1
-_080C0EF0: .4byte gStringVar2
-_080C0EF4: .4byte gUnknown_020387E8
-_080C0EF8:
- ldrh r0, [r5, 0x8]
- cmp r0, 0
- beq _080C0F04
- movs r0, 0x6
- strb r0, [r2]
- b _080C1014
-_080C0F04:
- movs r0, 0xA
- strb r0, [r2]
- b _080C1014
-_080C0F0A:
- ldrh r1, [r5, 0xC]
- adds r1, 0x1
- movs r0, 0x2
- bl sub_80BF088
- ldrh r0, [r5, 0x8]
- cmp r0, 0
- beq _080C0F28
- ldr r1, _080C0F24
- movs r0, 0x6
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0F24: .4byte gUnknown_020387E8
-_080C0F28:
- ldr r1, _080C0F30
- movs r0, 0xA
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0F30: .4byte gUnknown_020387E8
-_080C0F34:
- ldr r4, _080C0F5C
- ldrh r0, [r5, 0x8]
- bl itemid_get_item
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldrh r1, [r5, 0xE]
- movs r0, 0x2
- bl sub_80BF088
- ldrh r0, [r5, 0xA]
- cmp r0, 0
- beq _080C0F7C
- ldr r1, _080C0F60
- movs r0, 0x7
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0F5C: .4byte gStringVar2
-_080C0F60: .4byte gUnknown_020387E8
-_080C0F64:
- ldr r4, _080C0F8C
- ldrh r0, [r5, 0xA]
- bl itemid_get_item
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldrh r1, [r5, 0x10]
- movs r0, 0x2
- bl sub_80BF088
-_080C0F7C:
- ldrb r0, [r5, 0x2]
- cmp r0, 0x1
- beq _080C0FE2
- ldr r1, _080C0F90
- movs r0, 0x9
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0F8C: .4byte gStringVar2
-_080C0F90: .4byte gUnknown_020387E8
-_080C0F94:
- ldrh r0, [r5, 0xC]
- cmp r0, 0xFE
- bls _080C0FBA
- movs r0, 0xC
- strb r0, [r2]
- b _080C1014
-_080C0FA0:
- movs r0, 0x1
- adds r1, r5, 0
- bl sub_80BF154
- bl TVShowDone
- b _080C1014
-_080C0FAE:
- ldrb r0, [r5, 0x2]
- cmp r0, 0x1
- bne _080C0FBA
- movs r0, 0x8
- strb r0, [r2]
- b _080C1014
-_080C0FBA:
- movs r0, 0x9
- strb r0, [r2]
- b _080C1014
-_080C0FC0:
- ldr r0, _080C0FEC
- adds r1, r5, 0
- adds r1, 0x13
- ldrb r2, [r5, 0x3]
- bl sub_80C08FC
- ldr r4, _080C0FF0
- ldrh r0, [r5, 0x6]
- bl itemid_get_item
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldrb r0, [r5, 0x2]
- cmp r0, 0x1
- bne _080C0FF8
-_080C0FE2:
- ldr r1, _080C0FF4
- movs r0, 0x8
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C0FEC: .4byte gStringVar1
-_080C0FF0: .4byte gStringVar2
-_080C0FF4: .4byte gUnknown_020387E8
-_080C0FF8:
- ldr r1, _080C1000
- movs r0, 0xC
- strb r0, [r1]
- b _080C1014
- .align 2, 0
-_080C1000: .4byte gUnknown_020387E8
-_080C1004:
- ldr r0, _080C1028
- adds r1, r5, 0
- adds r1, 0x13
- ldrb r2, [r5, 0x3]
- bl sub_80C08FC
- bl TVShowDone
-_080C1014:
- ldr r0, _080C102C
- lsls r1, r6, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1028: .4byte gStringVar1
-_080C102C: .4byte gUnknown_083D14F0
- thumb_func_end DoTVShowTodaysSmartShopper
-
- thumb_func_start DoTVShowTheNameRaterShow
-DoTVShowTheNameRaterShow: @ 80C1030
- push {r4-r7,lr}
- sub sp, 0x8
- ldr r0, _080C1060
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C1064
- adds r6, r0, r1
- ldr r1, _080C1068
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080C106C
- ldrb r7, [r0]
- adds r2, r0, 0
- cmp r7, 0x12
- bls _080C1054
- b _080C138A
-_080C1054:
- lsls r0, r7, 2
- ldr r1, _080C1070
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C1060: .4byte gUnknown_0202E8CC
-_080C1064: .4byte gSaveBlock1 + 0x2738
-_080C1068: .4byte gScriptResult
-_080C106C: .4byte gUnknown_020387E8
-_080C1070: .4byte _080C1074
- .align 2, 0
-_080C1074:
- .4byte _080C10C0
- .4byte _080C1108
- .4byte _080C112A
- .4byte _080C1108
- .4byte _080C1108
- .4byte _080C1108
- .4byte _080C1108
- .4byte _080C1108
- .4byte _080C1108
- .4byte _080C1170
- .4byte _080C1170
- .4byte _080C1170
- .4byte _080C136C
- .4byte _080C11CC
- .4byte _080C1228
- .4byte _080C127C
- .4byte _080C12D4
- .4byte _080C1314
- .4byte _080C1370
-_080C10C0:
- ldr r0, _080C10F4
- adds r1, r6, 0
- adds r1, 0xF
- ldrb r2, [r6, 0x1E]
- bl sub_80C08FC
- ldr r0, _080C10F8
- ldrh r2, [r6, 0x2]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C10FC
- adds r1, r2
- bl StringCopy
- ldr r0, _080C1100
- adds r1, r6, 0x4
- ldrb r2, [r6, 0x1F]
- bl sub_80C08FC
- ldr r4, _080C1104
- adds r0, r6, 0
- bl sub_80BF7E8
- adds r0, 0x1
- strb r0, [r4]
- b _080C138A
- .align 2, 0
-_080C10F4: .4byte gStringVar1
-_080C10F8: .4byte gStringVar2
-_080C10FC: .4byte gSpeciesNames
-_080C1100: .4byte gStringVar3
-_080C1104: .4byte gUnknown_020387E8
-_080C1108:
- ldrb r0, [r6, 0x1A]
- cmp r0, 0
- bne _080C1114
- movs r0, 0x9
- strb r0, [r2]
- b _080C138A
-_080C1114:
- cmp r0, 0x1
- bne _080C111E
- movs r0, 0xA
- strb r0, [r2]
- b _080C138A
-_080C111E:
- cmp r0, 0x2
- beq _080C1124
- b _080C138A
-_080C1124:
- movs r0, 0xB
- strb r0, [r2]
- b _080C138A
-_080C112A:
- ldr r0, _080C1144
- adds r1, r6, 0
- adds r1, 0xF
- ldrb r2, [r6, 0x1E]
- bl sub_80C08FC
- ldrb r0, [r6, 0x1A]
- cmp r0, 0
- bne _080C114C
- ldr r1, _080C1148
- movs r0, 0x9
- strb r0, [r1]
- b _080C138A
- .align 2, 0
-_080C1144: .4byte gStringVar1
-_080C1148: .4byte gUnknown_020387E8
-_080C114C:
- cmp r0, 0x1
- bne _080C115C
- ldr r1, _080C1158
- movs r0, 0xA
- strb r0, [r1]
- b _080C138A
- .align 2, 0
-_080C1158: .4byte gUnknown_020387E8
-_080C115C:
- cmp r0, 0x2
- beq _080C1162
- b _080C138A
-_080C1162:
- ldr r1, _080C116C
- movs r0, 0xB
- strb r0, [r1]
- b _080C138A
- .align 2, 0
-_080C116C: .4byte gUnknown_020387E8
-_080C1170:
- movs r5, 0
- str r5, [sp]
- str r6, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0
- movs r3, 0x1
- bl sub_80BF820
- ldr r0, _080C11BC
- ldr r4, _080C11C0
- ldrb r2, [r6, 0x1F]
- adds r1, r4, 0
- bl sub_80C08FC
- str r5, [sp]
- str r6, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl sub_80BF820
- ldr r0, _080C11C4
- ldrb r2, [r6, 0x1F]
- adds r1, r4, 0
- bl sub_80C08FC
- adds r1, r6, 0x4
- ldrb r2, [r6, 0x1F]
- adds r0, r4, 0
- bl sub_80C08FC
- ldr r1, _080C11C8
- movs r0, 0xC
- strb r0, [r1]
- b _080C138A
- .align 2, 0
-_080C11BC: .4byte gStringVar3
-_080C11C0: .4byte gStringVar1
-_080C11C4: .4byte gStringVar2
-_080C11C8: .4byte gUnknown_020387E8
-_080C11CC:
- movs r5, 0
- str r5, [sp]
- str r6, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_80BF820
- ldr r0, _080C1218
- ldr r4, _080C121C
- ldrb r2, [r6, 0x1F]
- adds r1, r4, 0
- bl sub_80C08FC
- str r5, [sp]
- str r6, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0
- bl sub_80BF820
- ldr r0, _080C1220
- ldrb r2, [r6, 0x1E]
- adds r1, r4, 0
- bl sub_80C08FC
- adds r1, r6, 0
- adds r1, 0xF
- ldrb r2, [r6, 0x1E]
- adds r0, r4, 0
- bl sub_80C08FC
- ldr r1, _080C1224
- movs r0, 0xE
- strb r0, [r1]
- b _080C138A
- .align 2, 0
-_080C1218: .4byte gStringVar3
-_080C121C: .4byte gStringVar1
-_080C1220: .4byte gStringVar2
-_080C1224: .4byte gUnknown_020387E8
-_080C1228:
- movs r5, 0
- str r5, [sp]
- str r6, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0x3
- movs r3, 0
- bl sub_80BF820
- ldr r0, _080C1270
- ldr r4, _080C1274
- ldrb r2, [r6, 0x1E]
- adds r1, r4, 0
- bl sub_80C08FC
- str r5, [sp]
- str r6, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl sub_80BF820
- ldr r0, _080C1278
- ldrb r2, [r6, 0x1F]
- adds r1, r4, 0
- bl sub_80C08FC
- adds r1, r6, 0
- adds r1, 0xF
- ldrb r2, [r6, 0x1E]
- adds r0, r4, 0
- bl sub_80C08FC
- b _080C1354
- .align 2, 0
-_080C1270: .4byte gStringVar3
-_080C1274: .4byte gStringVar1
-_080C1278: .4byte gStringVar2
-_080C127C:
- movs r0, 0
- str r0, [sp]
- str r6, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl sub_80BF820
- ldr r0, _080C12C4
- ldr r4, _080C12C8
- ldrb r2, [r6, 0x1F]
- adds r1, r4, 0
- bl sub_80C08FC
- ldrh r1, [r6, 0x2]
- movs r0, 0xB
- muls r1, r0
- ldr r0, _080C12CC
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- ldrh r0, [r6, 0x2]
- str r0, [sp]
- str r6, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x2
- bl sub_80BF820
- ldr r1, _080C12D0
- movs r0, 0x10
- strb r0, [r1]
- b _080C138A
- .align 2, 0
-_080C12C4: .4byte gStringVar1
-_080C12C8: .4byte gStringVar2
-_080C12CC: .4byte gSpeciesNames
-_080C12D0: .4byte gUnknown_020387E8
-_080C12D4:
- movs r0, 0
- str r0, [sp]
- str r6, [sp, 0x4]
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x1
- bl sub_80BF820
- ldr r0, _080C1308
- ldr r1, _080C130C
- ldrb r2, [r6, 0x1F]
- bl sub_80C08FC
- ldrh r0, [r6, 0x2]
- str r0, [sp]
- str r6, [sp, 0x4]
- movs r0, 0
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x2
- bl sub_80BF820
- ldr r1, _080C1310
- movs r0, 0x11
- strb r0, [r1]
- b _080C138A
- .align 2, 0
-_080C1308: .4byte gStringVar3
-_080C130C: .4byte gStringVar1
-_080C1310: .4byte gUnknown_020387E8
-_080C1314:
- movs r0, 0
- str r0, [sp]
- str r6, [sp, 0x4]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x2
- movs r3, 0x1
- bl sub_80BF820
- ldr r0, _080C135C
- ldr r4, _080C1360
- ldrb r2, [r6, 0x1F]
- adds r1, r4, 0
- bl sub_80C08FC
- ldrh r0, [r6, 0x1C]
- str r0, [sp]
- str r6, [sp, 0x4]
- movs r0, 0x2
- movs r1, 0
- movs r2, 0x3
- movs r3, 0x2
- bl sub_80BF820
- ldrh r1, [r6, 0x1C]
- movs r0, 0xB
- muls r1, r0
- ldr r0, _080C1364
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
-_080C1354:
- ldr r1, _080C1368
- movs r0, 0x12
- strb r0, [r1]
- b _080C138A
- .align 2, 0
-_080C135C: .4byte gStringVar1
-_080C1360: .4byte gStringVar2
-_080C1364: .4byte gSpeciesNames
-_080C1368: .4byte gUnknown_020387E8
-_080C136C:
- movs r7, 0x12
- strb r7, [r2]
-_080C1370:
- ldr r0, _080C13A0
- adds r1, r6, 0x4
- ldrb r2, [r6, 0x1F]
- bl sub_80C08FC
- ldr r0, _080C13A4
- adds r1, r6, 0
- adds r1, 0xF
- ldrb r2, [r6, 0x1E]
- bl sub_80C08FC
- bl TVShowDone
-_080C138A:
- ldr r0, _080C13A8
- lsls r1, r7, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C13A0: .4byte gStringVar1
-_080C13A4: .4byte gStringVar2
-_080C13A8: .4byte gUnknown_083D1584
- thumb_func_end DoTVShowTheNameRaterShow
-
- thumb_func_start DoTVShowPokemonTodaySuccessfulCapture
-DoTVShowPokemonTodaySuccessfulCapture: @ 80C13AC
- push {r4-r6,lr}
- ldr r0, _080C13D8
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C13DC
- adds r5, r0, r1
- ldr r1, _080C13E0
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080C13E4
- ldrb r6, [r0]
- adds r2, r0, 0
- cmp r6, 0xB
- bls _080C13CE
- b _080C15DC
-_080C13CE:
- lsls r0, r6, 2
- ldr r1, _080C13E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C13D8: .4byte gUnknown_0202E8CC
-_080C13DC: .4byte gSaveBlock1 + 0x2738
-_080C13E0: .4byte gScriptResult
-_080C13E4: .4byte gUnknown_020387E8
-_080C13E8: .4byte _080C13EC
- .align 2, 0
-_080C13EC:
- .4byte _080C141C
- .4byte _080C1470
- .4byte _080C1476
- .4byte _080C14B0
- .4byte _080C14E8
- .4byte _080C14EE
- .4byte _080C1524
- .4byte _080C1578
- .4byte _080C1578
- .4byte _080C15A8
- .4byte _080C15A8
- .4byte _080C15D8
-_080C141C:
- ldr r0, _080C1450
- adds r1, r5, 0
- adds r1, 0x13
- ldrb r2, [r5, 0x2]
- bl sub_80C08FC
- ldr r0, _080C1454
- ldrh r2, [r5, 0x10]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C1458
- adds r1, r2
- bl StringCopy
- ldr r0, _080C145C
- adds r1, r5, 0x4
- ldrb r2, [r5, 0x3]
- bl sub_80C08FC
- ldrb r0, [r5, 0xF]
- cmp r0, 0x1
- bne _080C1464
- ldr r1, _080C1460
- movs r0, 0x5
- strb r0, [r1]
- b _080C15DC
- .align 2, 0
-_080C1450: .4byte gStringVar1
-_080C1454: .4byte gStringVar2
-_080C1458: .4byte gSpeciesNames
-_080C145C: .4byte gStringVar3
-_080C1460: .4byte gUnknown_020387E8
-_080C1464:
- ldr r1, _080C146C
- movs r0, 0x1
- strb r0, [r1]
- b _080C15DC
- .align 2, 0
-_080C146C: .4byte gUnknown_020387E8
-_080C1470:
- movs r0, 0x2
- strb r0, [r2]
- b _080C15DC
-_080C1476:
- ldr r4, _080C149C
- ldrb r0, [r5, 0xF]
- bl itemid_get_item
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldrb r1, [r5, 0x12]
- movs r0, 0x2
- bl sub_80BF088
- ldrb r0, [r5, 0x12]
- cmp r0, 0x3
- bhi _080C14A4
- ldr r1, _080C14A0
- movs r0, 0x3
- strb r0, [r1]
- b _080C15DC
- .align 2, 0
-_080C149C: .4byte gStringVar2
-_080C14A0: .4byte gUnknown_020387E8
-_080C14A4:
- ldr r1, _080C14AC
- movs r0, 0x4
- strb r0, [r1]
- b _080C15DC
- .align 2, 0
-_080C14AC: .4byte gUnknown_020387E8
-_080C14B0:
- ldr r0, _080C14D8
- adds r1, r5, 0
- adds r1, 0x13
- ldrb r2, [r5, 0x2]
- bl sub_80C08FC
- ldr r0, _080C14DC
- ldrh r2, [r5, 0x10]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C14E0
- adds r1, r2
- bl StringCopy
- ldr r0, _080C14E4
- adds r1, r5, 0x4
- ldrb r2, [r5, 0x3]
- bl sub_80C08FC
- b _080C150A
- .align 2, 0
-_080C14D8: .4byte gStringVar1
-_080C14DC: .4byte gStringVar2
-_080C14E0: .4byte gSpeciesNames
-_080C14E4: .4byte gStringVar3
-_080C14E8:
- movs r0, 0x6
- strb r0, [r2]
- b _080C15DC
-_080C14EE:
- ldr r0, _080C1514
- adds r1, r5, 0
- adds r1, 0x13
- ldrb r2, [r5, 0x2]
- bl sub_80C08FC
- ldr r0, _080C1518
- ldrh r2, [r5, 0x10]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C151C
- adds r1, r2
- bl StringCopy
-_080C150A:
- ldr r1, _080C1520
- movs r0, 0x6
- strb r0, [r1]
- b _080C15DC
- .align 2, 0
-_080C1514: .4byte gStringVar1
-_080C1518: .4byte gStringVar2
-_080C151C: .4byte gSpeciesNames
-_080C1520: .4byte gUnknown_020387E8
-_080C1524:
- ldr r0, _080C1564
- adds r1, r5, 0
- adds r1, 0x13
- ldrb r2, [r5, 0x2]
- bl sub_80C08FC
- ldr r0, _080C1568
- ldrh r2, [r5, 0x10]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C156C
- adds r1, r2
- bl StringCopy
- ldr r0, _080C1570
- adds r1, r5, 0x4
- ldrb r2, [r5, 0x3]
- bl sub_80C08FC
- ldr r4, _080C1574
- bl Random
- ldrb r2, [r4]
- adds r2, 0x1
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- ands r0, r1
- adds r0, r2
- strb r0, [r4]
- b _080C15DC
- .align 2, 0
-_080C1564: .4byte gStringVar1
-_080C1568: .4byte gStringVar2
-_080C156C: .4byte gSpeciesNames
-_080C1570: .4byte gStringVar3
-_080C1574: .4byte gUnknown_020387E8
-_080C1578:
- ldr r0, _080C159C
- ldrh r1, [r5, 0x10]
- movs r4, 0xB
- muls r1, r4
- ldr r2, _080C15A0
- adds r1, r2
- bl StringCopy
- ldr r0, _080C15A4
- adds r1, r5, 0x4
- ldrb r2, [r5, 0x3]
- bl sub_80C08FC
- ldrh r1, [r5, 0x10]
- movs r0, 0x2
- bl sub_80BF638
- b _080C15C2
- .align 2, 0
-_080C159C: .4byte gStringVar1
-_080C15A0: .4byte gSpeciesNames
-_080C15A4: .4byte gStringVar2
-_080C15A8:
- ldr r0, _080C15C8
- ldrh r1, [r5, 0x10]
- movs r4, 0xB
- muls r1, r4
- ldr r2, _080C15CC
- adds r1, r2
- bl StringCopy
- ldr r0, _080C15D0
- adds r1, r5, 0x4
- ldrb r2, [r5, 0x3]
- bl sub_80C08FC
-_080C15C2:
- ldr r0, _080C15D4
- strb r4, [r0]
- b _080C15DC
- .align 2, 0
-_080C15C8: .4byte gStringVar1
-_080C15CC: .4byte gSpeciesNames
-_080C15D0: .4byte gStringVar2
-_080C15D4: .4byte gUnknown_020387E8
-_080C15D8:
- bl TVShowDone
-_080C15DC:
- ldr r0, _080C15F0
- lsls r1, r6, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C15F0: .4byte gUnknown_083D14C0
- thumb_func_end DoTVShowPokemonTodaySuccessfulCapture
-
- thumb_func_start DoTVShowPokemonTodayFailedCapture
-DoTVShowPokemonTodayFailedCapture: @ 80C15F4
- push {r4,r5,lr}
- ldr r0, _080C1620
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C1624
- adds r4, r0, r1
- ldr r1, _080C1628
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080C162C
- ldrb r5, [r0]
- cmp r5, 0x6
- bls _080C1614
- b _080C173C
-_080C1614:
- lsls r0, r5, 2
- ldr r1, _080C1630
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C1620: .4byte gUnknown_0202E8CC
-_080C1624: .4byte gSaveBlock1 + 0x2738
-_080C1628: .4byte gScriptResult
-_080C162C: .4byte gUnknown_020387E8
-_080C1630: .4byte _080C1634
- .align 2, 0
-_080C1634:
- .4byte _080C1650
- .4byte _080C1684
- .4byte _080C16D8
- .4byte _080C16D8
- .4byte _080C171C
- .4byte _080C171C
- .4byte _080C1738
-_080C1650:
- ldr r0, _080C1674
- adds r1, r4, 0
- adds r1, 0x13
- ldrb r2, [r4, 0x2]
- bl sub_80C08FC
- ldr r0, _080C1678
- ldrh r2, [r4, 0xC]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C167C
- adds r1, r2
- bl StringCopy
- ldr r1, _080C1680
- movs r0, 0x1
- strb r0, [r1]
- b _080C173C
- .align 2, 0
-_080C1674: .4byte gStringVar1
-_080C1678: .4byte gStringVar2
-_080C167C: .4byte gSpeciesNames
-_080C1680: .4byte gUnknown_020387E8
-_080C1684:
- ldr r0, _080C16B8
- adds r1, r4, 0
- adds r1, 0x13
- ldrb r2, [r4, 0x2]
- bl sub_80C08FC
- ldr r0, _080C16BC
- ldrb r1, [r4, 0x12]
- movs r2, 0
- bl sub_80FBFB4
- ldr r0, _080C16C0
- ldrh r2, [r4, 0xE]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C16C4
- adds r1, r2
- bl StringCopy
- ldrb r0, [r4, 0x11]
- cmp r0, 0x1
- bne _080C16CC
- ldr r1, _080C16C8
- movs r0, 0x3
- strb r0, [r1]
- b _080C173C
- .align 2, 0
-_080C16B8: .4byte gStringVar1
-_080C16BC: .4byte gStringVar2
-_080C16C0: .4byte gStringVar3
-_080C16C4: .4byte gSpeciesNames
-_080C16C8: .4byte gUnknown_020387E8
-_080C16CC:
- ldr r1, _080C16D4
- movs r0, 0x2
- strb r0, [r1]
- b _080C173C
- .align 2, 0
-_080C16D4: .4byte gUnknown_020387E8
-_080C16D8:
- ldr r0, _080C1708
- adds r1, r4, 0
- adds r1, 0x13
- ldrb r2, [r4, 0x2]
- bl sub_80C08FC
- ldrb r1, [r4, 0x10]
- movs r0, 0x1
- bl sub_80BF088
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _080C1710
- ldr r1, _080C170C
- movs r0, 0x5
- strb r0, [r1]
- b _080C173C
- .align 2, 0
-_080C1708: .4byte gStringVar1
-_080C170C: .4byte gUnknown_020387E8
-_080C1710:
- ldr r1, _080C1718
- movs r0, 0x4
- strb r0, [r1]
- b _080C173C
- .align 2, 0
-_080C1718: .4byte gUnknown_020387E8
-_080C171C:
- ldr r0, _080C1730
- adds r1, r4, 0
- adds r1, 0x13
- ldrb r2, [r4, 0x2]
- bl sub_80C08FC
- ldr r1, _080C1734
- movs r0, 0x6
- strb r0, [r1]
- b _080C173C
- .align 2, 0
-_080C1730: .4byte gStringVar1
-_080C1734: .4byte gUnknown_020387E8
-_080C1738:
- bl TVShowDone
-_080C173C:
- ldr r0, _080C1750
- lsls r1, r5, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1750: .4byte gUnknown_083D15D0
- thumb_func_end DoTVShowPokemonTodayFailedCapture
-
- thumb_func_start DoTVShowPokemonFanClubLetter
-DoTVShowPokemonFanClubLetter: @ 80C1754
- push {r4-r7,lr}
- ldr r0, _080C1780
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C1784
- adds r5, r0, r1
- ldr r1, _080C1788
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080C178C
- ldrb r7, [r0]
- adds r6, r0, 0
- cmp r7, 0x33
- bls _080C1776
- b _080C1960
-_080C1776:
- lsls r0, r7, 2
- ldr r1, _080C1790
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C1780: .4byte gUnknown_0202E8CC
-_080C1784: .4byte gSaveBlock1 + 0x2738
-_080C1788: .4byte gScriptResult
-_080C178C: .4byte gUnknown_020387E8
-_080C1790: .4byte _080C1794
- .align 2, 0
-_080C1794:
- .4byte _080C1864
- .4byte _080C1898
- .4byte _080C18C4
- .4byte _080C18CA
- .4byte _080C18E2
- .4byte _080C18E2
- .4byte _080C18E2
- .4byte _080C18F4
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1960
- .4byte _080C1916
- .4byte _080C193C
-_080C1864:
- ldr r0, _080C1888
- adds r1, r5, 0
- adds r1, 0x10
- ldrb r2, [r5, 0x18]
- bl sub_80C08FC
- ldr r0, _080C188C
- ldrh r2, [r5, 0x2]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C1890
- adds r1, r2
- bl StringCopy
- ldr r1, _080C1894
- movs r0, 0x32
- strb r0, [r1]
- b _080C1960
- .align 2, 0
-_080C1888: .4byte gStringVar1
-_080C188C: .4byte gStringVar2
-_080C1890: .4byte gSpeciesNames
-_080C1894: .4byte gUnknown_020387E8
-_080C1898:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- ands r0, r1
- adds r2, r0, 0x1
- cmp r2, 0x1
- bne _080C18B8
- ldr r1, _080C18B4
- movs r0, 0x2
- strb r0, [r1]
- b _080C1960
- .align 2, 0
-_080C18B4: .4byte gUnknown_020387E8
-_080C18B8:
- ldr r1, _080C18C0
- adds r0, r2, 0x2
- strb r0, [r1]
- b _080C1960
- .align 2, 0
-_080C18C0: .4byte gUnknown_020387E8
-_080C18C4:
- movs r0, 0x33
- strb r0, [r6]
- b _080C1960
-_080C18CA:
- bl Random
- ldrb r4, [r6]
- adds r4, 0x1
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r0, r4
- strb r0, [r6]
- b _080C1960
-_080C18E2:
- adds r0, r5, 0
- bl sub_80BF79C
- ldr r1, _080C18F0
- movs r0, 0x7
- strb r0, [r1]
- b _080C1960
- .align 2, 0
-_080C18F0: .4byte gUnknown_020387E8
-_080C18F4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1F
- bl __umodsi3
- adds r0, 0x46
- lsls r0, 16
- lsrs r2, r0, 16
- movs r0, 0x2
- adds r1, r2, 0
- bl sub_80BF088
- bl TVShowDone
- b _080C1960
-_080C1916:
- ldr r4, _080C1934
- adds r1, r5, 0x4
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertEasyChatWordsToString
- adds r0, r4, 0
- bl ShowFieldMessage
- ldr r1, _080C1938
- movs r0, 0x1
- strb r0, [r1]
- b _080C196C
- .align 2, 0
-_080C1934: .4byte gStringVar4
-_080C1938: .4byte gUnknown_020387E8
-_080C193C:
- ldr r4, _080C1958
- adds r1, r5, 0x4
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertEasyChatWordsToString
- adds r0, r4, 0
- bl ShowFieldMessage
- ldr r1, _080C195C
- movs r0, 0x3
- strb r0, [r1]
- b _080C196C
- .align 2, 0
-_080C1958: .4byte gStringVar4
-_080C195C: .4byte gUnknown_020387E8
-_080C1960:
- ldr r0, _080C1974
- lsls r1, r7, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
-_080C196C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1974: .4byte gUnknown_083D1470
- thumb_func_end DoTVShowPokemonFanClubLetter
-
- thumb_func_start DoTVShowRecentHappenings
-DoTVShowRecentHappenings: @ 80C1978
- push {r4-r7,lr}
- ldr r0, _080C19A4
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C19A8
- adds r5, r0, r1
- ldr r1, _080C19AC
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080C19B0
- ldrb r6, [r0]
- adds r7, r0, 0
- cmp r6, 0x32
- bls _080C199A
- b _080C1AF0
-_080C199A:
- lsls r0, r6, 2
- ldr r1, _080C19B4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C19A4: .4byte gUnknown_0202E8CC
-_080C19A8: .4byte gSaveBlock1 + 0x2738
-_080C19AC: .4byte gScriptResult
-_080C19B0: .4byte gUnknown_020387E8
-_080C19B4: .4byte _080C19B8
- .align 2, 0
-_080C19B8:
- .4byte _080C1A84
- .4byte _080C1AA8
- .4byte _080C1AC0
- .4byte _080C1AC0
- .4byte _080C1AC0
- .4byte _080C1AC6
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1AF0
- .4byte _080C1ACC
-_080C1A84:
- ldr r0, _080C1AA0
- adds r1, r5, 0
- adds r1, 0x10
- ldrb r2, [r5, 0x18]
- bl sub_80C08FC
- adds r0, r5, 0
- bl sub_80BF79C
- ldr r1, _080C1AA4
- movs r0, 0x32
- strb r0, [r1]
- b _080C1AF0
- .align 2, 0
-_080C1AA0: .4byte gStringVar1
-_080C1AA4: .4byte gUnknown_020387E8
-_080C1AA8:
- bl Random
- ldrb r4, [r7]
- adds r4, 0x1
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x3
- bl __umodsi3
- adds r0, r4
- strb r0, [r7]
- b _080C1AF0
-_080C1AC0:
- movs r0, 0x5
- strb r0, [r7]
- b _080C1AF0
-_080C1AC6:
- bl TVShowDone
- b _080C1AF0
-_080C1ACC:
- ldr r4, _080C1AE8
- adds r1, r5, 0x4
- adds r0, r4, 0
- movs r2, 0x2
- movs r3, 0x2
- bl ConvertEasyChatWordsToString
- adds r0, r4, 0
- bl ShowFieldMessage
- ldr r1, _080C1AEC
- movs r0, 0x1
- strb r0, [r1]
- b _080C1AFC
- .align 2, 0
-_080C1AE8: .4byte gStringVar4
-_080C1AEC: .4byte gUnknown_020387E8
-_080C1AF0:
- ldr r0, _080C1B04
- lsls r1, r6, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
-_080C1AFC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1B04: .4byte gUnknown_083D1490
- thumb_func_end DoTVShowRecentHappenings
-
- thumb_func_start DoTVShowPokemonFanClubOpinions
-DoTVShowPokemonFanClubOpinions: @ 80C1B08
- push {r4-r6,lr}
- ldr r0, _080C1B30
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C1B34
- adds r4, r0, r1
- ldr r1, _080C1B38
- movs r0, 0
- strh r0, [r1]
- ldr r6, _080C1B3C
- ldrb r5, [r6]
- cmp r5, 0x3
- bgt _080C1B40
- cmp r5, 0x1
- bge _080C1B88
- cmp r5, 0
- beq _080C1B46
- b _080C1BD6
- .align 2, 0
-_080C1B30: .4byte gUnknown_0202E8CC
-_080C1B34: .4byte gSaveBlock1 + 0x2738
-_080C1B38: .4byte gScriptResult
-_080C1B3C: .4byte gUnknown_020387E8
-_080C1B40:
- cmp r5, 0x4
- beq _080C1BC0
- b _080C1BD6
-_080C1B46:
- ldr r0, _080C1B78
- adds r1, r4, 0x5
- ldrb r2, [r4, 0xD]
- bl sub_80C08FC
- ldr r0, _080C1B7C
- ldrh r2, [r4, 0x2]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C1B80
- adds r1, r2
- bl StringCopy
- ldr r0, _080C1B84
- adds r1, r4, 0
- adds r1, 0x10
- ldrb r2, [r4, 0xE]
- bl sub_80C08FC
- ldrb r0, [r4, 0x4]
- lsrs r0, 4
- adds r0, 0x1
- strb r0, [r6]
- b _080C1BD6
- .align 2, 0
-_080C1B78: .4byte gStringVar1
-_080C1B7C: .4byte gStringVar2
-_080C1B80: .4byte gSpeciesNames
-_080C1B84: .4byte gStringVar3
-_080C1B88:
- ldr r0, _080C1BB0
- adds r1, r4, 0x5
- ldrb r2, [r4, 0xD]
- bl sub_80C08FC
- ldr r0, _080C1BB4
- ldrh r2, [r4, 0x2]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C1BB8
- adds r1, r2
- bl StringCopy
- ldr r0, _080C1BBC
- ldrh r1, [r4, 0x1C]
- bl sub_80EB3FC
- movs r0, 0x4
- strb r0, [r6]
- b _080C1BD6
- .align 2, 0
-_080C1BB0: .4byte gStringVar1
-_080C1BB4: .4byte gStringVar2
-_080C1BB8: .4byte gSpeciesNames
-_080C1BBC: .4byte gStringVar3
-_080C1BC0:
- ldr r0, _080C1BE8
- adds r1, r4, 0x5
- ldrb r2, [r4, 0xD]
- bl sub_80C08FC
- ldr r0, _080C1BEC
- ldrh r1, [r4, 0x1E]
- bl sub_80EB3FC
- bl TVShowDone
-_080C1BD6:
- ldr r0, _080C1BF0
- lsls r1, r5, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1BE8: .4byte gStringVar1
-_080C1BEC: .4byte gStringVar3
-_080C1BF0: .4byte gUnknown_083D14A8
- thumb_func_end DoTVShowPokemonFanClubOpinions
-
- thumb_func_start nullsub_22
-nullsub_22: @ 80C1BF4
- bx lr
- thumb_func_end nullsub_22
-
- thumb_func_start DoTVShowPokemonNewsMassOutbreak
-DoTVShowPokemonNewsMassOutbreak: @ 80C1BF8
- push {r4,lr}
- ldr r0, _080C1C40
- ldrh r0, [r0]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _080C1C44
- adds r4, r0
- ldr r0, _080C1C48
- ldrb r1, [r4, 0x10]
- movs r2, 0
- bl sub_80FBFB4
- ldr r0, _080C1C4C
- ldrh r2, [r4, 0xC]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C1C50
- adds r1, r2
- bl StringCopy
- bl TVShowDone
- bl StartMassOutbreak
- ldr r1, _080C1C54
- ldr r0, _080C1C58
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl ShowFieldMessage
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1C40: .4byte gUnknown_0202E8CC
-_080C1C44: .4byte gSaveBlock1 + 0x2738
-_080C1C48: .4byte gStringVar1
-_080C1C4C: .4byte gStringVar2
-_080C1C50: .4byte gSpeciesNames
-_080C1C54: .4byte gUnknown_083D14BC
-_080C1C58: .4byte gUnknown_020387E8
- thumb_func_end DoTVShowPokemonNewsMassOutbreak
-
- thumb_func_start DoTVShowInSearchOfTrainers
-DoTVShowInSearchOfTrainers: @ 80C1C5C
- push {r4-r7,lr}
- ldr r0, _080C1C7C
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080C1C80
- ldrb r7, [r0]
- adds r2, r0, 0
- cmp r7, 0x8
- bls _080C1C70
- b _080C1DF8
-_080C1C70:
- lsls r0, r7, 2
- ldr r1, _080C1C84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C1C7C: .4byte gScriptResult
-_080C1C80: .4byte gUnknown_020387E8
-_080C1C84: .4byte _080C1C88
- .align 2, 0
-_080C1C88:
- .4byte _080C1CAC
- .4byte _080C1CF0
- .4byte _080C1CF6
- .4byte _080C1D44
- .4byte _080C1DB0
- .4byte _080C1DB0
- .4byte _080C1DB0
- .4byte _080C1DB0
- .4byte _080C1DB6
-_080C1CAC:
- ldr r0, _080C1CD0
- ldr r4, _080C1CD4
- ldr r2, _080C1CD8
- adds r1, r4, r2
- ldrb r1, [r1]
- movs r2, 0
- bl sub_80FBFB4
- ldr r0, _080C1CDC
- adds r4, r0
- ldrb r0, [r4]
- cmp r0, 0x1
- bls _080C1CE4
- ldr r1, _080C1CE0
- movs r0, 0x1
- strb r0, [r1]
- b _080C1DF8
- .align 2, 0
-_080C1CD0: .4byte gStringVar1
-_080C1CD4: .4byte gSaveBlock1
-_080C1CD8: .4byte 0x00002b18
-_080C1CDC: .4byte 0x00002b19
-_080C1CE0: .4byte gUnknown_020387E8
-_080C1CE4:
- ldr r1, _080C1CEC
- movs r0, 0x2
- strb r0, [r1]
- b _080C1DF8
- .align 2, 0
-_080C1CEC: .4byte gUnknown_020387E8
-_080C1CF0:
- movs r0, 0x2
- strb r0, [r2]
- b _080C1DF8
-_080C1CF6:
- ldr r0, _080C1D0C
- ldr r1, _080C1D10
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080C1D14
- movs r0, 0x4
- strb r0, [r2]
- b _080C1DF8
- .align 2, 0
-_080C1D0C: .4byte gSaveBlock1
-_080C1D10: .4byte 0x00002b1a
-_080C1D14:
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080C1D22
- movs r0, 0x5
- strb r0, [r2]
- b _080C1DF8
-_080C1D22:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080C1D30
- movs r0, 0x6
- strb r0, [r2]
- b _080C1DF8
-_080C1D30:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080C1D3E
- movs r0, 0x7
- strb r0, [r2]
- b _080C1DF8
-_080C1D3E:
- movs r0, 0x3
- strb r0, [r2]
- b _080C1DF8
-_080C1D44:
- ldr r0, _080C1D88
- ldr r4, _080C1D8C
- ldr r2, _080C1D90
- adds r1, r4, r2
- ldrh r1, [r1]
- movs r6, 0xB
- muls r1, r6
- ldr r5, _080C1D94
- adds r1, r5
- bl StringCopy
- ldr r0, _080C1D98
- ldr r2, _080C1D9C
- adds r1, r4, r2
- ldrh r2, [r1]
- movs r1, 0xD
- muls r1, r2
- ldr r2, _080C1DA0
- adds r1, r2
- bl StringCopy
- ldr r0, _080C1DA4
- ldr r1, _080C1DA8
- adds r4, r1
- ldrh r1, [r4]
- muls r1, r6
- adds r1, r5
- bl StringCopy
- ldr r1, _080C1DAC
- movs r0, 0x8
- strb r0, [r1]
- b _080C1DF8
- .align 2, 0
-_080C1D88: .4byte gStringVar1
-_080C1D8C: .4byte gSaveBlock1
-_080C1D90: .4byte 0x00002b10
-_080C1D94: .4byte gSpeciesNames
-_080C1D98: .4byte gStringVar2
-_080C1D9C: .4byte 0x00002b14
-_080C1DA0: .4byte gMoveNames
-_080C1DA4: .4byte gStringVar3
-_080C1DA8: .4byte 0x00002b12
-_080C1DAC: .4byte gUnknown_020387E8
-_080C1DB0:
- movs r0, 0x8
- strb r0, [r2]
- b _080C1DF8
-_080C1DB6:
- ldr r0, _080C1E0C
- ldr r4, _080C1E10
- ldr r2, _080C1E14
- adds r1, r4, r2
- ldrh r1, [r1]
- bl sub_80EB3FC
- ldr r0, _080C1E18
- ldr r2, _080C1E1C
- adds r1, r4, r2
- ldrh r1, [r1]
- movs r6, 0xB
- muls r1, r6
- ldr r5, _080C1E20
- adds r1, r5
- bl StringCopy
- ldr r0, _080C1E24
- ldr r1, _080C1E28
- adds r4, r1
- ldrh r1, [r4]
- muls r1, r6
- adds r1, r5
- bl StringCopy
- ldr r1, _080C1E2C
- movs r0, 0x1
- strh r0, [r1]
- ldr r1, _080C1E30
- movs r0, 0
- strb r0, [r1]
- bl TakeTVShowInSearchOfTrainersOffTheAir
-_080C1DF8:
- ldr r0, _080C1E34
- lsls r1, r7, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1E0C: .4byte gStringVar1
-_080C1E10: .4byte gSaveBlock1
-_080C1E14: .4byte 0x00002b16
-_080C1E18: .4byte gStringVar2
-_080C1E1C: .4byte 0x00002b10
-_080C1E20: .4byte gSpeciesNames
-_080C1E24: .4byte gStringVar3
-_080C1E28: .4byte 0x00002b12
-_080C1E2C: .4byte gScriptResult
-_080C1E30: .4byte gUnknown_020387E8
-_080C1E34: .4byte gUnknown_083D1600
- thumb_func_end DoTVShowInSearchOfTrainers
-
- thumb_func_start DoTVShowPokemonAngler
-DoTVShowPokemonAngler: @ 80C1E38
- push {r4,r5,lr}
- ldr r0, _080C1E5C
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C1E60
- adds r4, r0, r1
- ldr r0, _080C1E64
- movs r1, 0
- strh r1, [r0]
- ldrb r0, [r4, 0x2]
- ldrb r2, [r4, 0x3]
- cmp r0, r2
- bcs _080C1E6C
- ldr r0, _080C1E68
- strb r1, [r0]
- b _080C1E74
- .align 2, 0
-_080C1E5C: .4byte gUnknown_0202E8CC
-_080C1E60: .4byte gSaveBlock1 + 0x2738
-_080C1E64: .4byte gScriptResult
-_080C1E68: .4byte gUnknown_020387E8
-_080C1E6C:
- ldr r1, _080C1E80
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r1, 0
-_080C1E74:
- ldrb r5, [r0]
- cmp r5, 0
- beq _080C1E84
- cmp r5, 0x1
- beq _080C1EBC
- b _080C1EE4
- .align 2, 0
-_080C1E80: .4byte gUnknown_020387E8
-_080C1E84:
- ldr r0, _080C1EB0
- adds r1, r4, 0
- adds r1, 0x13
- ldrb r2, [r4, 0x6]
- bl sub_80C08FC
- ldr r0, _080C1EB4
- ldrh r2, [r4, 0x4]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C1EB8
- adds r1, r2
- bl StringCopy
- ldrb r1, [r4, 0x3]
- movs r0, 0x2
- bl sub_80BF088
- bl TVShowDone
- b _080C1EE4
- .align 2, 0
-_080C1EB0: .4byte gStringVar1
-_080C1EB4: .4byte gStringVar2
-_080C1EB8: .4byte gSpeciesNames
-_080C1EBC:
- ldr r0, _080C1EF8
- adds r1, r4, 0
- adds r1, 0x13
- ldrb r2, [r4, 0x6]
- bl sub_80C08FC
- ldr r0, _080C1EFC
- ldrh r2, [r4, 0x4]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C1F00
- adds r1, r2
- bl StringCopy
- ldrb r1, [r4, 0x2]
- movs r0, 0x2
- bl sub_80BF088
- bl TVShowDone
-_080C1EE4:
- ldr r0, _080C1F04
- lsls r1, r5, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1EF8: .4byte gStringVar1
-_080C1EFC: .4byte gStringVar2
-_080C1F00: .4byte gSpeciesNames
-_080C1F04: .4byte gUnknown_083D15EC
- thumb_func_end DoTVShowPokemonAngler
-
- thumb_func_start DoTVShowTheWorldOfMasters
-DoTVShowTheWorldOfMasters: @ 80C1F08
- push {r4-r6,lr}
- ldr r0, _080C1F30
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C1F34
- adds r4, r0, r1
- ldr r1, _080C1F38
- movs r0, 0
- strh r0, [r1]
- ldr r6, _080C1F3C
- ldrb r5, [r6]
- cmp r5, 0x1
- beq _080C1F6C
- cmp r5, 0x1
- bgt _080C1F40
- cmp r5, 0
- beq _080C1F46
- b _080C1FB6
- .align 2, 0
-_080C1F30: .4byte gUnknown_0202E8CC
-_080C1F34: .4byte gSaveBlock1 + 0x2738
-_080C1F38: .4byte gScriptResult
-_080C1F3C: .4byte gUnknown_020387E8
-_080C1F40:
- cmp r5, 0x2
- beq _080C1F8C
- b _080C1FB6
-_080C1F46:
- ldr r0, _080C1F68
- adds r1, r4, 0
- adds r1, 0x13
- ldrb r2, [r4, 0xB]
- bl sub_80C08FC
- ldrh r1, [r4, 0x6]
- movs r0, 0x1
- bl sub_80BF088
- ldrh r1, [r4, 0x2]
- movs r0, 0x2
- bl sub_80BF088
- movs r0, 0x1
- strb r0, [r6]
- b _080C1FB6
- .align 2, 0
-_080C1F68: .4byte gStringVar1
-_080C1F6C:
- ldr r0, _080C1F84
- ldrh r2, [r4, 0x8]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C1F88
- adds r1, r2
- bl StringCopy
- movs r0, 0x2
- strb r0, [r6]
- b _080C1FB6
- .align 2, 0
-_080C1F84: .4byte gStringVar1
-_080C1F88: .4byte gSpeciesNames
-_080C1F8C:
- ldr r0, _080C1FC8
- adds r1, r4, 0
- adds r1, 0x13
- ldrb r2, [r4, 0xB]
- bl sub_80C08FC
- ldr r0, _080C1FCC
- ldrb r1, [r4, 0xA]
- movs r2, 0
- bl sub_80FBFB4
- ldr r0, _080C1FD0
- ldrh r2, [r4, 0x4]
- movs r1, 0xB
- muls r1, r2
- ldr r2, _080C1FD4
- adds r1, r2
- bl StringCopy
- bl TVShowDone
-_080C1FB6:
- ldr r0, _080C1FD8
- lsls r1, r5, 2
- adds r1, r0
- ldr r0, [r1]
- bl ShowFieldMessage
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C1FC8: .4byte gStringVar1
-_080C1FCC: .4byte gStringVar2
-_080C1FD0: .4byte gStringVar3
-_080C1FD4: .4byte gSpeciesNames
-_080C1FD8: .4byte gUnknown_083D15F4
- thumb_func_end DoTVShowTheWorldOfMasters
-
- thumb_func_start TVShowDone
-TVShowDone: @ 80C1FDC
- ldr r1, _080C2000
- movs r0, 0x1
- strh r0, [r1]
- ldr r1, _080C2004
- movs r0, 0
- strb r0, [r1]
- ldr r2, _080C2008
- ldr r0, _080C200C
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _080C2010
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080C2000: .4byte gScriptResult
-_080C2004: .4byte gUnknown_020387E8
-_080C2008: .4byte gSaveBlock1
-_080C200C: .4byte gUnknown_0202E8CC
-_080C2010: .4byte 0x00002739
- thumb_func_end TVShowDone
-
- thumb_func_start sub_80C2014
-sub_80C2014: @ 80C2014
- ldr r1, _080C201C
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080C201C: .4byte gUnknown_020387E8
- thumb_func_end sub_80C2014
-
- thumb_func_start sub_80C2020
-sub_80C2020: @ 80C2020
- push {r4,r5,lr}
- movs r5, 0x80
- lsls r5, 19
- movs r0, 0x40
- strh r0, [r5]
- ldr r4, _080C20F0
- adds r0, r4, 0
- bl SetUpWindowConfig
- ldr r0, _080C20F4
- adds r1, r4, 0
- bl InitWindowFromConfig
- ldr r1, _080C20F8
- movs r2, 0xF8
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080C20FC
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080C2100
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080C2104
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _080C2108
- movs r2, 0
- strh r2, [r0]
- adds r1, 0x3A
- ldr r3, _080C210C
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- subs r3, 0x11
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _080C2110
- strh r2, [r0]
- adds r0, 0x4
- strh r2, [r0]
- subs r0, 0x2
- strh r2, [r0]
- adds r0, 0x4
- strh r2, [r0]
- adds r0, 0xA
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- subs r0, 0x44
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- ldrh r0, [r5]
- movs r3, 0xFE
- lsls r3, 7
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r5]
- ldr r0, _080C2114
- strh r2, [r0]
- ldr r0, _080C2118
- strh r2, [r0]
- ldr r0, _080C211C
- strh r2, [r0]
- ldr r0, _080C2120
- strh r2, [r0]
- ldr r0, _080C2124
- strh r2, [r0]
- ldr r0, _080C2128
- strh r2, [r0]
- ldr r0, _080C212C
- strh r2, [r0]
- ldr r0, _080C2130
- strh r2, [r0]
- ldr r0, _080C2134
- strh r2, [r0]
- ldr r0, _080C2138
- strh r2, [r0]
- ldr r0, _080C213C
- strh r2, [r0]
- ldr r0, _080C2140
- strh r2, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C20F0: .4byte gWindowConfig_81E6FA0
-_080C20F4: .4byte gMenuWindow
-_080C20F8: .4byte REG_BG0CNT
-_080C20FC: .4byte 0x00001803
-_080C2100: .4byte 0x00001c03
-_080C2104: .4byte 0x00003a03
-_080C2108: .4byte REG_MOSAIC
-_080C210C: .4byte 0x00003f3f
-_080C2110: .4byte REG_WIN0H
-_080C2114: .4byte gUnknown_030042A4
-_080C2118: .4byte gUnknown_030042A0
-_080C211C: .4byte gUnknown_030042C0
-_080C2120: .4byte gUnknown_030041B4
-_080C2124: .4byte gUnknown_03004288
-_080C2128: .4byte gUnknown_03004280
-_080C212C: .4byte gUnknown_030041B0
-_080C2130: .4byte gUnknown_030041B8
-_080C2134: .4byte gUnknown_030042C4
-_080C2138: .4byte gUnknown_03004240
-_080C213C: .4byte gUnknown_03004200
-_080C2140: .4byte gUnknown_03004244
- thumb_func_end sub_80C2020
-
- thumb_func_start sub_80C2144
-sub_80C2144: @ 80C2144
- push {r4-r7,lr}
- sub sp, 0x4
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- ldr r0, _080C220C
- mov r12, r0
- movs r5, 0
- ldr r1, _080C2210
- movs r4, 0x80
- lsls r4, 5
- ldr r6, _080C2214
- movs r7, 0x85
- lsls r7, 24
-_080C2162:
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080C2162
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r1, 0xC0
- lsls r1, 19
- mov r0, r12
- bl LZDecompressVram
- ldr r0, _080C2218
- ldr r1, _080C221C
- bl LZDecompressVram
- ldr r0, _080C2220
- ldr r1, _080C2224
- bl LZDecompressVram
- ldr r0, _080C2228
- ldr r1, _080C222C
- bl LZDecompressVram
- bl sub_80C37E4
- ldr r0, _080C2230
- movs r2, 0x80
- lsls r2, 2
- movs r1, 0
- bl LoadCompressedPalette
- ldr r0, _080C2234
- bl LoadFontDefaultPalette
- movs r6, 0
-_080C21C0:
- lsls r5, r6, 24
- lsrs r5, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80C3990
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80C39E4
- movs r5, 0
- lsls r1, r6, 1
- adds r2, r6, 0x1
- mov r12, r2
- lsls r4, 24
- asrs r7, r4, 24
- adds r1, r6
- lsls r1, 6
- lsls r4, r0, 24
-_080C21EC:
- ldr r6, _080C2238
- cmp r5, r7
- bge _080C21F4
- adds r6, 0x2
-_080C21F4:
- asrs r2, r4, 24
- adds r0, r2, 0
- cmp r2, 0
- bge _080C21FE
- negs r0, r2
-_080C21FE:
- cmp r5, r0
- bge _080C2240
- ldr r3, _080C223C
- cmp r2, 0
- bge _080C2242
- adds r3, 0x2
- b _080C2242
- .align 2, 0
-_080C220C: .4byte gUnknown_08D1977C
-_080C2210: .4byte 0x040000d4
-_080C2214: .4byte 0x85000400
-_080C2218: .4byte gUnknown_08D1A490
-_080C221C: .4byte 0x0600d000
-_080C2220: .4byte gUnknown_08D1A364
-_080C2224: .4byte 0x0600e000
-_080C2228: .4byte gUnknown_08D1A250
-_080C222C: .4byte 0x0600f000
-_080C2230: .4byte gUnknown_08D1A618
-_080C2234: .4byte gWindowConfig_81E6FA0
-_080C2238: .4byte 0x000060b2
-_080C223C: .4byte 0x000060a4
-_080C2240:
- ldr r3, _080C2264
-_080C2242:
- ldr r2, _080C2268
- adds r0, r1, r2
- strh r6, [r0]
- adds r2, 0x40
- adds r0, r1, r2
- strh r3, [r0]
- adds r1, 0x2
- adds r5, 0x1
- cmp r5, 0x9
- ble _080C21EC
- mov r6, r12
- cmp r6, 0x3
- ble _080C21C0
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2264: .4byte 0x000060a2
-_080C2268: .4byte 0x0600c166
- thumb_func_end sub_80C2144
-
- thumb_func_start sub_80C226C
-sub_80C226C: @ 80C226C
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080C2288
- ldrb r0, [r0]
- cmp r5, r0
- bne _080C2294
- ldr r0, _080C228C
- ldr r1, _080C2290
- bl StringCopy
- adds r2, r0, 0
- b _080C2296
- .align 2, 0
-_080C2288: .4byte gUnknown_02038695
-_080C228C: .4byte gUnknown_020238CC
-_080C2290: .4byte gUnknown_083D17DC
-_080C2294:
- ldr r2, _080C22E8
-_080C2296:
- movs r4, 0xFC
- strb r4, [r2]
- movs r0, 0x6
- strb r0, [r2, 0x1]
- movs r0, 0x4
- strb r0, [r2, 0x2]
- adds r2, 0x3
- lsls r6, r5, 6
- ldr r7, _080C22EC
- adds r1, r6, r7
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- strb r4, [r2]
- movs r0, 0x13
- strb r0, [r2, 0x1]
- movs r0, 0x32
- strb r0, [r2, 0x2]
- adds r2, 0x3
- ldr r1, _080C22F0
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r0, _080C22F4
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C22FC
- lsls r4, r5, 3
- subs r1, r4, r5
- lsls r1, 2
- ldr r0, _080C22F8
- adds r1, r0
- adds r0, r2, 0
- bl StringCopy
- b _080C230A
- .align 2, 0
-_080C22E8: .4byte gUnknown_020238CC
-_080C22EC: .4byte gUnknown_02038572
-_080C22F0: .4byte gUnknown_083D17E0
-_080C22F4: .4byte gUnknown_0203869A
-_080C22F8: .4byte gLinkPlayers + 0x8
-_080C22FC:
- adds r1, r7, 0
- adds r1, 0xB
- adds r1, r6, r1
- adds r0, r2, 0
- bl StringCopy
- lsls r4, r5, 3
-_080C230A:
- ldr r0, _080C2334
- ldr r1, _080C2338
- adds r2, r4, r5
- lsls r2, 18
- ldr r3, _080C233C
- adds r2, r3
- lsrs r2, 16
- lsls r3, r5, 1
- adds r3, r5
- adds r3, 0x4
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- movs r3, 0x7
- bl sub_8003460
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2334: .4byte gMenuWindow
-_080C2338: .4byte gUnknown_020238CC
-_080C233C: .4byte 0x03020000
- thumb_func_end sub_80C226C
-
- thumb_func_start sub_80C2340
-sub_80C2340: @ 80C2340
- push {r4,lr}
- movs r4, 0
-_080C2344:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80C226C
- adds r4, 0x1
- cmp r4, 0x3
- ble _080C2344
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C2340
-
- thumb_func_start sub_80C2358
-sub_80C2358: @ 80C2358
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _080C240C
- ldrb r0, [r5, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r5, 0x8]
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80C2020
- bl dp12_8087EA4
- bl ResetPaletteFade
- bl ResetSpriteData
- bl ResetTasks
- bl FreeAllSpritePalettes
- bl sub_80C2144
- bl sub_80C310C
- movs r0, 0
- movs r1, 0x1
- bl sub_80C30D4
- bl sub_80C2340
- ldr r4, _080C2410
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x18
- bl memset
- adds r0, r4, 0
- adds r0, 0x18
- movs r1, 0
- movs r2, 0x50
- bl memset
- bl sub_80C33DC
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrb r1, [r5, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r5, 0x8]
- ldr r0, _080C2414
- movs r1, 0x5
- bl CreateTask
- strb r0, [r4, 0x2]
- ldr r0, _080C2418
- bl SetMainCallback2
- ldr r1, _080C241C
- movs r0, 0xF0
- strh r0, [r1]
- ldr r1, _080C2420
- ldr r2, _080C2424
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080C2428
- movs r1, 0x14
- bl CreateTask
- bl sub_80C3F00
- movs r0, 0xDF
- lsls r0, 1
- bl PlayBGM
- ldr r0, _080C242C
- bl SetVBlankCallback
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C240C: .4byte gPaletteFade
-_080C2410: .4byte 0x02018000
-_080C2414: .4byte sub_80C24F4
-_080C2418: .4byte sub_80C2430
-_080C241C: .4byte gUnknown_03004200
-_080C2420: .4byte gUnknown_03004244
-_080C2424: .4byte 0x000080a0
-_080C2428: .4byte sub_80C2F28
-_080C242C: .4byte sub_80C2448
- thumb_func_end sub_80C2358
-
- thumb_func_start sub_80C2430
-sub_80C2430: @ 80C2430
- push {lr}
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_80C2430
-
- thumb_func_start sub_80C2448
-sub_80C2448: @ 80C2448
- push {lr}
- ldr r1, _080C24C0
- ldr r0, _080C24C4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24C8
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24CC
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24D0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24D4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24D8
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24DC
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, _080C24E0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x22
- ldr r0, _080C24E4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x4
- ldr r0, _080C24E8
- ldrh r0, [r0]
- strh r0, [r1]
- subs r1, 0x2
- ldr r0, _080C24EC
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x4
- ldr r0, _080C24F0
- ldrh r0, [r0]
- strh r0, [r1]
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_8089668
- pop {r0}
- bx r0
- .align 2, 0
-_080C24C0: .4byte REG_BG0HOFS
-_080C24C4: .4byte gUnknown_030042A4
-_080C24C8: .4byte gUnknown_030042A0
-_080C24CC: .4byte gUnknown_030042C0
-_080C24D0: .4byte gUnknown_030041B4
-_080C24D4: .4byte gUnknown_03004288
-_080C24D8: .4byte gUnknown_03004280
-_080C24DC: .4byte gUnknown_030041B0
-_080C24E0: .4byte gUnknown_030041B8
-_080C24E4: .4byte gUnknown_030042C4
-_080C24E8: .4byte gUnknown_03004240
-_080C24EC: .4byte gUnknown_03004200
-_080C24F0: .4byte gUnknown_03004244
- thumb_func_end sub_80C2448
-
- thumb_func_start sub_80C24F4
-sub_80C24F4: @ 80C24F4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r2, r4, 0
- ldr r0, _080C252C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C254E
- ldr r0, _080C2530
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C2540
- ldr r0, _080C2534
- bl sub_80C3698
- ldr r1, _080C2538
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C253C
- str r1, [r0]
- b _080C254E
- .align 2, 0
-_080C252C: .4byte gPaletteFade
-_080C2530: .4byte gUnknown_0203869A
-_080C2534: .4byte gOtherText_LinkStandby
-_080C2538: .4byte gTasks
-_080C253C: .4byte sub_80C255C
-_080C2540:
- ldr r0, _080C2554
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C2558
- str r0, [r1]
-_080C254E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2554: .4byte gTasks
-_080C2558: .4byte sub_80C2600
- thumb_func_end sub_80C24F4
-
- thumb_func_start sub_80C255C
-sub_80C255C: @ 80C255C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C2594
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C258C
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080C258C
- ldr r0, _080C2598
- movs r1, 0
- bl CreateTask
- ldr r1, _080C259C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C25A0
- str r1, [r0]
-_080C258C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2594: .4byte gReceivedRemoteLinkPlayers
-_080C2598: .4byte sub_80C25A4
-_080C259C: .4byte gTasks
-_080C25A0: .4byte TaskDummy
- thumb_func_end sub_80C255C
-
- thumb_func_start sub_80C25A4
-sub_80C25A4: @ 80C25A4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C25B8
- ldr r2, _080C25BC
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080C25B8: .4byte sub_80C89DC
-_080C25BC: .4byte sub_80C25C0
- thumb_func_end sub_80C25A4
-
- thumb_func_start sub_80C25C0
-sub_80C25C0: @ 80C25C0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C25EC
- adds r0, r4, 0
- bl DestroyTask
- ldr r2, _080C25F4
- ldr r0, _080C25F8
- ldrb r1, [r0, 0x2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _080C25FC
- str r1, [r0]
- bl sub_80C3764
-_080C25EC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C25F4: .4byte gTasks
-_080C25F8: .4byte 0x02018000
-_080C25FC: .4byte sub_80C2600
- thumb_func_end sub_80C25C0
-
- thumb_func_start sub_80C2600
-sub_80C2600: @ 80C2600
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C2644
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r5, r1, r2
- ldrh r1, [r5, 0x8]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _080C2654
- ldr r0, _080C2648
- movs r1, 0x14
- bl CreateTask
- ldr r4, _080C264C
- ldr r0, _080C2650
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80C3158
- adds r0, r4, 0
- bl sub_80C34AC
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x88
- lsls r3, 3
- movs r1, 0x90
- movs r2, 0x78
- b _080C26A6
- .align 2, 0
-_080C2644: .4byte gTasks
-_080C2648: .4byte sub_80C2F64
-_080C264C: .4byte gContestText_AnnounceResults
-_080C2650: .4byte 0x02018000
-_080C2654:
- cmp r0, 0x1
- bne _080C2668
- ldr r0, _080C2664
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- bne _080C26D4
- b _080C267C
- .align 2, 0
-_080C2664: .4byte 0x02018000
-_080C2668:
- cmp r0, 0x2
- bne _080C2684
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _080C26D4
- movs r0, 0
-_080C267C:
- strh r0, [r5, 0xA]
- adds r0, r1, 0x1
- strh r0, [r5, 0x8]
- b _080C26D4
-_080C2684:
- cmp r0, 0x3
- bne _080C26C0
- ldr r4, _080C26B4
- ldr r0, _080C26B8
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_80C3158
- adds r0, r4, 0
- bl sub_80C34AC
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080C26BC
- movs r3, 0x88
- lsls r3, 3
- movs r1, 0x90
-_080C26A6:
- bl sub_80C34CC
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080C26D4
- .align 2, 0
-_080C26B4: .4byte gContestText_PreliminaryResults
-_080C26B8: .4byte 0x02018000
-_080C26BC: .4byte 0x0000ffff
-_080C26C0:
- cmp r0, 0x4
- bne _080C26D4
- ldr r0, _080C26DC
- ldrb r0, [r0, 0x4]
- cmp r0, 0x2
- bne _080C26D4
- movs r0, 0
- strh r0, [r5, 0x8]
- ldr r0, _080C26E0
- str r0, [r5]
-_080C26D4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C26DC: .4byte 0x02018000
-_080C26E0: .4byte sub_80C26E4
- thumb_func_end sub_80C2600
-
- thumb_func_start sub_80C26E4
-sub_80C26E4: @ 80C26E4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C2708
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080C2744
- cmp r0, 0x1
- bgt _080C270C
- cmp r0, 0
- beq _080C2712
- b _080C2766
- .align 2, 0
-_080C2708: .4byte gTasks
-_080C270C:
- cmp r0, 0x2
- beq _080C2754
- b _080C2766
-_080C2712:
- ldr r5, _080C2738
- ldrb r0, [r5, 0xA]
- cmp r0, 0
- bne _080C2766
- ldrh r1, [r4, 0xC]
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- bl sub_80C40D4
- ldrb r0, [r5, 0x14]
- cmp r0, 0
- bne _080C273C
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080C2766
- .align 2, 0
-_080C2738: .4byte 0x02018000
-_080C273C:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C2766
-_080C2744:
- ldr r0, _080C2750
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080C2766
- strh r0, [r4, 0x8]
- b _080C2766
- .align 2, 0
-_080C2750: .4byte 0x02018000
-_080C2754:
- movs r0, 0x88
- lsls r0, 3
- bl sub_80C3520
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xC]
- ldr r0, _080C276C
- str r0, [r4]
-_080C2766:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C276C: .4byte sub_80C2770
- thumb_func_end sub_80C26E4
-
- thumb_func_start sub_80C2770
-sub_80C2770: @ 80C2770
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r4, r2, 0
- ldr r5, _080C27BC
- ldrb r3, [r5, 0x4]
- cmp r3, 0
- bne _080C27CC
- ldr r1, _080C27C0
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _080C27DE
- strh r3, [r1, 0xA]
- ldr r4, _080C27C4
- ldrb r1, [r5]
- adds r0, r4, 0
- bl sub_80C3158
- adds r0, r4, 0
- bl sub_80C34AC
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080C27C8
- movs r3, 0x88
- lsls r3, 3
- movs r1, 0x90
- bl sub_80C34CC
- b _080C27DE
- .align 2, 0
-_080C27BC: .4byte 0x02018000
-_080C27C0: .4byte gTasks
-_080C27C4: .4byte gContestText_Round2Results
-_080C27C8: .4byte 0x0000ffff
-_080C27CC:
- cmp r3, 0x2
- bne _080C27DE
- ldr r0, _080C27E4
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C27E8
- str r0, [r1]
-_080C27DE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C27E4: .4byte gTasks
-_080C27E8: .4byte sub_80C27EC
- thumb_func_end sub_80C2770
-
- thumb_func_start sub_80C27EC
-sub_80C27EC: @ 80C27EC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C2810
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080C284C
- cmp r0, 0x1
- bgt _080C2814
- cmp r0, 0
- beq _080C281A
- b _080C286C
- .align 2, 0
-_080C2810: .4byte gTasks
-_080C2814:
- cmp r0, 0x2
- beq _080C285C
- b _080C286C
-_080C281A:
- ldr r5, _080C2840
- ldrb r0, [r5, 0xA]
- cmp r0, 0
- bne _080C286C
- ldrh r1, [r4, 0xC]
- adds r0, r1, 0x1
- strh r0, [r4, 0xC]
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0x1
- bl sub_80C40D4
- ldrb r0, [r5, 0x14]
- cmp r0, 0
- bne _080C2844
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080C286C
- .align 2, 0
-_080C2840: .4byte 0x02018000
-_080C2844:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C286C
-_080C284C:
- ldr r0, _080C2858
- ldrb r0, [r0, 0x14]
- cmp r0, 0
- bne _080C286C
- strh r0, [r4, 0x8]
- b _080C286C
- .align 2, 0
-_080C2858: .4byte 0x02018000
-_080C285C:
- movs r0, 0x88
- lsls r0, 3
- bl sub_80C3520
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r0, _080C2874
- str r0, [r4]
-_080C286C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2874: .4byte sub_80C2878
- thumb_func_end sub_80C27EC
-
- thumb_func_start sub_80C2878
-sub_80C2878: @ 80C2878
- push {r4-r7,lr}
- sub sp, 0x64
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080C28A0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x5
- bls _080C2896
- b _080C2A80
-_080C2896:
- lsls r0, 2
- ldr r1, _080C28A4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C28A0: .4byte gTasks
-_080C28A4: .4byte _080C28A8
- .align 2, 0
-_080C28A8:
- .4byte _080C28C0
- .4byte _080C28E0
- .4byte _080C28FE
- .4byte _080C2938
- .4byte _080C299C
- .4byte _080C2A70
-_080C28C0:
- ldr r0, _080C28DC
- ldrb r0, [r0, 0x4]
- cmp r0, 0
- beq _080C28CA
- b _080C2A80
-_080C28CA:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080C2A80
- .align 2, 0
-_080C28DC: .4byte 0x02018000
-_080C28E0:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r2
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- beq _080C28F8
- b _080C2A80
-_080C28F8:
- movs r0, 0
- strh r0, [r1, 0xA]
- b _080C2A4A
-_080C28FE:
- movs r4, 0
- lsls r6, r5, 2
- ldr r7, _080C292C
-_080C2904:
- ldr r0, _080C2930
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r7
- ldr r0, _080C2934
- adds r0, r4, r0
- ldrb r0, [r0]
- strh r0, [r1, 0x8]
- strh r4, [r1, 0xA]
- adds r4, 0x1
- cmp r4, 0x3
- ble _080C2904
- b _080C2A42
- .align 2, 0
-_080C292C: .4byte gTasks
-_080C2930: .4byte sub_80C3A5C
-_080C2934: .4byte gUnknown_02038690
-_080C2938:
- ldr r0, _080C2990
- ldrb r0, [r0, 0x5]
- cmp r0, 0x4
- beq _080C2942
- b _080C2A80
-_080C2942:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r2
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- beq _080C295A
- b _080C2A80
-_080C295A:
- movs r0, 0
- strh r0, [r4, 0xA]
- ldr r0, _080C2994
- movs r1, 0xA
- bl CreateTask
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r4, 0
- ldr r1, _080C2998
- ldrb r0, [r1]
- cmp r0, 0
- beq _080C2984
-_080C2976:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _080C2984
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C2976
-_080C2984:
- lsls r0, r4, 24
- lsrs r0, 24
- movs r1, 0xE
- bl sub_80C3E60
- b _080C2A80
- .align 2, 0
-_080C2990: .4byte 0x02018000
-_080C2994: .4byte sub_80C3B30
-_080C2998: .4byte gUnknown_02038690
-_080C299C:
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- adds r2, r0, r2
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- adds r6, r1, 0
- cmp r0, 0x15
- bne _080C2A80
- movs r0, 0
- strh r0, [r2, 0xA]
- movs r4, 0
- ldr r2, _080C29F4
- ldrb r0, [r2]
- ldr r1, _080C29F8
- ldr r3, _080C29FC
- cmp r0, 0
- beq _080C29D4
-_080C29C6:
- adds r4, 0x1
- cmp r4, 0x3
- bgt _080C29D4
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C29C6
-_080C29D4:
- ldrb r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C2A04
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- ldr r0, _080C2A00
- adds r1, r0
- adds r0, r3, 0
- bl StringCopy
- lsls r4, 6
- b _080C2A10
- .align 2, 0
-_080C29F4: .4byte gUnknown_02038690
-_080C29F8: .4byte gUnknown_0203869A
-_080C29FC: .4byte gStringVar1
-_080C2A00: .4byte gLinkPlayers + 0x8
-_080C2A04:
- lsls r4, 6
- ldr r1, _080C2A54
- adds r1, r4, r1
- adds r0, r3, 0
- bl StringCopy
-_080C2A10:
- ldr r0, _080C2A58
- ldr r1, _080C2A5C
- adds r1, r4, r1
- bl StringCopy
- ldr r1, _080C2A60
- mov r0, sp
- bl StringExpandPlaceholders
- ldr r0, _080C2A64
- ldrb r1, [r0]
- mov r0, sp
- bl sub_80C3158
- mov r0, sp
- bl sub_80C34AC
- lsls r0, 16
- asrs r0, 16
- ldr r2, _080C2A68
- movs r3, 0x88
- lsls r3, 3
- movs r1, 0x90
- bl sub_80C34CC
-_080C2A42:
- ldr r0, _080C2A6C
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
-_080C2A4A:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080C2A80
- .align 2, 0
-_080C2A54: .4byte gUnknown_0203857D
-_080C2A58: .4byte gStringVar2
-_080C2A5C: .4byte gUnknown_02038572
-_080C2A60: .4byte gContestText_PokeWon
-_080C2A64: .4byte 0x02018000
-_080C2A68: .4byte 0x0000ffff
-_080C2A6C: .4byte gTasks
-_080C2A70:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, _080C2A88
- str r1, [r0]
-_080C2A80:
- add sp, 0x64
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2A88: .4byte sub_80C2A8C
- thumb_func_end sub_80C2878
-
- thumb_func_start sub_80C2A8C
-sub_80C2A8C: @ 80C2A8C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _080C2ABC
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0x5
- bls _080C2AB2
- b _080C2D04
-_080C2AB2:
- lsls r0, 2
- ldr r1, _080C2AC0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C2ABC: .4byte gTasks
-_080C2AC0: .4byte _080C2AC4
- .align 2, 0
-_080C2AC4:
- .4byte _080C2ADC
- .4byte _080C2C04
- .4byte _080C2C54
- .4byte _080C2C64
- .4byte _080C2CA8
- .4byte _080C2CE8
-_080C2ADC:
- ldr r1, _080C2BC4
- movs r0, 0xF0
- strh r0, [r1]
- ldr r1, _080C2BC8
- ldr r3, _080C2BCC
- adds r0, r3, 0
- strh r0, [r1]
- movs r1, 0
- ldr r3, _080C2BD0
- ldrb r0, [r3]
- lsls r4, r7, 2
- mov r10, r4
- ldr r2, _080C2BD4
- ldr r5, _080C2BD8
- mov r12, r5
- ldr r4, _080C2BDC
- mov r8, r4
- ldr r5, _080C2BE0
- mov r9, r5
- cmp r0, 0
- beq _080C2B14
-_080C2B06:
- adds r1, 0x1
- cmp r1, 0x3
- bgt _080C2B14
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C2B06
-_080C2B14:
- lsls r1, 6
- adds r0, r1, r2
- ldrh r6, [r0]
- adds r0, r2, 0
- adds r0, 0x38
- adds r0, r1, r0
- ldr r4, [r0]
- adds r0, r2, 0
- adds r0, 0x3C
- adds r1, r0
- ldr r1, [r1]
- str r1, [sp, 0xC]
- lsls r0, r6, 3
- add r0, r12
- lsls r2, r6, 2
- add r2, r8
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- mov r5, r9
- ldr r3, [r5, 0x4]
- str r3, [sp]
- str r6, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r3, _080C2BE4
- bl sub_800D334
- adds r0, r6, 0
- ldr r1, [sp, 0xC]
- adds r2, r4, 0
- bl sub_80409C8
- adds r4, r0, 0
- bl LoadCompressedObjectPalette
- adds r0, r6, 0
- movs r1, 0x1
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _080C2BE8
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x2]
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x50
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _080C2BEC
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r3, r2, r5
- strh r6, [r3, 0x30]
- ldrb r4, [r3, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r4
- strb r1, [r3, 0x5]
- adds r5, 0x1C
- adds r2, r5
- ldr r1, _080C2BF0
- str r1, [r2]
- ldr r2, _080C2BE4
- movs r3, 0xC0
- lsls r3, 9
- adds r1, r2, r3
- strb r0, [r1, 0x8]
- ldr r0, _080C2BF4
- bl LoadCompressedObjectPic
- ldr r0, _080C2BF8
- bl LoadCompressedObjectPalette
- ldr r0, _080C2BFC
- movs r1, 0xA
- bl CreateTask
- ldr r0, _080C2C00
- mov r4, r10
- adds r1, r4, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080C2D04
- .align 2, 0
-_080C2BC4: .4byte gUnknown_030042C4
-_080C2BC8: .4byte gUnknown_03004240
-_080C2BCC: .4byte 0x00005050
-_080C2BD0: .4byte gUnknown_02038690
-_080C2BD4: .4byte gUnknown_02038570
-_080C2BD8: .4byte gMonFrontPicTable
-_080C2BDC: .4byte gMonFrontPicCoords
-_080C2BE0: .4byte gUnknown_081FAF4C
-_080C2BE4: .4byte 0x02000000
-_080C2BE8: .4byte gUnknown_02024E8C
-_080C2BEC: .4byte gSprites
-_080C2BF0: .4byte sub_80C3C44
-_080C2BF4: .4byte gUnknown_083D17CC
-_080C2BF8: .4byte gUnknown_083D17D4
-_080C2BFC: .4byte sub_80C3D04
-_080C2C00: .4byte gTasks
-_080C2C04:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r4, r0, r4
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080C2D04
- movs r0, 0
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0xC]
- adds r0, 0x2
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- ble _080C2C30
- movs r0, 0x20
- strh r0, [r4, 0xC]
-_080C2C30:
- ldrb r2, [r4, 0xC]
- ldr r3, _080C2C50
- movs r0, 0x50
- subs r0, r2
- lsls r0, 8
- adds r1, r2, 0
- adds r1, 0x50
- orrs r0, r1
- strh r0, [r3]
- cmp r2, 0x20
- bne _080C2D04
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C2D04
- .align 2, 0
-_080C2C50: .4byte gUnknown_03004240
-_080C2C54:
- ldr r0, _080C2C60
- ldrb r0, [r0, 0x6]
- cmp r0, 0x1
- bne _080C2D04
- b _080C2CD0
- .align 2, 0
-_080C2C60: .4byte 0x02018000
-_080C2C64:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r3, r0, r4
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x79
- bne _080C2D04
- movs r0, 0
- strh r0, [r3, 0xA]
- ldr r2, _080C2C9C
- ldr r0, _080C2CA0
- ldrb r1, [r0, 0x8]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080C2CA4
- str r1, [r0]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- b _080C2D04
- .align 2, 0
-_080C2C9C: .4byte gSprites
-_080C2CA0: .4byte 0x02018000
-_080C2CA4: .4byte sub_80C3CB8
-_080C2CA8:
- ldr r0, _080C2CE0
- ldrb r0, [r0, 0x6]
- cmp r0, 0x2
- bne _080C2D04
- ldr r3, _080C2CE4
- ldrh r0, [r3]
- lsrs r2, r0, 8
- adds r0, r2, 0x2
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x50
- bls _080C2CC2
- movs r2, 0x50
-_080C2CC2:
- lsls r1, r2, 8
- movs r0, 0xA0
- subs r0, r2
- orrs r1, r0
- strh r1, [r3]
- cmp r2, 0x50
- bne _080C2D04
-_080C2CD0:
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r4
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080C2D04
- .align 2, 0
-_080C2CE0: .4byte 0x02018000
-_080C2CE4: .4byte gUnknown_03004240
-_080C2CE8:
- ldr r2, _080C2D14
- ldrb r0, [r2, 0x6]
- cmp r0, 0x2
- bne _080C2D04
- movs r1, 0
- movs r0, 0x1
- strb r0, [r2, 0x9]
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r4
- strh r1, [r0, 0x8]
- ldr r1, _080C2D18
- str r1, [r0]
-_080C2D04:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2D14: .4byte 0x02018000
-_080C2D18: .4byte sub_80C2D1C
- thumb_func_end sub_80C2A8C
-
- thumb_func_start sub_80C2D1C
-sub_80C2D1C: @ 80C2D1C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080C2D6C
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080C2D66
- ldr r0, _080C2D70
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- lsls r6, r7, 2
- cmp r0, 0
- bne _080C2D5A
- ldr r5, _080C2D74
- movs r4, 0x3
-_080C2D42:
- ldrh r0, [r5]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x2
- bl sub_8090D90
- adds r5, 0x40
- subs r4, 0x1
- cmp r4, 0
- bge _080C2D42
-_080C2D5A:
- ldr r0, _080C2D78
- adds r1, r6, r7
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C2D7C
- str r0, [r1]
-_080C2D66:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2D6C: .4byte gMain
-_080C2D70: .4byte gUnknown_0203869A
-_080C2D74: .4byte gUnknown_02038570
-_080C2D78: .4byte gTasks
-_080C2D7C: .4byte sub_80C2D80
- thumb_func_end sub_80C2D1C
-
- thumb_func_start sub_80C2D80
-sub_80C2D80: @ 80C2D80
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C2DAC
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C2DBC
- ldr r0, _080C2DB0
- bl sub_80C3698
- bl sub_800832C
- ldr r1, _080C2DB4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C2DB8
- str r1, [r0]
- b _080C2DCA
- .align 2, 0
-_080C2DAC: .4byte gUnknown_0203869A
-_080C2DB0: .4byte gOtherText_LinkStandby
-_080C2DB4: .4byte gTasks
-_080C2DB8: .4byte sub_80C2DD8
-_080C2DBC:
- ldr r0, _080C2DD0
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C2DD4
- str r0, [r1]
-_080C2DCA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2DD0: .4byte gTasks
-_080C2DD4: .4byte sub_80C2E14
- thumb_func_end sub_80C2D80
-
- thumb_func_start sub_80C2DD8
-sub_80C2DD8: @ 80C2DD8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C2E04
- ldrb r1, [r0]
- cmp r1, 0
- bne _080C2DFC
- ldr r0, _080C2E08
- strb r1, [r0]
- bl sub_80C3764
- ldr r1, _080C2E0C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C2E10
- str r1, [r0]
-_080C2DFC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2E04: .4byte gReceivedRemoteLinkPlayers
-_080C2E08: .4byte gUnknown_0203869A
-_080C2E0C: .4byte gTasks
-_080C2E10: .4byte sub_80C2E14
- thumb_func_end sub_80C2DD8
-
- thumb_func_start sub_80C2E14
-sub_80C2E14: @ 80C2E14
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _080C2E80
- ldr r0, _080C2E84
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80BE284
- movs r0, 0x2
- bl sub_810FB10
- ldr r0, _080C2E88
- ldrb r0, [r0]
- bl sub_80B2A7C
- movs r0, 0xFE
- bl sub_80B2A7C
- ldr r4, _080C2E8C
- ldr r0, _080C2E90
- adds r1, r4, r0
- movs r6, 0
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0xFE
- movs r1, 0
- bl sub_80B2C4C
- ldr r1, _080C2E94
- adds r4, r1
- strb r0, [r4]
- str r6, [sp]
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginHardwarePaletteFade
- ldr r1, _080C2E98
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C2E9C
- str r1, [r0]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2E80: .4byte gUnknown_02038690
-_080C2E84: .4byte gUnknown_02038695
-_080C2E88: .4byte gUnknown_0203869E
-_080C2E8C: .4byte 0x02000000
-_080C2E90: .4byte 0x00015ddf
-_080C2E94: .4byte 0x00015dde
-_080C2E98: .4byte gTasks
-_080C2E9C: .4byte sub_80C2EA0
- thumb_func_end sub_80C2E14
-
- thumb_func_start sub_80C2EA0
-sub_80C2EA0: @ 80C2EA0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- adds r5, r2, 0
- ldr r0, _080C2ED8
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- bne _080C2F18
- ldr r1, _080C2EDC
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080C2EE8
- ldr r0, _080C2EE0
- ldrb r0, [r0, 0x3]
- bl DestroyTask
- ldr r0, _080C2EE4
- b _080C2EEE
- .align 2, 0
-_080C2ED8: .4byte gPaletteFade
-_080C2EDC: .4byte gTasks
-_080C2EE0: .4byte 0x02018000
-_080C2EE4: .4byte 0x0000ffff
-_080C2EE8:
- cmp r0, 0x1
- bne _080C2F04
- ldr r0, _080C2F00
-_080C2EEE:
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _080C2F18
- .align 2, 0
-_080C2F00: .4byte 0xffff0000
-_080C2F04:
- ldr r0, _080C2F20
- strh r3, [r0]
- adds r0, 0x4
- strh r3, [r0]
- adds r0, r5, 0
- bl DestroyTask
- ldr r0, _080C2F24
- bl SetMainCallback2
-_080C2F18:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2F20: .4byte REG_BLDCNT
-_080C2F24: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_80C2EA0
-
- thumb_func_start sub_80C2F28
-sub_80C2F28: @ 80C2F28
- push {r4,r5,lr}
- ldr r2, _080C2F5C
- ldrh r3, [r2]
- adds r0, r3, 0x2
- strh r0, [r2]
- ldr r4, _080C2F60
- ldrh r5, [r4]
- adds r1, r5, 0x1
- strh r1, [r4]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xFF
- bls _080C2F48
- adds r0, r3, 0
- subs r0, 0xFD
- strh r0, [r2]
-_080C2F48:
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0xFF
- bls _080C2F56
- adds r0, r5, 0
- subs r0, 0xFE
- strh r0, [r4]
-_080C2F56:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C2F5C: .4byte gUnknown_030041B0
-_080C2F60: .4byte gUnknown_030041B8
- thumb_func_end sub_80C2F28
-
- thumb_func_start sub_80C2F64
-sub_80C2F64: @ 80C2F64
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080C2F94
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080C2FE6
- movs r0, 0
- strh r0, [r2, 0x8]
- movs r3, 0xC
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080C2F98
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- b _080C2F9C
- .align 2, 0
-_080C2F94: .4byte gTasks
-_080C2F98:
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
-_080C2F9C:
- strh r0, [r2, 0xA]
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r1
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0x10
- bne _080C2FB2
- movs r0, 0x1
- b _080C2FB6
-_080C2FB2:
- cmp r0, 0
- bne _080C2FB8
-_080C2FB6:
- strh r0, [r1, 0xC]
-_080C2FB8:
- ldr r0, _080C3000
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- ldrb r2, [r4, 0xA]
- ldr r3, _080C3004
- movs r0, 0x6B
- movs r1, 0x1
- bl BlendPalette
- ldrb r2, [r4, 0xA]
- ldr r3, _080C3008
- movs r0, 0x68
- movs r1, 0x1
- bl BlendPalette
- ldrb r2, [r4, 0xA]
- ldr r3, _080C300C
- movs r0, 0x6E
- movs r1, 0x1
- bl BlendPalette
-_080C2FE6:
- ldr r1, _080C3000
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r3, 0xA
- ldrsh r4, [r0, r3]
- cmp r4, 0
- bne _080C3014
- ldr r0, _080C3010
- strb r4, [r0, 0xA]
- b _080C301A
- .align 2, 0
-_080C3000: .4byte gTasks
-_080C3004: .4byte 0x00002ede
-_080C3008: .4byte 0x00007fff
-_080C300C: .4byte 0x000077be
-_080C3010: .4byte 0x02018000
-_080C3014:
- ldr r1, _080C3020
- movs r0, 0x1
- strb r0, [r1, 0xA]
-_080C301A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3020: .4byte 0x02018000
- thumb_func_end sub_80C2F64
-
- thumb_func_start sub_80C3024
-sub_80C3024: @ 80C3024
- push {r4-r6,lr}
- ldr r6, [sp, 0x10]
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 24
- cmp r3, 0
- beq _080C30B0
- adds r1, r6, 0
- bl sub_809D4F4
- lsls r1, r5, 9
- adds r0, r1
- adds r0, 0x80
- lsls r1, r4, 9
- ldr r2, _080C30A0
- adds r1, r2
- ldr r2, _080C30A4
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _080C30A8
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r1, r4, 0
- adds r1, 0xA
- lsls r1, 28
- lsls r0, r4, 20
- movs r2, 0x80
- lsls r2, 18
- adds r0, r2
- orrs r0, r1
- lsrs r1, r0, 16
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 21
- movs r2, 0x83
- lsls r2, 16
- adds r0, r2
- lsrs r5, r0, 16
- movs r2, 0
- ldr r6, _080C30AC
-_080C307C:
- lsls r0, r2, 5
- adds r4, r2, 0x1
- adds r0, r5
- movs r3, 0x3
- lsls r0, 1
- adds r2, r0, r6
-_080C3088:
- strh r1, [r2]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080C3088
- adds r2, r4, 0
- cmp r2, 0x2
- ble _080C307C
- b _080C30CA
- .align 2, 0
-_080C30A0: .4byte 0x06004000
-_080C30A4: .4byte 0x040000d4
-_080C30A8: .4byte 0x84000060
-_080C30AC: .4byte 0x0600c000
-_080C30B0:
- adds r1, r6, 0
- bl sub_809D4F4
- lsls r1, r5, 9
- adds r0, r1
- adds r0, 0x80
- lsls r1, r4, 9
- ldr r2, _080C30D0
- adds r1, r2
- movs r2, 0xC0
- lsls r2, 1
- bl RequestSpriteCopy
-_080C30CA:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C30D0: .4byte 0x06004000
- thumb_func_end sub_80C3024
-
- thumb_func_start sub_80C30D4
-sub_80C30D4: @ 80C30D4
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- movs r5, 0
- ldr r4, _080C3108
-_080C30E4:
- ldrh r0, [r4]
- lsls r1, r5, 24
- lsrs r1, 24
- ldr r2, [r4, 0x38]
- str r2, [sp]
- adds r2, r7, 0
- adds r3, r6, 0
- bl sub_80C3024
- adds r4, 0x40
- adds r5, 0x1
- cmp r5, 0x3
- ble _080C30E4
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3108: .4byte gUnknown_02038570
- thumb_func_end sub_80C30D4
-
- thumb_func_start sub_80C310C
-sub_80C310C: @ 80C310C
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, _080C314C
- movs r5, 0xA0
- lsls r5, 16
-_080C3116:
- ldr r1, _080C3150
- lsls r0, r4, 6
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0
- bl mon_icon_convert_unown_species_id
- lsls r0, 16
- lsrs r0, 16
- adds r0, r6
- ldrb r0, [r0]
- lsls r0, 5
- ldr r1, _080C3154
- adds r0, r1
- lsrs r1, r5, 16
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x80
- lsls r0, 13
- adds r5, r0
- adds r4, 0x1
- cmp r4, 0x3
- ble _080C3116
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C314C: .4byte gMonIconPaletteIndices
-_080C3150: .4byte gUnknown_02038570
-_080C3154: .4byte gMonIconPalettes
- thumb_func_end sub_80C310C
-
- thumb_func_start sub_80C3158
-sub_80C3158: @ 80C3158
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- mov r9, r0
- lsls r1, 24
- lsrs r1, 24
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- ldr r3, _080C32C0
- adds r2, r3
- mov r1, sp
- ldrh r0, [r2, 0x4]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r1]
- mov r4, sp
- movs r0, 0x2E
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r4, 0x2]
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r4, 0x4]
- movs r0, 0x32
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x4]
- lsls r0, 22
- lsrs r0, 22
- strh r0, [r4, 0x6]
- ldr r1, _080C32C4
- mov r8, r1
- ldr r7, _080C32C8
- ldr r2, _080C32CC
- ldr r6, _080C32D0
- mov r1, sp
- movs r5, 0
- add r3, sp, 0x8
- movs r4, 0x3
-_080C31CE:
- ldrh r0, [r1]
- lsls r0, 5
- adds r0, r7
- str r5, [sp, 0x8]
- str r3, [r2]
- str r0, [r2, 0x4]
- str r6, [r2, 0x8]
- ldr r0, [r2, 0x8]
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080C31CE
- mov r0, r8
- mov r1, r9
- bl GetStringWidthGivenWindowConfig
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _080C32D4
- ldr r1, _080C32D8
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- mvns r0, r5
- adds r1, r0, 0x1
- movs r0, 0x7
- ands r1, r0
- cmp r1, 0
- beq _080C3218
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x11
- strb r0, [r2, 0x1]
- lsrs r0, r1, 1
- strb r0, [r2, 0x2]
- adds r2, 0x3
-_080C3218:
- adds r6, r5, 0x7
- movs r1, 0x8
- negs r1, r1
- adds r0, r1, 0
- ands r6, r0
- lsls r6, 24
- lsrs r5, r6, 24
- adds r0, r2, 0
- mov r1, r9
- bl StringCopy
- adds r2, r0, 0
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x13
- strb r0, [r2, 0x1]
- strb r5, [r2, 0x2]
- movs r0, 0xFF
- strb r0, [r2, 0x3]
- ldr r0, _080C32DC
- mov r10, r0
- ldr r1, _080C32D4
- bl sub_80034D4
- mov r0, sp
- ldrh r4, [r0]
- lsls r4, 5
- ldr r1, _080C32C8
- adds r7, r4, r1
- ldr r0, _080C32E0
- mov r9, r0
- ldr r1, _080C32E4
- mov r8, r1
- adds r1, r7, 0
- mov r2, r8
- bl CpuSet
- mov r5, r9
- adds r5, 0x80
- ldr r0, _080C32E8
- adds r1, r4, r0
- adds r0, r5, 0
- mov r2, r8
- bl CpuSet
- ldr r0, _080C32EC
- adds r1, r4, r0
- adds r0, r5, 0
- mov r2, r8
- bl CpuSet
- mov r0, r9
- adds r0, 0x40
- ldr r1, _080C32F0
- adds r4, r1
- adds r1, r4, 0
- mov r2, r8
- bl CpuSet
- lsrs r5, r6, 27
- movs r4, 0
- cmp r4, r5
- bgt _080C3382
- mov r6, sp
- mov r0, r10
- adds r0, 0x20
- str r0, [sp, 0xC]
- mov r1, r10
- str r1, [sp, 0x10]
- ldr r0, _080C32F4
- str r0, [sp, 0x14]
- ldr r1, _080C32F8
- str r1, [sp, 0x18]
- ldr r0, _080C32FC
- mov r10, r0
- ldr r1, _080C3300
- mov r9, r1
-_080C32B2:
- cmp r4, 0x6
- bgt _080C3304
- ldrh r0, [r6]
- lsls r0, 5
- mov r1, r9
- b _080C3322
- .align 2, 0
-_080C32C0: .4byte gSprites
-_080C32C4: .4byte gWindowConfig_81E7278
-_080C32C8: .4byte 0x06010000
-_080C32CC: .4byte 0x040000d4
-_080C32D0: .4byte 0x85000100
-_080C32D4: .4byte gUnknown_020238CC
-_080C32D8: .4byte gUnknown_083D17E2
-_080C32DC: .4byte 0x02018068
-_080C32E0: .4byte gUnknown_083D1624
-_080C32E4: .4byte REG_BG0CNT
-_080C32E8: .4byte 0x06010100
-_080C32EC: .4byte 0x06010200
-_080C32F0: .4byte 0x06010300
-_080C32F4: .4byte 0x0600fd20
-_080C32F8: .4byte 0x0600fe20
-_080C32FC: .4byte 0x0600ff20
-_080C3300: .4byte 0x06010020
-_080C3304:
- cmp r4, 0xE
- bgt _080C3310
- ldrh r0, [r6, 0x2]
- lsls r0, 5
- mov r1, r10
- b _080C3322
-_080C3310:
- cmp r4, 0x16
- bgt _080C331C
- ldrh r0, [r6, 0x4]
- lsls r0, 5
- ldr r1, [sp, 0x18]
- b _080C3322
-_080C331C:
- ldrh r0, [r6, 0x6]
- lsls r0, 5
- ldr r1, [sp, 0x14]
-_080C3322:
- adds r7, r0, r1
- cmp r4, r5
- beq _080C3382
- ldr r0, _080C33D0
- adds r1, r7, 0
- mov r2, r8
- bl CpuSet
- movs r0, 0xC0
- lsls r0, 2
- adds r1, r7, r0
- ldr r0, _080C33D0
- adds r0, 0x20
- mov r2, r8
- bl CpuSet
- movs r0, 0x80
- lsls r0, 1
- adds r1, r7, r0
- ldr r0, [sp, 0x10]
- mov r2, r8
- bl CpuSet
- movs r0, 0x80
- lsls r0, 2
- adds r1, r7, r0
- ldr r0, [sp, 0xC]
- mov r2, r8
- bl CpuSet
- ldr r1, [sp, 0xC]
- adds r1, 0x40
- str r1, [sp, 0xC]
- ldr r0, [sp, 0x10]
- adds r0, 0x40
- str r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- adds r1, 0x20
- str r1, [sp, 0x14]
- ldr r0, [sp, 0x18]
- adds r0, 0x20
- str r0, [sp, 0x18]
- movs r1, 0x20
- add r10, r1
- add r9, r1
- adds r4, 0x1
- cmp r4, r5
- ble _080C32B2
-_080C3382:
- ldr r4, _080C33D4
- ldr r5, _080C33D8
- adds r0, r4, 0
- adds r1, r7, 0
- adds r2, r5, 0
- bl CpuSet
- adds r6, r4, 0
- adds r6, 0x80
- movs r0, 0x80
- lsls r0, 1
- adds r1, r7, r0
- adds r0, r6, 0
- adds r2, r5, 0
- bl CpuSet
- movs r0, 0x80
- lsls r0, 2
- adds r1, r7, r0
- adds r0, r6, 0
- adds r2, r5, 0
- bl CpuSet
- adds r4, 0x40
- movs r0, 0xC0
- lsls r0, 2
- adds r1, r7, r0
- adds r0, r4, 0
- adds r2, r5, 0
- bl CpuSet
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C33D0: .4byte gUnknown_083D16E4
-_080C33D4: .4byte gUnknown_083D1644
-_080C33D8: .4byte REG_BG0CNT
- thumb_func_end sub_80C3158
-
- thumb_func_start sub_80C33DC
-sub_80C33DC: @ 80C33DC
- push {r4-r6,lr}
- sub sp, 0x20
- mov r1, sp
- ldr r0, _080C3498
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- add r5, sp, 0x18
- ldr r6, _080C349C
- movs r4, 0x7
-_080C33F2:
- adds r0, r6, 0
- bl LoadSpriteSheet
- adds r6, 0x8
- subs r4, 0x1
- cmp r4, 0
- bge _080C33F2
- ldr r0, _080C34A0
- bl LoadSpritePalette
- movs r4, 0
- mov r6, sp
-_080C340A:
- mov r0, sp
- movs r1, 0x88
- lsls r1, 1
- movs r2, 0x90
- movs r3, 0xA
- bl CreateSprite
- adds r1, r5, r4
- strb r0, [r1]
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- adds r4, 0x1
- cmp r4, 0x7
- ble _080C340A
- ldr r2, _080C34A4
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x1]
- movs r3, 0
- strh r1, [r0, 0x2E]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x2]
- strh r1, [r0, 0x30]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x3]
- strh r1, [r0, 0x32]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x5]
- strh r1, [r0, 0x2E]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x6]
- strh r1, [r0, 0x30]
- ldrb r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r5, 0x7]
- strh r1, [r0, 0x32]
- ldr r1, _080C34A8
- ldrb r0, [r5]
- strb r0, [r1]
- strb r3, [r1, 0x4]
- ldrb r0, [r5, 0x4]
- strb r0, [r1, 0x1]
- bl sub_80C3764
- add sp, 0x20
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3498: .4byte gSpriteTemplate_83D174C
-_080C349C: .4byte gUnknown_083D1764
-_080C34A0: .4byte gUnknown_083D17A4
-_080C34A4: .4byte gSprites
-_080C34A8: .4byte 0x02018000
- thumb_func_end sub_80C33DC
-
- thumb_func_start sub_80C34AC
-sub_80C34AC: @ 80C34AC
- push {lr}
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 25
- lsrs r1, 25
- movs r0, 0x70
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80C34AC
-
- thumb_func_start sub_80C34CC
-sub_80C34CC: @ 80C34CC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r4, _080C3514
- mov r8, r4
- ldrb r5, [r4]
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r5, _080C3518
- adds r4, r5
- movs r6, 0
- movs r5, 0x88
- lsls r5, 1
- strh r5, [r4, 0x20]
- strh r1, [r4, 0x22]
- strh r6, [r4, 0x24]
- strh r6, [r4, 0x26]
- lsls r0, 16
- asrs r0, 16
- adds r0, 0x20
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x38]
- strh r3, [r4, 0x3A]
- strh r6, [r4, 0x3C]
- ldr r0, _080C351C
- str r0, [r4, 0x1C]
- movs r0, 0x1
- mov r1, r8
- strb r0, [r1, 0x4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3514: .4byte 0x02018000
-_080C3518: .4byte gSprites
-_080C351C: .4byte sub_80C3588
- thumb_func_end sub_80C34CC
-
- thumb_func_start sub_80C3520
-sub_80C3520: @ 80C3520
- push {r4,r5,lr}
- ldr r4, _080C3558
- ldrb r2, [r4]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r2, _080C355C
- adds r1, r2
- ldrh r2, [r1, 0x24]
- ldrh r3, [r1, 0x20]
- adds r2, r3
- movs r3, 0
- strh r2, [r1, 0x20]
- ldrh r2, [r1, 0x26]
- ldrh r5, [r1, 0x22]
- adds r2, r5
- strh r2, [r1, 0x22]
- strh r3, [r1, 0x26]
- strh r3, [r1, 0x24]
- strh r0, [r1, 0x3A]
- strh r3, [r1, 0x3C]
- ldr r0, _080C3560
- str r0, [r1, 0x1C]
- movs r0, 0x3
- strb r0, [r4, 0x4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3558: .4byte 0x02018000
-_080C355C: .4byte gSprites
-_080C3560: .4byte sub_80C3630
- thumb_func_end sub_80C3520
-
- thumb_func_start sub_80C3564
-sub_80C3564: @ 80C3564
- movs r3, 0
- movs r2, 0
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- movs r1, 0x90
- strh r1, [r0, 0x22]
- strh r2, [r0, 0x26]
- strh r2, [r0, 0x24]
- ldr r1, _080C3580
- str r1, [r0, 0x1C]
- ldr r0, _080C3584
- strb r3, [r0, 0x4]
- bx lr
- .align 2, 0
-_080C3580: .4byte SpriteCallbackDummy
-_080C3584: .4byte 0x02018000
- thumb_func_end sub_80C3564
-
- thumb_func_start sub_80C3588
-sub_80C3588: @ 80C3588
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- ldrh r0, [r3, 0x3C]
- adds r2, r0
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r3, 0x20]
- subs r0, r1
- strh r0, [r3, 0x20]
- movs r1, 0xFF
- ands r2, r1
- strh r2, [r3, 0x3C]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r3, 0x36]
- movs r4, 0x36
- ldrsh r1, [r3, r4]
- cmp r0, r1
- bge _080C35B2
- strh r2, [r3, 0x20]
-_080C35B2:
- movs r4, 0
- ldr r6, _080C35F4
- movs r5, 0x40
- adds r2, r3, 0
- adds r2, 0x2E
-_080C35BC:
- movs r7, 0
- ldrsh r0, [r2, r7]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r3, 0x24]
- ldrh r7, [r3, 0x20]
- adds r0, r7
- adds r0, r5
- strh r0, [r1, 0x20]
- adds r5, 0x40
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _080C35BC
- movs r0, 0x20
- ldrsh r1, [r3, r0]
- movs r2, 0x36
- ldrsh r0, [r3, r2]
- cmp r1, r0
- bne _080C35EC
- ldr r0, _080C35F8
- str r0, [r3, 0x1C]
-_080C35EC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C35F4: .4byte gSprites
-_080C35F8: .4byte sub_80C35FC
- thumb_func_end sub_80C3588
-
- thumb_func_start sub_80C35FC
-sub_80C35FC: @ 80C35FC
- push {lr}
- adds r2, r0, 0
- ldr r0, _080C3628
- movs r1, 0x2
- strb r1, [r0, 0x4]
- ldrh r3, [r2, 0x38]
- ldr r1, _080C362C
- lsrs r0, r1, 16
- cmp r3, r0
- beq _080C3624
- subs r0, r3, 0x1
- strh r0, [r2, 0x38]
- lsls r0, 16
- asrs r0, 16
- asrs r1, 16
- cmp r0, r1
- bne _080C3624
- ldrh r0, [r2, 0x3A]
- bl sub_80C3520
-_080C3624:
- pop {r0}
- bx r0
- .align 2, 0
-_080C3628: .4byte 0x02018000
-_080C362C: .4byte 0xffff0000
- thumb_func_end sub_80C35FC
-
- thumb_func_start sub_80C3630
-sub_80C3630: @ 80C3630
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- ldrh r0, [r3, 0x3C]
- adds r2, r0
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r3, 0x20]
- subs r0, r1
- strh r0, [r3, 0x20]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r3, 0x3C]
- movs r4, 0
- ldr r6, _080C3694
- movs r5, 0x40
- adds r2, r3, 0
- adds r2, 0x2E
-_080C3654:
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r3, 0x24]
- ldrh r7, [r3, 0x20]
- adds r0, r7
- adds r0, r5
- strh r0, [r1, 0x20]
- adds r5, 0x40
- adds r2, 0x2
- adds r4, 0x1
- cmp r4, 0x2
- ble _080C3654
- movs r1, 0x20
- ldrsh r0, [r3, r1]
- movs r2, 0x24
- ldrsh r1, [r3, r2]
- adds r0, r1
- movs r1, 0xE0
- negs r1, r1
- cmp r0, r1
- bge _080C368C
- adds r0, r3, 0
- bl sub_80C3564
-_080C368C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3694: .4byte gSprites
- thumb_func_end sub_80C3630
-
- thumb_func_start sub_80C3698
-sub_80C3698: @ 80C3698
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r5, _080C374C
- ldrb r1, [r5, 0x1]
- bl sub_80C3158
- adds r0, r4, 0
- bl sub_80C34AC
- lsls r0, 16
- lsrs r0, 16
- ldrb r2, [r5, 0x1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- ldr r3, _080C3750
- adds r4, r1, r3
- adds r0, 0x20
- strh r0, [r4, 0x20]
- movs r0, 0x50
- strh r0, [r4, 0x22]
- adds r5, r4, 0
- adds r5, 0x3E
- ldrb r1, [r5]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- strb r0, [r5]
- movs r5, 0
- adds r6, r3, 0
- mov r12, r2
- movs r3, 0x40
-_080C36DA:
- lsls r0, r5, 1
- adds r2, r4, 0
- adds r2, 0x2E
- adds r2, r0
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r4, 0x24]
- ldrh r7, [r4, 0x20]
- adds r0, r7
- adds r0, r3
- strh r0, [r1, 0x20]
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r4, 0x22]
- strh r1, [r0, 0x22]
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r12
- ands r0, r2
- strb r0, [r1]
- adds r3, 0x40
- adds r5, 0x1
- cmp r5, 0x2
- ble _080C36DA
- ldr r1, _080C3754
- movs r0, 0xF0
- strh r0, [r1]
- ldr r2, _080C3758
- ldrh r1, [r4, 0x22]
- adds r0, r1, 0
- subs r0, 0x10
- lsls r0, 8
- adds r1, 0x10
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080C375C
- ldr r2, _080C3760
- adds r0, r2, 0
- strh r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C374C: .4byte 0x02018000
-_080C3750: .4byte gSprites
-_080C3754: .4byte gUnknown_030042C4
-_080C3758: .4byte gUnknown_03004240
-_080C375C: .4byte REG_WININ
-_080C3760: .4byte 0x00003f3e
- thumb_func_end sub_80C3698
-
- thumb_func_start sub_80C3764
-sub_80C3764: @ 80C3764
- push {r4-r7,lr}
- ldr r0, _080C37C8
- ldrb r0, [r0, 0x1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r3, _080C37CC
- adds r2, r3
- movs r0, 0x3E
- adds r0, r2
- mov r12, r0
- ldrb r0, [r0]
- movs r1, 0x4
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldr r7, _080C37D0
- ldr r6, _080C37D4
- adds r5, r3, 0
- movs r4, 0x4
- adds r2, 0x2E
- movs r3, 0x2
-_080C3790:
- movs r1, 0
- ldrsh r0, [r2, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r4
- strb r0, [r1]
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080C3790
- movs r1, 0
- strh r1, [r7]
- strh r1, [r6]
- ldr r0, _080C37D8
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- ldr r1, _080C37DC
- ldr r2, _080C37E0
- adds r0, r2, 0
- strh r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C37C8: .4byte 0x02018000
-_080C37CC: .4byte gSprites
-_080C37D0: .4byte gUnknown_030042C4
-_080C37D4: .4byte gUnknown_03004240
-_080C37D8: .4byte REG_WIN0H
-_080C37DC: .4byte REG_WININ
-_080C37E0: .4byte 0x00003f3f
- thumb_func_end sub_80C3764
-
- thumb_func_start sub_80C37E4
-sub_80C37E4: @ 80C37E4
- push {r4-r6,lr}
- sub sp, 0x10
- movs r5, 0x1
- movs r4, 0
- ldr r0, _080C3808
- ldrb r0, [r0]
- adds r1, r5, 0
- ands r1, r0
- cmp r1, 0
- beq _080C3814
- ldr r0, _080C380C
- ldr r3, _080C3810
- movs r1, 0x9
- str r1, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- b _080C386A
- .align 2, 0
-_080C3808: .4byte gUnknown_0203869A
-_080C380C: .4byte 0x0600e000
-_080C3810: .4byte gUnknown_08E964B8
-_080C3814:
- ldr r0, _080C3830
- ldrh r2, [r0]
- cmp r2, 0
- bne _080C383C
- movs r4, 0x1
- ldr r0, _080C3834
- ldr r3, _080C3838
- str r2, [sp]
- str r2, [sp, 0x4]
- movs r1, 0x9
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- b _080C3870
- .align 2, 0
-_080C3830: .4byte gUnknown_0203869E
-_080C3834: .4byte 0x0600e000
-_080C3838: .4byte gUnknown_08E964B8
-_080C383C:
- cmp r2, 0x1
- bne _080C385C
- ldr r0, _080C3854
- ldr r3, _080C3858
- movs r1, 0x9
- str r1, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x8
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- b _080C3870
- .align 2, 0
-_080C3854: .4byte 0x0600e000
-_080C3858: .4byte gUnknown_08E964B8
-_080C385C:
- cmp r2, 0x2
- bne _080C3884
- ldr r0, _080C387C
- ldr r3, _080C3880
- movs r1, 0x11
- str r1, [sp]
- str r4, [sp, 0x4]
-_080C386A:
- movs r1, 0x8
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
-_080C3870:
- movs r1, 0x5
- movs r2, 0x1
- bl sub_809D104
- b _080C389E
- .align 2, 0
-_080C387C: .4byte 0x0600e000
-_080C3880: .4byte gUnknown_08E964B8
-_080C3884:
- movs r4, 0x1
- ldr r0, _080C38C0
- ldr r3, _080C38C4
- str r1, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r1, 0x9
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- movs r1, 0x5
- movs r2, 0x1
- bl sub_809D104
-_080C389E:
- adds r4, 0xD
- ldr r0, _080C38C8
- ldrh r0, [r0]
- cmp r0, 0
- bne _080C38CC
- movs r6, 0
- ldr r0, _080C38C0
- ldr r3, _080C38C4
- movs r1, 0x11
- str r1, [sp]
- movs r2, 0x2
- str r2, [sp, 0x4]
- movs r1, 0xA
- str r1, [sp, 0x8]
- str r2, [sp, 0xC]
- b _080C392A
- .align 2, 0
-_080C38C0: .4byte 0x0600e000
-_080C38C4: .4byte gUnknown_08E964B8
-_080C38C8: .4byte gUnknown_0203869C
-_080C38CC:
- cmp r0, 0x1
- bne _080C38EC
- movs r6, 0x1
- ldr r0, _080C38E4
- ldr r3, _080C38E8
- movs r1, 0
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0xB
- b _080C3924
- .align 2, 0
-_080C38E4: .4byte 0x0600e000
-_080C38E8: .4byte gUnknown_08E964B8
-_080C38EC:
- cmp r0, 0x2
- bne _080C3910
- movs r6, 0x2
- ldr r0, _080C3908
- ldr r3, _080C390C
- movs r1, 0xB
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0xA
- str r1, [sp, 0x8]
- str r6, [sp, 0xC]
- b _080C392A
- .align 2, 0
-_080C3908: .4byte 0x0600e000
-_080C390C: .4byte gUnknown_08E964B8
-_080C3910:
- cmp r0, 0x3
- bne _080C393C
- movs r6, 0x3
- ldr r0, _080C3934
- ldr r3, _080C3938
- movs r1, 0x15
- str r1, [sp]
- movs r1, 0x4
- str r1, [sp, 0x4]
- movs r1, 0xA
-_080C3924:
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
-_080C392A:
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_809D104
- b _080C395A
- .align 2, 0
-_080C3934: .4byte 0x0600e000
-_080C3938: .4byte gUnknown_08E964B8
-_080C393C:
- movs r6, 0x4
- ldr r0, _080C3984
- ldr r3, _080C3988
- movs r1, 0
- str r1, [sp]
- movs r1, 0x6
- str r1, [sp, 0x4]
- movs r1, 0xA
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_809D104
-_080C395A:
- ldr r5, _080C398C
- lsls r4, r6, 12
- ldr r2, _080C3984
- movs r3, 0x7F
-_080C3962:
- ldrh r1, [r2]
- adds r0, r5, 0
- ands r0, r1
- strh r0, [r2]
- ldrh r1, [r2]
- adds r0, r4, 0
- orrs r0, r1
- strh r0, [r2]
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080C3962
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3984: .4byte 0x0600e000
-_080C3988: .4byte gUnknown_08E964B8
-_080C398C: .4byte 0x00000fff
- thumb_func_end sub_80C37E4
-
- thumb_func_start sub_80C3990
-sub_80C3990: @ 80C3990
- push {r4,r5,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r1, _080C39DC
- lsrs r0, 23
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x3F
- bl __udivsi3
- adds r1, r0, 0
- ldr r0, _080C39E0
- ands r0, r1
- cmp r0, 0
- beq _080C39BC
- movs r0, 0x80
- lsls r0, 9
- adds r1, r0
-_080C39BC:
- lsrs r1, 16
- cmp r1, 0
- bne _080C39C8
- cmp r4, 0
- beq _080C39C8
- movs r1, 0x1
-_080C39C8:
- cmp r5, 0
- beq _080C39D2
- cmp r1, 0xA
- bls _080C39D2
- movs r1, 0xA
-_080C39D2:
- lsls r0, r1, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080C39DC: .4byte gUnknown_02038670
-_080C39E0: .4byte 0x0000ffff
- thumb_func_end sub_80C3990
-
- thumb_func_start sub_80C39E4
-sub_80C39E4: @ 80C39E4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r1, _080C3A44
- lsls r0, r5, 1
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r7, r1, 0
- cmp r0, 0
- bge _080C3A00
- negs r0, r0
-_080C3A00:
- lsls r4, r0, 16
- adds r0, r4, 0
- movs r1, 0x50
- bl __udivsi3
- adds r2, r0, 0
- ldr r0, _080C3A48
- ands r0, r2
- cmp r0, 0
- beq _080C3A1A
- movs r0, 0x80
- lsls r0, 9
- adds r2, r0
-_080C3A1A:
- lsrs r2, 16
- cmp r2, 0
- bne _080C3A26
- cmp r4, 0
- beq _080C3A26
- movs r2, 0x1
-_080C3A26:
- cmp r6, 0
- beq _080C3A30
- cmp r2, 0xA
- bls _080C3A30
- movs r2, 0xA
-_080C3A30:
- lsls r0, r5, 1
- adds r0, r7
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bge _080C3A4C
- negs r0, r2
- lsls r0, 24
- b _080C3A4E
- .align 2, 0
-_080C3A44: .4byte gUnknown_02038688
-_080C3A48: .4byte 0x0000ffff
-_080C3A4C:
- lsls r0, r2, 24
-_080C3A4E:
- lsrs r0, 24
- lsls r0, 24
- asrs r0, 24
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C39E4
-
- thumb_func_start sub_80C3A5C
-sub_80C3A5C: @ 80C3A5C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r1, _080C3A90
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r2, [r3, 0x1C]
- movs r1, 0x1C
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080C3A94
- movs r1, 0x8
- ldrsh r0, [r3, r1]
- movs r1, 0x3
- subs r1, r0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- strh r0, [r3, 0x1E]
- adds r0, r2, 0x1
- strh r0, [r3, 0x1C]
- b _080C3B12
- .align 2, 0
-_080C3A90: .4byte gTasks
-_080C3A94:
- cmp r0, 0x1
- bne _080C3B12
- ldrh r0, [r3, 0x1E]
- subs r0, 0x1
- strh r0, [r3, 0x1E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080C3B12
- movs r0, 0x8
- ldrsh r2, [r3, r0]
- lsls r2, 17
- ldr r1, _080C3B18
- adds r2, r1
- lsrs r2, 16
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 6
- ldr r1, _080C3B1C
- adds r0, r1
- strh r2, [r0]
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 6
- ldr r1, _080C3B20
- adds r0, r1
- adds r1, r2, 0x1
- strh r1, [r0]
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 6
- ldr r1, _080C3B24
- adds r0, r1
- adds r1, r2, 0
- adds r1, 0x10
- strh r1, [r0]
- movs r0, 0xA
- ldrsh r1, [r3, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 6
- ldr r1, _080C3B28
- adds r0, r1
- adds r2, 0x11
- strh r2, [r0]
- ldr r1, _080C3B2C
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- adds r0, r4, 0
- bl DestroyTask
- movs r0, 0x18
- bl PlaySE
-_080C3B12:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3B18: .4byte 0x50430000
-_080C3B1C: .4byte 0x0600e142
-_080C3B20: .4byte 0x0600e144
-_080C3B24: .4byte 0x0600e182
-_080C3B28: .4byte 0x0600e184
-_080C3B2C: .4byte 0x02018000
- thumb_func_end sub_80C3A5C
-
- thumb_func_start sub_80C3B30
-sub_80C3B30: @ 80C3B30
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r5, 0
- ldr r1, _080C3BC0
- ldrb r0, [r1]
- ldr r2, _080C3BC4
- mov r10, r2
- cmp r0, 0
- beq _080C3B5C
-_080C3B4E:
- adds r5, 0x1
- cmp r5, 0x3
- bgt _080C3B5C
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C3B4E
-_080C3B5C:
- movs r1, 0
- lsls r0, r5, 1
- mov r2, r12
- lsls r2, 2
- mov r9, r2
- adds r0, r5
- lsls r0, 5
- mov r8, r0
- ldr r7, _080C3BC8
- movs r0, 0x90
- lsls r0, 8
- adds r6, r0, 0
-_080C3B74:
- lsls r0, r1, 5
- adds r4, r1, 0x1
- add r0, r8
- movs r3, 0x1D
- lsls r0, 1
- ldr r1, _080C3BCC
- adds r2, r0, r1
-_080C3B82:
- ldrh r1, [r2]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r6
- strh r0, [r2]
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080C3B82
- adds r1, r4, 0
- cmp r1, 0x2
- ble _080C3B74
- mov r0, r9
- add r0, r12
- lsls r0, 3
- add r0, r10
- strh r5, [r0, 0x1C]
- movs r1, 0x1
- strh r1, [r0, 0x20]
- ldr r2, _080C3BD0
- str r2, [r0]
- mov r1, r12
- ldr r0, _080C3BD4
- strb r1, [r0, 0x3]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3BC0: .4byte gUnknown_02038690
-_080C3BC4: .4byte gTasks
-_080C3BC8: .4byte 0x00000fff
-_080C3BCC: .4byte 0x0600e100
-_080C3BD0: .4byte sub_80C3BD8
-_080C3BD4: .4byte 0x02018000
- thumb_func_end sub_80C3B30
-
- thumb_func_start sub_80C3BD8
-sub_80C3BD8: @ 80C3BD8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C3C24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0x1
- bne _080C3C3C
- movs r0, 0
- strh r0, [r4, 0x1E]
- ldrh r2, [r4, 0x20]
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080C3C28
- movs r0, 0x91
- movs r1, 0x1
- bl BlendPalette
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080C3C2C
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bne _080C3C3C
- strh r5, [r4, 0x22]
- b _080C3C3C
- .align 2, 0
-_080C3C24: .4byte gTasks
-_080C3C28: .4byte 0x00006f8d
-_080C3C2C:
- ldrh r0, [r4, 0x20]
- subs r0, 0x1
- strh r0, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _080C3C3C
- strh r0, [r4, 0x22]
-_080C3C3C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C3BD8
-
- thumb_func_start sub_80C3C44
-sub_80C3C44: @ 80C3C44
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0x9
- bgt _080C3C6C
- adds r0, r1, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080C3CA8
- ldrh r0, [r4, 0x30]
- movs r1, 0
- bl PlayCry1
- movs r0, 0
- strh r0, [r4, 0x30]
- b _080C3CA8
-_080C3C6C:
- movs r0, 0xC0
- lsls r0, 3
- adds r2, r0, 0
- ldrh r1, [r4, 0x30]
- adds r2, r1
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r4, 0x20]
- subs r0, r1
- strh r0, [r4, 0x20]
- movs r1, 0xFF
- ands r2, r1
- strh r2, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x77
- bgt _080C3C92
- movs r0, 0x78
- strh r0, [r4, 0x20]
-_080C3C92:
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x78
- bne _080C3CA8
- ldr r0, _080C3CB0
- str r0, [r4, 0x1C]
- movs r0, 0
- strh r0, [r4, 0x30]
- ldr r1, _080C3CB4
- movs r0, 0x1
- strb r0, [r1, 0x6]
-_080C3CA8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3CB0: .4byte SpriteCallbackDummy
-_080C3CB4: .4byte 0x02018000
- thumb_func_end sub_80C3C44
-
- thumb_func_start sub_80C3CB8
-sub_80C3CB8: @ 80C3CB8
- push {lr}
- adds r3, r0, 0
- movs r0, 0xC0
- lsls r0, 3
- adds r2, r0, 0
- ldrh r0, [r3, 0x30]
- adds r2, r0
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r3, 0x20]
- subs r0, r1
- strh r0, [r3, 0x20]
- movs r1, 0xFF
- ands r2, r1
- strh r2, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080C3CF8
- ldr r0, _080C3CFC
- str r0, [r3, 0x1C]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _080C3D00
- movs r0, 0x2
- strb r0, [r1, 0x6]
-_080C3CF8:
- pop {r0}
- bx r0
- .align 2, 0
-_080C3CFC: .4byte SpriteCallbackDummy
-_080C3D00: .4byte 0x02018000
- thumb_func_end sub_80C3CB8
-
- thumb_func_start sub_80C3D04
-sub_80C3D04: @ 80C3D04
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _080C3DD8
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r1, r0, r1
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _080C3DBE
- movs r0, 0
- strh r0, [r1, 0x8]
- ldr r0, _080C3DDC
- mov r8, r0
- ldrb r0, [r0, 0x7]
- cmp r0, 0x27
- bhi _080C3DBE
- ldr r4, _080C3DE0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF0
- bl __umodsi3
- adds r1, r0, 0
- subs r1, 0x14
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- movs r2, 0x2C
- movs r3, 0x5
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl Random
- ldr r1, _080C3DE4
- lsls r5, r4, 4
- adds r5, r4
- lsls r5, 2
- adds r5, r1
- lsls r0, 23
- lsrs r0, 23
- strh r0, [r5, 0x2E]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x18
- bl __umodsi3
- adds r0, 0x10
- strh r0, [r5, 0x30]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xFF
- ands r0, r1
- adds r0, 0x30
- strh r0, [r5, 0x32]
- bl Random
- ldrh r6, [r5, 0x4]
- lsls r4, r6, 22
- lsrs r4, 22
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x11
- bl __umodsi3
- adds r4, r0
- ldr r1, _080C3DE8
- adds r0, r1, 0
- ands r4, r0
- ldr r0, _080C3DEC
- ands r0, r6
- orrs r0, r4
- strh r0, [r5, 0x4]
- mov r1, r8
- ldrb r0, [r1, 0x7]
- adds r0, 0x1
- strb r0, [r1, 0x7]
-_080C3DBE:
- ldr r0, _080C3DDC
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- beq _080C3DCC
- adds r0, r7, 0
- bl DestroyTask
-_080C3DCC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3DD8: .4byte gTasks
-_080C3DDC: .4byte 0x02018000
-_080C3DE0: .4byte gSpriteTemplate_83D17B4
-_080C3DE4: .4byte gSprites
-_080C3DE8: .4byte 0x000003ff
-_080C3DEC: .4byte 0xfffffc00
- thumb_func_end sub_80C3D04
-
- thumb_func_start sub_80C3DF0
-sub_80C3DF0: @ 80C3DF0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 24
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r1, [r4, 0x32]
- ldrh r0, [r4, 0x36]
- adds r1, r0
- lsls r0, r1, 16
- asrs r0, 24
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r4, 0x36]
- ldrh r0, [r4, 0x22]
- adds r0, 0x1
- strh r0, [r4, 0x22]
- ldr r5, _080C3E5C
- ldrb r0, [r5, 0x9]
- cmp r0, 0
- beq _080C3E3A
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080C3E3A:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r0, 0xF8
- bgt _080C3E4A
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- cmp r0, 0x74
- ble _080C3E56
-_080C3E4A:
- adds r0, r4, 0
- bl DestroySprite
- ldrb r0, [r5, 0x7]
- subs r0, 0x1
- strb r0, [r5, 0x7]
-_080C3E56:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3E5C: .4byte 0x02018000
- thumb_func_end sub_80C3DF0
-
- thumb_func_start sub_80C3E60
-sub_80C3E60: @ 80C3E60
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080C3E98
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C3E9C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x8]
- strh r5, [r1, 0xA]
- ldr r0, _080C3EA0
- lsls r4, 6
- adds r4, r0
- ldrh r0, [r4]
- strh r0, [r1, 0xC]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3E98: .4byte sub_80C3EA4
-_080C3E9C: .4byte gTasks
-_080C3EA0: .4byte gUnknown_02038570
- thumb_func_end sub_80C3E60
-
- thumb_func_start sub_80C3EA4
-sub_80C3EA4: @ 80C3EA4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C3EF8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrb r5, [r4, 0x8]
- ldrh r0, [r4, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _080C3EEE
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r0, [r4, 0xC]
- ldrb r2, [r4, 0x1E]
- ldr r1, _080C3EFC
- lsls r3, r5, 6
- adds r1, 0x38
- adds r3, r1
- ldr r1, [r3]
- str r1, [sp]
- adds r1, r5, 0
- movs r3, 0
- bl sub_80C3024
- ldrh r0, [r4, 0x1E]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x1E]
-_080C3EEE:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C3EF8: .4byte gTasks
-_080C3EFC: .4byte gUnknown_02038570
- thumb_func_end sub_80C3EA4
-
- thumb_func_start sub_80C3F00
-sub_80C3F00: @ 80C3F00
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _080C4098
- ldrh r2, [r0]
- adds r4, r0, 0
- adds r3, r4, 0x2
- movs r0, 0x2
- mov r8, r0
-_080C3F16:
- lsls r0, r2, 16
- asrs r0, 16
- movs r5, 0
- ldrsh r1, [r3, r5]
- cmp r0, r1
- bge _080C3F24
- ldrh r2, [r3]
-_080C3F24:
- adds r3, 0x2
- movs r0, 0x1
- negs r0, r0
- add r8, r0
- mov r1, r8
- cmp r1, 0
- bge _080C3F16
- lsls r0, r2, 16
- mov r9, r0
- cmp r0, 0
- bge _080C3F62
- ldrh r2, [r4]
- adds r3, r4, 0x2
- movs r4, 0x2
- mov r8, r4
-_080C3F42:
- lsls r0, r2, 16
- asrs r0, 16
- movs r5, 0
- ldrsh r1, [r3, r5]
- cmp r0, r1
- ble _080C3F50
- ldrh r2, [r3]
-_080C3F50:
- adds r3, 0x2
- movs r0, 0x1
- negs r0, r0
- add r8, r0
- lsls r1, r2, 16
- mov r9, r1
- mov r4, r8
- cmp r4, 0
- bge _080C3F42
-_080C3F62:
- movs r5, 0
- mov r8, r5
- mov r10, r5
-_080C3F68:
- ldr r0, _080C409C
- mov r1, r8
- lsls r7, r1, 1
- adds r0, r7, r0
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 5
- subs r0, r1
- lsls r0, 2
- adds r0, r1
- lsls r0, 3
- mov r4, r9
- asrs r6, r4, 16
- adds r1, r6, 0
- cmp r6, 0
- bge _080C3F8A
- negs r1, r6
-_080C3F8A:
- bl __divsi3
- adds r4, r0, 0
- movs r1, 0xA
- bl __modsi3
- cmp r0, 0x4
- ble _080C3F9C
- adds r4, 0xA
-_080C3F9C:
- ldr r0, _080C40A0
- mov r1, r10
- adds r5, r1, r0
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- str r0, [r5]
- ldr r0, _080C40A4
- adds r7, r0
- movs r2, 0
- ldrsh r1, [r7, r2]
- cmp r1, 0
- bge _080C3FBA
- negs r1, r1
-_080C3FBA:
- lsls r0, r1, 5
- subs r0, r1
- lsls r0, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r6, 0
- cmp r1, 0
- bge _080C3FCC
- negs r1, r1
-_080C3FCC:
- bl __divsi3
- adds r4, r0, 0
- movs r1, 0xA
- bl __modsi3
- cmp r0, 0x4
- ble _080C3FDE
- adds r4, 0xA
-_080C3FDE:
- adds r0, r4, 0
- movs r1, 0xA
- bl __divsi3
- str r0, [r5, 0x4]
- movs r4, 0
- ldrsh r0, [r7, r4]
- cmp r0, 0
- bge _080C3FF4
- movs r0, 0x1
- strb r0, [r5, 0x10]
-_080C3FF4:
- ldr r1, [r5]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- subs r0, r1
- lsls r0, 11
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- movs r4, 0xFF
- ands r0, r4
- cmp r0, 0x7F
- bls _080C4016
- movs r0, 0x80
- lsls r0, 1
- adds r1, r0
-_080C4016:
- lsrs r0, r1, 8
- str r0, [r5, 0x8]
- ldr r1, [r5, 0x4]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- subs r0, r1
- lsls r0, 11
- movs r1, 0x64
- bl __divsi3
- adds r1, r0, 0
- ands r0, r4
- cmp r0, 0x7F
- bls _080C403A
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2
-_080C403A:
- lsrs r0, r1, 8
- str r0, [r5, 0xC]
- mov r0, r8
- lsls r4, r0, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80C3990
- strb r0, [r5, 0x11]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80C39E4
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _080C4060
- negs r0, r0
-_080C4060:
- strb r0, [r5, 0x12]
- ldr r0, _080C40A8
- add r0, r8
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C40B4
- ldr r4, [r5, 0x8]
- ldrh r2, [r5, 0x8]
- ldr r3, [r5, 0xC]
- ldrh r1, [r5, 0xC]
- ldrb r0, [r5, 0x10]
- cmp r0, 0
- beq _080C4080
- lsls r0, r1, 16
- negs r0, r0
- lsrs r1, r0, 16
-_080C4080:
- lsls r0, r2, 16
- asrs r2, r0, 16
- lsls r0, r1, 16
- asrs r1, r0, 16
- adds r0, r2, r1
- cmp r0, 0x58
- bne _080C40B4
- cmp r1, 0
- ble _080C40AC
- subs r0, r3, 0x1
- str r0, [r5, 0xC]
- b _080C40B4
- .align 2, 0
-_080C4098: .4byte gUnknown_02038678
-_080C409C: .4byte gUnknown_02038670
-_080C40A0: .4byte 0x02018018
-_080C40A4: .4byte gUnknown_02038688
-_080C40A8: .4byte gUnknown_02038690
-_080C40AC:
- cmp r2, 0
- ble _080C40B4
- subs r0, r4, 0x1
- str r0, [r5, 0x8]
-_080C40B4:
- movs r1, 0x14
- add r10, r1
- movs r2, 0x1
- add r8, r2
- mov r4, r8
- cmp r4, 0x3
- bgt _080C40C4
- b _080C3F68
-_080C40C4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C3F00
-
- thumb_func_start sub_80C40D4
-sub_80C40D4: @ 80C40D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsls r1, 24
- lsrs r7, r1, 24
- movs r1, 0
- mov r10, r1
- movs r2, 0
- str r2, [sp]
- cmp r0, 0
- bne _080C4198
- mov r8, r2
- ldr r0, _080C417C
- subs r1, 0x18
- adds r1, r0
- mov r9, r1
- adds r4, r0, 0
- adds r4, 0x8
- movs r6, 0xA0
-_080C4102:
- ldrb r0, [r4, 0x9]
- cmp r7, r0
- bcs _080C416A
- adds r0, 0x13
- adds r0, r6, r0
- subs r0, r7
- lsls r0, 1
- ldr r2, _080C4180
- adds r0, r2
- ldr r2, _080C4184
- adds r1, r2, 0
- strh r1, [r0]
- ldr r0, _080C4188
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r4]
- lsls r0, 16
- ldrb r1, [r4, 0x9]
- bl __udivsi3
- adds r1, r7, 0x1
- adds r3, r0, 0
- muls r3, r1
- ldr r0, _080C418C
- ands r0, r3
- ldr r1, _080C4190
- cmp r0, r1
- bls _080C4146
- movs r0, 0x80
- lsls r0, 9
- adds r3, r0
-_080C4146:
- ldr r1, _080C4194
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- mov r1, r8
- strh r1, [r0, 0x8]
- lsrs r1, r3, 16
- strh r1, [r0, 0xA]
- mov r2, r9
- ldrb r0, [r2, 0x14]
- adds r0, 0x1
- strb r0, [r2, 0x14]
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
-_080C416A:
- adds r4, 0x14
- adds r6, 0x60
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x3
- ble _080C4102
- b _080C4292
- .align 2, 0
-_080C417C: .4byte 0x02018018
-_080C4180: .4byte 0x0600bffe
-_080C4184: .4byte 0x000060b3
-_080C4188: .4byte sub_80C42C0
-_080C418C: .4byte 0x0000ffff
-_080C4190: .4byte 0x00007fff
-_080C4194: .4byte gTasks
-_080C4198:
- movs r2, 0
- mov r8, r2
- ldr r0, _080C4220
- mov r12, r0
- mov r9, r2
- movs r1, 0xC0
- str r1, [sp, 0x4]
-_080C41A6:
- mov r6, r9
- add r6, r12
- ldrb r1, [r6, 0x12]
- ldrb r0, [r6, 0x10]
- ldr r2, _080C4224
- cmp r0, 0
- beq _080C41B6
- adds r2, 0x2
-_080C41B6:
- lsls r0, r1, 24
- asrs r0, 24
- cmp r7, r0
- bge _080C427E
- adds r0, 0x13
- ldr r1, [sp, 0x4]
- adds r0, r1, r0
- subs r0, r7
- lsls r0, 1
- ldr r1, _080C4228
- adds r0, r1
- strh r2, [r0]
- ldr r0, _080C422C
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, [r6, 0xC]
- lsls r0, 16
- ldrb r1, [r6, 0x12]
- bl __udivsi3
- adds r1, r7, 0x1
- adds r3, r0, 0
- muls r3, r1
- ldr r0, _080C4230
- ands r0, r3
- ldr r1, _080C4234
- cmp r0, r1
- bls _080C41FA
- movs r2, 0x80
- lsls r2, 9
- adds r3, r2
-_080C41FA:
- ldr r1, _080C4238
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- adds r4, r0, r1
- mov r0, r8
- strh r0, [r4, 0x8]
- ldrb r0, [r6, 0x10]
- adds r6, r1, 0
- cmp r0, 0
- beq _080C423C
- movs r0, 0x1
- strh r0, [r4, 0xC]
- ldr r0, [sp]
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- b _080C4246
- .align 2, 0
-_080C4220: .4byte 0x02018018
-_080C4224: .4byte 0x000060a3
-_080C4228: .4byte 0x0600bffe
-_080C422C: .4byte sub_80C42C0
-_080C4230: .4byte 0x0000ffff
-_080C4234: .4byte 0x00007fff
-_080C4238: .4byte gTasks
-_080C423C:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
-_080C4246:
- ldr r0, _080C4264
- mov r1, r9
- adds r4, r1, r0
- ldrb r1, [r4, 0x10]
- mov r12, r0
- cmp r1, 0
- beq _080C4268
- adds r0, r2, r5
- lsls r0, 3
- adds r0, r6
- lsrs r2, r3, 16
- ldr r1, [r4, 0x8]
- subs r1, r2
- b _080C4274
- .align 2, 0
-_080C4264: .4byte 0x02018018
-_080C4268:
- adds r0, r2, r5
- lsls r0, 3
- adds r0, r6
- lsrs r2, r3, 16
- ldr r1, [r4, 0x8]
- adds r1, r2
-_080C4274:
- strh r1, [r0, 0xA]
- ldr r1, _080C42BC
- ldrb r0, [r1, 0x14]
- adds r0, 0x1
- strb r0, [r1, 0x14]
-_080C427E:
- movs r2, 0x14
- add r9, r2
- ldr r0, [sp, 0x4]
- adds r0, 0x60
- str r0, [sp, 0x4]
- movs r1, 0x1
- add r8, r1
- mov r2, r8
- cmp r2, 0x3
- ble _080C41A6
-_080C4292:
- ldr r0, [sp]
- cmp r0, 0
- beq _080C429E
- movs r0, 0x16
- bl PlaySE
-_080C429E:
- mov r1, r10
- cmp r1, 0
- beq _080C42AA
- movs r0, 0x15
- bl PlaySE
-_080C42AA:
- 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
-_080C42BC: .4byte 0x02018000
- thumb_func_end sub_80C40D4
-
- thumb_func_start sub_80C42C0
-sub_80C42C0: @ 80C42C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- movs r6, 0
- mov r9, r6
- ldr r1, _080C4308
- lsls r0, 2
- add r0, r12
- lsls r0, 3
- adds r0, r1
- ldrb r5, [r0, 0x8]
- ldrh r7, [r0, 0xA]
- ldrh r1, [r0, 0xC]
- mov r8, r1
- movs r2, 0xC
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _080C4310
- ldr r1, _080C430C
- lsls r2, r5, 1
- adds r0, r1, 0
- adds r0, 0xC
- adds r0, r2, r0
- movs r3, 0
- ldrsh r0, [r0, r3]
- mov r10, r1
- adds r4, r2, 0
- cmp r0, 0
- bgt _080C4328
- b _080C4326
- .align 2, 0
-_080C4308: .4byte gTasks
-_080C430C: .4byte 0x02018000
-_080C4310:
- ldr r1, _080C4350
- lsls r2, r5, 1
- adds r0, r1, 0
- adds r0, 0xC
- adds r0, r2, r0
- movs r3, 0
- ldrsh r0, [r0, r3]
- mov r10, r1
- adds r4, r2, 0
- cmp r0, 0x57
- ble _080C4328
-_080C4326:
- movs r6, 0x1
-_080C4328:
- mov r0, r10
- adds r0, 0xC
- adds r3, r4, r0
- ldrh r2, [r3]
- movs r0, 0
- ldrsh r1, [r3, r0]
- lsls r0, r7, 16
- asrs r0, 16
- cmp r1, r0
- bne _080C4340
- movs r1, 0x1
- mov r9, r1
-_080C4340:
- mov r0, r9
- cmp r0, 0
- bne _080C4362
- cmp r6, 0
- beq _080C4354
- strh r7, [r3]
- b _080C4362
- .align 2, 0
-_080C4350: .4byte 0x02018000
-_080C4354:
- mov r1, r8
- cmp r1, 0
- beq _080C435E
- subs r0, r2, 0x1
- b _080C4360
-_080C435E:
- adds r0, r2, 0x1
-_080C4360:
- strh r0, [r3]
-_080C4362:
- cmp r6, 0
- bne _080C43C8
- mov r2, r9
- cmp r2, 0
- bne _080C43CE
- movs r2, 0
- ldr r0, _080C4388
- adds r6, r4, r0
- adds r0, r4, r5
- lsls r5, r0, 5
-_080C4376:
- movs r0, 0
- ldrsh r3, [r6, r0]
- adds r0, r2, 0x1
- lsls r1, r0, 3
- adds r4, r0, 0
- cmp r3, r1
- blt _080C438C
- movs r0, 0x8
- b _080C43A8
- .align 2, 0
-_080C4388: .4byte 0x0201800c
-_080C438C:
- lsls r0, r2, 3
- cmp r3, r0
- blt _080C43A6
- adds r0, r3, 0
- cmp r3, 0
- bge _080C439A
- adds r0, r3, 0x7
-_080C439A:
- asrs r0, 3
- lsls r0, 3
- subs r0, r3, r0
- lsls r0, 24
- lsrs r0, 24
- b _080C43A8
-_080C43A6:
- movs r0, 0
-_080C43A8:
- cmp r0, 0x3
- bhi _080C43B4
- ldr r3, _080C43B0
- b _080C43B6
- .align 2, 0
-_080C43B0: .4byte 0x0000504c
-_080C43B4:
- ldr r3, _080C43EC
-_080C43B6:
- adds r1, r0, r3
- adds r0, r5, r2
- lsls r0, 1
- ldr r2, _080C43F0
- adds r0, r2
- strh r1, [r0]
- adds r2, r4, 0
- cmp r2, 0xA
- ble _080C4376
-_080C43C8:
- mov r3, r9
- cmp r3, 0
- beq _080C43DC
-_080C43CE:
- mov r1, r10
- ldrb r0, [r1, 0x14]
- subs r0, 0x1
- strb r0, [r1, 0x14]
- mov r0, r12
- bl DestroyTask
-_080C43DC:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C43EC: .4byte 0x00005057
-_080C43F0: .4byte 0x0600e18e
- thumb_func_end sub_80C42C0
-
- thumb_func_start sub_80C43F4
-sub_80C43F4: @ 80C43F4
- push {r4,r5,lr}
- ldr r0, _080C442C
- ldrb r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080C4430
- adds r0, r1
- bl sub_80AE47C
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- cmp r5, 0
- beq _080C4422
- ldr r4, _080C4434
- ldrb r0, [r4]
- ldr r1, _080C4438
- ldrb r1, [r1]
- bl sub_80AE398
- ldrb r0, [r4]
- bl sub_80AE82C
-_080C4422:
- ldr r0, _080C443C
- strh r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C442C: .4byte gUnknown_02038694
-_080C4430: .4byte gPlayerParty
-_080C4434: .4byte gUnknown_0203869C
-_080C4438: .4byte gUnknown_0203869E
-_080C443C: .4byte gScriptResult
- thumb_func_end sub_80C43F4
-
- thumb_func_start sub_80C4440
-sub_80C4440: @ 80C4440
- push {r4,lr}
- movs r4, 0
- ldr r0, _080C4464
- ldrb r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _080C4468
- adds r2, r1, r0
- ldr r0, _080C446C
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080C44B2
- lsls r0, 2
- ldr r1, _080C4470
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C4464: .4byte gUnknown_02038694
-_080C4468: .4byte gPlayerParty
-_080C446C: .4byte gUnknown_0203869C
-_080C4470: .4byte _080C4474
- .align 2, 0
-_080C4474:
- .4byte _080C4488
- .4byte _080C448E
- .4byte _080C4494
- .4byte _080C449A
- .4byte _080C44A0
-_080C4488:
- adds r0, r2, 0
- movs r1, 0x32
- b _080C44A4
-_080C448E:
- adds r0, r2, 0
- movs r1, 0x33
- b _080C44A4
-_080C4494:
- adds r0, r2, 0
- movs r1, 0x34
- b _080C44A4
-_080C449A:
- adds r0, r2, 0
- movs r1, 0x35
- b _080C44A4
-_080C44A0:
- adds r0, r2, 0
- movs r1, 0x36
-_080C44A4:
- bl GetMonData
- ldr r1, _080C44BC
- ldrh r1, [r1]
- cmp r0, r1
- bls _080C44B2
- movs r4, 0x1
-_080C44B2:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C44BC: .4byte gUnknown_0203869E
- thumb_func_end sub_80C4440
-
- thumb_func_start sub_80C44C0
-sub_80C44C0: @ 80C44C0
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, _080C44E8
- ldr r0, _080C44EC
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C44D4
- b _080C465E
-_080C44D4:
- ldr r0, _080C44F0
- ldrh r0, [r0]
- cmp r0, 0x4
- bls _080C44DE
- b _080C465E
-_080C44DE:
- lsls r0, 2
- ldr r1, _080C44F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C44E8: .4byte gUnknown_02038690
-_080C44EC: .4byte gUnknown_02038695
-_080C44F0: .4byte gUnknown_0203869C
-_080C44F4: .4byte _080C44F8
- .align 2, 0
-_080C44F8:
- .4byte _080C450C
- .4byte _080C4554
- .4byte _080C4598
- .4byte _080C45DC
- .4byte _080C4624
-_080C450C:
- ldr r6, _080C4548
- ldrb r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _080C454C
- adds r0, r4
- movs r1, 0x32
- bl GetMonData
- lsls r0, 24
- lsrs r1, r0, 24
- mov r0, sp
- strb r1, [r0]
- ldr r0, _080C4550
- ldrh r0, [r0]
- cmp r1, r0
- bls _080C4530
- b _080C465E
-_080C4530:
- adds r0, r1, 0
- cmp r0, 0x3
- bls _080C4538
- b _080C465E
-_080C4538:
- adds r1, r0, 0x1
- mov r0, sp
- strb r1, [r0]
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x32
- b _080C4610
- .align 2, 0
-_080C4548: .4byte gUnknown_02038694
-_080C454C: .4byte gPlayerParty
-_080C4550: .4byte gUnknown_0203869E
-_080C4554:
- mov r4, sp
- ldr r7, _080C458C
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _080C4590
- adds r0, r5
- movs r1, 0x33
- bl GetMonData
- strb r0, [r4]
- mov r0, sp
- ldrb r2, [r0]
- ldr r0, _080C4594
- ldrh r0, [r0]
- cmp r2, r0
- bhi _080C465E
- cmp r2, 0x3
- bhi _080C465E
- mov r1, sp
- adds r0, r2, 0x1
- strb r0, [r1]
- ldrb r0, [r7]
- muls r0, r6
- adds r0, r5
- movs r1, 0x33
- b _080C4610
- .align 2, 0
-_080C458C: .4byte gUnknown_02038694
-_080C4590: .4byte gPlayerParty
-_080C4594: .4byte gUnknown_0203869E
-_080C4598:
- mov r4, sp
- ldr r7, _080C45D0
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _080C45D4
- adds r0, r5
- movs r1, 0x34
- bl GetMonData
- strb r0, [r4]
- mov r0, sp
- ldrb r2, [r0]
- ldr r0, _080C45D8
- ldrh r0, [r0]
- cmp r2, r0
- bhi _080C465E
- cmp r2, 0x3
- bhi _080C465E
- mov r1, sp
- adds r0, r2, 0x1
- strb r0, [r1]
- ldrb r0, [r7]
- muls r0, r6
- adds r0, r5
- movs r1, 0x34
- b _080C4610
- .align 2, 0
-_080C45D0: .4byte gUnknown_02038694
-_080C45D4: .4byte gPlayerParty
-_080C45D8: .4byte gUnknown_0203869E
-_080C45DC:
- mov r4, sp
- ldr r7, _080C4618
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _080C461C
- adds r0, r5
- movs r1, 0x35
- bl GetMonData
- strb r0, [r4]
- mov r0, sp
- ldrb r2, [r0]
- ldr r0, _080C4620
- ldrh r0, [r0]
- cmp r2, r0
- bhi _080C465E
- cmp r2, 0x3
- bhi _080C465E
- mov r1, sp
- adds r0, r2, 0x1
- strb r0, [r1]
- ldrb r0, [r7]
- muls r0, r6
- adds r0, r5
- movs r1, 0x35
-_080C4610:
- mov r2, sp
- bl SetMonData
- b _080C465E
- .align 2, 0
-_080C4618: .4byte gUnknown_02038694
-_080C461C: .4byte gPlayerParty
-_080C4620: .4byte gUnknown_0203869E
-_080C4624:
- mov r4, sp
- ldr r7, _080C4668
- ldrb r0, [r7]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _080C466C
- adds r0, r5
- movs r1, 0x36
- bl GetMonData
- strb r0, [r4]
- mov r0, sp
- ldrb r2, [r0]
- ldr r0, _080C4670
- ldrh r0, [r0]
- cmp r2, r0
- bhi _080C465E
- cmp r2, 0x3
- bhi _080C465E
- mov r1, sp
- adds r0, r2, 0x1
- strb r0, [r1]
- ldrb r0, [r7]
- muls r0, r6
- adds r0, r5
- movs r1, 0x36
- mov r2, sp
- bl SetMonData
-_080C465E:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4668: .4byte gUnknown_02038694
-_080C466C: .4byte gPlayerParty
-_080C4670: .4byte gUnknown_0203869E
- thumb_func_end sub_80C44C0
-
- thumb_func_start sub_80C4674
-sub_80C4674: @ 80C4674
- push {r4,lr}
- adds r4, r0, 0
- bl StringCopy
- ldrb r0, [r4]
- cmp r0, 0xFC
- bne _080C4690
- ldrb r0, [r4, 0x1]
- cmp r0, 0x15
- bne _080C4690
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
-_080C4690:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C4674
-
- thumb_func_start sub_80C4698
-sub_80C4698: @ 80C4698
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r1, r4, 6
- ldr r0, _080C46E0
- adds r1, r0
- adds r0, r5, 0
- bl StringCopy
- ldr r0, _080C46E4
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C46DA
- ldr r0, _080C46E8
- lsls r1, r4, 3
- subs r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x1A]
- cmp r0, 0x1
- bne _080C46DA
- adds r0, r5, 0
- bl sub_80C86A0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl ConvertInternationalString
-_080C46DA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C46E0: .4byte gUnknown_02038572
-_080C46E4: .4byte gUnknown_0203869A
-_080C46E8: .4byte gLinkPlayers
- thumb_func_end sub_80C4698
-
- thumb_func_start sub_80C46EC
-sub_80C46EC: @ 80C46EC
- push {lr}
- ldr r0, _080C4710
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C4720
- ldr r0, _080C4714
- ldr r1, _080C4718
- ldrh r2, [r1]
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r2, _080C471C
- adds r1, r2
- bl sub_80C4674
- b _080C4730
- .align 2, 0
-_080C4710: .4byte gUnknown_0203869A
-_080C4714: .4byte gStringVar1
-_080C4718: .4byte gUnknown_0202E8D0
-_080C471C: .4byte gLinkPlayers + 0x8
-_080C4720:
- ldr r0, _080C4734
- ldr r1, _080C4738
- ldrh r1, [r1]
- lsls r1, 6
- ldr r2, _080C473C
- adds r1, r2
- bl sub_80C4674
-_080C4730:
- pop {r0}
- bx r0
- .align 2, 0
-_080C4734: .4byte gStringVar1
-_080C4738: .4byte gUnknown_0202E8D0
-_080C473C: .4byte gUnknown_0203857D
- thumb_func_end sub_80C46EC
-
- thumb_func_start sub_80C4740
-sub_80C4740: @ 80C4740
- push {lr}
- ldr r0, _080C4750
- ldr r1, _080C4754
- ldrb r1, [r1]
- bl sub_80C4698
- pop {r0}
- bx r0
- .align 2, 0
-_080C4750: .4byte gStringVar3
-_080C4754: .4byte gUnknown_0202E8D0
- thumb_func_end sub_80C4740
-
- thumb_func_start sub_80C4758
-sub_80C4758: @ 80C4758
- push {r4-r6,lr}
- movs r1, 0
- movs r2, 0
- ldr r5, _080C4794
- ldr r4, _080C4798
- ldr r0, _080C479C
- ldrh r0, [r0]
- lsls r0, 1
- adds r0, r4
- movs r6, 0
- ldrsh r3, [r0, r6]
-_080C476E:
- lsls r0, r1, 1
- adds r0, r4
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r3, r0
- bge _080C4780
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_080C4780:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080C476E
- strh r2, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4794: .4byte gUnknown_0202E8CC
-_080C4798: .4byte gUnknown_02038670
-_080C479C: .4byte gUnknown_0202E8D0
- thumb_func_end sub_80C4758
-
- thumb_func_start sub_80C47A0
-sub_80C47A0: @ 80C47A0
- ldr r2, _080C47B4
- ldr r1, _080C47B8
- ldr r0, _080C47BC
- ldrh r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- bx lr
- .align 2, 0
-_080C47B4: .4byte gUnknown_0202E8CC
-_080C47B8: .4byte gUnknown_02038670
-_080C47BC: .4byte gUnknown_0202E8D0
- thumb_func_end sub_80C47A0
-
- thumb_func_start sub_80C47C0
-sub_80C47C0: @ 80C47C0
- push {lr}
- movs r1, 0
- ldr r2, _080C47E8
- ldrb r0, [r2]
- ldr r3, _080C47EC
- cmp r0, 0
- beq _080C47E0
-_080C47CE:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bhi _080C47E0
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C47CE
-_080C47E0:
- strh r1, [r3]
- pop {r0}
- bx r0
- .align 2, 0
-_080C47E8: .4byte gUnknown_02038690
-_080C47EC: .4byte gUnknown_0202E8CE
- thumb_func_end sub_80C47C0
-
- thumb_func_start sub_80C47F0
-sub_80C47F0: @ 80C47F0
- push {r4,lr}
- movs r2, 0
- ldr r3, _080C4830
- ldrb r0, [r3]
- ldr r1, _080C4834
- ldr r4, _080C4838
- cmp r0, 0
- beq _080C4812
-_080C4800:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bhi _080C4812
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C4800
-_080C4812:
- ldrb r1, [r1]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C4840
- lsls r1, r2, 3
- subs r1, r2
- lsls r1, 2
- ldr r0, _080C483C
- adds r1, r0
- adds r0, r4, 0
- bl sub_80C4674
- b _080C484C
- .align 2, 0
-_080C4830: .4byte gUnknown_02038690
-_080C4834: .4byte gUnknown_0203869A
-_080C4838: .4byte gStringVar3
-_080C483C: .4byte gLinkPlayers + 0x8
-_080C4840:
- lsls r1, r2, 6
- ldr r0, _080C4854
- adds r1, r0
- adds r0, r4, 0
- bl sub_80C4674
-_080C484C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4854: .4byte gUnknown_0203857D
- thumb_func_end sub_80C47F0
-
- thumb_func_start sub_80C4858
-sub_80C4858: @ 80C4858
- push {lr}
- movs r1, 0
- ldr r2, _080C4884
- ldrb r0, [r2]
- ldr r3, _080C4888
- cmp r0, 0
- beq _080C4878
-_080C4866:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bhi _080C4878
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C4866
-_080C4878:
- adds r0, r3, 0
- bl sub_80C4698
- pop {r0}
- bx r0
- .align 2, 0
-_080C4884: .4byte gUnknown_02038690
-_080C4888: .4byte gStringVar1
- thumb_func_end sub_80C4858
-
- thumb_func_start sub_80C488C
-sub_80C488C: @ 80C488C
- push {lr}
- ldr r0, _080C4898
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080C4898: .4byte sub_80AB47C
- thumb_func_end sub_80C488C
-
- thumb_func_start sub_80C489C
-sub_80C489C: @ 80C489C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080C48C0
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C48BA
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _080C48C4
- bl SetMainCallback2
-_080C48BA:
- pop {r0}
- bx r0
- .align 2, 0
-_080C48C0: .4byte gPaletteFade
-_080C48C4: .4byte sub_80C488C
- thumb_func_end sub_80C489C
-
- thumb_func_start sub_80C48C8
-sub_80C48C8: @ 80C48C8
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _080C48F0
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080C48F0: .4byte sub_80C489C
- thumb_func_end sub_80C48C8
-
- thumb_func_start sub_80C48F4
-sub_80C48F4: @ 80C48F4
- ldr r2, _080C4908
- ldr r1, _080C490C
- ldr r0, _080C4910
- ldrh r0, [r0]
- lsls r0, 6
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- bx lr
- .align 2, 0
-_080C4908: .4byte gUnknown_0202E8CC
-_080C490C: .4byte gUnknown_02038570
-_080C4910: .4byte gUnknown_0202E8D0
- thumb_func_end sub_80C48F4
-
- thumb_func_start sub_80C4914
-sub_80C4914: @ 80C4914
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080C4938
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C4932
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _080C493C
- bl SetMainCallback2
-_080C4932:
- pop {r0}
- bx r0
- .align 2, 0
-_080C4938: .4byte gPaletteFade
-_080C493C: .4byte sub_80C2358
- thumb_func_end sub_80C4914
-
- thumb_func_start sub_80C4940
-sub_80C4940: @ 80C4940
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _080C4968
- movs r1, 0xA
- bl CreateTask
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080C4968: .4byte sub_80C4914
- thumb_func_end sub_80C4940
-
- thumb_func_start sub_80C496C
-sub_80C496C: @ 80C496C
- ldr r0, _080C4978
- ldr r1, _080C497C
- ldrb r1, [r1]
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080C4978: .4byte gUnknown_0202E8CC
-_080C497C: .4byte gUnknown_02038695
- thumb_func_end sub_80C496C
-
- thumb_func_start sub_80C4980
-sub_80C4980: @ 80C4980
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl ScriptContext2_Enable
- ldr r6, _080C49B8
- adds r0, r6, 0
- movs r1, 0
- bl CreateTask
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r2, _080C49BC
- adds r0, r4, 0
- adds r1, r6, 0
- bl SetTaskFuncWithFollowupFunc
- ldr r1, _080C49C0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x1A]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C49B8: .4byte sub_80C8604
-_080C49BC: .4byte sub_80C49C4
-_080C49C0: .4byte gTasks
- thumb_func_end sub_80C4980
-
- thumb_func_start sub_80C49C4
-sub_80C49C4: @ 80C49C4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080C49E4
- ldrb r0, [r0]
- bl sub_80AE098
- ldr r1, _080C49E8
- ldr r2, _080C49EC
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C49E4: .4byte gUnknown_02038694
-_080C49E8: .4byte sub_80C8734
-_080C49EC: .4byte sub_80C49F0
- thumb_func_end sub_80C49C4
-
- thumb_func_start sub_80C49F0
-sub_80C49F0: @ 80C49F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C4A04
- ldr r2, _080C4A08
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080C4A04: .4byte sub_80C88AC
-_080C4A08: .4byte sub_80C4A0C
- thumb_func_end sub_80C49F0
-
- thumb_func_start sub_80C4A0C
-sub_80C4A0C: @ 80C4A0C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C4A20
- ldr r2, _080C4A24
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080C4A20: .4byte sub_80C8E1C
-_080C4A24: .4byte sub_80C4A28
- thumb_func_end sub_80C4A0C
-
- thumb_func_start sub_80C4A28
-sub_80C4A28: @ 80C4A28
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C4A3C
- ldr r2, _080C4A40
- bl SetTaskFuncWithFollowupFunc
- pop {r0}
- bx r0
- .align 2, 0
-_080C4A3C: .4byte sub_80C8938
-_080C4A40: .4byte sub_80C4A44
- thumb_func_end sub_80C4A28
-
- thumb_func_start sub_80C4A44
-sub_80C4A44: @ 80C4A44
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0
- ldr r0, _080C4AA0
- mov r8, r0
- add r1, sp, 0x4
- mov r12, r1
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r4, r0, 3
- ldr r6, _080C4AA4
- adds r7, r1, 0
-_080C4A64:
- mov r0, sp
- adds r2, r0, r3
- adds r1, r3, 0x1
- lsls r0, r1, 1
- adds r0, r4
- adds r0, r6
- ldrh r0, [r0]
- strb r0, [r2]
- lsls r1, 24
- lsrs r3, r1, 24
- cmp r3, 0x3
- bls _080C4A64
- movs r3, 0
- mov r2, sp
-_080C4A80:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bhi _080C4A96
- mov r0, sp
- adds r1, r0, r3
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080C4A80
-_080C4A96:
- cmp r3, 0x4
- bne _080C4AA8
- movs r0, 0
- b _080C4AAA
- .align 2, 0
-_080C4AA0: .4byte gUnknown_0202E8CC
-_080C4AA4: .4byte gUnknown_03004B28
-_080C4AA8:
- movs r0, 0x1
-_080C4AAA:
- mov r1, r8
- strh r0, [r1]
- movs r3, 0
- mov r4, r12
- adds r0, r7, r5
- lsls r2, r0, 3
- ldr r6, _080C4AF8
-_080C4AB8:
- adds r1, r4, r3
- adds r0, r3, 0x5
- lsls r0, 1
- adds r0, r2
- adds r0, r6
- ldrh r0, [r0]
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- bls _080C4AB8
- mov r0, r12
- bl sub_80C4B34
- ldr r1, _080C4AFC
- strb r0, [r1]
- ldr r0, _080C4B00
- ldrb r0, [r0]
- bl sub_80AE82C
- ldr r1, _080C4B04
- ldr r2, _080C4B08
- adds r0, r5, 0
- bl SetTaskFuncWithFollowupFunc
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4AF8: .4byte gUnknown_03004B28
-_080C4AFC: .4byte gUnknown_0203869B
-_080C4B00: .4byte gUnknown_0203869C
-_080C4B04: .4byte sub_80C8EBC
-_080C4B08: .4byte sub_80C4B0C
- thumb_func_end sub_80C4A44
-
- thumb_func_start sub_80C4B0C
-sub_80C4B0C: @ 80C4B0C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- bl sub_80B0F28
- ldr r1, _080C4B2C
- ldr r2, _080C4B30
- adds r0, r4, 0
- bl SetTaskFuncWithFollowupFunc
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4B2C: .4byte sub_80C8F34
-_080C4B30: .4byte sub_80C4B5C
- thumb_func_end sub_80C4B0C
-
- thumb_func_start sub_80C4B34
-sub_80C4B34: @ 80C4B34
- push {r4,lr}
- adds r3, r0, 0
- movs r4, 0
- movs r2, 0x1
-_080C4B3C:
- adds r0, r3, r4
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bcs _080C4B4C
- lsls r0, r2, 24
- lsrs r4, r0, 24
-_080C4B4C:
- adds r2, 0x1
- cmp r2, 0x3
- ble _080C4B3C
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C4B34
-
- thumb_func_start sub_80C4B5C
-sub_80C4B5C: @ 80C4B5C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C4B84
- ldrh r0, [r0]
- cmp r0, 0x1
- bne _080C4B90
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C4B9E
- ldr r0, _080C4B88
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C4B8C
- str r0, [r1]
- b _080C4B9E
- .align 2, 0
-_080C4B84: .4byte gUnknown_0202E8CC
-_080C4B88: .4byte gTasks
-_080C4B8C: .4byte sub_80C4BA4
-_080C4B90:
- adds r0, r4, 0
- bl DestroyTask
- bl ScriptContext2_Disable
- bl EnableBothScriptContexts
-_080C4B9E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C4B5C
-
- thumb_func_start sub_80C4BA4
-sub_80C4BA4: @ 80C4BA4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_800832C
- ldr r1, _080C4BC4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C4BC8
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4BC4: .4byte gTasks
-_080C4BC8: .4byte sub_80C4BCC
- thumb_func_end sub_80C4BA4
-
- thumb_func_start sub_80C4BCC
-sub_80C4BCC: @ 80C4BCC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080C4BEC
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C4BE8
- adds r0, r1, 0
- bl DestroyTask
- bl ScriptContext2_Disable
- bl EnableBothScriptContexts
-_080C4BE8:
- pop {r0}
- bx r0
- .align 2, 0
-_080C4BEC: .4byte gReceivedRemoteLinkPlayers
- thumb_func_end sub_80C4BCC
-
- thumb_func_start sub_80C4BF0
-sub_80C4BF0: @ 80C4BF0
- push {r4,lr}
- ldr r2, _080C4C1C
- ldr r1, _080C4C20
- ldrb r3, [r1, 0x15]
- movs r4, 0x9B
- lsls r4, 5
- adds r0, r2, r4
- strh r3, [r0]
- adds r0, r1, 0
- adds r0, 0x55
- ldrb r3, [r0]
- adds r4, 0x2
- adds r0, r2, r4
- strh r3, [r0]
- adds r1, 0x95
- ldrb r0, [r1]
- ldr r1, _080C4C24
- adds r2, r1
- strh r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4C1C: .4byte gSaveBlock1
-_080C4C20: .4byte gUnknown_02038570
-_080C4C24: .4byte 0x00001364
- thumb_func_end sub_80C4BF0
-
- thumb_func_start sub_80C4C28
-sub_80C4C28: @ 80C4C28
- push {lr}
- ldr r0, _080C4C40
- ldrb r0, [r0]
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080C4C4E
- cmp r0, 0x1
- bgt _080C4C44
- cmp r0, 0
- beq _080C4C4A
- b _080C4C56
- .align 2, 0
-_080C4C40: .4byte gUnknown_0202E8CE
-_080C4C44:
- cmp r1, 0x2
- beq _080C4C52
- b _080C4C56
-_080C4C4A:
- movs r1, 0x3
- b _080C4C58
-_080C4C4E:
- movs r1, 0x4
- b _080C4C58
-_080C4C52:
- movs r1, 0x5
- b _080C4C58
-_080C4C56:
- movs r1, 0x64
-_080C4C58:
- ldr r0, _080C4C60
- strh r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080C4C60: .4byte gUnknown_0202E8CC
- thumb_func_end sub_80C4C28
-
- thumb_func_start sub_80C4C64
-sub_80C4C64: @ 80C4C64
- push {lr}
- bl sub_80C46EC
- bl sub_80C4740
- bl sub_80C48F4
- pop {r0}
- bx r0
- thumb_func_end sub_80C4C64
-
- thumb_func_start sub_80C4C78
-sub_80C4C78: @ 80C4C78
- push {lr}
- ldr r0, _080C4C8C
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080C4CB8
- lsls r0, 2
- ldr r1, _080C4C90
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C4C8C: .4byte gUnknown_0203869C
-_080C4C90: .4byte _080C4C94
- .align 2, 0
-_080C4C94:
- .4byte _080C4CA8
- .4byte _080C4CAC
- .4byte _080C4CB0
- .4byte _080C4CB4
- .4byte _080C4CB8
-_080C4CA8:
- movs r0, 0x8
- b _080C4CBA
-_080C4CAC:
- movs r0, 0x9
- b _080C4CBA
-_080C4CB0:
- movs r0, 0xA
- b _080C4CBA
-_080C4CB4:
- movs r0, 0xB
- b _080C4CBA
-_080C4CB8:
- movs r0, 0xC
-_080C4CBA:
- ldr r1, _080C4CD0
- lsls r0, 5
- adds r0, r1
- ldr r1, _080C4CD4
- adds r0, r1
- ldrh r1, [r0]
- cmp r1, 0
- bne _080C4CDC
- ldr r0, _080C4CD8
- strh r1, [r0]
- b _080C4CE2
- .align 2, 0
-_080C4CD0: .4byte gSaveBlock1
-_080C4CD4: .4byte 0x00002e04
-_080C4CD8: .4byte gUnknown_0202E8CC
-_080C4CDC:
- ldr r1, _080C4CE8
- movs r0, 0x1
- strh r0, [r1]
-_080C4CE2:
- pop {r0}
- bx r0
- .align 2, 0
-_080C4CE8: .4byte gUnknown_0202E8CC
- thumb_func_end sub_80C4C78
-
- thumb_func_start sub_80C4CEC
-sub_80C4CEC: @ 80C4CEC
- push {lr}
- movs r0, 0xFF
- bl sub_80B2A7C
- pop {r0}
- bx r0
- thumb_func_end sub_80C4CEC
-
- thumb_func_start sub_80C4CF8
-sub_80C4CF8: @ 80C4CF8
- push {lr}
- ldr r0, _080C4D28
- ldr r1, _080C4D2C
- ldrb r2, [r1]
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C4D40
- ldr r0, _080C4D30
- ldrh r0, [r0]
- cmp r0, 0x3
- bne _080C4D40
- ldr r1, _080C4D34
- lsls r0, r2, 1
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r0, _080C4D38
- cmp r1, r0
- ble _080C4D40
- ldr r1, _080C4D3C
- movs r0, 0x1
- b _080C4D44
- .align 2, 0
-_080C4D28: .4byte gUnknown_02038690
-_080C4D2C: .4byte gUnknown_02038695
-_080C4D30: .4byte gUnknown_0203869E
-_080C4D34: .4byte gUnknown_02038678
-_080C4D38: .4byte 0x0000031f
-_080C4D3C: .4byte gUnknown_0202E8CC
-_080C4D40:
- ldr r1, _080C4D4C
- movs r0, 0
-_080C4D44:
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080C4D4C: .4byte gUnknown_0202E8CC
- thumb_func_end sub_80C4CF8
-
- thumb_func_start sub_80C4D50
-sub_80C4D50: @ 80C4D50
- push {lr}
- movs r3, 0
- ldr r0, _080C4D78
- ldr r1, _080C4D7C
- adds r2, r0, r1
- movs r1, 0x4
-_080C4D5C:
- ldrh r0, [r2]
- cmp r0, 0
- beq _080C4D68
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
-_080C4D68:
- adds r2, 0x20
- subs r1, 0x1
- cmp r1, 0
- bge _080C4D5C
- adds r0, r3, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080C4D78: .4byte gSaveBlock1
-_080C4D7C: .4byte 0x00002f04
- thumb_func_end sub_80C4D50
-
- thumb_func_start sub_80C4D80
-sub_80C4D80: @ 80C4D80
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, _080C4EA0
- mov r12, r0
- ldr r1, _080C4EA4
- mov r8, r1
- ldr r2, _080C4EA8
- mov r9, r2
- mov r2, r12
- mov r1, sp
- movs r6, 0x3
-_080C4D9E:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r6, 0x1
- cmp r6, 0
- bge _080C4D9E
- movs r6, 0
-_080C4DAE:
- movs r1, 0x3
- cmp r1, r6
- ble _080C4DD8
-_080C4DB4:
- subs r4, r1, 0x1
- lsls r0, r4, 1
- mov r5, sp
- adds r3, r5, r0
- lsls r0, r1, 1
- adds r2, r5, r0
- ldrh r5, [r3]
- movs r7, 0
- ldrsh r1, [r3, r7]
- movs r7, 0
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _080C4DD2
- strh r5, [r2]
- strh r0, [r3]
-_080C4DD2:
- adds r1, r4, 0
- cmp r1, r6
- bgt _080C4DB4
-_080C4DD8:
- adds r6, 0x1
- cmp r6, 0x2
- ble _080C4DAE
- mov r2, r8
- ldrh r0, [r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- movs r2, 0
- movs r7, 0
- movs r6, 0
- lsls r0, 16
- asrs r4, r0, 16
- adds r3, r0, 0
- mov r1, sp
-_080C4DF6:
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, r4
- bne _080C4E12
- lsls r0, r2, 24
- movs r2, 0x80
- lsls r2, 17
- adds r0, r2
- lsrs r2, r0, 24
- mov r5, r8
- ldrh r5, [r5]
- cmp r6, r5
- bne _080C4E12
- adds r7, r2, 0
-_080C4E12:
- adds r1, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- ble _080C4DF6
- movs r6, 0
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- asrs r1, r3, 16
- lsls r2, 24
- mov r10, r2
- cmp r0, r1
- beq _080C4E40
- adds r2, r1, 0
- mov r1, sp
-_080C4E30:
- adds r1, 0x2
- adds r6, 0x1
- cmp r6, 0x3
- bgt _080C4E40
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r0, r2
- bne _080C4E30
-_080C4E40:
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r2, r7, 0
- movs r6, 0
- asrs r5, r3, 16
- mov r8, r5
- mov r1, r12
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r8, r0
- bne _080C4E60
- cmp r7, 0x1
- beq _080C4E78
-_080C4E5A:
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
-_080C4E60:
- adds r6, 0x1
- cmp r6, 0x3
- bgt _080C4E78
- lsls r0, r6, 1
- add r0, r12
- asrs r1, r3, 16
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r1, r0
- bne _080C4E60
- cmp r2, 0x1
- bne _080C4E5A
-_080C4E78:
- lsls r1, r6, 24
- lsrs r1, 24
- mov r0, r9
- bl sub_80C4698
- ldr r0, _080C4EAC
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C4EB8
- ldr r0, _080C4EB0
- lsls r1, r6, 3
- subs r1, r6
- lsls r1, 2
- ldr r2, _080C4EB4
- adds r1, r2
- bl sub_80C4674
- b _080C4EC4
- .align 2, 0
-_080C4EA0: .4byte gUnknown_02038670
-_080C4EA4: .4byte gUnknown_0202E8D0
-_080C4EA8: .4byte gStringVar1
-_080C4EAC: .4byte gUnknown_0203869A
-_080C4EB0: .4byte gStringVar2
-_080C4EB4: .4byte gLinkPlayers + 0x8
-_080C4EB8:
- ldr r0, _080C4ED8
- lsls r1, r6, 6
- ldr r2, _080C4EDC
- adds r1, r2
- bl sub_80C4674
-_080C4EC4:
- mov r1, r10
- asrs r0, r1, 24
- cmp r0, 0x1
- beq _080C4ED0
- cmp r7, r0
- bne _080C4EE4
-_080C4ED0:
- ldr r0, _080C4EE0
- strh r4, [r0]
- b _080C4EEA
- .align 2, 0
-_080C4ED8: .4byte gStringVar2
-_080C4EDC: .4byte gUnknown_0203857D
-_080C4EE0: .4byte gUnknown_0202E8D0
-_080C4EE4:
- ldr r1, _080C4EFC
- adds r0, r4, 0x4
- strh r0, [r1]
-_080C4EEA:
- 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
-_080C4EFC: .4byte gUnknown_0202E8D0
- thumb_func_end sub_80C4D80
-
- thumb_func_start sub_80C4F00
-sub_80C4F00: @ 80C4F00
- push {lr}
- ldr r0, _080C4F0C
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080C4F0C: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_80C4F00
-
- thumb_func_start sub_80C4F10
-sub_80C4F10: @ 80C4F10
- push {r4-r6,lr}
- ldr r6, _080C4F54
- ldrb r0, [r6]
- cmp r0, 0
- beq _080C4F40
- bl sub_80AAF30
- ldr r4, _080C4F58
- ldr r0, _080C4F5C
- adds r1, r4, r0
- movs r5, 0
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0xFE
- movs r1, 0
- bl sub_80B2C4C
- ldr r1, _080C4F60
- adds r4, r1
- strb r0, [r4]
- movs r0, 0x3
- bl sub_80B2A7C
- strb r5, [r6]
-_080C4F40:
- ldr r0, _080C4F64
- bl SetMainCallback2
- ldr r1, _080C4F68
- ldr r0, _080C4F6C
- str r0, [r1, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4F54: .4byte gUnknown_0203856C
-_080C4F58: .4byte 0x02000000
-_080C4F5C: .4byte 0x00015ddf
-_080C4F60: .4byte 0x00015dde
-_080C4F64: .4byte sub_8106668
-_080C4F68: .4byte gMain
-_080C4F6C: .4byte sub_80C4F00
- thumb_func_end sub_80C4F10
-
- thumb_func_start sub_80C4F70
-sub_80C4F70: @ 80C4F70
- push {r4,lr}
- ldr r0, _080C4FA8
- ldr r4, _080C4FAC
- ldrb r1, [r4, 0x15]
- bl VarSet
- ldr r0, _080C4FB0
- adds r1, r4, 0
- adds r1, 0x55
- ldrb r1, [r1]
- bl VarSet
- ldr r0, _080C4FB4
- adds r1, r4, 0
- adds r1, 0x95
- ldrb r1, [r1]
- bl VarSet
- ldr r0, _080C4FB8
- adds r1, r4, 0
- adds r1, 0xD5
- ldrb r1, [r1]
- bl VarSet
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C4FA8: .4byte 0x00004010
-_080C4FAC: .4byte gUnknown_02038570
-_080C4FB0: .4byte 0x00004011
-_080C4FB4: .4byte 0x00004012
-_080C4FB8: .4byte 0x00004013
- thumb_func_end sub_80C4F70
-
- thumb_func_start sub_80C4FBC
-sub_80C4FBC: @ 80C4FBC
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r6, _080C501C
- ldrb r0, [r6]
- movs r5, 0x64
- muls r0, r5
- ldr r4, _080C5020
- adds r0, r4
- movs r1, 0x46
- bl GetMonData
- lsls r0, 24
- lsrs r0, 24
- mov r1, sp
- strb r0, [r1]
- cmp r0, 0
- bne _080C5038
- ldr r0, _080C5024
- ldr r1, _080C5028
- ldrb r2, [r1]
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r0, 0
- bne _080C5038
- ldr r0, _080C502C
- ldrh r0, [r0]
- cmp r0, 0x3
- bne _080C5038
- ldr r1, _080C5030
- lsls r0, r2, 1
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r0, _080C5034
- cmp r1, r0
- ble _080C5038
- movs r1, 0x1
- mov r0, sp
- strb r1, [r0]
- ldrb r0, [r6]
- muls r0, r5
- adds r0, r4
- movs r1, 0x46
- mov r2, sp
- bl SetMonData
- movs r0, 0x1
- b _080C503A
- .align 2, 0
-_080C501C: .4byte gUnknown_02038694
-_080C5020: .4byte gPlayerParty
-_080C5024: .4byte gUnknown_02038690
-_080C5028: .4byte gUnknown_02038695
-_080C502C: .4byte gUnknown_0203869E
-_080C5030: .4byte gUnknown_02038678
-_080C5034: .4byte 0x0000031f
-_080C5038:
- movs r0, 0
-_080C503A:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C4FBC
-
- thumb_func_start sub_80C5044
-sub_80C5044: @ 80C5044
- ldr r0, _080C504C
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080C504C: .4byte gUnknown_0203856C
- thumb_func_end sub_80C5044
-
- thumb_func_start sub_80C5050
-sub_80C5050: @ 80C5050
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r4, _080C513C
- adds r0, r4, 0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- bne _080C512A
- movs r0, 0xA
- mov r10, r0
- movs r7, 0x3
- movs r1, 0x3
- movs r2, 0x13
- movs r3, 0xD
- bl MenuDrawTextWindow
- ldr r2, _080C5140
- ldr r0, _080C5144
- ldrh r1, [r0]
- lsls r1, 6
- adds r0, r1, r2
- ldrh r6, [r0]
- adds r0, r2, 0
- adds r0, 0x38
- adds r0, r1, r0
- ldr r0, [r0]
- mov r8, r0
- adds r2, 0x3C
- adds r1, r2
- ldr r1, [r1]
- mov r9, r1
- adds r0, r4, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C5148
- lsls r5, r0, 2
- adds r5, r0
- lsls r5, 3
- adds r5, r1
- movs r0, 0
- strh r0, [r5, 0x8]
- strh r6, [r5, 0xA]
- lsls r0, r6, 3
- ldr r1, _080C514C
- adds r0, r1
- ldr r1, _080C5150
- lsls r2, r6, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- ldr r4, _080C5154
- ldr r3, [r4]
- ldr r4, [r4, 0x4]
- str r4, [sp]
- str r6, [sp, 0x4]
- mov r4, r8
- str r4, [sp, 0x8]
- bl sub_800D334
- adds r0, r6, 0
- mov r1, r9
- mov r2, r8
- bl sub_80409C8
- adds r4, r0, 0
- bl LoadCompressedObjectPalette
- adds r0, r6, 0
- movs r1, 0x1
- bl GetMonSpriteTemplate_803C56C
- ldr r0, _080C5158
- ldrh r1, [r4, 0x4]
- strh r1, [r0, 0x2]
- movs r1, 0x78
- movs r2, 0x40
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xC]
- mov r1, r10
- strh r1, [r5, 0xE]
- strh r7, [r5, 0x10]
- ldr r3, _080C515C
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r0, r3, 0
- adds r0, 0x1C
- adds r0, r1, r0
- ldr r2, _080C5160
- str r2, [r0]
- adds r1, r3
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x5]
-_080C512A:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C513C: .4byte sub_80C5190
-_080C5140: .4byte gUnknown_02038570
-_080C5144: .4byte gUnknown_0202E8D0
-_080C5148: .4byte gTasks
-_080C514C: .4byte gMonFrontPicTable
-_080C5150: .4byte gMonFrontPicCoords
-_080C5154: .4byte gUnknown_081FAF4C
-_080C5158: .4byte gUnknown_02024E8C
-_080C515C: .4byte gSprites
-_080C5160: .4byte SpriteCallbackDummy
- thumb_func_end sub_80C5050
-
- thumb_func_start sub_80C5164
-sub_80C5164: @ 80C5164
- push {lr}
- ldr r0, _080C5188
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080C5184
- ldr r0, _080C518C
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_080C5184:
- pop {r0}
- bx r0
- .align 2, 0
-_080C5188: .4byte sub_80C5190
-_080C518C: .4byte gTasks
- thumb_func_end sub_80C5164
-
- thumb_func_start sub_80C5190
-sub_80C5190: @ 80C5190
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080C51B4
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080C5222
- cmp r0, 0x1
- bgt _080C51B8
- cmp r0, 0
- beq _080C51F8
- b _080C5222
- .align 2, 0
-_080C51B4: .4byte gTasks
-_080C51B8:
- cmp r0, 0x2
- beq _080C51C2
- cmp r0, 0x3
- beq _080C5204
- b _080C5222
-_080C51C2:
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C5200
- adds r5, r0, r1
- ldrb r0, [r5, 0x5]
- lsrs r0, 4
- bl GetSpritePaletteTagByPaletteNum
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- ldrb r0, [r5, 0x1]
- lsls r0, 30
- cmp r0, 0
- beq _080C51F2
- ldrb r0, [r5, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
-_080C51F2:
- adds r0, r5, 0
- bl DestroySprite
-_080C51F8:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C5222
- .align 2, 0
-_080C5200: .4byte gSprites
-_080C5204:
- ldrb r2, [r4, 0xE]
- adds r0, r2, 0
- ldrb r3, [r4, 0x10]
- adds r1, r3, 0
- adds r2, 0x9
- lsls r2, 24
- lsrs r2, 24
- adds r3, 0xA
- lsls r3, 24
- lsrs r3, 24
- bl MenuZeroFillWindowRect
- adds r0, r5, 0
- bl DestroyTask
-_080C5222:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C5190
-
- thumb_func_start sub_80C5228
-sub_80C5228: @ 80C5228
- push {r4,lr}
- ldr r0, _080C5244
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C524C
- ldr r4, _080C5248
- bl GetMultiplayerId
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- b _080C5252
- .align 2, 0
-_080C5244: .4byte gUnknown_0203869A
-_080C5248: .4byte gScriptResult
-_080C524C:
- ldr r1, _080C5258
- movs r0, 0x4
- strh r0, [r1]
-_080C5252:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5258: .4byte gScriptResult
- thumb_func_end sub_80C5228
-
- thumb_func_start sub_80C525C
-sub_80C525C: @ 80C525C
- push {r4,lr}
- ldr r0, _080C5280
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C5294
- ldr r2, _080C5284
- ldr r1, [r2]
- ldr r0, _080C5288
- muls r0, r1
- ldr r1, _080C528C
- adds r0, r1
- str r0, [r2]
- lsrs r0, 16
- ldr r4, _080C5290
- b _080C529E
- .align 2, 0
-_080C5280: .4byte gUnknown_0203869A
-_080C5284: .4byte gUnknown_03005D28
-_080C5288: .4byte 0x41c64e6d
-_080C528C: .4byte 0x00006073
-_080C5290: .4byte gScriptResult
-_080C5294:
- ldr r4, _080C52AC
- bl Random
- lsls r0, 16
- lsrs r0, 16
-_080C529E:
- ldrh r1, [r4]
- bl __umodsi3
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C52AC: .4byte gScriptResult
- thumb_func_end sub_80C525C
-
- thumb_func_start sp000_heal_pokemon
-sp000_heal_pokemon: @ 80C52B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r0, 0
- mov r8, r0
- ldr r0, _080C536C
- ldrb r0, [r0]
- cmp r8, r0
- bcs _080C535C
- ldr r1, _080C5370
- mov r10, r1
- mov r6, sp
-_080C52CE:
- movs r0, 0x64
- mov r4, r8
- muls r4, r0
- add r4, r10
- adds r0, r4, 0
- movs r1, 0x3A
- bl GetMonData
- lsls r1, r0, 16
- strb r0, [r6]
- lsrs r1, 24
- strb r1, [r6, 0x1]
- adds r0, r4, 0
- movs r1, 0x39
- mov r2, sp
- bl SetMonData
- adds r0, r4, 0
- movs r1, 0x15
- bl GetMonData
- lsls r0, 24
- lsrs r7, r0, 24
- movs r5, 0
- movs r1, 0x1
- add r1, r8
- mov r9, r1
-_080C5304:
- adds r1, r5, 0
- adds r1, 0xD
- adds r0, r4, 0
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- adds r1, r7, 0
- adds r2, r5, 0
- bl CalculatePPWithBonus
- strb r0, [r6]
- adds r1, r5, 0
- adds r1, 0x11
- adds r0, r4, 0
- mov r2, sp
- bl SetMonData
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _080C5304
- movs r0, 0
- strb r0, [r6]
- strb r0, [r6, 0x1]
- strb r0, [r6, 0x2]
- strb r0, [r6, 0x3]
- movs r1, 0x64
- mov r0, r8
- muls r0, r1
- add r0, r10
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- mov r8, r0
- ldr r0, _080C536C
- ldrb r0, [r0]
- cmp r8, r0
- bcc _080C52CE
-_080C535C:
- 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
-_080C536C: .4byte gPlayerPartyCount
-_080C5370: .4byte gPlayerParty
- thumb_func_end sp000_heal_pokemon
-
- thumb_func_start sub_80C5374
-sub_80C5374: @ 80C5374
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x78
- adds r5, r0, 0
- adds r3, r1, 0
- adds r4, r2, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 16
- lsrs r0, r4, 16
- mov r8, r0
- add r6, sp, 0x14
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r3, 0
- movs r3, 0x20
- bl CreateMon
- add r0, sp, 0x10
- mov r1, r8
- strb r1, [r0]
- lsrs r4, 24
- strb r4, [r0, 0x1]
- adds r0, r6, 0
- movs r1, 0xC
- add r2, sp, 0x10
- bl SetMonData
- adds r0, r6, 0
- bl GiveMonToPlayer
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r5, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r4, 0x1
- bgt _080C53E8
- cmp r4, 0
- blt _080C53E8
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8090D90
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_8090D90
-_080C53E8:
- adds r0, r4, 0
- add sp, 0x78
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C5374
-
- thumb_func_start sub_80C53F8
-sub_80C53F8: @ 80C53F8
- push {lr}
- sub sp, 0x68
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r0, sp
- movs r2, 0x1
- bl sub_8042044
- add r2, sp, 0x64
- movs r0, 0x1
- strb r0, [r2]
- mov r0, sp
- movs r1, 0x2D
- bl SetMonData
- mov r0, sp
- bl GiveMonToPlayer
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x68
- pop {r1}
- bx r1
- thumb_func_end sub_80C53F8
-
- thumb_func_start sub_80C5428
-sub_80C5428: @ 80C5428
- push {lr}
- bl sub_803DAA0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- beq _080C5444
- cmp r1, 0x1
- bgt _080C5440
- cmp r1, 0
- beq _080C5444
- b _080C5448
-_080C5440:
- cmp r1, 0x2
- bne _080C5448
-_080C5444:
- ldr r0, _080C544C
- strh r1, [r0]
-_080C5448:
- pop {r0}
- bx r0
- .align 2, 0
-_080C544C: .4byte gScriptResult
- thumb_func_end sub_80C5428
-
- thumb_func_start sub_80C5450
-sub_80C5450: @ 80C5450
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r6, r0, 16
- movs r5, 0
- movs r7, 0xCE
- lsls r7, 1
-_080C545C:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _080C548C
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0
- beq _080C5490
- cmp r0, r7
- beq _080C5490
- adds r0, r4, 0
- movs r1, 0xC
- bl GetMonData
- cmp r0, r6
- bne _080C5490
- movs r0, 0x1
- b _080C5498
- .align 2, 0
-_080C548C: .4byte gPlayerParty
-_080C5490:
- adds r5, 0x1
- cmp r5, 0x5
- ble _080C545C
- movs r0, 0
-_080C5498:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C5450
-
- thumb_func_start sub_80C54A0
-sub_80C54A0: @ 80C54A0
- push {r4,lr}
- movs r0, 0xAF
- bl sub_80C5450
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- cmp r4, 0x1
- bne _080C54C2
- movs r0, 0xAF
- bl ItemIdToBerryType
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080C54CC
- bl GetBerryNameByBerryType
-_080C54C2:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C54CC: .4byte gStringVar1
- thumb_func_end sub_80C54A0
-
- thumb_func_start sub_80C54D0
-sub_80C54D0: @ 80C54D0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 24
- lsrs r5, 24
- lsls r7, r2, 16
- lsrs r6, r7, 16
- bl ZeroEnemyPartyMons
- ldr r0, _080C552C
- mov r8, r0
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- str r0, [sp, 0xC]
- mov r0, r8
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x20
- bl CreateMon
- cmp r6, 0
- beq _080C551E
- add r0, sp, 0x10
- strb r6, [r0]
- adds r1, r0, 0
- lsrs r0, r7, 24
- strb r0, [r1, 0x1]
- mov r0, r8
- movs r1, 0xC
- add r2, sp, 0x10
- bl SetMonData
-_080C551E:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C552C: .4byte gEnemyParty
- thumb_func_end sub_80C54D0
-
- thumb_func_start sub_80C5530
-sub_80C5530: @ 80C5530
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 24
- lsrs r2, 24
- cmp r3, 0x6
- bls _080C554C
- ldr r0, _080C5560
- ldrb r0, [r0]
- subs r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
-_080C554C:
- movs r0, 0x64
- muls r0, r3
- ldr r1, _080C5564
- adds r0, r1
- adds r1, r4, 0
- bl SetMonMoveSlot
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5560: .4byte gPlayerPartyCount
-_080C5564: .4byte gPlayerParty
- thumb_func_end sub_80C5530
-
- thumb_func_start sub_80C5568
-sub_80C5568: @ 80C5568
- push {lr}
- ldr r1, _080C5578
- ldr r0, _080C557C
- str r0, [r1, 0x8]
- bl sub_8121E10
- pop {r0}
- bx r0
- .align 2, 0
-_080C5578: .4byte gMain
-_080C557C: .4byte sub_80C5580
- thumb_func_end sub_80C5568
-
- thumb_func_start sub_80C5580
-sub_80C5580: @ 80C5580
- push {lr}
- ldr r0, _080C5590
- ldrb r1, [r0]
- cmp r1, 0
- bne _080C5598
- ldr r0, _080C5594
- strh r1, [r0]
- b _080C559E
- .align 2, 0
-_080C5590: .4byte gUnknown_02039270
-_080C5594: .4byte gScriptResult
-_080C5598:
- ldr r1, _080C55A8
- movs r0, 0x1
- strh r0, [r1]
-_080C559E:
- ldr r0, _080C55AC
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_080C55A8: .4byte gScriptResult
-_080C55AC: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_80C5580
-
- thumb_func_start sub_80C55B0
-sub_80C55B0: @ 80C55B0
- push {lr}
- ldr r1, _080C55C0
- ldr r0, _080C55C4
- str r0, [r1, 0x8]
- bl sub_8121E34
- pop {r0}
- bx r0
- .align 2, 0
-_080C55C0: .4byte gMain
-_080C55C4: .4byte sub_80C55C8
- thumb_func_end sub_80C55B0
-
- thumb_func_start sub_80C55C8
-sub_80C55C8: @ 80C55C8
- push {r4,lr}
- ldr r0, _080C55DC
- ldrb r4, [r0]
- cmp r4, 0
- bne _080C55E4
- bl copy_player_party_from_sav1
- ldr r0, _080C55E0
- strh r4, [r0]
- b _080C55EE
- .align 2, 0
-_080C55DC: .4byte gUnknown_02039270
-_080C55E0: .4byte gScriptResult
-_080C55E4:
- bl sub_80C5604
- ldr r1, _080C55FC
- movs r0, 0x1
- strh r0, [r1]
-_080C55EE:
- ldr r0, _080C5600
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C55FC: .4byte gScriptResult
-_080C5600: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_80C55C8
-
- thumb_func_start sub_80C5604
-sub_80C5604: @ 80C5604
- push {r4-r7,lr}
- sub sp, 0x134
- add r0, sp, 0x12C
- movs r1, 0
- str r1, [r0]
- ldr r2, _080C5674
- mov r1, sp
- bl CpuSet
- movs r5, 0
- movs r7, 0x64
- ldr r6, _080C5678
- mov r4, sp
-_080C561E:
- ldr r0, _080C567C
- adds r1, r5, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080C5638
- subs r0, 0x1
- adds r1, r0, 0
- muls r1, r7
- adds r1, r6
- adds r0, r4, 0
- movs r2, 0x64
- bl memcpy
-_080C5638:
- adds r4, 0x64
- adds r5, 0x1
- cmp r5, 0x2
- ble _080C561E
- add r0, sp, 0x130
- movs r1, 0
- str r1, [r0]
- ldr r4, _080C5678
- ldr r2, _080C5680
- adds r1, r4, 0
- bl CpuSet
- mov r5, sp
- add r6, sp, 0xC8
-_080C5654:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x64
- bl memcpy
- adds r5, 0x64
- adds r4, 0x64
- cmp r5, r6
- ble _080C5654
- bl CalculatePlayerPartyCount
- add sp, 0x134
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5674: .4byte 0x0500004b
-_080C5678: .4byte gPlayerParty
-_080C567C: .4byte gUnknown_02039270
-_080C5680: .4byte 0x05000096
- thumb_func_end sub_80C5604
-
- thumb_func_start sub_80C5684
-sub_80C5684: @ 80C5684
- push {lr}
- movs r1, 0x41
- bl GetMonData
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080C569C
- movs r0, 0xCE
- lsls r0, 1
- cmp r1, r0
- bne _080C56A0
-_080C569C:
- movs r0, 0
- b _080C56A2
-_080C56A0:
- movs r0, 0x1
-_080C56A2:
- pop {r1}
- bx r1
- thumb_func_end sub_80C5684
-
- thumb_func_start sub_80C56A8
-sub_80C56A8: @ 80C56A8
- push {r4,r5,lr}
- ldr r4, _080C56C8
- movs r5, 0
-_080C56AE:
- adds r0, r4, 0
- bl sub_80C5684
- cmp r0, 0
- beq _080C56CC
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _080C56CC
- movs r0, 0
- b _080C56D6
- .align 2, 0
-_080C56C8: .4byte gPlayerParty
-_080C56CC:
- adds r5, 0x1
- adds r4, 0x64
- cmp r5, 0x5
- ble _080C56AE
- movs r0, 0x1
-_080C56D6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C56A8
-
- thumb_func_start sub_80C56DC
-sub_80C56DC: @ 80C56DC
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- adds r4, r0, 0
- muls r4, r1
- ldr r0, _080C5720
- adds r4, r0
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0x7
- bl sub_803FCD4
- adds r0, r4, 0
- movs r1, 0x37
- mov r2, sp
- bl SetMonData
- ldr r5, _080C5724
- adds r0, r4, 0
- movs r1, 0x2
- adds r2, r5, 0
- bl GetMonData
- adds r0, r5, 0
- bl StringGetEnd10
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5720: .4byte gPlayerParty
-_080C5724: .4byte gStringVar1
- thumb_func_end sub_80C56DC
-
- thumb_func_start sub_80C5728
-sub_80C5728: @ 80C5728
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r1, r0
- ldr r0, _080C5764
- adds r4, r1, r0
- adds r0, r4, 0
- bl sub_80C5684
- cmp r0, 0
- beq _080C5768
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _080C5768
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C5768
- movs r0, 0x1
- b _080C576A
- .align 2, 0
-_080C5764: .4byte gPlayerParty
-_080C5768:
- movs r0, 0
-_080C576A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C5728
-
- thumb_func_start sub_80C5770
-sub_80C5770: @ 80C5770
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080C5794
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080C57CA
- cmp r0, 0x1
- bgt _080C5798
- cmp r0, 0
- beq _080C579E
- b _080C581A
- .align 2, 0
-_080C5794: .4byte gUnknown_03004B28
-_080C5798:
- cmp r0, 0x2
- beq _080C57DC
- b _080C581A
-_080C579E:
- ldrh r1, [r4, 0x2]
- movs r2, 0x2
- ldrsh r0, [r4, r2]
- cmp r0, 0x5
- bgt _080C57C4
-_080C57A8:
- lsls r0, r1, 24
- lsrs r0, 24
- bl sub_80C5728
- cmp r0, 0
- bne _080C57F4
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- adds r1, r0, 0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080C57A8
-_080C57C4:
- movs r0, 0x2
- strh r0, [r4]
- b _080C581A
-_080C57CA:
- bl IsFieldMessageBoxHidden
- lsls r0, 24
- cmp r0, 0
- beq _080C581A
- ldrh r0, [r4]
- subs r0, 0x1
- strh r0, [r4]
- b _080C581A
-_080C57DC:
- bl sub_80C56A8
- adds r1, r0, 0
- cmp r1, 0
- beq _080C580C
- ldr r1, _080C57F0
- movs r0, 0x1
- strh r0, [r1]
- b _080C5810
- .align 2, 0
-_080C57F0: .4byte gScriptResult
-_080C57F4:
- ldrb r0, [r4, 0x2]
- bl sub_80C56DC
- ldr r0, _080C5808
- bl ShowFieldMessage
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080C581A
- .align 2, 0
-_080C5808: .4byte UnknownString_81A1132
-_080C580C:
- ldr r0, _080C5820
- strh r1, [r0]
-_080C5810:
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
-_080C581A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5820: .4byte gScriptResult
- thumb_func_end sub_80C5770
-
- thumb_func_start sub_80C5824
-sub_80C5824: @ 80C5824
- push {lr}
- ldr r0, _080C5838
- movs r1, 0x50
- bl CreateTask
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- .align 2, 0
-_080C5838: .4byte sub_80C5770
- thumb_func_end sub_80C5824
-
- thumb_func_start overworld_poison
-overworld_poison: @ 80C583C
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r4, _080C58A8
- movs r7, 0
- movs r6, 0
- movs r5, 0x5
-_080C5848:
- adds r0, r4, 0
- movs r1, 0x5
- bl GetMonData
- cmp r0, 0
- beq _080C588C
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- bl pokemon_ailments_get_primary
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C588C
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- str r0, [sp]
- cmp r0, 0
- beq _080C587E
- subs r0, 0x1
- str r0, [sp]
- cmp r0, 0
- bne _080C5880
-_080C587E:
- adds r6, 0x1
-_080C5880:
- adds r0, r4, 0
- movs r1, 0x39
- mov r2, sp
- bl SetMonData
- adds r7, 0x1
-_080C588C:
- adds r4, 0x64
- subs r5, 0x1
- cmp r5, 0
- bge _080C5848
- cmp r6, 0
- bne _080C589C
- cmp r7, 0
- beq _080C58A0
-_080C589C:
- bl overworld_posion_effect
-_080C58A0:
- cmp r6, 0
- beq _080C58AC
- movs r0, 0x2
- b _080C58B6
- .align 2, 0
-_080C58A8: .4byte gPlayerParty
-_080C58AC:
- cmp r7, 0
- bne _080C58B4
- movs r0, 0
- b _080C58B6
-_080C58B4:
- movs r0, 0x1
-_080C58B6:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end overworld_poison
-
- thumb_func_start sub_80C58C0
-sub_80C58C0: @ 80C58C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r0, 0
- movs r1, 0
- bl GetMonData
- lsls r0, 16
- str r0, [sp, 0x4]
- lsrs r0, 16
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0x27
- bl GetMonData
- adds r7, r0, 0
- movs r6, 0xF
- ands r7, r6
- adds r0, r5, 0
- movs r1, 0x28
- bl GetMonData
- mov r8, r0
- mov r1, r8
- ands r1, r6
- mov r8, r1
- adds r0, r5, 0
- movs r1, 0x29
- bl GetMonData
- mov r9, r0
- mov r3, r9
- ands r3, r6
- mov r9, r3
- adds r0, r5, 0
- movs r1, 0x2A
- bl GetMonData
- mov r10, r0
- ands r0, r6
- mov r10, r0
- adds r0, r5, 0
- movs r1, 0x2B
- bl GetMonData
- adds r4, r0, 0
- ands r4, r6
- adds r0, r5, 0
- movs r1, 0x2C
- bl GetMonData
- adds r2, r0, 0
- ands r2, r6
- mov r1, r8
- mov r3, r9
- eors r1, r3
- mov r8, r1
- mov r0, r8
- muls r0, r7
- movs r1, 0xFF
- ldr r3, [sp]
- ands r3, r1
- eors r0, r3
- eors r4, r2
- mov r1, r10
- muls r1, r4
- ldr r3, [sp, 0x4]
- lsrs r2, r3, 24
- eors r1, r2
- lsls r0, 8
- adds r0, r1
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C58C0
-
- thumb_func_start sub_80C5964
-sub_80C5964: @ 80C5964
- push {lr}
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0x1
- ldr r3, _080C5980
-_080C596E:
- lsls r0, r1, 3
- adds r0, r3
- ldrh r0, [r0, 0x4]
- cmp r2, r0
- bcs _080C5984
- subs r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- b _080C5990
- .align 2, 0
-_080C5980: .4byte gUnknown_083D180C
-_080C5984:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xE
- bls _080C596E
- adds r0, r1, 0
-_080C5990:
- pop {r1}
- bx r1
- thumb_func_end sub_80C5964
-
- thumb_func_start sub_80C5994
-sub_80C5994: @ 80C5994
- push {r4-r7,lr}
- sub sp, 0x8
- adds r6, r1, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r6, 16
- lsrs r6, 16
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_8090D54
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r6, 0
- bl sub_80C5964
- lsls r0, 24
- ldr r1, _080C5A04
- lsrs r0, 21
- adds r0, r1
- ldrh r1, [r0]
- str r1, [sp]
- movs r2, 0
- str r2, [sp, 0x4]
- ldrb r2, [r0, 0x2]
- movs r3, 0
- ldrh r4, [r0, 0x4]
- movs r5, 0
- adds r0, r6, 0
- movs r1, 0
- subs r0, r4
- sbcs r1, r5
- bl __udivdi3
- ldr r2, [sp]
- ldr r3, [sp, 0x4]
- adds r2, r0
- adcs r3, r1
- str r2, [sp]
- str r3, [sp, 0x4]
- adds r0, r7, 0
- movs r1, 0
- bl __muldi3
- movs r2, 0xA
- movs r3, 0
- bl __udivdi3
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080C5A04: .4byte gUnknown_083D180C
- thumb_func_end sub_80C5994
-
- thumb_func_start sub_80C5A08
-sub_80C5A08: @ 80C5A08
- push {r4-r6,lr}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- ldr r1, _080C5A78
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 1
- adds r0, r4, 0
- bl __floatsidf
- cmp r4, 0
- bge _080C5A32
- ldr r2, _080C5A7C
- ldr r3, _080C5A80
- bl __adddf3
-_080C5A32:
- ldr r2, _080C5A84
- ldr r3, _080C5A88
- bl __divdf3
- bl __fixunsdfsi
- adds r5, r0, 0
- movs r1, 0xA
- bl __udivsi3
- adds r1, r0, 0
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x8
- bl ConvertIntToDecimalStringN
- adds r6, r0, 0
- mov r1, sp
- bl StringAppend
- adds r6, r0, 0
- adds r0, r5, 0
- movs r1, 0xA
- bl __umodsi3
- adds r1, r0, 0
- adds r0, r6, 0
- movs r2, 0
- movs r3, 0x1
- bl ConvertIntToDecimalStringN
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5A78: .4byte gUnknown_083D188C
-_080C5A7C: .4byte 0x41f00000
-_080C5A80: .4byte 0x00000000
-_080C5A84: .4byte 0x40396666
-_080C5A88: .4byte 0x66666666
- thumb_func_end sub_80C5A08
-
- thumb_func_start sub_80C5A8C
-sub_80C5A8C: @ 80C5A8C
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r1, 0
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, _080C5AA4
- ldrh r0, [r1]
- cmp r0, 0xFF
- bne _080C5AA8
- movs r0, 0
- b _080C5B12
- .align 2, 0
-_080C5AA4: .4byte gScriptResult
-_080C5AA8:
- ldrh r1, [r1]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _080C5AD0
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0x1
- beq _080C5ACA
- adds r0, r5, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, r6
- beq _080C5AD4
-_080C5ACA:
- movs r0, 0x1
- b _080C5B12
- .align 2, 0
-_080C5AD0: .4byte gPlayerParty
-_080C5AD4:
- mov r4, sp
- adds r0, r5, 0
- bl sub_80C58C0
- strh r0, [r4]
- mov r0, sp
- ldrh r1, [r0]
- adds r0, r6, 0
- bl sub_80C5994
- adds r5, r0, 0
- ldrh r1, [r7]
- adds r0, r6, 0
- bl sub_80C5994
- adds r4, r0, 0
- ldr r0, _080C5B0C
- adds r1, r5, 0
- bl sub_80C5A08
- cmp r5, r4
- bls _080C5B10
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r7]
- movs r0, 0x3
- b _080C5B12
- .align 2, 0
-_080C5B0C: .4byte gStringVar2
-_080C5B10:
- movs r0, 0x2
-_080C5B12:
- add sp, 0x4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C5A8C
-
- thumb_func_start sub_80C5B1C
-sub_80C5B1C: @ 80C5B1C
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 16
- lsrs r4, 16
- ldrh r1, [r5]
- adds r0, r4, 0
- bl sub_80C5994
- adds r1, r0, 0
- ldr r0, _080C5B58
- bl sub_80C5A08
- ldr r0, _080C5B5C
- movs r1, 0xB
- muls r1, r4
- ldr r2, _080C5B60
- adds r1, r2
- bl StringCopy
- ldrh r1, [r5]
- movs r0, 0x81
- lsls r0, 8
- cmp r1, r0
- bne _080C5B6C
- ldr r0, _080C5B64
- ldr r1, _080C5B68
- bl StringCopy
- b _080C5B74
- .align 2, 0
-_080C5B58: .4byte gStringVar3
-_080C5B5C: .4byte gStringVar1
-_080C5B60: .4byte gSpeciesNames
-_080C5B64: .4byte gStringVar2
-_080C5B68: .4byte gOtherText_Marco
-_080C5B6C:
- ldr r0, _080C5B7C
- ldr r1, _080C5B80
- bl StringCopy
-_080C5B74:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5B7C: .4byte gStringVar2
-_080C5B80: .4byte gSaveBlock2
- thumb_func_end sub_80C5B1C
-
- thumb_func_start sub_80C5B84
-sub_80C5B84: @ 80C5B84
- push {lr}
- ldr r0, _080C5B94
- movs r1, 0x81
- lsls r1, 8
- bl VarSet
- pop {r0}
- bx r0
- .align 2, 0
-_080C5B94: .4byte 0x00004047
- thumb_func_end sub_80C5B84
-
- thumb_func_start sub_80C5B98
-sub_80C5B98: @ 80C5B98
- push {lr}
- ldr r0, _080C5BB0
- bl GetVarPointer
- adds r1, r0, 0
- movs r0, 0x99
- lsls r0, 1
- bl sub_80C5B1C
- pop {r0}
- bx r0
- .align 2, 0
-_080C5BB0: .4byte 0x00004047
- thumb_func_end sub_80C5B98
-
- thumb_func_start sub_80C5BB4
-sub_80C5BB4: @ 80C5BB4
- push {r4,lr}
- ldr r0, _080C5BD4
- bl GetVarPointer
- adds r1, r0, 0
- ldr r4, _080C5BD8
- movs r0, 0x99
- lsls r0, 1
- bl sub_80C5A8C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5BD4: .4byte 0x00004047
-_080C5BD8: .4byte gScriptResult
- thumb_func_end sub_80C5BB4
-
- thumb_func_start sub_80C5BDC
-sub_80C5BDC: @ 80C5BDC
- push {lr}
- ldr r0, _080C5BEC
- movs r1, 0x81
- lsls r1, 8
- bl VarSet
- pop {r0}
- bx r0
- .align 2, 0
-_080C5BEC: .4byte 0x0000404f
- thumb_func_end sub_80C5BDC
-
- thumb_func_start sub_80C5BF0
-sub_80C5BF0: @ 80C5BF0
- push {lr}
- ldr r0, _080C5C04
- bl GetVarPointer
- adds r1, r0, 0
- ldr r0, _080C5C08
- bl sub_80C5B1C
- pop {r0}
- bx r0
- .align 2, 0
-_080C5C04: .4byte 0x0000404f
-_080C5C08: .4byte 0x00000143
- thumb_func_end sub_80C5BF0
-
- thumb_func_start sub_80C5C0C
-sub_80C5C0C: @ 80C5C0C
- push {r4,lr}
- ldr r0, _080C5C2C
- bl GetVarPointer
- adds r1, r0, 0
- ldr r4, _080C5C30
- ldr r0, _080C5C34
- bl sub_80C5A8C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5C2C: .4byte 0x0000404f
-_080C5C30: .4byte gScriptResult
-_080C5C34: .4byte 0x00000143
- thumb_func_end sub_80C5C0C
-
- thumb_func_start sub_80C5C38
-sub_80C5C38: @ 80C5C38
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- movs r7, 0
- add r4, sp, 0x8
- movs r0, 0x1
- strb r0, [r4]
- ldr r1, _080C5CC0
- mov r0, sp
- movs r2, 0x7
- bl memcpy
- mov r8, r4
- cmp r6, 0xA
- bhi _080C5CB2
- cmp r5, 0x40
- bhi _080C5CB2
- ldr r0, _080C5CC4
- ldr r1, _080C5CC8
- adds r0, r1
- adds r0, r6, r0
- strb r5, [r0]
- movs r5, 0
-_080C5C70:
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _080C5CCC
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _080C5CA2
- adds r0, r4, 0
- movs r1, 0x6
- bl GetMonData
- cmp r0, 0
- bne _080C5CA2
- mov r1, sp
- adds r0, r1, r6
- ldrb r1, [r0]
- adds r0, r4, 0
- mov r2, r8
- bl SetMonData
- movs r7, 0x1
-_080C5CA2:
- adds r5, 0x1
- cmp r5, 0x5
- ble _080C5C70
- cmp r7, 0
- beq _080C5CB2
- ldr r0, _080C5CD0
- bl FlagSet
-_080C5CB2:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5CC0: .4byte gUnknown_083D188E
-_080C5CC4: .4byte gSaveBlock1
-_080C5CC8: .4byte 0x00003110
-_080C5CCC: .4byte gPlayerParty
-_080C5CD0: .4byte 0x0000083b
- thumb_func_end sub_80C5C38
-
- thumb_func_start sub_80C5CD4
-sub_80C5CD4: @ 80C5CD4
- push {r4-r7,lr}
- sub sp, 0x28
- adds r7, r0, 0
- ldr r0, _080C5D64
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- ldr r0, _080C5D68
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- mov r1, sp
- ldr r0, _080C5D6C
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldrh r3, [r7]
- lsls r2, r3, 16
- add r0, sp, 0x18
- ldrh r1, [r0, 0x4]
- orrs r1, r2
- str r1, [r0, 0x4]
- mov r1, sp
- movs r6, 0
- strh r3, [r1]
- ldrh r2, [r7, 0x2]
- ldr r5, _080C5D70
- add r4, sp, 0x20
- ldr r1, [r4, 0x4]
- ands r1, r5
- orrs r1, r2
- str r1, [r4, 0x4]
- mov r1, sp
- strh r2, [r1, 0x2]
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- movs r0, 0x1
- strh r0, [r7, 0xC]
- strh r6, [r7, 0xA]
- strh r6, [r7, 0x8]
- ldrh r0, [r7, 0x2]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 9
- lsls r1, r0
- bics r5, r1
- str r5, [r7, 0x10]
- ldrh r0, [r7, 0x4]
- cmp r0, 0
- bne _080C5D4E
- movs r0, 0x10
- strh r0, [r7, 0x4]
-_080C5D4E:
- ldrh r0, [r7, 0x6]
- cmp r0, 0
- bne _080C5D58
- movs r0, 0x14
- strh r0, [r7, 0x6]
-_080C5D58:
- ldr r0, _080C5D74
- str r7, [r0]
- movs r4, 0
- ldr r5, _080C5D78
- b _080C5D94
- .align 2, 0
-_080C5D64: .4byte gUnknown_083D1898
-_080C5D68: .4byte gUnknown_083D18A0
-_080C5D6C: .4byte gSpriteTemplate_83D18A8
-_080C5D70: .4byte 0xffff0000
-_080C5D74: .4byte gUnknown_020387EC
-_080C5D78: .4byte gSprites
-_080C5D7C:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r7, 0x4]
- cmp r4, 0x3
- bhi _080C5D8C
- negs r1, r1
-_080C5D8C:
- strh r1, [r0, 0x2E]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080C5D94:
- cmp r4, 0x7
- bhi _080C5DB2
- lsls r1, r4, 5
- adds r1, 0x8
- lsls r1, 16
- asrs r1, 16
- mov r0, sp
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _080C5D7C
-_080C5DB2:
- ldr r1, _080C5DC8
- movs r0, 0xBF
- strh r0, [r1]
- adds r1, 0x4
- movs r0, 0x10
- strh r0, [r1]
- add sp, 0x28
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5DC8: .4byte REG_BLDCNT
- thumb_func_end sub_80C5CD4
-
- thumb_func_start sub_80C5DCC
-sub_80C5DCC: @ 80C5DCC
- push {r4,lr}
- ldr r4, _080C5E10
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- cmp r0, 0
- bne _080C5DF0
- ldr r0, [r1, 0x10]
- ldr r2, _080C5E14
- movs r1, 0x10
- bl BlendPalettes
- ldr r0, _080C5E18
- bl sub_80C61B0
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_080C5DF0:
- ldr r1, [r4]
- ldrh r0, [r1, 0xA]
- cmp r0, 0x7
- bls _080C5E0A
- ldrh r0, [r1, 0x6]
- ldrh r2, [r1, 0xC]
- adds r0, r2
- movs r2, 0
- strh r0, [r1, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4F
- bgt _080C5E1C
-_080C5E0A:
- movs r0, 0
- b _080C5E2E
- .align 2, 0
-_080C5E10: .4byte gUnknown_020387EC
-_080C5E14: .4byte 0x0000ffff
-_080C5E18: .4byte sub_80C603C
-_080C5E1C:
- movs r0, 0x50
- strh r0, [r1, 0xC]
- ldr r0, _080C5E34
- strh r2, [r0]
- adds r0, 0x4
- strh r2, [r0]
- bl ClearGpuRegBits
- movs r0, 0x1
-_080C5E2E:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C5E34: .4byte REG_BLDCNT
- thumb_func_end sub_80C5DCC
-
- thumb_func_start sub_80C5E38
-sub_80C5E38: @ 80C5E38
- push {r4-r7,lr}
- sub sp, 0x28
- adds r7, r0, 0
- ldr r0, _080C5EC8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- ldr r0, _080C5ECC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- mov r1, sp
- ldr r0, _080C5ED0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldrh r3, [r7]
- lsls r2, r3, 16
- add r0, sp, 0x18
- ldrh r1, [r0, 0x4]
- orrs r1, r2
- str r1, [r0, 0x4]
- mov r1, sp
- movs r6, 0
- strh r3, [r1]
- ldrh r2, [r7, 0x2]
- ldr r5, _080C5ED4
- add r4, sp, 0x20
- ldr r1, [r4, 0x4]
- ands r1, r5
- orrs r1, r2
- str r1, [r4, 0x4]
- mov r1, sp
- strh r2, [r1, 0x2]
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- movs r0, 0x50
- strh r0, [r7, 0xC]
- strh r6, [r7, 0x8]
- strh r6, [r7, 0xA]
- ldrh r0, [r7, 0x2]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 9
- lsls r1, r0
- bics r5, r1
- str r5, [r7, 0x10]
- ldrh r0, [r7, 0x4]
- cmp r0, 0
- bne _080C5EB2
- movs r0, 0x10
- strh r0, [r7, 0x4]
-_080C5EB2:
- ldrh r0, [r7, 0x6]
- cmp r0, 0
- bne _080C5EBC
- movs r0, 0x14
- strh r0, [r7, 0x6]
-_080C5EBC:
- ldr r0, _080C5ED8
- str r7, [r0]
- movs r5, 0
- ldr r6, _080C5EDC
- b _080C5F4A
- .align 2, 0
-_080C5EC8: .4byte gUnknown_083D1898
-_080C5ECC: .4byte gUnknown_083D18A0
-_080C5ED0: .4byte gSpriteTemplate_83D18C0
-_080C5ED4: .4byte 0xffff0000
-_080C5ED8: .4byte gUnknown_020387EC
-_080C5EDC: .4byte gSprites
-_080C5EE0:
- lsls r2, r3, 4
- adds r1, r2, r3
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r7, 0x4]
- strh r0, [r1, 0x2E]
- movs r0, 0x1
- strh r0, [r1, 0x30]
- ldr r1, _080C5EF4
- b _080C5F2A
- .align 2, 0
-_080C5EF4: .4byte gSprites
-_080C5EF8:
- lsls r1, r5, 21
- movs r0, 0x80
- lsls r0, 16
- adds r1, r0
- asrs r1, 16
- mov r0, sp
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080C5F6E
- lsls r2, r3, 4
- adds r1, r2, r3
- lsls r1, 2
- adds r1, r6
- ldrh r0, [r7, 0x4]
- negs r0, r0
- strh r0, [r1, 0x2E]
- ldr r0, _080C5F88
- strh r0, [r1, 0x30]
- ldr r1, _080C5F8C
- lsls r4, r5, 5
-_080C5F2A:
- adds r0, r2, r3
- lsls r0, 2
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x8
- movs r2, 0
- strh r1, [r0, 0x32]
- strh r2, [r0, 0x36]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080C5F4A:
- cmp r5, 0x7
- bhi _080C5F6E
- cmp r5, 0x3
- bhi _080C5EF8
- lsls r4, r5, 5
- adds r1, r4, 0
- subs r1, 0x70
- lsls r1, 16
- asrs r1, 16
- mov r0, sp
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- bne _080C5EE0
-_080C5F6E:
- ldr r1, _080C5F90
- movs r0, 0xFF
- strh r0, [r1]
- adds r1, 0x4
- movs r0, 0x10
- strh r0, [r1]
- ldr r0, _080C5F94
- bl sub_80C61B0
- add sp, 0x28
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C5F88: .4byte 0x0000ffff
-_080C5F8C: .4byte gSprites
-_080C5F90: .4byte REG_BLDCNT
-_080C5F94: .4byte sub_80C6078
- thumb_func_end sub_80C5E38
-
- thumb_func_start sub_80C5F98
-sub_80C5F98: @ 80C5F98
- push {r4,lr}
- ldr r4, _080C5FB0
- ldr r2, [r4]
- ldrh r0, [r2, 0x8]
- cmp r0, 0x1
- beq _080C5FEC
- cmp r0, 0x1
- bgt _080C5FB4
- cmp r0, 0
- beq _080C5FBA
- b _080C602C
- .align 2, 0
-_080C5FB0: .4byte gUnknown_020387EC
-_080C5FB4:
- cmp r0, 0x2
- beq _080C6008
- b _080C602C
-_080C5FBA:
- ldrh r0, [r2, 0xC]
- ldrh r1, [r2, 0x6]
- subs r0, r1
- strh r0, [r2, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bgt _080C6034
- ldr r0, [r2, 0x10]
- ldr r2, _080C5FE4
- movs r1, 0x10
- bl BlendPalettes
- ldr r0, _080C5FE8
- bl SetHBlankCallback
- ldr r1, [r4]
- movs r0, 0x1
- strh r0, [r1, 0xC]
- b _080C6000
- .align 2, 0
-_080C5FE4: .4byte 0x0000ffff
-_080C5FE8: .4byte sub_80C603C
-_080C5FEC:
- ldrh r0, [r2, 0xA]
- cmp r0, 0x8
- bne _080C6034
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r1, [r4]
-_080C6000:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- b _080C6034
-_080C6008:
- ldr r0, _080C6030
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- ldrh r0, [r2]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- ldrh r0, [r0, 0x2]
- bl FreeSpritePaletteByTag
- bl ClearGpuRegBits
- ldr r1, [r4]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_080C602C:
- movs r0, 0x1
- b _080C6036
- .align 2, 0
-_080C6030: .4byte REG_BLDCNT
-_080C6034:
- movs r0, 0
-_080C6036:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C5F98
-
- thumb_func_start sub_80C603C
-sub_80C603C: @ 80C603C
- push {lr}
- sub sp, 0x4
- mov r2, sp
- ldr r0, _080C6060
- ldrh r1, [r0]
- movs r3, 0xFF
- adds r0, r3, 0
- ands r0, r1
- strh r0, [r2]
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0x50
- bne _080C6068
- ldr r1, _080C6064
- movs r0, 0x8F
- strh r0, [r1]
- b _080C606C
- .align 2, 0
-_080C6060: .4byte REG_VCOUNT
-_080C6064: .4byte REG_BLDCNT
-_080C6068:
- ldr r0, _080C6074
- strh r3, [r0]
-_080C606C:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080C6074: .4byte REG_BLDCNT
- thumb_func_end sub_80C603C
-
- thumb_func_start sub_80C6078
-sub_80C6078: @ 80C6078
- push {lr}
- sub sp, 0x4
- mov r2, sp
- ldr r0, _080C60B0
- ldrh r1, [r0]
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r2]
- mov r0, sp
- ldrh r1, [r0]
- ldr r0, _080C60B4
- ldr r0, [r0]
- movs r3, 0xC
- ldrsh r2, [r0, r3]
- movs r0, 0x50
- subs r0, r2
- cmp r1, r0
- ble _080C60BC
- mov r0, sp
- ldrh r1, [r0]
- adds r0, r2, 0
- adds r0, 0x50
- cmp r1, r0
- bge _080C60BC
- ldr r1, _080C60B8
- movs r0, 0
- b _080C60C0
- .align 2, 0
-_080C60B0: .4byte REG_VCOUNT
-_080C60B4: .4byte gUnknown_020387EC
-_080C60B8: .4byte REG_BLDY
-_080C60BC:
- ldr r1, _080C60C8
- movs r0, 0x10
-_080C60C0:
- strh r0, [r1]
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080C60C8: .4byte REG_BLDY
- thumb_func_end sub_80C6078
-
- thumb_func_start sub_80C60CC
-sub_80C60CC: @ 80C60CC
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- adds r0, 0x8
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 17
- cmp r0, r1
- bls _080C611C
- adds r0, r2, 0
- bl DestroySprite
- ldr r4, _080C6124
- ldr r1, [r4]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- bne _080C611C
- ldrh r0, [r1]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- ldrh r0, [r0, 0x2]
- bl FreeSpritePaletteByTag
- ldr r0, [r4]
- ldr r0, [r0, 0x10]
- ldr r2, _080C6128
- movs r1, 0
- bl BlendPalettes
- ldr r0, _080C612C
- bl SetHBlankCallback
-_080C611C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6124: .4byte gUnknown_020387EC
-_080C6128: .4byte 0x0000ffff
-_080C612C: .4byte sub_80C6078
- thumb_func_end sub_80C60CC
-
- thumb_func_start sub_80C6130
-sub_80C6130: @ 80C6130
- push {r4,r5,lr}
- adds r2, r0, 0
- movs r1, 0x36
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080C61AA
- ldr r1, _080C6184
- ldr r0, [r1]
- movs r3, 0xC
- ldrsh r4, [r0, r3]
- adds r5, r1, 0
- cmp r4, 0x1
- bne _080C61AA
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
- adds r0, 0xF
- lsls r0, 16
- movs r1, 0x87
- lsls r1, 17
- cmp r0, r1
- bhi _080C616C
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
-_080C616C:
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _080C6188
- movs r0, 0x20
- ldrsh r1, [r2, r0]
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r1, r0
- blt _080C6196
- b _080C6194
- .align 2, 0
-_080C6184: .4byte gUnknown_020387EC
-_080C6188:
- movs r0, 0x20
- ldrsh r1, [r2, r0]
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bgt _080C6196
-_080C6194:
- strh r4, [r2, 0x36]
-_080C6196:
- movs r1, 0x36
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _080C61AA
- ldr r0, [r5]
- ldrh r1, [r0, 0xA]
- adds r1, 0x1
- strh r1, [r0, 0xA]
- ldrh r0, [r2, 0x32]
- strh r0, [r2, 0x20]
-_080C61AA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C6130
-
- thumb_func_start sub_80C61B0
-sub_80C61B0: @ 80C61B0
- push {r4-r6,lr}
- ldr r2, _080C61F0
- ldrh r1, [r2]
- movs r5, 0x2
- orrs r1, r5
- strh r1, [r2]
- ldr r3, _080C61F4
- ldrh r1, [r3]
- movs r2, 0x10
- orrs r1, r2
- strh r1, [r3]
- ldr r4, _080C61F8
- ldrh r2, [r4]
- movs r6, 0
- strh r6, [r4]
- ldr r3, _080C61FC
- ldrh r1, [r3]
- orrs r1, r5
- strh r1, [r3]
- strh r2, [r4]
- ldr r2, _080C6200
- ldrh r1, [r2, 0x1C]
- orrs r1, r5
- ldrh r3, [r2, 0x1C]
- orrs r1, r6
- strh r1, [r2, 0x1C]
- bl SetHBlankCallback
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C61F0: .4byte INTR_CHECK
-_080C61F4: .4byte REG_DISPSTAT
-_080C61F8: .4byte 0x04000208
-_080C61FC: .4byte 0x04000200
-_080C6200: .4byte gMain
- thumb_func_end sub_80C61B0
-
- thumb_func_start ClearGpuRegBits
-ClearGpuRegBits: @ 80C6204
- push {r4,r5,lr}
- ldr r3, _080C6248
- ldrh r1, [r3]
- ldr r2, _080C624C
- adds r0, r2, 0
- ands r0, r1
- strh r0, [r3]
- ldr r3, _080C6250
- ldrh r1, [r3]
- ldr r0, _080C6254
- ands r0, r1
- strh r0, [r3]
- ldr r4, _080C6258
- ldrh r3, [r4]
- movs r0, 0
- strh r0, [r4]
- ldr r5, _080C625C
- ldrh r1, [r5]
- adds r0, r2, 0
- ands r0, r1
- strh r0, [r5]
- strh r3, [r4]
- ldr r0, _080C6260
- ldrh r1, [r0, 0x1C]
- ands r2, r1
- ldrh r1, [r0, 0x1C]
- strh r2, [r0, 0x1C]
- movs r0, 0
- bl SetHBlankCallback
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6248: .4byte INTR_CHECK
-_080C624C: .4byte 0x0000fffd
-_080C6250: .4byte REG_DISPSTAT
-_080C6254: .4byte 0x0000ffef
-_080C6258: .4byte 0x04000208
-_080C625C: .4byte 0x04000200
-_080C6260: .4byte gMain
- thumb_func_end ClearGpuRegBits
-
- thumb_func_start sub_80C6264
-sub_80C6264: @ 80C6264
- push {lr}
- ldr r0, _080C6278
- ldr r1, _080C627C
- ldr r1, [r1, 0x4]
- bl sub_80BBFD8
- bl sub_80BB5E4
- pop {r0}
- bx r0
- .align 2, 0
-_080C6278: .4byte gUnknown_0203923C
-_080C627C: .4byte gMapHeader
- thumb_func_end sub_80C6264
-
- thumb_func_start sub_80C6280
-sub_80C6280: @ 80C6280
- push {lr}
- ldr r1, _080C6294
- ldr r0, [r1, 0x4]
- cmp r0, 0x2
- beq _080C62AA
- cmp r0, 0x2
- bgt _080C6298
- cmp r0, 0x1
- beq _080C62A2
- b _080C62BE
- .align 2, 0
-_080C6294: .4byte gUnknown_0202FF84
-_080C6298:
- cmp r0, 0x3
- beq _080C62AE
- cmp r0, 0x4
- beq _080C62B8
- b _080C62BE
-_080C62A2:
- movs r0, 0x8
- str r0, [r1, 0x14]
- movs r0, 0x28
- b _080C62BC
-_080C62AA:
- movs r0, 0x8
- b _080C62BA
-_080C62AE:
- movs r0, 0x8
- negs r0, r0
- str r0, [r1, 0x14]
- movs r0, 0x18
- b _080C62BC
-_080C62B8:
- movs r0, 0x18
-_080C62BA:
- str r0, [r1, 0x14]
-_080C62BC:
- str r0, [r1, 0x18]
-_080C62BE:
- pop {r0}
- bx r0
- thumb_func_end sub_80C6280
-
- thumb_func_start sub_80C62C4
-sub_80C62C4: @ 80C62C4
- push {r4,lr}
- bl sub_80BB63C
- ldr r0, _080C6318
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080C636E
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bne _080C636E
- ldr r4, _080C631C
- adds r1, r4, 0x2
- adds r0, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80571EC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C6330
- bl sub_80C6264
- ldr r1, _080C6320
- ldr r0, _080C6324
- str r0, [r1]
- ldr r1, _080C6328
- ldr r0, _080C632C
- b _080C6380
- .align 2, 0
-_080C6318: .4byte gScriptResult
-_080C631C: .4byte gUnknown_0203923C
-_080C6320: .4byte gUnknown_0300485C
-_080C6324: .4byte sub_808AB90
-_080C6328: .4byte gUnknown_03005CE4
-_080C632C: .4byte sub_80C639C
-_080C6330:
- adds r0, r4, 0
- bl sub_805720C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C6360
- bl sub_80C6264
- ldr r1, _080C6350
- ldr r0, _080C6354
- str r0, [r1]
- ldr r1, _080C6358
- ldr r0, _080C635C
- b _080C6380
- .align 2, 0
-_080C6350: .4byte gUnknown_0300485C
-_080C6354: .4byte sub_808AB90
-_080C6358: .4byte gUnknown_03005CE4
-_080C635C: .4byte sub_80C64A8
-_080C6360:
- adds r0, r4, 0
- bl is_tile_x98
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C6372
-_080C636E:
- movs r0, 0
- b _080C6384
-_080C6372:
- bl sub_80C6264
- ldr r1, _080C638C
- ldr r0, _080C6390
- str r0, [r1]
- ldr r1, _080C6394
- ldr r0, _080C6398
-_080C6380:
- str r0, [r1]
- movs r0, 0x1
-_080C6384:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C638C: .4byte gUnknown_0300485C
-_080C6390: .4byte sub_808AB90
-_080C6394: .4byte gUnknown_03005CE4
-_080C6398: .4byte sub_80C660C
- thumb_func_end sub_80C62C4
-
- thumb_func_start sub_80C639C
-sub_80C639C: @ 80C639C
- push {lr}
- ldr r1, _080C63B0
- ldr r0, _080C63B4
- ldrb r0, [r0]
- str r0, [r1]
- ldr r0, _080C63B8
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_080C63B0: .4byte gUnknown_0202FF84
-_080C63B4: .4byte gUnknown_03005CE0
-_080C63B8: .4byte gUnknown_081A2CE6
- thumb_func_end sub_80C639C
-
- thumb_func_start sub_80C63BC
-sub_80C63BC: @ 80C63BC
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C63E0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080C63E4
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080C63E0: .4byte gTasks
-_080C63E4: .4byte sub_80C63E8
- thumb_func_end sub_80C63BC
-
- thumb_func_start sub_80C63E8
-sub_80C63E8: @ 80C63E8
- push {lr}
- movs r0, 0xB
- bl FieldEffectActiveListRemove
- movs r0, 0x37
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80C63E8
-
- thumb_func_start sub_80C63FC
-sub_80C63FC: @ 80C63FC
- push {r4,lr}
- bl sub_80C6280
- ldr r0, _080C643C
- ldr r3, _080C6440
- ldr r1, _080C6444
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 23
- ldr r4, _080C6448
- ldr r3, [r4, 0x14]
- adds r1, r3
- lsls r1, 16
- asrs r1, 16
- ldrb r2, [r2]
- ldr r3, [r4, 0x18]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x94
- bl CreateSprite
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C643C: .4byte gSpriteTemplate_83D2614
-_080C6440: .4byte gSprites
-_080C6444: .4byte gPlayerAvatar
-_080C6448: .4byte gUnknown_0202FF84
- thumb_func_end sub_80C63FC
-
- thumb_func_start sub_80C644C
-sub_80C644C: @ 80C644C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x83
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, _080C6464
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6464: .4byte sub_80C6468
- thumb_func_end sub_80C644C
-
- thumb_func_start sub_80C6468
-sub_80C6468: @ 80C6468
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0x27
- bgt _080C6488
- adds r0, r2, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _080C6490
- bl sub_80BB800
- b _080C6490
-_080C6488:
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldr r0, _080C6494
- str r0, [r1, 0x1C]
-_080C6490:
- pop {r0}
- bx r0
- .align 2, 0
-_080C6494: .4byte sub_80C6498
- thumb_func_end sub_80C6468
-
- thumb_func_start sub_80C6498
-sub_80C6498: @ 80C6498
- push {lr}
- movs r1, 0x37
- bl FieldEffectStop
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80C6498
-
- thumb_func_start sub_80C64A8
-sub_80C64A8: @ 80C64A8
- push {lr}
- ldr r1, _080C64BC
- ldr r0, _080C64C0
- ldrb r0, [r0]
- str r0, [r1]
- ldr r0, _080C64C4
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_080C64BC: .4byte gUnknown_0202FF84
-_080C64C0: .4byte gUnknown_03005CE0
-_080C64C4: .4byte gUnknown_081A2D3E
- thumb_func_end sub_80C64A8
-
- thumb_func_start sub_80C64C8
-sub_80C64C8: @ 80C64C8
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C64EC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080C64F0
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080C64EC: .4byte gTasks
-_080C64F0: .4byte sub_80C64F4
- thumb_func_end sub_80C64C8
-
- thumb_func_start sub_80C64F4
-sub_80C64F4: @ 80C64F4
- push {lr}
- movs r0, 0x1A
- bl FieldEffectActiveListRemove
- movs r0, 0x38
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80C64F4
-
- thumb_func_start sub_80C6508
-sub_80C6508: @ 80C6508
- push {r4,lr}
- ldr r1, _080C6580
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl MapGridGetMetatileBehaviorAt
- adds r2, r0, 0
- ldr r1, _080C6584
- adds r0, r1, 0
- ands r2, r0
- cmp r2, 0x96
- bne _080C652A
- ldr r1, _080C6588
- movs r0, 0
- str r0, [r1, 0x1C]
-_080C652A:
- cmp r2, 0x9C
- bne _080C6534
- ldr r1, _080C6588
- movs r0, 0x2
- str r0, [r1, 0x1C]
-_080C6534:
- bl sub_80C6280
- ldr r0, _080C658C
- ldr r3, _080C6590
- ldr r1, _080C6594
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 23
- ldr r4, _080C6588
- ldr r3, [r4, 0x14]
- adds r1, r3
- lsls r1, 16
- asrs r1, 16
- ldrb r2, [r2]
- ldr r3, [r4, 0x18]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x94
- bl CreateSprite
- ldr r0, [r4, 0x1C]
- cmp r0, 0x1
- beq _080C6572
- cmp r0, 0x3
- bne _080C6576
-_080C6572:
- bl sub_80BB800
-_080C6576:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C6580: .4byte gUnknown_0203923C
-_080C6584: .4byte 0x00000fff
-_080C6588: .4byte gUnknown_0202FF84
-_080C658C: .4byte gSpriteTemplate_83D262C
-_080C6590: .4byte gSprites
-_080C6594: .4byte gPlayerAvatar
- thumb_func_end sub_80C6508
-
- thumb_func_start sub_80C6598
-sub_80C6598: @ 80C6598
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x9B
- bl PlaySE
- ldr r0, _080C65BC
- ldr r1, [r0, 0x1C]
- adds r2, r4, 0
- adds r2, 0x2A
- movs r0, 0
- strb r1, [r2]
- strh r0, [r4, 0x2E]
- ldr r0, _080C65C0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C65BC: .4byte gUnknown_0202FF84
-_080C65C0: .4byte sub_80C65C4
- thumb_func_end sub_80C6598
-
- thumb_func_start sub_80C65C4
-sub_80C65C4: @ 80C65C4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _080C65EE
- ldr r0, _080C65F4
- ldr r0, [r0, 0x1C]
- cmp r0, 0
- beq _080C65E2
- cmp r0, 0x2
- bne _080C65E6
-_080C65E2:
- bl sub_80BB800
-_080C65E6:
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, _080C65F8
- str r0, [r4, 0x1C]
-_080C65EE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C65F4: .4byte gUnknown_0202FF84
-_080C65F8: .4byte sub_80C65FC
- thumb_func_end sub_80C65C4
-
- thumb_func_start sub_80C65FC
-sub_80C65FC: @ 80C65FC
- push {lr}
- movs r1, 0x38
- bl FieldEffectStop
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80C65FC
-
- thumb_func_start sub_80C660C
-sub_80C660C: @ 80C660C
- push {lr}
- ldr r1, _080C6620
- ldr r0, _080C6624
- ldrb r0, [r0]
- str r0, [r1]
- ldr r0, _080C6628
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_080C6620: .4byte gUnknown_0202FF84
-_080C6624: .4byte gUnknown_03005CE0
-_080C6628: .4byte gUnknown_081A2D96
- thumb_func_end sub_80C660C
-
- thumb_func_start sub_80C662C
-sub_80C662C: @ 80C662C
- push {lr}
- bl oei_task_add
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C6650
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r2, _080C6654
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080C6650: .4byte gTasks
-_080C6654: .4byte sub_80C6658
- thumb_func_end sub_80C662C
-
- thumb_func_start sub_80C6658
-sub_80C6658: @ 80C6658
- push {lr}
- movs r0, 0x1B
- bl FieldEffectActiveListRemove
- movs r0, 0x39
- bl FieldEffectStart
- pop {r0}
- bx r0
- thumb_func_end sub_80C6658
-
- thumb_func_start sub_80C666C
-sub_80C666C: @ 80C666C
- push {r4,lr}
- bl sub_80C6280
- ldr r0, _080C66AC
- ldr r3, _080C66B0
- ldr r1, _080C66B4
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 23
- ldr r4, _080C66B8
- ldr r3, [r4, 0x14]
- adds r1, r3
- lsls r1, 16
- asrs r1, 16
- ldrb r2, [r2]
- ldr r3, [r4, 0x18]
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x94
- bl CreateSprite
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C66AC: .4byte gSpriteTemplate_83D2644
-_080C66B0: .4byte gSprites
-_080C66B4: .4byte gPlayerAvatar
-_080C66B8: .4byte gUnknown_0202FF84
- thumb_func_end sub_80C666C
-
- thumb_func_start sub_80C66BC
-sub_80C66BC: @ 80C66BC
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0xA9
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, _080C66D4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C66D4: .4byte sub_80C66D8
- thumb_func_end sub_80C66BC
-
- thumb_func_start sub_80C66D8
-sub_80C66D8: @ 80C66D8
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r1, r3]
- cmp r0, 0x27
- bgt _080C66F8
- adds r0, r2, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _080C6700
- bl sub_80BB800
- b _080C6700
-_080C66F8:
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldr r0, _080C6704
- str r0, [r1, 0x1C]
-_080C6700:
- pop {r0}
- bx r0
- .align 2, 0
-_080C6704: .4byte sub_80C6708
- thumb_func_end sub_80C66D8
-
- thumb_func_start sub_80C6708
-sub_80C6708: @ 80C6708
- push {lr}
- movs r1, 0x39
- bl FieldEffectStop
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80C6708
-
- thumb_func_start sub_80C6718
-sub_80C6718: @ 80C6718
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- ldr r0, _080C6758
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C675C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- mov r0, sp
- ldrh r0, [r0]
- movs r2, 0
- strh r0, [r1, 0x8]
- ldrh r0, [r4]
- strh r0, [r1, 0xA]
- strh r2, [r1, 0xC]
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C6758: .4byte sub_80C6760
-_080C675C: .4byte gTasks
- thumb_func_end sub_80C6718
-
- thumb_func_start sub_80C6760
-sub_80C6760: @ 80C6760
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080C6788
- adds r4, r0, r1
- ldrh r0, [r4, 0x4]
- subs r0, 0x4
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bhi _080C682E
- lsls r0, 2
- ldr r1, _080C678C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C6788: .4byte gUnknown_03004B28
-_080C678C: .4byte _080C6790
- .align 2, 0
-_080C6790:
- .4byte _080C67D4
- .4byte _080C682E
- .4byte _080C682E
- .4byte _080C682E
- .4byte _080C67E2
- .4byte _080C682E
- .4byte _080C682E
- .4byte _080C682E
- .4byte _080C67D4
- .4byte _080C682E
- .4byte _080C682E
- .4byte _080C682E
- .4byte _080C67E2
- .4byte _080C682E
- .4byte _080C682E
- .4byte _080C682E
- .4byte _080C6800
-_080C67D4:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r2, 0x89
- lsls r2, 2
- b _080C67EE
-_080C67E2:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r2, 0x88
- lsls r2, 2
-_080C67EE:
- bl MapGridSetMetatileIdAt
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- b _080C682E
-_080C6800:
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- movs r2, 0x89
- lsls r2, 2
- bl MapGridSetMetatileIdAt
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- movs r0, 0x3D
- bl FieldEffectActiveListRemove
- bl EnableBothScriptContexts
- adds r0, r5, 0
- bl DestroyTask
- b _080C6834
-_080C682E:
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
-_080C6834:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C6760
-
- thumb_func_start sub_80C683C
-sub_80C683C: @ 80C683C
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- movs r0, 0x3
- bl PlaySE
- ldr r0, _080C6874
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- bne _080C6878
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r2, 0xE2
- lsls r2, 4
- bl MapGridSetMetatileIdAt
- b _080C6888
- .align 2, 0
-_080C6874: .4byte 0x00004054
-_080C6878:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- ldr r2, _080C68A0
- bl MapGridSetMetatileIdAt
-_080C6888:
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C68A0: .4byte 0x00000e21
- thumb_func_end sub_80C683C
-
- thumb_func_start sub_80C68A4
-sub_80C68A4: @ 80C68A4
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- lsls r6, 16
- lsrs r6, 16
- ldr r0, _080C68E4
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C68E8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r4, [r1, 0x8]
- strh r5, [r1, 0xA]
- strh r6, [r1, 0xC]
- strh r0, [r1, 0xE]
- movs r0, 0x1
- strh r0, [r1, 0x10]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C68E4: .4byte sub_80C68EC
-_080C68E8: .4byte gTasks
- thumb_func_end sub_80C68A4
-
- thumb_func_start sub_80C68EC
-sub_80C68EC: @ 80C68EC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080C690C
- adds r4, r0, r1
- ldrh r1, [r4, 0x6]
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0x6
- bne _080C6910
- movs r0, 0
- b _080C6912
- .align 2, 0
-_080C690C: .4byte gUnknown_03004B28
-_080C6910:
- adds r0, r1, 0x1
-_080C6912:
- strh r0, [r4, 0x6]
- movs r3, 0x6
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _080C6964
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x2
- bne _080C692C
- movs r2, 0
- ldrsh r0, [r4, r2]
- bl sub_80C696C
-_080C692C:
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- ldrh r2, [r4, 0x8]
- ldrh r3, [r4]
- adds r2, r3
- lsls r2, 16
- lsrs r2, 16
- bl MapGridSetMetatileIdAt
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- movs r2, 0x4
- ldrsh r1, [r4, r2]
- bl CurrentMapDrawMetatileAt
- ldrh r1, [r4, 0x8]
- movs r3, 0x8
- ldrsh r0, [r4, r3]
- cmp r0, 0x3
- bne _080C6960
- adds r0, r5, 0
- bl DestroyTask
- b _080C6964
-_080C6960:
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
-_080C6964:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C68EC
-
- thumb_func_start sub_80C696C
-sub_80C696C: @ 80C696C
- push {lr}
- lsls r0, 16
- asrs r1, r0, 16
- movs r0, 0xCE
- lsls r0, 2
- cmp r1, r0
- beq _080C6998
- cmp r1, r0
- bgt _080C6988
- movs r0, 0x8A
- lsls r0, 2
- cmp r1, r0
- beq _080C69B0
- b _080C69B6
-_080C6988:
- movs r0, 0xCF
- lsls r0, 2
- cmp r1, r0
- beq _080C69A0
- adds r0, 0x4
- cmp r1, r0
- beq _080C69A8
- b _080C69B6
-_080C6998:
- movs r0, 0x4A
- bl PlaySE
- b _080C69B6
-_080C69A0:
- movs r0, 0x4B
- bl PlaySE
- b _080C69B6
-_080C69A8:
- movs r0, 0x4C
- bl PlaySE
- b _080C69B6
-_080C69B0:
- movs r0, 0x4E
- bl PlaySE
-_080C69B6:
- pop {r0}
- bx r0
- thumb_func_end sub_80C696C
-
- thumb_func_start sub_80C69BC
-sub_80C69BC: @ 80C69BC
- movs r0, 0
- bx lr
- thumb_func_end sub_80C69BC
-
- thumb_func_start sub_80C69C0
-sub_80C69C0: @ 80C69C0
- movs r0, 0
- bx lr
- thumb_func_end sub_80C69C0
-
- thumb_func_start sub_80C69C4
-sub_80C69C4: @ 80C69C4
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r4, r1, 0
- lsls r5, 16
- lsrs r5, 16
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x4D
- bl PlaySE
- lsls r5, 16
- asrs r5, 16
- lsls r4, 16
- asrs r4, 16
- ldr r2, _080C6A0C
- adds r0, r5, 0
- adds r1, r4, 0
- bl MapGridSetMetatileIdAt
- subs r6, r4, 0x1
- ldr r2, _080C6A10
- adds r0, r5, 0
- adds r1, r6, 0
- bl MapGridSetMetatileIdAt
- adds r0, r5, 0
- adds r1, r4, 0
- bl CurrentMapDrawMetatileAt
- adds r0, r5, 0
- adds r1, r6, 0
- bl CurrentMapDrawMetatileAt
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6A0C: .4byte 0x00000276
-_080C6A10: .4byte 0x0000026e
- thumb_func_end sub_80C69C4
-
- thumb_func_start sub_80C6A14
-sub_80C6A14: @ 80C6A14
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080C6A44
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0x8]
- movs r3, 0x8
- ldrsh r0, [r1, r3]
- cmp r0, 0x7
- bne _080C6A48
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- movs r3, 0xC
- ldrsh r1, [r1, r3]
- bl sub_80C69C4
- adds r0, r4, 0
- bl DestroyTask
- b _080C6A4C
- .align 2, 0
-_080C6A44: .4byte gTasks
-_080C6A48:
- adds r0, r2, 0x1
- strh r0, [r1, 0x8]
-_080C6A4C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C6A14
-
- thumb_func_start sub_80C6A54
-sub_80C6A54: @ 80C6A54
- push {r4-r7,lr}
- lsls r0, 16
- lsrs r5, r0, 16
- adds r7, r5, 0
- lsls r1, 16
- lsrs r4, r1, 16
- adds r6, r4, 0
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C6A7C
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, r4, 16
- asrs r1, 16
- bl sub_80C69C4
- b _080C6A9E
-_080C6A7C:
- cmp r0, 0x2
- bne _080C6A9E
- ldr r0, _080C6AA4
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C6AA8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r7, [r1, 0xA]
- strh r6, [r1, 0xC]
-_080C6A9E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6AA4: .4byte sub_80C6A14
-_080C6AA8: .4byte gTasks
- thumb_func_end sub_80C6A54
-
- thumb_func_start sub_80C6AAC
-sub_80C6AAC: @ 80C6AAC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080C6AE4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x7
- beq _080C6AC8
- b _080C6C26
-_080C6AC8:
- ldr r2, _080C6AE8
- adds r0, r2, 0
- ldrh r1, [r1, 0x8]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3B
- bls _080C6ADA
- b _080C6C1E
-_080C6ADA:
- lsls r0, 2
- ldr r1, _080C6AEC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C6AE4: .4byte gTasks
-_080C6AE8: .4byte 0xfffffd88
-_080C6AEC: .4byte _080C6AF0
- .align 2, 0
-_080C6AF0:
- .4byte _080C6BE0
- .4byte _080C6BE8
- .4byte _080C6BF0
- .4byte _080C6BF8
- .4byte _080C6C00
- .4byte _080C6C08
- .4byte _080C6C10
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C1E
- .4byte _080C6C18
-_080C6BE0:
- movs r0, 0x3E
- bl PlaySE
- b _080C6C1E
-_080C6BE8:
- movs r0, 0x3F
- bl PlaySE
- b _080C6C1E
-_080C6BF0:
- movs r0, 0x40
- bl PlaySE
- b _080C6C1E
-_080C6BF8:
- movs r0, 0x41
- bl PlaySE
- b _080C6C1E
-_080C6C00:
- movs r0, 0x42
- bl PlaySE
- b _080C6C1E
-_080C6C08:
- movs r0, 0x43
- bl PlaySE
- b _080C6C1E
-_080C6C10:
- movs r0, 0x44
- bl PlaySE
- b _080C6C1E
-_080C6C18:
- movs r0, 0x45
- bl PlaySE
-_080C6C1E:
- adds r0, r4, 0
- bl DestroyTask
- b _080C6C2A
-_080C6C26:
- adds r0, r2, 0x1
- strh r0, [r1, 0xA]
-_080C6C2A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C6AAC
-
- thumb_func_start sub_80C6C30
-sub_80C6C30: @ 80C6C30
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _080C6C5C
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C6C60
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r0, 0
- strh r4, [r1, 0x8]
- strh r0, [r1, 0xA]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6C5C: .4byte sub_80C6AAC
-_080C6C60: .4byte gTasks
- thumb_func_end sub_80C6C30
-
- thumb_func_start sub_80C6C64
-sub_80C6C64: @ 80C6C64
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- bne _080C6C7C
- movs r0, 0xC3
- bl PlaySE
-_080C6C7C:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1F
- ble _080C6C8A
- adds r0, r4, 0
- bl DestroySprite
-_080C6C8A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C6C64
-
- thumb_func_start sub_80C6C90
-sub_80C6C90: @ 80C6C90
- push {r4,lr}
- sub sp, 0x4
- ldr r3, _080C6D28
- ldr r2, _080C6D2C
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x10]
- mov r0, sp
- strh r1, [r0]
- ldrb r1, [r2, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x12]
- mov r4, sp
- adds r4, 0x2
- strh r0, [r4]
- mov r0, sp
- adds r1, r4, 0
- movs r2, 0x8
- movs r3, 0x4
- bl sub_8060470
- ldr r0, _080C6D30
- ldr r0, [r0, 0x58]
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r3, 0
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSpriteAtEnd
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080C6D1E
- ldr r3, _080C6D34
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r4, r2, r3
- movs r0, 0x3E
- adds r0, r4
- mov r12, r0
- ldrb r0, [r0]
- movs r1, 0x2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0xF
- ands r0, r1
- movs r1, 0x50
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r3, 0x1C
- adds r2, r3
- ldr r0, _080C6D38
- str r0, [r2]
- movs r0, 0
- strh r0, [r4, 0x2E]
-_080C6D1E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6D28: .4byte gMapObjects
-_080C6D2C: .4byte gPlayerAvatar
-_080C6D30: .4byte gFieldEffectObjectTemplatePointers
-_080C6D34: .4byte gSprites
-_080C6D38: .4byte sub_80C6C64
- thumb_func_end sub_80C6C90
-
- thumb_func_start sub_80C6D3C
-sub_80C6D3C: @ 80C6D3C
- push {r4,lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- ldr r1, _080C6D78
- mov r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- str r0, [r1, 0x14]
- movs r3, 0
- ldrsh r0, [r4, r3]
- str r0, [r1, 0x18]
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- beq _080C6DBC
- cmp r0, 0x2
- bgt _080C6D7C
- cmp r0, 0x1
- beq _080C6D86
- b _080C6E4C
- .align 2, 0
-_080C6D78: .4byte gUnknown_0202FF84
-_080C6D7C:
- cmp r0, 0x3
- beq _080C6DEC
- cmp r0, 0x4
- beq _080C6E24
- b _080C6E4C
-_080C6D86:
- ldr r0, _080C6DB0
- ldr r3, _080C6DB4
- ldr r1, _080C6DB8
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r3, 0x80
- lsls r3, 12
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2]
- adds r2, 0x20
- movs r3, 0
- bl CreateSprite
- b _080C6E4C
- .align 2, 0
-_080C6DB0: .4byte gSpriteTemplate_83D26A0
-_080C6DB4: .4byte gSprites
-_080C6DB8: .4byte gPlayerAvatar
-_080C6DBC:
- ldr r0, _080C6DE0
- ldr r3, _080C6DE4
- ldr r1, _080C6DE8
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r3, 0x80
- lsls r3, 12
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2]
- b _080C6E0C
- .align 2, 0
-_080C6DE0: .4byte gSpriteTemplate_83D26A0
-_080C6DE4: .4byte gSprites
-_080C6DE8: .4byte gPlayerAvatar
-_080C6DEC:
- ldr r0, _080C6E14
- ldr r3, _080C6E18
- ldr r1, _080C6E1C
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 7
- ldr r3, _080C6E20
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2]
- adds r2, 0x10
-_080C6E0C:
- movs r3, 0x94
- bl CreateSprite
- b _080C6E4C
- .align 2, 0
-_080C6E14: .4byte gSpriteTemplate_83D26A0
-_080C6E18: .4byte gSprites
-_080C6E1C: .4byte gPlayerAvatar
-_080C6E20: .4byte 0xfff80000
-_080C6E24:
- ldr r0, _080C6E58
- ldr r3, _080C6E5C
- ldr r1, _080C6E60
- ldrb r1, [r1, 0x4]
- lsls r2, r1, 4
- adds r2, r1
- lsls r2, 2
- adds r2, r3
- ldrh r1, [r2, 0x2]
- lsls r1, 23
- lsrs r1, 7
- movs r3, 0xC0
- lsls r3, 13
- adds r1, r3
- asrs r1, 16
- ldrb r2, [r2]
- adds r2, 0x10
- movs r3, 0x94
- bl CreateSprite
-_080C6E4C:
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080C6E58: .4byte gSpriteTemplate_83D26A0
-_080C6E5C: .4byte gSprites
-_080C6E60: .4byte gPlayerAvatar
- thumb_func_end sub_80C6D3C
-
- thumb_func_start door_restore_tilemap
-door_restore_tilemap: @ 80C6E64
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r0, 0x83
- bl PlaySE
- ldr r4, _080C6E90
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- subs r1, 0x1
- bl MapGridGetMetatileIdAt
- ldr r1, _080C6E94
- cmp r0, r1
- bne _080C6E9C
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- subs r1, 0x1
- ldr r2, _080C6E98
- bl MapGridSetMetatileIdAt
- b _080C6EAA
- .align 2, 0
-_080C6E90: .4byte gUnknown_0202FF84
-_080C6E94: .4byte 0x00000286
-_080C6E98: .4byte 0x00000e02
-_080C6E9C:
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- subs r1, 0x1
- movs r2, 0xA1
- lsls r2, 2
- bl MapGridSetMetatileIdAt
-_080C6EAA:
- ldr r4, _080C6ED8
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- ldr r2, _080C6EDC
- bl MapGridSetMetatileIdAt
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- subs r1, 0x1
- bl CurrentMapDrawMetatileAt
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- bl CurrentMapDrawMetatileAt
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, _080C6EE0
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6ED8: .4byte gUnknown_0202FF84
-_080C6EDC: .4byte 0x0000020a
-_080C6EE0: .4byte sub_80C6EE4
- thumb_func_end door_restore_tilemap
-
- thumb_func_start sub_80C6EE4
-sub_80C6EE4: @ 80C6EE4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0x11
- bgt _080C6EF8
- adds r0, r1, 0x1
- strh r0, [r5, 0x2E]
- b _080C6F14
-_080C6EF8:
- ldr r4, _080C6F1C
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- ldr r2, _080C6F20
- bl MapGridSetMetatileIdAt
- ldr r0, [r4, 0x14]
- ldr r1, [r4, 0x18]
- bl CurrentMapDrawMetatileAt
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, _080C6F24
- str r0, [r5, 0x1C]
-_080C6F14:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C6F1C: .4byte gUnknown_0202FF84
-_080C6F20: .4byte 0x00000e8c
-_080C6F24: .4byte sub_80C6F28
- thumb_func_end sub_80C6EE4
-
- thumb_func_start sub_80C6F28
-sub_80C6F28: @ 80C6F28
- push {lr}
- movs r1, 0x34
- bl FieldEffectStop
- bl EnableBothScriptContexts
- pop {r0}
- bx r0
- thumb_func_end sub_80C6F28
-
- thumb_func_start sub_80C6F38
-sub_80C6F38: @ 80C6F38
- push {r4,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileIdAt
- adds r1, r0, 0
- ldr r0, _080C6F70
- cmp r1, r0
- beq _080C6FE8
- cmp r1, r0
- bgt _080C6F74
- subs r0, 0x17
- cmp r1, r0
- beq _080C6FB0
- adds r0, 0x16
- cmp r1, r0
- beq _080C6FDC
- b _080C6FFA
- .align 2, 0
-_080C6F70: .4byte 0x000002f5
-_080C6F74:
- ldr r0, _080C6F9C
- cmp r1, r0
- beq _080C6FF4
- adds r0, 0x40
- cmp r1, r0
- bne _080C6FFA
- ldr r0, _080C6FA0
- movs r1, 0x64
- movs r2, 0
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- ldr r0, _080C6FA4
- ldr r1, _080C6FA8
- bl StringCopy
- ldr r1, _080C6FAC
- movs r0, 0
- b _080C6FF8
- .align 2, 0
-_080C6F9C: .4byte 0x000002f6
-_080C6FA0: .4byte gStringVar1
-_080C6FA4: .4byte gStringVar2
-_080C6FA8: .4byte gSecretBaseText_GoldRank
-_080C6FAC: .4byte gScriptResult
-_080C6FB0:
- ldr r0, _080C6FCC
- movs r1, 0x32
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldr r0, _080C6FD0
- ldr r1, _080C6FD4
- bl StringCopy
- ldr r1, _080C6FD8
- movs r0, 0
- b _080C6FF8
- .align 2, 0
-_080C6FCC: .4byte gStringVar1
-_080C6FD0: .4byte gStringVar2
-_080C6FD4: .4byte gSecretBaseText_SilverRank
-_080C6FD8: .4byte gScriptResult
-_080C6FDC:
- ldr r1, _080C6FE4
- movs r0, 0x1
- b _080C6FF8
- .align 2, 0
-_080C6FE4: .4byte gScriptResult
-_080C6FE8:
- ldr r1, _080C6FF0
- movs r0, 0x2
- b _080C6FF8
- .align 2, 0
-_080C6FF0: .4byte gScriptResult
-_080C6FF4:
- ldr r1, _080C7004
- movs r0, 0x3
-_080C6FF8:
- strh r0, [r1]
-_080C6FFA:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C7004: .4byte gScriptResult
- thumb_func_end sub_80C6F38
-
- thumb_func_start task50_overworld_posion_effect
-task50_overworld_posion_effect: @ 80C7008
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080C702C
- adds r1, r0, r1
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- beq _080C7046
- cmp r0, 0x1
- bgt _080C7030
- cmp r0, 0
- beq _080C7036
- b _080C7062
- .align 2, 0
-_080C702C: .4byte gUnknown_03004B28
-_080C7030:
- cmp r0, 0x2
- beq _080C705A
- b _080C7062
-_080C7036:
- ldrh r0, [r1, 0x2]
- adds r0, 0x2
- strh r0, [r1, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080C7062
- b _080C7052
-_080C7046:
- ldrh r0, [r1, 0x2]
- subs r0, 0x2
- strh r0, [r1, 0x2]
- lsls r0, 16
- cmp r0, 0
- bne _080C7062
-_080C7052:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080C7062
-_080C705A:
- adds r0, r2, 0
- bl DestroyTask
- b _080C706C
-_080C7062:
- ldr r2, _080C7070
- ldrh r1, [r1, 0x2]
- lsls r0, r1, 4
- orrs r0, r1
- strh r0, [r2]
-_080C706C:
- pop {r0}
- bx r0
- .align 2, 0
-_080C7070: .4byte REG_MOSAIC
- thumb_func_end task50_overworld_posion_effect
-
- thumb_func_start overworld_posion_effect
-overworld_posion_effect: @ 80C7074
- push {lr}
- movs r0, 0x4F
- bl PlaySE
- ldr r0, _080C7088
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080C7088: .4byte task50_overworld_posion_effect
- thumb_func_end overworld_posion_effect
-
- thumb_func_start c3_80A0DD8_is_running
-c3_80A0DD8_is_running: @ 80C708C
- push {lr}
- ldr r0, _080C709C
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080C709C: .4byte task50_overworld_posion_effect
- thumb_func_end c3_80A0DD8_is_running
-
- thumb_func_start sub_80C70A0
-sub_80C70A0: @ 80C70A0
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C70B4
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080C70B8
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C70B4: .4byte gTasks
-_080C70B8: .4byte sub_80C70BC
- thumb_func_end sub_80C70A0
-
- thumb_func_start sub_80C70BC
-sub_80C70BC: @ 80C70BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080C7120
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C7124
- adds r4, r0, r1
- adds r0, r4, 0
- bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
- lsls r0, 24
- cmp r0, 0
- beq _080C70E8
- adds r0, r4, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080C711A
-_080C70E8:
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- bl sub_8059D08
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- bl GetStepInPlaceDelay16AnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl FieldObjectSetSpecialAnim
- ldr r1, _080C7128
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C712C
- str r1, [r0]
-_080C711A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C7120: .4byte gPlayerAvatar
-_080C7124: .4byte gMapObjects
-_080C7128: .4byte gTasks
-_080C712C: .4byte sub_80C7130
- thumb_func_end sub_80C70BC
-
- thumb_func_start sub_80C7130
-sub_80C7130: @ 80C7130
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C7184
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C7188
- adds r5, r0, r1
- adds r0, r5, 0
- bl FieldObjectClearAnimIfSpecialAnimFinished
- lsls r0, 24
- cmp r0, 0
- beq _080C7194
- ldr r1, _080C718C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0xA]
- adds r1, r0, 0x1
- strh r1, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bgt _080C7190
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r0, 24
- bl GetStepInPlaceDelay16AnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl FieldObjectSetSpecialAnim
- b _080C7194
- .align 2, 0
-_080C7184: .4byte gPlayerAvatar
-_080C7188: .4byte gMapObjects
-_080C718C: .4byte gTasks
-_080C7190:
- ldr r0, _080C719C
- str r0, [r2]
-_080C7194:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C719C: .4byte sub_80C71A0
- thumb_func_end sub_80C7130
-
- thumb_func_start sub_80C71A0
-sub_80C71A0: @ 80C71A0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80597D0
- lsls r0, 24
- lsrs r0, 24
- bl SetPlayerAvatarTransitionFlags
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C71A0
-
- thumb_func_start sub_80C71C4
-sub_80C71C4: @ 80C71C4
- push {lr}
- ldr r0, _080C71D4
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080C71D4: .4byte sub_80C70A0
- thumb_func_end sub_80C71C4
-
- thumb_func_start sub_80C71D8
-sub_80C71D8: @ 80C71D8
- push {r4,r5,lr}
- ldr r0, _080C722C
- bl LoadSpritePalette
- ldr r0, _080C7230
- movs r1, 0
- movs r2, 0
- movs r3, 0x52
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _080C7238
- lsls r0, r5, 4
- adds r0, r5
- lsls r0, 2
- ldr r1, _080C7234
- adds r4, r0, r1
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r0, 0x10
- movs r1, 0xD
- bl sub_8060388
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x20]
- adds r0, 0x10
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x22]
- adds r0, 0x2
- strh r0, [r4, 0x22]
- adds r0, r5, 0
- b _080C723A
- .align 2, 0
-_080C722C: .4byte gUnknown_083D2878
-_080C7230: .4byte gSpriteTemplate_83D2894
-_080C7234: .4byte gSprites
-_080C7238:
- movs r0, 0x40
-_080C723A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C71D8
-
- thumb_func_start sub_80C7240
-sub_80C7240: @ 80C7240
- push {r4-r7,lr}
- ldr r4, _080C7274
- adds r7, r4, 0
- movs r6, 0
- movs r5, 0x3F
-_080C724A:
- adds r0, r7, 0
- adds r0, 0x14
- adds r0, r6, r0
- ldr r1, [r0]
- ldr r0, _080C7278
- cmp r1, r0
- bne _080C7264
- adds r0, r4, 0
- bl FreeSpritePalette
- adds r0, r4, 0
- bl DestroySprite
-_080C7264:
- adds r4, 0x44
- adds r6, 0x44
- subs r5, 0x1
- cmp r5, 0
- bge _080C724A
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C7274: .4byte gSprites
-_080C7278: .4byte gSpriteTemplate_83D2894
- thumb_func_end sub_80C7240
-
- thumb_func_start sub_80C727C
-sub_80C727C: @ 80C727C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x78
- bl __modsi3
- cmp r0, 0
- bne _080C7290
- movs r0, 0x1
- negs r0, r0
- b _080C72A2
-_080C7290:
- adds r0, r4, 0
- movs r1, 0xA
- bl __modsi3
- cmp r0, 0x4
- ble _080C72A0
- movs r0, 0
- b _080C72A2
-_080C72A0:
- movs r0, 0x1
-_080C72A2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C727C
-
- thumb_func_start sub_80C72A8
-sub_80C72A8: @ 80C72A8
- push {lr}
- adds r0, 0x78
- movs r1, 0xB4
- bl __modsi3
- cmp r0, 0
- beq _080C72BA
- movs r0, 0
- b _080C72BE
-_080C72BA:
- movs r0, 0x1
- negs r0, r0
-_080C72BE:
- pop {r1}
- bx r1
- thumb_func_end sub_80C72A8
-
- thumb_func_start sub_80C72C4
-sub_80C72C4: @ 80C72C4
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080C7364
- adds r5, r1, r0
- movs r1, 0
- ldrsh r0, [r5, r1]
- adds r0, 0x1E
- bl sub_80C72A8
- ldr r4, _080C7368
- ldrb r1, [r4, 0x5]
- ldrb r2, [r4, 0x4]
- lsls r0, 18
- movs r3, 0xC0
- lsls r3, 10
- orrs r0, r3
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x1
- movs r3, 0x3
- bl sub_805BD90
- movs r3, 0
- ldrsh r0, [r5, r3]
- bl sub_80C72A8
- ldrb r1, [r4, 0x5]
- ldrb r2, [r4, 0x4]
- lsls r0, 17
- ldr r3, _080C736C
- adds r0, r3
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x2
- movs r3, 0
- bl sub_805BD90
- movs r1, 0
- ldrsh r0, [r5, r1]
- bl sub_80C72A8
- ldrb r1, [r4, 0x5]
- ldrb r2, [r4, 0x4]
- movs r4, 0
- movs r3, 0x3
- negs r3, r3
- lsls r0, 18
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x3
- bl sub_805BD90
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- lsls r0, 16
- ldr r1, _080C7370
- cmp r0, r1
- bne _080C7346
- strh r4, [r5]
-_080C7346:
- movs r3, 0
- ldrsh r0, [r5, r3]
- bl sub_80C727C
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl SetCameraPanning
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C7364: .4byte gUnknown_03004B28
-_080C7368: .4byte gSaveBlock1
-_080C736C: .4byte 0xfffd0000
-_080C7370: .4byte 0x75300000
- thumb_func_end sub_80C72C4
-
- thumb_func_start sub_80C7374
-sub_80C7374: @ 80C7374
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r3, r0, 3
- ldr r4, _080C73B4
- adds r7, r3, r4
- ldrh r1, [r7]
- adds r1, 0x1
- strh r1, [r7]
- ldrh r0, [r7, 0x4]
- adds r0, 0x1
- strh r0, [r7, 0x4]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x5
- ble _080C73A4
- movs r0, 0
- strh r0, [r7]
- ldrh r0, [r7, 0x2]
- adds r0, 0x1
- strh r0, [r7, 0x2]
-_080C73A4:
- ldrh r0, [r7, 0x2]
- cmp r0, 0x13
- bne _080C73B8
- adds r0, r2, 0
- bl DestroyTask
- b _080C746A
- .align 2, 0
-_080C73B4: .4byte gUnknown_03004B28
-_080C73B8:
- ldr r2, _080C7474
- movs r1, 0x2
- ldrsh r0, [r7, r1]
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- bne _080C73D4
- adds r0, r4, 0
- subs r0, 0x8
- adds r0, r3, r0
- ldr r1, _080C7478
- str r1, [r0]
-_080C73D4:
- movs r4, 0x2
- ldrsh r0, [r7, r4]
- adds r0, r2
- movs r5, 0
- ldrsb r5, [r0, r5]
- lsls r5, 16
- lsrs r5, 16
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- bl sub_80C727C
- adds r1, r0, 0
- lsls r5, 16
- asrs r5, 16
- lsls r1, 16
- asrs r1, 16
- adds r0, r5, 0
- bl SetCameraPanning
- movs r4, 0x4
- ldrsh r0, [r7, r4]
- adds r0, 0x1E
- bl sub_80C72A8
- ldr r6, _080C747C
- ldrb r1, [r6, 0x5]
- ldrb r2, [r6, 0x4]
- movs r3, 0x3
- subs r3, r5
- lsls r3, 16
- asrs r3, 16
- lsls r0, 18
- movs r4, 0xC0
- lsls r4, 10
- orrs r0, r4
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x1
- bl sub_805BD90
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- bl sub_80C72A8
- ldrb r1, [r6, 0x5]
- ldrb r2, [r6, 0x4]
- negs r3, r5
- lsls r3, 16
- asrs r3, 16
- lsls r0, 17
- ldr r4, _080C7480
- adds r0, r4
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x2
- bl sub_805BD90
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- bl sub_80C72A8
- ldrb r1, [r6, 0x5]
- ldrb r2, [r6, 0x4]
- movs r4, 0x3
- negs r4, r4
- adds r3, r4, 0
- subs r3, r5
- lsls r3, 16
- asrs r3, 16
- lsls r0, 18
- asrs r0, 16
- str r0, [sp]
- movs r0, 0x3
- bl sub_805BD90
-_080C746A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C7474: .4byte gUnknown_083D294C
-_080C7478: .4byte sub_80C7484
-_080C747C: .4byte gSaveBlock1
-_080C7480: .4byte 0xfffd0000
- thumb_func_end sub_80C7374
-
- thumb_func_start sub_80C7484
-sub_80C7484: @ 80C7484
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, _080C74C4
- adds r2, r0, r1
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080C74B4
- movs r0, 0
- strh r0, [r2]
- ldrh r0, [r2, 0x2]
- adds r0, 0x1
- strh r0, [r2, 0x2]
-_080C74B4:
- ldrh r0, [r2, 0x2]
- cmp r0, 0x13
- bne _080C74C8
- adds r0, r3, 0
- bl DestroyTask
- b _080C7516
- .align 2, 0
-_080C74C4: .4byte gUnknown_03004B28
-_080C74C8:
- ldr r1, _080C7524
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- adds r0, r1
- movs r1, 0
- mov r8, r1
- movs r6, 0
- ldrsb r6, [r0, r6]
- adds r0, r6, 0
- bl SetCameraPanning
- ldr r5, _080C7528
- ldrb r1, [r5, 0x5]
- ldrb r2, [r5, 0x4]
- movs r3, 0x3
- subs r3, r6
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x1
- bl sub_805BD90
- ldrb r1, [r5, 0x5]
- ldrb r2, [r5, 0x4]
- negs r3, r6
- mov r4, r8
- subs r4, 0x3
- str r4, [sp]
- movs r0, 0x2
- bl sub_805BD90
- ldrb r1, [r5, 0x5]
- ldrb r2, [r5, 0x4]
- subs r4, r6
- mov r3, r8
- str r3, [sp]
- movs r0, 0x3
- adds r3, r4, 0
- bl sub_805BD90
-_080C7516:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C7524: .4byte gUnknown_083D294C
-_080C7528: .4byte gSaveBlock1
- thumb_func_end sub_80C7484
-
- thumb_func_start sub_80C752C
-sub_80C752C: @ 80C752C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080C7550
- adds r4, r0, r1
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bls _080C7546
- b _080C7698
-_080C7546:
- lsls r0, 2
- ldr r1, _080C7554
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C7550: .4byte gUnknown_03004B28
-_080C7554: .4byte _080C7558
- .align 2, 0
-_080C7558:
- .4byte _080C7570
- .4byte _080C75A8
- .4byte _080C75C4
- .4byte _080C7610
- .4byte _080C7634
- .4byte _080C7652
-_080C7570:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5A
- beq _080C7580
- b _080C7698
-_080C7580:
- movs r0, 0
- bl SetCameraPanningCallback
- movs r0, 0
- strh r0, [r4, 0x2]
- ldr r0, _080C75A4
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x4]
- movs r0, 0x1
- strh r0, [r4]
- movs r0, 0x31
- bl PlaySE
- b _080C7698
- .align 2, 0
-_080C75A4: .4byte sub_80C72C4
-_080C75A8:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x96
- bne _080C7698
- bl pal_fill_black
- movs r0, 0
- strh r0, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r4]
- b _080C7698
-_080C75C4:
- ldrh r0, [r4, 0x2]
- adds r3, r0, 0x1
- strh r3, [r4, 0x2]
- ldr r0, _080C7608
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080C7698
- lsls r1, r3, 16
- movs r0, 0x96
- lsls r0, 17
- cmp r1, r0
- ble _080C7698
- strh r2, [r4, 0x2]
- ldrb r0, [r4, 0x4]
- bl DestroyTask
- ldr r0, _080C760C
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x6]
- movs r0, 0x3
- strh r0, [r4]
- movs r0, 0x32
- bl PlaySE
- b _080C7698
- .align 2, 0
-_080C7608: .4byte gPaletteFade
-_080C760C: .4byte sub_80C7374
-_080C7610:
- ldr r2, _080C7630
- movs r0, 0x6
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r5, [r0, 0x4]
- cmp r5, 0
- bne _080C7698
- bl InstallCameraPanAheadCallback
- strh r5, [r4, 0x2]
- movs r0, 0x4
- strh r0, [r4]
- b _080C7698
- .align 2, 0
-_080C7630: .4byte gTasks
-_080C7634:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5A
- bne _080C7698
- movs r0, 0x33
- bl PlaySE
- movs r0, 0
- strh r0, [r4, 0x2]
- movs r0, 0x5
- strh r0, [r4]
- b _080C7698
-_080C7652:
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x78
- bne _080C7698
- movs r2, 0x82
- lsls r2, 2
- movs r0, 0xB
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- movs r2, 0x84
- lsls r2, 2
- movs r0, 0xB
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- movs r2, 0x86
- lsls r2, 2
- movs r0, 0xB
- movs r1, 0xA
- bl MapGridSetMetatileIdAt
- bl DrawWholeMapView
- movs r0, 0x34
- bl PlaySE
- adds r0, r5, 0
- bl DestroyTask
- bl ScriptContext2_Disable
-_080C7698:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C752C
-
- thumb_func_start sub_80C76A0
-sub_80C76A0: @ 80C76A0
- push {lr}
- sub sp, 0x4
- ldr r2, _080C76E8
- movs r0, 0xB
- movs r1, 0x8
- bl MapGridSetMetatileIdAt
- ldr r2, _080C76EC
- movs r0, 0xB
- movs r1, 0x9
- bl MapGridSetMetatileIdAt
- ldr r2, _080C76F0
- movs r0, 0xB
- movs r1, 0xA
- bl MapGridSetMetatileIdAt
- bl DrawWholeMapView
- bl ScriptContext2_Enable
- movs r0, 0
- str r0, [sp]
- ldr r1, _080C76F4
- ldr r2, _080C76F8
- mov r0, sp
- bl CpuFastSet
- ldr r0, _080C76FC
- movs r1, 0xA
- bl CreateTask
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080C76E8: .4byte 0x0000020d
-_080C76EC: .4byte 0x00000215
-_080C76F0: .4byte 0x0000021d
-_080C76F4: .4byte gPlttBufferFaded
-_080C76F8: .4byte 0x01000100
-_080C76FC: .4byte sub_80C752C
- thumb_func_end sub_80C76A0
-
- thumb_func_start sub_80C7700
-sub_80C7700: @ 80C7700
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r0, _080C774C
- bl FuncIsActiveTask
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _080C7744
- ldr r4, _080C7750
- ldrb r1, [r4, 0x5]
- ldrb r2, [r4, 0x4]
- movs r0, 0x3
- str r0, [sp]
- movs r0, 0x1
- movs r3, 0x3
- bl sub_805BD90
- ldrb r1, [r4, 0x5]
- ldrb r2, [r4, 0x4]
- movs r5, 0x3
- negs r5, r5
- str r5, [sp]
- movs r0, 0x2
- movs r3, 0
- bl sub_805BD90
- ldrb r1, [r4, 0x5]
- ldrb r2, [r4, 0x4]
- str r6, [sp]
- movs r0, 0x3
- adds r3, r5, 0
- bl sub_805BD90
-_080C7744:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C774C: .4byte sub_80C752C
-_080C7750: .4byte gSaveBlock1
- thumb_func_end sub_80C7700
-
- thumb_func_start sub_80C7754
-sub_80C7754: @ 80C7754
- push {r4-r6,lr}
- sub sp, 0xC
- mov r4, sp
- adds r4, 0x5
- mov r5, sp
- adds r5, 0x6
- add r6, sp, 0x8
- add r0, sp, 0x4
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_810D9EC
- lsls r0, 24
- cmp r0, 0
- bne _080C7796
- add r0, sp, 0x4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r4, r1]
- movs r2, 0x1
- negs r2, r2
- movs r3, 0
- ldrsb r3, [r5, r3]
- movs r4, 0
- ldrsb r4, [r6, r4]
- str r4, [sp]
- bl warp1_set
- movs r0, 0x1
- b _080C7798
-_080C7796:
- movs r0, 0
-_080C7798:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C7754
-
- thumb_func_start sub_80C77A0
-sub_80C77A0: @ 80C77A0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080C77CC
- adds r4, r0, r1
- ldr r0, _080C77D0
- bl GetVarPointer
- adds r6, r0, 0
- ldr r7, _080C77D4
- movs r0, 0
- ldrsh r2, [r4, r0]
- cmp r2, 0x1
- beq _080C77FC
- cmp r2, 0x1
- bgt _080C77D8
- cmp r2, 0
- beq _080C77E2
- b _080C7896
- .align 2, 0
-_080C77CC: .4byte gUnknown_03004B28
-_080C77D0: .4byte 0x000040b4
-_080C77D4: .4byte gSaveBlock1 + 0x4
-_080C77D8:
- cmp r2, 0x2
- beq _080C783E
- cmp r2, 0x3
- beq _080C7878
- b _080C7896
-_080C77E2:
- ldr r0, _080C77F8
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C7896
- strh r2, [r4, 0x2]
- movs r0, 0x2
- strh r0, [r4]
- b _080C7896
- .align 2, 0
-_080C77F8: .4byte gPaletteFade
-_080C77FC:
- ldr r0, _080C7830
- ldrh r1, [r0, 0x2E]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080C780A
- strh r2, [r4, 0x2]
-_080C780A:
- ldrb r1, [r7, 0x1]
- ldrb r2, [r7]
- movs r0, 0xFF
- bl sub_80A212C
- lsls r0, 24
- cmp r0, 0
- beq _080C7896
- movs r0, 0x1
- bl sub_810D9B0
- cmp r0, 0x1
- bne _080C783A
- ldrh r0, [r6]
- cmp r0, 0x2
- bne _080C7834
- movs r0, 0x9
- b _080C7836
- .align 2, 0
-_080C7830: .4byte gMain
-_080C7834:
- movs r0, 0xA
-_080C7836:
- strh r0, [r6]
- b _080C7846
-_080C783A:
- movs r0, 0x2
- strh r0, [r4]
-_080C783E:
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C784C
-_080C7846:
- movs r0, 0x3
- strh r0, [r4]
- b _080C7896
-_080C784C:
- ldrh r0, [r6]
- cmp r0, 0x2
- bne _080C7860
- ldrb r1, [r7, 0x1]
- ldrb r2, [r7]
- ldr r3, _080C785C
- b _080C7866
- .align 2, 0
-_080C785C: .4byte gUnknown_083D295F
-_080C7860:
- ldrb r1, [r7, 0x1]
- ldrb r2, [r7]
- ldr r3, _080C7874
-_080C7866:
- movs r0, 0xFF
- bl exec_movement
- movs r0, 0x1
- strh r0, [r4]
- b _080C7896
- .align 2, 0
-_080C7874: .4byte gUnknown_083D2961
-_080C7878:
- ldr r0, _080C789C
- bl FlagReset
- movs r0, 0x80
- lsls r0, 7
- bl FlagReset
- movs r0, 0
- bl copy_saved_warp2_bank_and_enter_x_to_warp1
- bl sp13E_warp_to_last_warp
- adds r0, r5, 0
- bl DestroyTask
-_080C7896:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C789C: .4byte 0x00004001
- thumb_func_end sub_80C77A0
-
- thumb_func_start sub_80C78A0
-sub_80C78A0: @ 80C78A0
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080C78F4
- movs r0, 0
- str r0, [sp]
- movs r0, 0x8C
- movs r2, 0x70
- movs r3, 0x50
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C78F8
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r4, r1, r2
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x3
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldr r0, _080C78FC
- bl VarGet
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x2
- bne _080C7900
- movs r0, 0x4
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- b _080C7912
- .align 2, 0
-_080C78F4: .4byte SpriteCallbackDummy
-_080C78F8: .4byte gSprites
-_080C78FC: .4byte 0x000040b4
-_080C7900:
- movs r0, 0x3
- bl FieldObjectDirectionToImageAnimId
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
-_080C7912:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C78A0
-
- thumb_func_start sub_80C791C
-sub_80C791C: @ 80C791C
- push {lr}
- bl sub_80C78A0
- ldr r2, _080C794C
- ldr r0, _080C7950
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x1]
- movs r2, 0x20
- orrs r1, r2
- strb r1, [r0, 0x1]
- bl pal_fill_black
- ldr r0, _080C7954
- movs r1, 0x50
- bl CreateTask
- bl ScriptContext2_Enable
- pop {r0}
- bx r0
- .align 2, 0
-_080C794C: .4byte gMapObjects
-_080C7950: .4byte gPlayerAvatar
-_080C7954: .4byte sub_80C77A0
- thumb_func_end sub_80C791C
-
- thumb_func_start sub_80C7958
-sub_80C7958: @ 80C7958
- push {lr}
- ldr r0, _080C7990
- bl FlagSet
- ldr r0, _080C7994
- bl FlagSet
- movs r0, 0x80
- lsls r0, 7
- bl FlagSet
- ldr r0, _080C7998
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- movs r2, 0x5
- ldrsb r2, [r0, r2]
- movs r3, 0x1
- negs r3, r3
- movs r0, 0
- bl saved_warp2_set
- bl sub_80C7754
- bl sub_8080F9C
- pop {r0}
- bx r0
- .align 2, 0
-_080C7990: .4byte 0x0000082d
-_080C7994: .4byte 0x00004001
-_080C7998: .4byte gSaveBlock1
- thumb_func_end sub_80C7958
-
- thumb_func_start GetCurrentMapRotatingGatePuzzleType
-GetCurrentMapRotatingGatePuzzleType: @ 80C799C
- push {lr}
- ldr r0, _080C79B0
- ldrh r1, [r0, 0x4]
- movs r0, 0x86
- lsls r0, 1
- cmp r1, r0
- bne _080C79B4
- movs r0, 0x1
- b _080C79C6
- .align 2, 0
-_080C79B0: .4byte gSaveBlock1
-_080C79B4:
- ldr r0, _080C79C0
- cmp r1, r0
- beq _080C79C4
- movs r0, 0
- b _080C79C6
- .align 2, 0
-_080C79C0: .4byte 0x0000081d
-_080C79C4:
- movs r0, 0x2
-_080C79C6:
- pop {r1}
- bx r1
- thumb_func_end GetCurrentMapRotatingGatePuzzleType
-
- thumb_func_start sub_80C79CC
-sub_80C79CC: @ 80C79CC
- push {r4-r6,lr}
- movs r0, 0x80
- lsls r0, 7
- bl GetVarPointer
- adds r5, r0, 0
- movs r3, 0
- ldr r4, _080C7A00
- ldrb r0, [r4]
- cmp r3, r0
- bge _080C79F8
- ldr r6, _080C7A04
-_080C79E4:
- adds r2, r5, r3
- ldr r1, [r6]
- lsls r0, r3, 3
- adds r0, r1
- ldrb r0, [r0, 0x5]
- strb r0, [r2]
- adds r3, 0x1
- ldrb r0, [r4]
- cmp r3, r0
- blt _080C79E4
-_080C79F8:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C7A00: .4byte gUnknown_02038804
-_080C7A04: .4byte gUnknown_02038800
- thumb_func_end sub_80C79CC
-
- thumb_func_start sub_80C7A08
-sub_80C7A08: @ 80C7A08
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x80
- lsls r0, 7
- bl GetVarPointer
- adds r0, r4
- ldrb r0, [r0]
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C7A08
-
- thumb_func_start sub_80C7A24
-sub_80C7A24: @ 80C7A24
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x80
- lsls r0, 7
- bl GetVarPointer
- adds r0, r4
- strb r5, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C7A24
-
- thumb_func_start sub_80C7A44
-sub_80C7A44: @ 80C7A44
- push {r4,r5,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80C7A08
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r4, 0x1
- bne _080C7A68
- cmp r1, 0
- beq _080C7A64
- subs r0, r1, 0x1
- lsls r0, 24
- b _080C7A72
-_080C7A64:
- movs r1, 0x3
- b _080C7A74
-_080C7A68:
- adds r1, 0x1
- lsls r1, 24
- movs r0, 0xC0
- lsls r0, 18
- ands r0, r1
-_080C7A72:
- lsrs r1, r0, 24
-_080C7A74:
- adds r0, r5, 0
- bl sub_80C7A24
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80C7A44
-
- thumb_func_start sub_80C7A80
-sub_80C7A80: @ 80C7A80
- push {lr}
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0x1
- beq _080C7A94
- cmp r0, 0x1
- ble _080C7AC8
- cmp r0, 0x2
- beq _080C7AAC
- b _080C7AC8
-_080C7A94:
- ldr r1, _080C7AA0
- ldr r0, _080C7AA4
- str r0, [r1]
- ldr r1, _080C7AA8
- movs r0, 0x7
- b _080C7AB6
- .align 2, 0
-_080C7AA0: .4byte gUnknown_02038800
-_080C7AA4: .4byte gUnknown_083D2964
-_080C7AA8: .4byte gUnknown_02038804
-_080C7AAC:
- ldr r1, _080C7ACC
- ldr r0, _080C7AD0
- str r0, [r1]
- ldr r1, _080C7AD4
- movs r0, 0xE
-_080C7AB6:
- strb r0, [r1]
- movs r1, 0
- ldr r3, _080C7AD8
- movs r2, 0x40
-_080C7ABE:
- adds r0, r1, r3
- strb r2, [r0]
- adds r1, 0x1
- cmp r1, 0xD
- bls _080C7ABE
-_080C7AC8:
- pop {r0}
- bx r0
- .align 2, 0
-_080C7ACC: .4byte gUnknown_02038800
-_080C7AD0: .4byte gUnknown_083D299C
-_080C7AD4: .4byte gUnknown_02038804
-_080C7AD8: .4byte gUnknown_020387F0
- thumb_func_end sub_80C7A80
-
- thumb_func_start sub_80C7ADC
-sub_80C7ADC: @ 80C7ADC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- ldr r2, _080C7B9C
- ldrh r1, [r2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r3, r0, 16
- adds r1, 0x11
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldrh r1, [r2, 0x2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r2, r0, 16
- adds r1, 0xE
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- movs r5, 0
- ldr r0, _080C7BA0
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080C7B8C
- lsls r0, r2, 16
- asrs r7, r0, 16
- lsls r0, r3, 16
- asrs r6, r0, 16
-_080C7B28:
- ldr r0, _080C7BA4
- ldr r0, [r0]
- lsls r1, r5, 3
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1, 0x2]
- adds r0, 0x7
- lsls r0, 16
- asrs r1, r0, 16
- cmp r7, r1
- bgt _080C7B7E
- mov r3, r8
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r1
- blt _080C7B7E
- lsls r0, r2, 16
- asrs r1, r0, 16
- cmp r6, r1
- bgt _080C7B7E
- mov r2, r9
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, r1
- blt _080C7B7E
- ldr r0, _080C7BA8
- adds r4, r5, r0
- ldrb r0, [r4]
- cmp r0, 0x40
- bne _080C7B7E
- ldr r3, [sp]
- lsls r1, r3, 16
- mov r0, r10
- lsls r2, r0, 16
- adds r0, r5, 0
- asrs r1, 16
- asrs r2, 16
- bl sub_80C7BAC
- strb r0, [r4]
-_080C7B7E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080C7BA0
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080C7B28
-_080C7B8C:
- 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
-_080C7B9C: .4byte gSaveBlock1
-_080C7BA0: .4byte gUnknown_02038804
-_080C7BA4: .4byte gUnknown_02038800
-_080C7BA8: .4byte gUnknown_020387F0
- thumb_func_end sub_80C7ADC
-
- thumb_func_start sub_80C7BAC
-sub_80C7BAC: @ 80C7BAC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- ldr r0, _080C7BDC
- lsls r1, r6, 3
- ldr r0, [r0]
- adds r4, r0, r1
- ldrb r0, [r4, 0x4]
- cmp r0, 0
- beq _080C7BD4
- cmp r0, 0x4
- bne _080C7BE4
-_080C7BD4:
- mov r1, sp
- ldr r0, _080C7BE0
- b _080C7BE8
- .align 2, 0
-_080C7BDC: .4byte gUnknown_02038800
-_080C7BE0: .4byte gSpriteTemplate_83D60A4
-_080C7BE4:
- mov r1, sp
- ldr r0, _080C7C7C
-_080C7BE8:
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r2, sp
- ldrb r0, [r4, 0x4]
- movs r3, 0x98
- lsls r3, 5
- adds r1, r3, 0
- adds r0, r1
- strh r0, [r2]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x94
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _080C7C84
- ldrh r0, [r4]
- adds r0, 0x7
- ldrh r1, [r4, 0x2]
- adds r1, 0x7
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r2, _080C7C80
- adds r4, r2
- strh r6, [r4, 0x2E]
- movs r2, 0x3E
- adds r2, r4
- mov r12, r2
- ldrb r2, [r2]
- movs r3, 0x2
- orrs r2, r3
- mov r3, r12
- strb r2, [r3]
- lsls r0, 16
- asrs r0, 16
- lsls r2, r7, 16
- asrs r2, 16
- adds r0, r2
- lsls r0, 16
- asrs r0, 16
- lsls r1, 16
- asrs r1, 16
- mov r3, r8
- lsls r2, r3, 16
- asrs r2, 16
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- bl sub_8060388
- adds r0, r4, 0
- bl sub_80C7D14
- adds r0, r6, 0
- bl sub_80C7A08
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- adds r0, r5, 0
- b _080C7C86
- .align 2, 0
-_080C7C7C: .4byte gSpriteTemplate_83D608C
-_080C7C80: .4byte gSprites
-_080C7C84:
- movs r0, 0x40
-_080C7C86:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80C7BAC
-
- thumb_func_start sub_80C7C94
-sub_80C7C94: @ 80C7C94
- push {r4-r7,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0x30]
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r6, 0x32]
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- adds r0, r6, 0
- bl sub_80C7D14
- cmp r5, 0x1
- bne _080C7CDA
- adds r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80E6034
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _080C7CCA
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
-_080C7CCA:
- movs r0, 0x30
- bl PlaySE
- adds r0, r6, 0
- adds r1, r4, 0
- bl StartSpriteAffineAnim
- b _080C7D08
-_080C7CDA:
- cmp r5, 0x2
- bne _080C7D08
- adds r0, r7, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80E6034
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- beq _080C7CFA
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 24
- lsrs r4, r0, 24
-_080C7CFA:
- movs r0, 0x30
- bl PlaySE
- adds r0, r6, 0
- adds r1, r4, 0
- bl StartSpriteAffineAnim
-_080C7D08:
- movs r0, 0
- strh r0, [r6, 0x30]
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C7C94
-
- thumb_func_start sub_80C7D14
-sub_80C7D14: @ 80C7D14
- push {r4-r6,lr}
- mov r12, r0
- mov r4, r12
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r5, 0x5
- negs r5, r5
- ands r5, r0
- strb r5, [r4]
- mov r0, r12
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- adds r0, 0x28
- movs r2, 0
- ldrsb r2, [r0, r2]
- ldr r0, _080C7DA8
- adds r2, r1
- ldrh r0, [r0]
- adds r2, r0
- lsls r2, 16
- mov r3, r12
- ldrh r1, [r3, 0x26]
- ldrh r0, [r3, 0x22]
- adds r1, r0
- mov r0, r12
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldr r3, _080C7DAC
- adds r0, r1
- ldrh r3, [r3]
- adds r0, r3
- lsls r0, 16
- movs r3, 0x80
- lsls r3, 15
- adds r1, r2, r3
- lsrs r1, 16
- lsrs r6, r0, 16
- adds r0, r3
- lsrs r3, r0, 16
- asrs r2, 16
- cmp r2, 0xFF
- bgt _080C7D7A
- lsls r0, r1, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080C7D82
-_080C7D7A:
- movs r1, 0x4
- adds r0, r5, 0
- orrs r0, r1
- strb r0, [r4]
-_080C7D82:
- lsls r0, r6, 16
- asrs r0, 16
- cmp r0, 0xAF
- bgt _080C7D96
- lsls r0, r3, 16
- asrs r0, 16
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bge _080C7DA2
-_080C7D96:
- mov r0, r12
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080C7DA2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C7DA8: .4byte gSpriteCoordOffsetX
-_080C7DAC: .4byte gSpriteCoordOffsetY
- thumb_func_end sub_80C7D14
-
- thumb_func_start LoadRotatingGatePics
-LoadRotatingGatePics: @ 80C7DB0
- push {lr}
- ldr r0, _080C7DBC
- bl LoadSpriteSheets
- pop {r0}
- bx r0
- .align 2, 0
-_080C7DBC: .4byte gRotatingGatesGraphicsTable
- thumb_func_end LoadRotatingGatePics
-
- thumb_func_start sub_80C7DC0
-sub_80C7DC0: @ 80C7DC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r2, _080C7DF4
- ldrh r1, [r2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- adds r1, 0x11
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldrh r1, [r2, 0x2]
- subs r0, r1, 0x2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- adds r1, 0xE
- lsls r1, 16
- lsrs r7, r1, 16
- movs r6, 0
- b _080C7E66
- .align 2, 0
-_080C7DF4: .4byte gSaveBlock1
-_080C7DF8:
- ldr r0, _080C7E7C
- ldr r0, [r0]
- lsls r1, r6, 3
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1, 0x2]
- adds r0, 0x7
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r0, _080C7E80
- adds r0, r6, r0
- ldrb r0, [r0]
- cmp r0, 0x40
- beq _080C7E64
- lsls r0, r2, 16
- mov r2, r10
- lsls r1, r2, 16
- asrs r2, r0, 16
- cmp r0, r1
- blt _080C7E44
- mov r1, r9
- lsls r0, r1, 16
- asrs r0, 16
- cmp r2, r0
- bgt _080C7E44
- lsls r0, r3, 16
- mov r2, r8
- lsls r1, r2, 16
- asrs r2, r0, 16
- cmp r0, r1
- blt _080C7E44
- lsls r0, r7, 16
- asrs r0, 16
- cmp r2, r0
- ble _080C7E64
-_080C7E44:
- ldr r0, _080C7E80
- adds r5, r6, r0
- ldrb r0, [r5]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _080C7E84
- adds r4, r0
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- movs r0, 0x40
- strb r0, [r5]
-_080C7E64:
- adds r6, 0x1
-_080C7E66:
- ldr r0, _080C7E88
- ldrb r0, [r0]
- cmp r6, r0
- blt _080C7DF8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C7E7C: .4byte gUnknown_02038800
-_080C7E80: .4byte gUnknown_020387F0
-_080C7E84: .4byte gSprites
-_080C7E88: .4byte gUnknown_02038804
- thumb_func_end sub_80C7DC0
-
- thumb_func_start sub_80C7E8C
-sub_80C7E8C: @ 80C7E8C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r1, 0x1
- bne _080C7EAC
- ldr r0, _080C7EA8
- mov r10, r0
- b _080C7EB8
- .align 2, 0
-_080C7EA8: .4byte gUnknown_083D611C
-_080C7EAC:
- cmp r1, 0x2
- beq _080C7EB4
-_080C7EB0:
- movs r0, 0
- b _080C7F48
-_080C7EB4:
- ldr r1, _080C7F58
- mov r10, r1
-_080C7EB8:
- adds r0, r4, 0
- bl sub_80C7A08
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- ldr r0, _080C7F5C
- ldr r1, [r0]
- lsls r0, r4, 3
- adds r0, r1
- ldrb r2, [r0, 0x4]
- ldrh r1, [r0]
- adds r1, 0x7
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- movs r3, 0
- lsls r2, 3
- str r2, [sp, 0x4]
- lsls r1, 16
- asrs r1, 16
- mov r9, r1
- lsls r0, 16
- asrs r0, 16
- mov r8, r0
-_080C7EE8:
- movs r6, 0
- ldr r2, [sp]
- adds r7, r2, r3
- lsls r0, r3, 1
- adds r5, r7, 0
- ldr r1, [sp, 0x4]
- adds r0, r1
- ldr r2, _080C7F60
- adds r4, r0, r2
-_080C7EFA:
- adds r0, r5, 0
- cmp r5, 0
- bge _080C7F02
- adds r0, r7, 0x3
-_080C7F02:
- asrs r0, 2
- lsls r0, 2
- subs r0, r5, r0
- lsls r0, 1
- adds r0, r6
- lsls r0, 24
- lsrs r1, r0, 24
- ldrb r0, [r4]
- cmp r0, 0
- beq _080C7F38
- lsls r1, 2
- add r1, r10
- movs r0, 0
- ldrsb r0, [r1, r0]
- add r0, r9
- ldrb r1, [r1, 0x1]
- lsls r1, 24
- asrs r1, 24
- add r1, r8
- str r3, [sp, 0x8]
- bl MapGridIsImpassableAt
- lsls r0, 24
- lsrs r0, 24
- ldr r3, [sp, 0x8]
- cmp r0, 0x1
- beq _080C7EB0
-_080C7F38:
- adds r4, 0x1
- adds r6, 0x1
- cmp r6, 0x1
- ble _080C7EFA
- adds r3, 0x1
- cmp r3, 0x3
- ble _080C7EE8
- movs r0, 0x1
-_080C7F48:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080C7F58: .4byte gUnknown_083D60FC
-_080C7F5C: .4byte gUnknown_02038800
-_080C7F60: .4byte gUnknown_083D613C
- thumb_func_end sub_80C7E8C
-
- thumb_func_start sub_80C7F64
-sub_80C7F64: @ 80C7F64
- push {r4-r6,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r4, 24
- lsrs r5, r4, 24
- lsrs r4, 25
- movs r0, 0x1
- ands r5, r0
- adds r0, r6, 0
- bl sub_80C7A08
- subs r4, r0
- adds r1, r4, 0x4
- adds r0, r1, 0
- cmp r1, 0
- bge _080C7F8A
- adds r0, r4, 0x7
-_080C7F8A:
- asrs r0, 2
- lsls r0, 2
- subs r0, r1, r0
- ldr r1, _080C7FB0
- ldr r2, [r1]
- lsls r1, r6, 3
- adds r1, r2
- ldrb r1, [r1, 0x4]
- ldr r2, _080C7FB4
- lsls r0, 24
- asrs r0, 23
- adds r0, r5
- lsls r1, 3
- adds r0, r1
- adds r0, r2
- ldrb r0, [r0]
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080C7FB0: .4byte gUnknown_02038800
-_080C7FB4: .4byte gUnknown_083D613C
- thumb_func_end sub_80C7F64
-
- thumb_func_start sub_80C7FB8
-sub_80C7FB8: @ 80C7FB8
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _080C7FE4
- adds r2, r3, r0
- ldrb r0, [r2]
- cmp r0, 0x40
- beq _080C7FDC
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _080C7FE8
- adds r4, r0
- strh r1, [r4, 0x30]
- adds r0, r3, 0
- bl sub_80C7A08
- strh r0, [r4, 0x32]
-_080C7FDC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C7FE4: .4byte gUnknown_020387F0
-_080C7FE8: .4byte gSprites
- thumb_func_end sub_80C7FB8
-
- thumb_func_start sub_80C7FEC
-sub_80C7FEC: @ 80C7FEC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- cmp r0, 0x2
- bne _080C8008
- ldr r3, _080C8004
- b _080C802A
- .align 2, 0
-_080C8004: .4byte gUnknown_083D60BC
-_080C8008:
- cmp r0, 0x1
- bne _080C8014
- ldr r3, _080C8010
- b _080C802A
- .align 2, 0
-_080C8010: .4byte gUnknown_083D60CC
-_080C8014:
- cmp r0, 0x3
- bne _080C8020
- ldr r3, _080C801C
- b _080C802A
- .align 2, 0
-_080C801C: .4byte gUnknown_083D60DC
-_080C8020:
- cmp r3, 0x4
- beq _080C8028
- movs r0, 0xFF
- b _080C8038
-_080C8028:
- ldr r3, _080C803C
-_080C802A:
- lsls r0, r2, 16
- lsls r1, 16
- asrs r1, 16
- asrs r0, 14
- adds r0, r1
- adds r0, r3, r0
- ldrb r0, [r0]
-_080C8038:
- pop {r1}
- bx r1
- .align 2, 0
-_080C803C: .4byte gUnknown_083D60EC
- thumb_func_end sub_80C7FEC
-
- thumb_func_start sub_80C8040
-sub_80C8040: @ 80C8040
- push {lr}
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- beq _080C8052
- bl sub_80C7A80
- bl sub_80C79CC
-_080C8052:
- pop {r0}
- bx r0
- thumb_func_end sub_80C8040
-
- thumb_func_start RotatingGatePuzzleCameraUpdate
-RotatingGatePuzzleCameraUpdate: @ 80C8058
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- beq _080C807A
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- bl sub_80C7ADC
- bl sub_80C7DC0
-_080C807A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end RotatingGatePuzzleCameraUpdate
-
- thumb_func_start sub_80C8080
-sub_80C8080: @ 80C8080
- push {lr}
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- beq _080C809A
- bl LoadRotatingGatePics
- bl sub_80C7A80
- movs r0, 0
- movs r1, 0
- bl sub_80C7ADC
-_080C809A:
- pop {r0}
- bx r0
- thumb_func_end sub_80C8080
-
- thumb_func_start CheckForRotatingGatePuzzleCollision
-CheckForRotatingGatePuzzleCollision: @ 80C80A0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- bl GetCurrentMapRotatingGatePuzzleType
- cmp r0, 0
- bne _080C80D4
- b _080C8172
-_080C80C2:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80C7FB8
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80C7A44
- b _080C8172
-_080C80D4:
- movs r6, 0
- ldr r0, _080C8160
- ldrb r0, [r0]
- cmp r6, r0
- bge _080C8172
- lsls r0, r4, 16
- asrs r7, r0, 16
-_080C80E2:
- ldr r0, _080C8164
- ldr r1, [r0]
- lsls r0, r6, 3
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x7
- ldrh r0, [r0, 0x2]
- adds r0, 0x7
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r1, 16
- asrs r4, r1, 16
- subs r0, r4, 0x2
- cmp r0, r7
- bgt _080C8168
- adds r0, r4, 0x1
- cmp r7, r0
- bgt _080C8168
- lsls r0, r2, 16
- asrs r3, r0, 16
- subs r1, r3, 0x2
- mov r2, r8
- lsls r0, r2, 16
- asrs r2, r0, 16
- cmp r1, r2
- bgt _080C8168
- adds r0, r3, 0x1
- cmp r2, r0
- bgt _080C8168
- subs r1, r7, r4
- adds r1, 0x2
- subs r2, r3
- adds r2, 0x2
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- mov r0, r9
- bl sub_80C7FEC
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080C8168
- lsrs r5, r0, 4
- movs r1, 0xF
- ands r1, r0
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_80C7F64
- cmp r0, 0
- beq _080C8168
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80C7E8C
- cmp r0, 0
- bne _080C80C2
- movs r0, 0x1
- b _080C8174
- .align 2, 0
-_080C8160: .4byte gUnknown_02038804
-_080C8164: .4byte gUnknown_02038800
-_080C8168:
- adds r6, 0x1
- ldr r0, _080C8180
- ldrb r0, [r0]
- cmp r6, r0
- blt _080C80E2
-_080C8172:
- movs r0, 0
-_080C8174:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080C8180: .4byte gUnknown_02038804
- thumb_func_end CheckForRotatingGatePuzzleCollision
-
- thumb_func_start GetSafariZoneFlag
-GetSafariZoneFlag: @ 80C8184
- push {lr}
- ldr r0, _080C8194
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080C8194: .4byte 0x0000082c
- thumb_func_end GetSafariZoneFlag
-
- thumb_func_start SetSafariZoneFlag
-SetSafariZoneFlag: @ 80C8198
- push {lr}
- ldr r0, _080C81A4
- bl FlagSet
- pop {r0}
- bx r0
- .align 2, 0
-_080C81A4: .4byte 0x0000082c
- thumb_func_end SetSafariZoneFlag
-
- thumb_func_start ResetSafariZoneFlag
-ResetSafariZoneFlag: @ 80C81A8
- push {lr}
- ldr r0, _080C81B4
- bl FlagReset
- pop {r0}
- bx r0
- .align 2, 0
-_080C81B4: .4byte 0x0000082c
- thumb_func_end ResetSafariZoneFlag
-
- thumb_func_start sub_80C81B8
-sub_80C81B8: @ 80C81B8
- push {lr}
- movs r0, 0x11
- bl sav12_xor_increment
- bl SetSafariZoneFlag
- bl sub_80C82D8
- ldr r1, _080C81DC
- movs r0, 0x1E
- strb r0, [r1]
- ldr r1, _080C81E0
- movs r2, 0xFA
- lsls r2, 1
- adds r0, r2, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080C81DC: .4byte gUnknown_02038808
-_080C81E0: .4byte gUnknown_0203880A
- thumb_func_end sub_80C81B8
-
- thumb_func_start sub_80C81E4
-sub_80C81E4: @ 80C81E4
- push {lr}
- bl ResetSafariZoneFlag
- bl sub_80C82D8
- ldr r1, _080C8200
- movs r0, 0
- strb r0, [r1]
- ldr r1, _080C8204
- movs r0, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080C8200: .4byte gUnknown_02038808
-_080C8204: .4byte gUnknown_0203880A
- thumb_func_end sub_80C81E4
-
- thumb_func_start safari_step
-safari_step: @ 80C8208
- push {lr}
- bl GetSafariZoneFlag
- cmp r0, 0
- beq _080C8224
- bl sub_80C8508
- ldr r1, _080C8228
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- beq _080C822C
-_080C8224:
- movs r0, 0
- b _080C8234
- .align 2, 0
-_080C8228: .4byte gUnknown_0203880A
-_080C822C:
- ldr r0, _080C8238
- bl ScriptContext1_SetupScript
- movs r0, 0x1
-_080C8234:
- pop {r1}
- bx r1
- .align 2, 0
-_080C8238: .4byte gUnknown_081C3448
- thumb_func_end safari_step
-
- thumb_func_start sub_80C823C
-sub_80C823C: @ 80C823C
- push {lr}
- ldr r0, _080C8248
- bl ScriptContext1_SetupScript
- pop {r0}
- bx r0
- .align 2, 0
-_080C8248: .4byte gUnknown_081C342D
- thumb_func_end sub_80C823C
-
- thumb_func_start sub_80C824C
-sub_80C824C: @ 80C824C
- push {lr}
- ldr r0, _080C8260
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C8268
- ldr r0, _080C8264
- bl SetMainCallback2
- b _080C82B0
- .align 2, 0
-_080C8260: .4byte gUnknown_02038808
-_080C8264: .4byte c2_exit_to_overworld_2_switch
-_080C8268:
- ldr r0, _080C8288
- ldrb r0, [r0]
- cmp r0, 0x8
- bne _080C829C
- ldr r0, _080C828C
- bl ScriptContext2_RunNewScript
- bl warp_in
- ldr r1, _080C8290
- ldr r0, _080C8294
- str r0, [r1]
- ldr r0, _080C8298
- bl SetMainCallback2
- b _080C82B0
- .align 2, 0
-_080C8288: .4byte gUnknown_02024D26
-_080C828C: .4byte gUnknown_081C340A
-_080C8290: .4byte gUnknown_0300485C
-_080C8294: .4byte sub_8080E44
-_080C8298: .4byte CB2_LoadMap
-_080C829C:
- cmp r0, 0x7
- bne _080C82B0
- ldr r0, _080C82B4
- bl ScriptContext1_SetupScript
- bl ScriptContext1_Stop
- ldr r0, _080C82B8
- bl SetMainCallback2
-_080C82B0:
- pop {r0}
- bx r0
- .align 2, 0
-_080C82B4: .4byte gUnknown_081C3459
-_080C82B8: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music
- thumb_func_end sub_80C824C
-
- thumb_func_start sub_80C82BC
-sub_80C82BC: @ 80C82BC
- push {lr}
- lsls r0, 24
- lsrs r0, 20
- ldr r1, _080C82D4
- adds r0, r1
- movs r1, 0
- movs r2, 0x10
- bl memset
- pop {r0}
- bx r0
- .align 2, 0
-_080C82D4: .4byte gUnknown_0203880C
- thumb_func_end sub_80C82BC
-
- thumb_func_start sub_80C82D8
-sub_80C82D8: @ 80C82D8
- push {lr}
- ldr r0, _080C82E8
- movs r1, 0
- movs r2, 0xA0
- bl memset
- pop {r0}
- bx r0
- .align 2, 0
-_080C82E8: .4byte gUnknown_0203880C
- thumb_func_end sub_80C82D8
-
- thumb_func_start sub_80C82EC
-sub_80C82EC: @ 80C82EC
- push {r4-r6,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- movs r3, 0
- adds r5, r4, 0
- ldr r4, _080C8344
-_080C8302:
- ldr r1, _080C8348
- lsls r0, r3, 4
- adds r2, r0, r1
- movs r1, 0x5
- ldrsb r1, [r4, r1]
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- cmp r1, r0
- bne _080C8358
- mov r0, sp
- movs r6, 0
- ldrsh r1, [r2, r6]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r1, r0
- bne _080C8358
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- movs r6, 0
- ldrsh r0, [r5, r6]
- cmp r1, r0
- bne _080C8358
- ldr r0, _080C834C
- strh r3, [r0]
- ldr r1, _080C8350
- ldrb r0, [r2, 0x8]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- ldr r0, _080C8354
- bl StringCopy
- b _080C836A
- .align 2, 0
-_080C8344: .4byte gSaveBlock1
-_080C8348: .4byte gUnknown_0203880C
-_080C834C: .4byte gScriptResult
-_080C8350: .4byte gUnknown_083F7EB8
-_080C8354: .4byte gStringVar1
-_080C8358:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x9
- bls _080C8302
- ldr r1, _080C8374
- ldr r2, _080C8378
- adds r0, r2, 0
- strh r0, [r1]
-_080C836A:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8374: .4byte gScriptResult
-_080C8378: .4byte 0x0000ffff
- thumb_func_end sub_80C82EC
-
- thumb_func_start sub_80C837C
-sub_80C837C: @ 80C837C
- push {r4-r7,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- movs r5, 0
- adds r6, r4, 0
- ldr r0, _080C83E8
- movs r7, 0x5
- ldrsb r7, [r0, r7]
- mov r4, sp
- ldr r0, _080C83EC
- mov r12, r0
-_080C839C:
- lsls r0, r5, 4
- mov r1, r12
- adds r2, r0, r1
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- cmp r7, r0
- bne _080C83F4
- ldrh r0, [r4]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4]
- adds r3, r6, 0
- ldrh r0, [r3]
- ldrh r1, [r2, 0x2]
- subs r0, r1
- strh r0, [r3]
- movs r2, 0
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bge _080C83C8
- negs r0, r0
- strh r0, [r4]
-_080C83C8:
- movs r2, 0
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bge _080C83D4
- negs r0, r0
- strh r0, [r3]
-_080C83D4:
- movs r2, 0
- ldrsh r0, [r4, r2]
- movs r2, 0
- ldrsh r1, [r6, r2]
- adds r0, r1
- cmp r0, 0x5
- bgt _080C83F4
- ldr r0, _080C83F0
- strh r5, [r0]
- b _080C8406
- .align 2, 0
-_080C83E8: .4byte gSaveBlock1
-_080C83EC: .4byte gUnknown_0203880C
-_080C83F0: .4byte gScriptResult
-_080C83F4:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _080C839C
- ldr r1, _080C8410
- ldr r2, _080C8414
- adds r0, r2, 0
- strh r0, [r1]
-_080C8406:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8410: .4byte gScriptResult
-_080C8414: .4byte 0x0000ffff
- thumb_func_end sub_80C837C
-
- thumb_func_start unref_sub_80C8418
-unref_sub_80C8418: @ 80C8418
- push {lr}
- bl sub_80C82EC
- ldr r2, _080C8434
- ldrh r1, [r2]
- ldr r0, _080C8438
- cmp r1, r0
- beq _080C8440
- adds r0, r1, 0
- lsls r0, 4
- ldr r1, _080C843C
- adds r0, r1
- b _080C8442
- .align 2, 0
-_080C8434: .4byte gScriptResult
-_080C8438: .4byte 0x0000ffff
-_080C843C: .4byte gUnknown_02038814
-_080C8440:
- movs r0, 0
-_080C8442:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80C8418
-
- thumb_func_start sub_80C8448
-sub_80C8448: @ 80C8448
- push {lr}
- bl sub_80C837C
- ldr r2, _080C8464
- ldrh r1, [r2]
- ldr r0, _080C8468
- cmp r1, r0
- beq _080C8470
- adds r0, r1, 0
- lsls r0, 4
- ldr r1, _080C846C
- adds r0, r1
- b _080C8472
- .align 2, 0
-_080C8464: .4byte gScriptResult
-_080C8468: .4byte 0x0000ffff
-_080C846C: .4byte gUnknown_02038814
-_080C8470:
- movs r0, 0
-_080C8472:
- pop {r1}
- bx r1
- thumb_func_end sub_80C8448
-
- thumb_func_start sub_80C8478
-sub_80C8478: @ 80C8478
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- movs r2, 0
- ldr r3, _080C84E8
- mov r6, sp
- adds r6, 0x2
- ldr r7, _080C84EC
- movs r1, 0x8
- adds r1, r3
- mov r9, r1
- movs r4, 0xFF
- lsls r4, 3
- adds r1, r7, r4
- lsrs r0, 21
- adds r0, r1
- mov r8, r0
-_080C84A0:
- lsls r5, r2, 4
- adds r4, r5, r3
- movs r0, 0x4
- ldrsb r0, [r4, r0]
- cmp r0, 0
- bne _080C84F0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080C84F0
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080C84F0
- mov r0, sp
- adds r1, r6, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- ldrb r0, [r7, 0x5]
- strb r0, [r4, 0x4]
- mov r3, r9
- adds r2, r5, r3
- mov r3, r8
- ldr r0, [r3]
- ldr r1, [r3, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0x64
- strb r0, [r4, 0x5]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4]
- ldrh r0, [r6]
- strh r0, [r4, 0x2]
- b _080C84FA
- .align 2, 0
-_080C84E8: .4byte gUnknown_0203880C
-_080C84EC: .4byte gSaveBlock1
-_080C84F0:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x9
- bls _080C84A0
-_080C84FA:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C8478
-
- thumb_func_start sub_80C8508
-sub_80C8508: @ 80C8508
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080C8538
-_080C850E:
- lsls r0, r4, 4
- adds r1, r0, r5
- ldrb r0, [r1, 0x5]
- cmp r0, 0
- beq _080C8528
- subs r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- cmp r0, 0
- bne _080C8528
- adds r0, r4, 0
- bl sub_80C82BC
-_080C8528:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x9
- bls _080C850E
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8538: .4byte gUnknown_0203880C
- thumb_func_end sub_80C8508
-
- thumb_func_start unref_sub_80C853C
-unref_sub_80C853C: @ 80C853C
- push {lr}
- bl sub_80C82EC
- ldr r3, _080C8564
- ldrh r1, [r3]
- ldr r0, _080C8568
- cmp r1, r0
- beq _080C8574
- ldr r0, _080C856C
- ldr r2, _080C8570
- lsls r1, 4
- adds r1, r2
- ldrb r1, [r1, 0x5]
- movs r2, 0x2
- movs r3, 0x3
- bl ConvertIntToDecimalStringN
- movs r0, 0x1
- b _080C8576
- .align 2, 0
-_080C8564: .4byte gScriptResult
-_080C8568: .4byte 0x0000ffff
-_080C856C: .4byte gStringVar2
-_080C8570: .4byte gUnknown_0203880C
-_080C8574:
- movs r0, 0
-_080C8576:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80C853C
-
- thumb_func_start sub_80C857C
-sub_80C857C: @ 80C857C
- push {r4,r5,lr}
- adds r2, r0, 0
- lsls r4, r1, 16
- lsrs r4, 16
- ldr r5, _080C85A8
- adds r0, r5, 0
- adds r1, r2, 0
- adds r2, r4, 0
- bl memcpy
- bl bitmask_all_link_players_but_self
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- adds r2, r4, 0
- bl SendBlock
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C85A8: .4byte 0x0201e000
- thumb_func_end sub_80C857C
-
- thumb_func_start sub_80C85AC
-sub_80C85AC: @ 80C85AC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 17
- lsls r1, r0
- lsrs r4, r1, 24
- bl GetBlockRecievedStatus
- adds r1, r4, 0
- ands r1, r0
- cmp r1, 0
- beq _080C85D0
- adds r0, r4, 0
- bl ResetBlockReceivedFlag
- movs r0, 0x1
- b _080C85D2
-_080C85D0:
- movs r0, 0
-_080C85D2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C85AC
-
- thumb_func_start sub_80C85D8
-sub_80C85D8: @ 80C85D8
- push {r4,lr}
- movs r4, 0
-_080C85DC:
- bl GetBlockRecievedStatus
- lsls r0, 24
- lsrs r0, 24
- asrs r0, r4
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080C85F2
- movs r0, 0
- b _080C85FE
-_080C85F2:
- adds r4, 0x1
- cmp r4, 0x3
- ble _080C85DC
- bl ResetBlockReceivedFlags
- movs r0, 0x1
-_080C85FE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80C85D8
-
- thumb_func_start sub_80C8604
-sub_80C8604: @ 80C8604
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r5, _080C8638
- ldr r6, _080C863C
- ldr r4, _080C8640
- movs r3, 0xFF
-_080C8614:
- lsls r0, r1, 8
- adds r0, r4
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080C8614
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r5
- movs r1, 0
- strh r1, [r0, 0x8]
- str r6, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8638: .4byte gTasks
-_080C863C: .4byte sub_80C8644
-_080C8640: .4byte gBlockRecvBuffer
- thumb_func_end sub_80C8604
-
- thumb_func_start sub_80C8644
-sub_80C8644: @ 80C8644
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C8658
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080C865C
- str r0, [r1]
- bx lr
- .align 2, 0
-_080C8658: .4byte gTasks
-_080C865C: .4byte sub_80C8660
- thumb_func_end sub_80C8644
-
- thumb_func_start sub_80C8660
-sub_80C8660: @ 80C8660
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C8694
- ldrb r0, [r0]
- cmp r0, 0
- beq _080C868E
- bl GetMultiplayerId
- ldr r1, _080C8698
- strb r0, [r1]
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080C868E
- ldr r1, _080C869C
- movs r0, 0x1
- strb r0, [r1]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_080C868E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8694: .4byte gReceivedRemoteLinkPlayers
-_080C8698: .4byte gUnknown_02038695
-_080C869C: .4byte gUnknown_0203869A
- thumb_func_end sub_80C8660
-
- thumb_func_start sub_80C86A0
-sub_80C86A0: @ 80C86A0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r5, 0x2
- ldrb r0, [r4]
- cmp r0, 0xFC
- bne _080C86B6
- ldrb r0, [r4, 0x1]
- cmp r0, 0x15
- bne _080C86B6
- movs r0, 0x2
- b _080C872C
-_080C86B6:
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x5
- bhi _080C872A
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080C872A
-_080C86CA:
- ldrb r1, [r4]
- adds r0, r1, 0
- adds r0, 0x45
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x33
- bls _080C871E
- adds r0, r1, 0
- adds r0, 0x5F
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x9
- bls _080C871E
- adds r0, r1, 0
- cmp r0, 0
- beq _080C871E
- cmp r0, 0xAD
- beq _080C871E
- cmp r0, 0xB8
- beq _080C871E
- cmp r0, 0xAB
- beq _080C871E
- cmp r0, 0xAC
- beq _080C871E
- cmp r0, 0xB5
- beq _080C871E
- cmp r0, 0xB6
- beq _080C871E
- cmp r0, 0xBA
- beq _080C871E
- cmp r0, 0xAE
- beq _080C871E
- cmp r0, 0xB0
- beq _080C871E
- cmp r0, 0xB1
- beq _080C871E
- cmp r0, 0xB2
- beq _080C871E
- cmp r0, 0xB3
- beq _080C871E
- cmp r0, 0xB1
- bne _080C8728
-_080C871E:
- adds r4, 0x1
- ldrb r0, [r4]
- cmp r0, 0xFF
- bne _080C86CA
- b _080C872A
-_080C8728:
- movs r5, 0x1
-_080C872A:
- adds r0, r5, 0
-_080C872C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C86A0
-
- thumb_func_start sub_80C8734
-sub_80C8734: @ 80C8734
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r1, _080C8768
- lsls r5, r0, 2
- adds r0, r5, r0
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C876C
- cmp r0, 0x1
- beq _080C87D0
- movs r0, 0
- strh r0, [r4, 0x8]
- mov r0, r9
- bl SwitchTaskToFollowupFunc
- b _080C8896
- .align 2, 0
-_080C8768: .4byte gTasks
-_080C876C:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080C87A8
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _080C8782
- b _080C8896
-_080C8782:
- ldr r0, _080C879C
- ldr r1, _080C87A0
- ldrb r1, [r1]
- lsls r1, 6
- ldr r2, _080C87A4
- adds r1, r2
- movs r2, 0x40
- bl memcpy
- movs r0, 0x2
- bl sub_8007E9C
- b _080C87BA
- .align 2, 0
-_080C879C: .4byte gBlockSendBuffer
-_080C87A0: .4byte gUnknown_02038695
-_080C87A4: .4byte gUnknown_02038570
-_080C87A8:
- ldr r0, _080C87C4
- ldr r1, _080C87C8
- ldrb r1, [r1]
- lsls r1, 6
- ldr r2, _080C87CC
- adds r1, r2
- movs r2, 0x40
- bl memcpy
-_080C87BA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C8896
- .align 2, 0
-_080C87C4: .4byte gBlockSendBuffer
-_080C87C8: .4byte gUnknown_02038695
-_080C87CC: .4byte gUnknown_02038570
-_080C87D0:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8896
- movs r7, 0
- str r5, [sp]
- ldr r0, _080C8818
- ldr r6, _080C881C
- movs r5, 0
- mov r10, r0
- movs r2, 0xFF
- mov r8, r2
-_080C87EA:
- lsls r1, r7, 8
- ldr r0, _080C8820
- adds r1, r0
- mov r0, r10
- movs r2, 0x40
- bl memcpy
- ldr r0, _080C8824
- adds r4, r5, r0
- ldrh r0, [r6, 0x1A]
- cmp r0, 0x1
- bne _080C8828
- adds r0, r4, 0
- bl sub_80C86A0
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl ConvertInternationalString
- b _080C883E
- .align 2, 0
-_080C8818: .4byte gUnknown_02038570
-_080C881C: .4byte gLinkPlayers
-_080C8820: .4byte gBlockRecvBuffer
-_080C8824: .4byte gUnknown_02038572
-_080C8828:
- ldrb r0, [r4, 0xA]
- cmp r0, 0xFC
- bne _080C8838
- adds r0, r4, 0
- movs r1, 0x1
- bl ConvertInternationalString
- b _080C883E
-_080C8838:
- strb r0, [r4, 0x5]
- mov r1, r8
- strb r1, [r4, 0xA]
-_080C883E:
- ldr r0, _080C886C
- adds r4, r5, r0
- ldrh r0, [r6, 0x1A]
- cmp r0, 0x1
- bne _080C8870
- mov r2, r8
- strb r2, [r4, 0x7]
- ldrb r0, [r4, 0x4]
- strb r0, [r4, 0x6]
- ldrb r0, [r4, 0x3]
- strb r0, [r4, 0x5]
- ldrb r0, [r4, 0x2]
- strb r0, [r4, 0x4]
- ldrb r0, [r4, 0x1]
- strb r0, [r4, 0x3]
- ldrb r0, [r4]
- strb r0, [r4, 0x2]
- movs r0, 0x15
- strb r0, [r4, 0x1]
- movs r0, 0xFC
- strb r0, [r4]
- b _080C8878
- .align 2, 0
-_080C886C: .4byte gUnknown_0203857D
-_080C8870:
- ldrb r0, [r4, 0x7]
- strb r0, [r4, 0x5]
- mov r0, r8
- strb r0, [r4, 0x7]
-_080C8878:
- adds r6, 0x1C
- adds r5, 0x40
- movs r1, 0x40
- add r10, r1
- adds r7, 0x1
- cmp r7, 0x3
- ble _080C87EA
- ldr r0, _080C88A8
- ldr r1, [sp]
- add r1, r9
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_080C8896:
- 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
-_080C88A8: .4byte gTasks
- thumb_func_end sub_80C8734
-
- thumb_func_start sub_80C88AC
-sub_80C88AC: @ 80C88AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C88D4
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080C88D8
- cmp r0, 0x1
- beq _080C88FC
- movs r0, 0
- strh r0, [r5, 0x8]
- adds r0, r2, 0
- bl SwitchTaskToFollowupFunc
- b _080C8924
- .align 2, 0
-_080C88D4: .4byte gTasks
-_080C88D8:
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080C891E
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8924
- ldr r0, _080C88F8
- movs r1, 0x4
- bl sub_80C857C
- b _080C891E
- .align 2, 0
-_080C88F8: .4byte gRngValue
-_080C88FC:
- movs r0, 0
- bl sub_80C85AC
- lsls r0, 24
- cmp r0, 0
- beq _080C8924
- ldr r0, _080C892C
- ldr r4, _080C8930
- adds r1, r4, 0
- movs r2, 0x4
- bl memcpy
- ldr r0, _080C8934
- adds r1, r4, 0
- movs r2, 0x4
- bl memcpy
-_080C891E:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_080C8924:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C892C: .4byte gRngValue
-_080C8930: .4byte gBlockRecvBuffer
-_080C8934: .4byte gUnknown_03005D28
- thumb_func_end sub_80C88AC
-
- thumb_func_start sub_80C8938
-sub_80C8938: @ 80C8938
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080C8968
- mov r8, r0
- lsls r6, r5, 2
- adds r0, r6, r5
- lsls r7, r0, 3
- mov r1, r8
- adds r4, r7, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C896C
- cmp r0, 0x1
- beq _080C8998
- movs r0, 0
- strh r0, [r4, 0x8]
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
- b _080C89CE
- .align 2, 0
-_080C8968: .4byte gTasks
-_080C896C:
- ldr r1, _080C8994
- ldrh r0, [r4, 0x1A]
- strb r0, [r1]
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080C898C
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C89CE
- movs r0, 0x2
- bl sub_8007E9C
-_080C898C:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C89CE
- .align 2, 0
-_080C8994: .4byte gBlockSendBuffer
-_080C8998:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C89CE
- movs r3, 0
- mov r12, r8
- adds r1, r6, 0
- ldr r4, _080C89D8
- mov r0, r12
- adds r0, 0xA
- adds r2, r7, r0
- movs r6, 0x80
- lsls r6, 1
-_080C89B4:
- ldrh r0, [r4]
- strh r0, [r2]
- adds r4, r6
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _080C89B4
- adds r1, r5
- lsls r1, 3
- add r1, r12
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_080C89CE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C89D8: .4byte gBlockRecvBuffer
- thumb_func_end sub_80C8938
-
- thumb_func_start sub_80C89DC
-sub_80C89DC: @ 80C89DC
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C8A04
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C8A08
- cmp r0, 0x1
- beq _080C8A20
- movs r0, 0
- strh r0, [r4, 0x8]
- adds r0, r2, 0
- bl SwitchTaskToFollowupFunc
- b _080C8A30
- .align 2, 0
-_080C8A04: .4byte gTasks
-_080C8A08:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8A30
- ldr r0, _080C8A1C
- movs r1, 0x1
- bl sub_80C857C
- b _080C8A2A
- .align 2, 0
-_080C8A1C: .4byte gUnknown_02038695
-_080C8A20:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8A30
-_080C8A2A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080C8A30:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C89DC
-
- thumb_func_start sub_80C8A38
-sub_80C8A38: @ 80C8A38
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r7, _080C8A60
- lsls r6, r5, 2
- adds r0, r6, r5
- lsls r0, 3
- adds r4, r0, r7
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C8A64
- cmp r0, 0x1
- beq _080C8A94
- movs r0, 0
- strh r0, [r4, 0x8]
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
- b _080C8AC2
- .align 2, 0
-_080C8A60: .4byte gTasks
-_080C8A64:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8AC2
- ldr r0, _080C8A8C
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- ldr r1, _080C8A90
- adds r0, r1
- movs r1, 0x2
- bl sub_80C857C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C8AC2
- .align 2, 0
-_080C8A8C: .4byte gUnknown_02038695
-_080C8A90: .4byte 0x02019266
-_080C8A94:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8AC2
- ldr r1, _080C8AC8
- ldr r3, _080C8ACC
- movs r4, 0x80
- lsls r4, 1
- movs r2, 0x3
-_080C8AA8:
- ldrh r0, [r1]
- strh r0, [r3]
- adds r1, r4
- adds r3, 0x1C
- subs r2, 0x1
- cmp r2, 0
- bge _080C8AA8
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r7
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_080C8AC2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8AC8: .4byte gBlockRecvBuffer
-_080C8ACC: .4byte 0x02019266
- thumb_func_end sub_80C8A38
-
- thumb_func_start sub_80C8AD0
-sub_80C8AD0: @ 80C8AD0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080C8AF8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- adds r3, r1, 0
- cmp r0, 0xB
- bls _080C8AEC
- b _080C8C70
-_080C8AEC:
- lsls r0, 2
- ldr r1, _080C8AFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C8AF8: .4byte gTasks
-_080C8AFC: .4byte _080C8B00
- .align 2, 0
-_080C8B00:
- .4byte _080C8B30
- .4byte _080C8B4C
- .4byte _080C8B74
- .4byte _080C8B98
- .4byte _080C8BB0
- .4byte _080C8B74
- .4byte _080C8BD8
- .4byte _080C8BF0
- .4byte _080C8B74
- .4byte _080C8C18
- .4byte _080C8C30
- .4byte _080C8B74
-_080C8B30:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _080C8B3C
- b _080C8C7A
-_080C8B3C:
- ldr r0, _080C8B48
- movs r1, 0x8
- bl sub_80C857C
- b _080C8C4C
- .align 2, 0
-_080C8B48: .4byte gUnknown_02038678
-_080C8B4C:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- bne _080C8B58
- b _080C8C7A
-_080C8B58:
- ldr r0, _080C8B68
- ldr r1, _080C8B6C
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8B70
- adds r1, r2
- movs r2, 0x8
- b _080C8C48
- .align 2, 0
-_080C8B68: .4byte gUnknown_02038678
-_080C8B6C: .4byte gUnknown_0203869B
-_080C8B70: .4byte gBlockRecvBuffer
-_080C8B74:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r3
- ldrh r0, [r2, 0xA]
- adds r1, r0, 0x1
- strh r1, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bgt _080C8B8C
- b _080C8C7A
-_080C8B8C:
- movs r0, 0
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _080C8C7A
-_080C8B98:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8C7A
- ldr r0, _080C8BAC
- movs r1, 0x8
- bl sub_80C857C
- b _080C8C4C
- .align 2, 0
-_080C8BAC: .4byte gUnknown_02038680
-_080C8BB0:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8C7A
- ldr r0, _080C8BCC
- ldr r1, _080C8BD0
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8BD4
- adds r1, r2
- movs r2, 0x8
- b _080C8C48
- .align 2, 0
-_080C8BCC: .4byte gUnknown_02038680
-_080C8BD0: .4byte gUnknown_0203869B
-_080C8BD4: .4byte gBlockRecvBuffer
-_080C8BD8:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8C7A
- ldr r0, _080C8BEC
- movs r1, 0x8
- bl sub_80C857C
- b _080C8C4C
- .align 2, 0
-_080C8BEC: .4byte gUnknown_02038688
-_080C8BF0:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8C7A
- ldr r0, _080C8C0C
- ldr r1, _080C8C10
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8C14
- adds r1, r2
- movs r2, 0x8
- b _080C8C48
- .align 2, 0
-_080C8C0C: .4byte gUnknown_02038688
-_080C8C10: .4byte gUnknown_0203869B
-_080C8C14: .4byte gBlockRecvBuffer
-_080C8C18:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8C7A
- ldr r0, _080C8C2C
- movs r1, 0x4
- bl sub_80C857C
- b _080C8C4C
- .align 2, 0
-_080C8C2C: .4byte gUnknown_02038690
-_080C8C30:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8C7A
- ldr r0, _080C8C60
- ldr r1, _080C8C64
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8C68
- adds r1, r2
- movs r2, 0x4
-_080C8C48:
- bl memcpy
-_080C8C4C:
- ldr r1, _080C8C6C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080C8C7A
- .align 2, 0
-_080C8C60: .4byte gUnknown_02038690
-_080C8C64: .4byte gUnknown_0203869B
-_080C8C68: .4byte gBlockRecvBuffer
-_080C8C6C: .4byte gTasks
-_080C8C70:
- movs r0, 0
- strh r0, [r2, 0x8]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_080C8C7A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C8AD0
-
- thumb_func_start sub_80C8C80
-sub_80C8C80: @ 80C8C80
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080C8CA8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- adds r3, r1, 0
- cmp r0, 0xB
- bls _080C8C9C
- b _080C8E0C
-_080C8C9C:
- lsls r0, 2
- ldr r1, _080C8CAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080C8CA8: .4byte gTasks
-_080C8CAC: .4byte _080C8CB0
- .align 2, 0
-_080C8CB0:
- .4byte _080C8CE0
- .4byte _080C8CFC
- .4byte _080C8D24
- .4byte _080C8D46
- .4byte _080C8D60
- .4byte _080C8D24
- .4byte _080C8D88
- .4byte _080C8DA0
- .4byte _080C8D24
- .4byte _080C8DB4
- .4byte _080C8DCC
- .4byte _080C8D24
-_080C8CE0:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- bne _080C8CEC
- b _080C8E16
-_080C8CEC:
- ldr r0, _080C8CF8
- movs r1, 0x70
- bl sub_80C857C
- b _080C8DE8
- .align 2, 0
-_080C8CF8: .4byte 0x02019260
-_080C8CFC:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- bne _080C8D08
- b _080C8E16
-_080C8D08:
- ldr r0, _080C8D18
- ldr r1, _080C8D1C
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8D20
- adds r1, r2
- movs r2, 0x70
- b _080C8DE4
- .align 2, 0
-_080C8D18: .4byte 0x02019260
-_080C8D1C: .4byte gUnknown_0203869B
-_080C8D20: .4byte gBlockRecvBuffer
-_080C8D24:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r3
- ldrh r0, [r2, 0xA]
- adds r1, r0, 0x1
- strh r1, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- ble _080C8E16
- movs r0, 0
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _080C8E16
-_080C8D46:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8E16
- ldr r0, _080C8D5C
- movs r1, 0x14
- bl sub_80C857C
- b _080C8DE8
- .align 2, 0
-_080C8D5C: .4byte 0x020192d0
-_080C8D60:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8E16
- ldr r0, _080C8D7C
- ldr r1, _080C8D80
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8D84
- adds r1, r2
- movs r2, 0x14
- b _080C8DE4
- .align 2, 0
-_080C8D7C: .4byte 0x020192d0
-_080C8D80: .4byte gUnknown_0203869B
-_080C8D84: .4byte gBlockRecvBuffer
-_080C8D88:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8E16
- ldr r0, _080C8D9C
- movs r1, 0x4
- bl sub_80C857C
- b _080C8DE8
- .align 2, 0
-_080C8D9C: .4byte 0x02019328
-_080C8DA0:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8E16
- ldr r0, _080C8DB0
- b _080C8DD8
- .align 2, 0
-_080C8DB0: .4byte 0x02019328
-_080C8DB4:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8E16
- ldr r0, _080C8DC8
- movs r1, 0x4
- bl sub_80C857C
- b _080C8DE8
- .align 2, 0
-_080C8DC8: .4byte gUnknown_02038696
-_080C8DCC:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8E16
- ldr r0, _080C8DFC
-_080C8DD8:
- ldr r1, _080C8E00
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8E04
- adds r1, r2
- movs r2, 0x4
-_080C8DE4:
- bl memcpy
-_080C8DE8:
- ldr r1, _080C8E08
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080C8E16
- .align 2, 0
-_080C8DFC: .4byte gUnknown_02038696
-_080C8E00: .4byte gUnknown_0203869B
-_080C8E04: .4byte gBlockRecvBuffer
-_080C8E08: .4byte gTasks
-_080C8E0C:
- movs r0, 0
- strh r0, [r2, 0x8]
- adds r0, r4, 0
- bl SwitchTaskToFollowupFunc
-_080C8E16:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C8C80
-
- thumb_func_start sub_80C8E1C
-sub_80C8E1C: @ 80C8E1C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080C8E4C
- mov r8, r0
- lsls r6, r5, 2
- adds r0, r6, r5
- lsls r7, r0, 3
- mov r1, r8
- adds r4, r7, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C8E50
- cmp r0, 0x1
- beq _080C8E7C
- movs r0, 0
- strh r0, [r4, 0x8]
- adds r0, r5, 0
- bl SwitchTaskToFollowupFunc
- b _080C8EAE
- .align 2, 0
-_080C8E4C: .4byte gTasks
-_080C8E50:
- ldr r1, _080C8E78
- movs r0, 0x64
- strb r0, [r1]
- bl GetMultiplayerId
- lsls r0, 24
- cmp r0, 0
- bne _080C8E70
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8EAE
- movs r0, 0x2
- bl sub_8007E9C
-_080C8E70:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080C8EAE
- .align 2, 0
-_080C8E78: .4byte gBlockSendBuffer
-_080C8E7C:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8EAE
- ldr r1, _080C8EB8
- mov r0, r8
- adds r0, 0x12
- adds r2, r7, r0
- movs r4, 0x80
- lsls r4, 1
- movs r3, 0x3
-_080C8E94:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, r4
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080C8E94
- adds r1, r6, r5
- lsls r1, 3
- add r1, r8
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_080C8EAE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8EB8: .4byte gBlockRecvBuffer
- thumb_func_end sub_80C8E1C
-
- thumb_func_start sub_80C8EBC
-sub_80C8EBC: @ 80C8EBC
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C8EE4
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C8EE8
- cmp r0, 0x1
- beq _080C8F00
- movs r0, 0
- strh r0, [r4, 0x8]
- adds r0, r2, 0
- bl SwitchTaskToFollowupFunc
- b _080C8F22
- .align 2, 0
-_080C8EE4: .4byte gTasks
-_080C8EE8:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8F22
- ldr r0, _080C8EFC
- movs r1, 0x8
- bl sub_80C857C
- b _080C8F1C
- .align 2, 0
-_080C8EFC: .4byte gUnknown_02038670
-_080C8F00:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8F22
- ldr r0, _080C8F28
- ldr r1, _080C8F2C
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8F30
- adds r1, r2
- movs r2, 0x8
- bl memcpy
-_080C8F1C:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080C8F22:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8F28: .4byte gUnknown_02038670
-_080C8F2C: .4byte gUnknown_0203869B
-_080C8F30: .4byte gBlockRecvBuffer
- thumb_func_end sub_80C8EBC
-
- thumb_func_start sub_80C8F34
-sub_80C8F34: @ 80C8F34
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C8F5C
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080C8F60
- cmp r0, 0x1
- beq _080C8F78
- movs r0, 0
- strh r0, [r4, 0x8]
- adds r0, r2, 0
- bl SwitchTaskToFollowupFunc
- b _080C8F9A
- .align 2, 0
-_080C8F5C: .4byte gTasks
-_080C8F60:
- bl sub_8007ECC
- lsls r0, 24
- cmp r0, 0
- beq _080C8F9A
- ldr r0, _080C8F74
- movs r1, 0x4
- bl sub_80C857C
- b _080C8F94
- .align 2, 0
-_080C8F74: .4byte gUnknown_02038696
-_080C8F78:
- bl sub_80C85D8
- lsls r0, 24
- cmp r0, 0
- beq _080C8F9A
- ldr r0, _080C8FA0
- ldr r1, _080C8FA4
- ldrb r1, [r1]
- lsls r1, 8
- ldr r2, _080C8FA8
- adds r1, r2
- movs r2, 0x4
- bl memcpy
-_080C8F94:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080C8F9A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C8FA0: .4byte gUnknown_02038696
-_080C8FA4: .4byte gUnknown_0203869B
-_080C8FA8: .4byte gBlockRecvBuffer
- thumb_func_end sub_80C8F34
-
- thumb_func_start sub_80C8FAC
-sub_80C8FAC: @ 80C8FAC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080C8FD0
- ldrh r0, [r1]
- cmp r0, 0xAF
- bne _080C8FD8
- ldr r1, _080C8FD4
- lsls r2, r4, 2
- adds r0, r2, r4
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x26]
- subs r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- b _080C8FE6
- .align 2, 0
-_080C8FD0: .4byte word_203855E
-_080C8FD4: .4byte gTasks
-_080C8FD8:
- ldrh r0, [r1]
- bl itemid_get_type
- subs r0, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r2, r4, 2
-_080C8FE6:
- ldr r0, _080C9008
- adds r1, r2, r4
- lsls r1, 3
- adds r1, r0
- ldr r2, _080C900C
- lsls r0, r3, 2
- adds r0, r2
- ldr r2, [r0]
- lsrs r0, r2, 16
- strh r0, [r1, 0x18]
- strh r2, [r1, 0x1A]
- ldr r0, _080C9010
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9008: .4byte gTasks
-_080C900C: .4byte gUnknown_083D61E4
-_080C9010: .4byte sub_80A5B00
- thumb_func_end sub_80C8FAC
-
- thumb_func_start unknown_ItemMenu_Confirm
-unknown_ItemMenu_Confirm: @ 80C9014
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C8FAC
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- thumb_func_end unknown_ItemMenu_Confirm
-
- thumb_func_start sub_80C9038
-sub_80C9038: @ 80C9038
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80C8FAC
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- pop {r0}
- bx r0
- thumb_func_end sub_80C9038
-
- thumb_func_start SetUpItemUseOnFieldCallback
-SetUpItemUseOnFieldCallback: @ 80C9050
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080C9078
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _080C9084
- ldr r1, _080C907C
- ldr r0, _080C9080
- str r0, [r1]
- adds r0, r2, 0
- bl unknown_ItemMenu_Confirm
- b _080C908E
- .align 2, 0
-_080C9078: .4byte gTasks
-_080C907C: .4byte gUnknown_0300485C
-_080C9080: .4byte sub_80A5CC4
-_080C9084:
- ldr r0, _080C9094
- ldr r1, [r0]
- adds r0, r2, 0
- bl _call_via_r1
-_080C908E:
- pop {r0}
- bx r0
- .align 2, 0
-_080C9094: .4byte gUnknown_03005D00
- thumb_func_end SetUpItemUseOnFieldCallback
-
- thumb_func_start sub_80C9098
-sub_80C9098: @ 80C9098
- push {r4-r6,lr}
- adds r4, r1, 0
- adds r1, r2, 0
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _080C90CC
- adds r0, r5, 0
- bl StringExpandPlaceholders
- cmp r4, 0
- bne _080C90D4
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- ldr r2, _080C90D0
- adds r0, r6, 0
- adds r1, r5, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
- b _080C90E0
- .align 2, 0
-_080C90CC: .4byte gStringVar4
-_080C90D0: .4byte sub_80A5C48
-_080C90D4:
- ldr r2, _080C90E8
- adds r0, r6, 0
- adds r1, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_080C90E0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C90E8: .4byte sub_80A5C9C
- thumb_func_end sub_80C9098
-
- thumb_func_start DisplayDadsAdviceCannotUseItemMessage
-DisplayDadsAdviceCannotUseItemMessage: @ 80C90EC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080C9100
- bl sub_80C9098
- pop {r0}
- bx r0
- .align 2, 0
-_080C9100: .4byte gOtherText_DadsAdvice
- thumb_func_end DisplayDadsAdviceCannotUseItemMessage
-
- thumb_func_start sub_80C9104
-sub_80C9104: @ 80C9104
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080C9118
- bl sub_80C9098
- pop {r0}
- bx r0
- .align 2, 0
-_080C9118: .4byte gOtherText_CantGetOffBike
- thumb_func_end sub_80C9104
-
- thumb_func_start CheckIfItemIsTMHMOrEvolutionStone
-CheckIfItemIsTMHMOrEvolutionStone: @ 80C911C
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl itemid_get_overworld_function
- ldr r1, _080C9134
- cmp r0, r1
- bne _080C9138
- movs r0, 0x1
- b _080C914E
- .align 2, 0
-_080C9134: .4byte ItemUseOutOfBattle_TMHM
-_080C9138:
- adds r0, r4, 0
- bl itemid_get_overworld_function
- ldr r1, _080C9148
- cmp r0, r1
- beq _080C914C
- movs r0, 0
- b _080C914E
- .align 2, 0
-_080C9148: .4byte ItemUseOutOfBattle_EvolutionStone
-_080C914C:
- movs r0, 0x2
-_080C914E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end CheckIfItemIsTMHMOrEvolutionStone
-
- thumb_func_start sub_80C9154
-sub_80C9154: @ 80C9154
- push {r4,lr}
- sub sp, 0x24
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C9188
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080C9180
- mov r1, sp
- ldr r0, _080C918C
- ldrh r0, [r0]
- strh r0, [r1, 0x20]
- ldr r1, _080C9190
- mov r0, sp
- movs r2, 0
- bl sub_80F890C
- adds r0, r4, 0
- bl DestroyTask
-_080C9180:
- add sp, 0x24
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9188: .4byte gPaletteFade
-_080C918C: .4byte word_203855E
-_080C9190: .4byte sub_80A5D04
- thumb_func_end sub_80C9154
-
- thumb_func_start ItemUseOutOfBattle_Mail
-ItemUseOutOfBattle_Mail: @ 80C9194
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080C91C4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C91C8
- str r1, [r0]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C91C4: .4byte gTasks
-_080C91C8: .4byte sub_80C9154
- thumb_func_end ItemUseOutOfBattle_Mail
-
- thumb_func_start ItemUseOutOfBattle_Bike
-ItemUseOutOfBattle_Bike: @ 80C91CC
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C924C
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C9238
- adds r0, r4, 0
- bl MetatileBehavior_IsVerticalRail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C9238
- adds r0, r4, 0
- bl MetatileBehavior_IsHorizontalRail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C9238
- adds r0, r4, 0
- bl MetatileBehavior_IsIsolatedVerticalRail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C9238
- adds r0, r4, 0
- bl MetatileBehavior_IsIsolatedHorizontalRail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C9254
-_080C9238:
- ldr r0, _080C9250
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xC]
- adds r0, r5, 0
- bl sub_80C9104
- b _080C928E
- .align 2, 0
-_080C924C: .4byte 0x0000082b
-_080C9250: .4byte gTasks
-_080C9254:
- bl sub_8053C44
- cmp r0, 0x1
- bne _080C927C
- bl sub_80E5EF4
- lsls r0, 24
- cmp r0, 0
- bne _080C927C
- ldr r1, _080C9274
- ldr r0, _080C9278
- str r0, [r1]
- adds r0, r5, 0
- bl SetUpItemUseOnFieldCallback
- b _080C928E
- .align 2, 0
-_080C9274: .4byte gUnknown_03005D00
-_080C9278: .4byte ItemUseOnFieldCB_Bike
-_080C927C:
- ldr r0, _080C9298
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xC]
- adds r0, r5, 0
- bl DisplayDadsAdviceCannotUseItemMessage
-_080C928E:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9298: .4byte gTasks
- thumb_func_end ItemUseOutOfBattle_Bike
-
- thumb_func_start ItemUseOnFieldCB_Bike
-ItemUseOnFieldCB_Bike: @ 80C929C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080C92E0
- ldrh r0, [r4]
- bl itemid_get_x28
- lsls r0, 24
- cmp r0, 0
- bne _080C92B6
- movs r0, 0x2
- bl GetOnOffBike
-_080C92B6:
- ldrh r0, [r4]
- bl itemid_get_x28
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C92CA
- movs r0, 0x4
- bl GetOnOffBike
-_080C92CA:
- bl sub_8064E2C
- bl ScriptContext2_Disable
- adds r0, r5, 0
- bl DestroyTask
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C92E0: .4byte word_203855E
- thumb_func_end ItemUseOnFieldCB_Bike
-
- thumb_func_start CanFish
-CanFish: @ 80C92E4
- push {r4-r6,lr}
- sub sp, 0x4
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl GetXYCoordsOneStepInFrontOfPlayer
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r0, r6, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl MetatileBehavior_IsWaterfall
- lsls r0, 24
- cmp r0, 0
- bne _080C936C
- movs r0, 0x10
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _080C936C
- movs r0, 0x8
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- bne _080C933C
- bl IsPlayerFacingSurfableFishableWater
- lsls r0, 24
- cmp r0, 0
- beq _080C936C
-_080C9338:
- movs r0, 0x1
- b _080C936E
-_080C933C:
- adds r0, r5, 0
- bl MetatileBehavior_IsSurfableWaterOrUnderwater
- lsls r0, 24
- cmp r0, 0
- beq _080C935C
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridIsImpassableAt
- lsls r0, 24
- cmp r0, 0
- beq _080C9338
-_080C935C:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_8057434
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C9338
-_080C936C:
- movs r0, 0
-_080C936E:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CanFish
-
- thumb_func_start ItemUseOutOfBattle_Rod
-ItemUseOutOfBattle_Rod: @ 80C9378
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl CanFish
- cmp r0, 0x1
- bne _080C939C
- ldr r1, _080C9394
- ldr r0, _080C9398
- str r0, [r1]
- adds r0, r4, 0
- bl SetUpItemUseOnFieldCallback
- b _080C93AE
- .align 2, 0
-_080C9394: .4byte gUnknown_03005D00
-_080C9398: .4byte ItemUseOnFieldCB_Rod
-_080C939C:
- ldr r0, _080C93B4
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xC]
- adds r0, r4, 0
- bl DisplayDadsAdviceCannotUseItemMessage
-_080C93AE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C93B4: .4byte gTasks
- thumb_func_end ItemUseOutOfBattle_Rod
-
- thumb_func_start ItemUseOnFieldCB_Rod
-ItemUseOnFieldCB_Rod: @ 80C93B8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080C93DC
- ldrh r0, [r0]
- bl itemid_get_x28
- lsls r0, 24
- lsrs r0, 24
- bl StartFishing
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C93DC: .4byte word_203855E
- thumb_func_end ItemUseOnFieldCB_Rod
-
- thumb_func_start ItemUseOutOfBattle_Itemfinder
-ItemUseOutOfBattle_Itemfinder: @ 80C93E0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x27
- bl sav12_xor_increment
- ldr r1, _080C9400
- ldr r0, _080C9404
- str r0, [r1]
- adds r0, r4, 0
- bl SetUpItemUseOnFieldCallback
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9400: .4byte gUnknown_03005D00
-_080C9404: .4byte ItemUseOnFieldCB_Itemfinder
- thumb_func_end ItemUseOutOfBattle_Itemfinder
-
- thumb_func_start ItemUseOnFieldCB_Itemfinder
-ItemUseOnFieldCB_Itemfinder: @ 80C9408
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080C9430
- ldr r0, [r0, 0x4]
- adds r1, r4, 0
- bl ItemfinderCheckForHiddenItems
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C943C
- ldr r0, _080C9434
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080C9438
- str r0, [r1]
- b _080C9448
- .align 2, 0
-_080C9430: .4byte gMapHeader
-_080C9434: .4byte gTasks
-_080C9438: .4byte sub_80C9458
-_080C943C:
- ldr r1, _080C9450
- ldr r2, _080C9454
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_080C9448:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9450: .4byte gOtherText_NoResponse
-_080C9454: .4byte sub_80C9520
- thumb_func_end ItemUseOnFieldCB_Itemfinder
-
- thumb_func_start sub_80C9458
-sub_80C9458: @ 80C9458
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r6, r5, 2
- adds r0, r6, r5
- lsls r7, r0, 3
- ldr r0, _080C94AC
- mov r8, r0
- adds r4, r7, r0
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080C950C
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0x4
- bne _080C9500
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- ldrsh r1, [r4, r2]
- bl sub_80C9908
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080C94B8
- ldr r1, _080C94B0
- subs r0, 0x1
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80C997C
- mov r0, r8
- subs r0, 0x8
- adds r0, r7, r0
- ldr r1, _080C94B4
- str r1, [r0]
- b _080C9516
- .align 2, 0
-_080C94AC: .4byte gUnknown_03004B28
-_080C94B0: .4byte gUnknown_083D61F0
-_080C94B4: .4byte sub_80C99EC
-_080C94B8:
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- adds r3, r6, 0
- ldr r7, _080C94F4
- movs r6, 0x3
-_080C94C8:
- adds r0, r1, r7
- adds r1, 0x1
- ldrb r0, [r0]
- cmp r2, r0
- bne _080C94D8
- adds r0, r1, 0
- ands r0, r6
- strh r0, [r4, 0xA]
-_080C94D8:
- lsls r0, r1, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080C94C8
- ldr r1, _080C94F8
- adds r0, r3, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C94FC
- str r1, [r0]
- movs r0, 0
- strh r0, [r4, 0x6]
- strh r0, [r4, 0x4]
- b _080C9516
- .align 2, 0
-_080C94F4: .4byte gUnknown_083D61F0
-_080C94F8: .4byte gTasks
-_080C94FC: .4byte sub_80C9A38
-_080C9500:
- movs r0, 0x48
- bl PlaySE
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080C950C:
- ldrh r0, [r4, 0x6]
- adds r0, 0x1
- movs r1, 0x1F
- ands r0, r1
- strh r0, [r4, 0x6]
-_080C9516:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C9458
-
- thumb_func_start sub_80C9520
-sub_80C9520: @ 80C9520
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- bl sub_8064E2C
- bl ScriptContext2_Disable
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80C9520
-
- thumb_func_start ItemfinderCheckForHiddenItems
-ItemfinderCheckForHiddenItems: @ 80C9548
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- ldr r1, _080C9618
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- movs r3, 0
- mov r9, r4
- ldrb r0, [r5, 0x3]
- cmp r3, r0
- bge _080C95FC
- subs r1, 0x5
- mov r8, r1
-_080C9580:
- lsls r3, 16
- asrs r1, r3, 16
- ldr r2, [r5, 0x10]
- lsls r0, r1, 1
- adds r0, r1
- lsls r4, r0, 2
- adds r1, r4, r2
- ldrb r0, [r1, 0x5]
- adds r7, r3, 0
- cmp r0, 0x7
- bne _080C95EC
- movs r2, 0x96
- lsls r2, 2
- adds r0, r2, 0
- ldrh r1, [r1, 0xA]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080C95EC
- ldr r1, [r5, 0x10]
- adds r1, r4, r1
- ldrh r2, [r1]
- adds r2, 0x7
- mov r0, sp
- ldrh r0, [r0]
- subs r2, r0
- ldrh r0, [r1, 0x2]
- adds r0, 0x7
- mov r3, r9
- ldrh r1, [r3]
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- lsls r2, 16
- asrs r1, r2, 16
- movs r3, 0xE0
- lsls r3, 11
- adds r2, r3
- lsrs r2, 16
- cmp r2, 0xE
- bhi _080C95EC
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, r8
- blt _080C95EC
- cmp r2, 0x5
- bgt _080C95EC
- adds r0, r6, 0
- bl sub_80C9838
-_080C95EC:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r3, r0, 16
- asrs r0, 16
- ldrb r2, [r5, 0x3]
- cmp r0, r2
- blt _080C9580
-_080C95FC:
- adds r0, r6, 0
- bl sub_80C9720
- ldr r0, _080C9618
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0x1
- beq _080C961C
- movs r0, 0
- b _080C961E
- .align 2, 0
-_080C9618: .4byte gTasks
-_080C961C:
- movs r0, 0x1
-_080C961E:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end ItemfinderCheckForHiddenItems
-
- thumb_func_start sub_80C962C
-sub_80C962C: @ 80C962C
- push {r4-r6,lr}
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- ldrb r2, [r0, 0x3]
- ldr r5, [r0, 0x10]
- movs r1, 0
- cmp r1, r2
- bge _080C9680
- lsls r0, r3, 16
- asrs r6, r0, 16
- lsls r0, r4, 16
- asrs r4, r0, 16
- adds r3, r5, 0
-_080C964A:
- ldrb r0, [r3, 0x5]
- cmp r0, 0x7
- bne _080C9678
- ldrh r0, [r3]
- cmp r6, r0
- bne _080C9678
- ldrh r0, [r3, 0x2]
- cmp r4, r0
- bne _080C9678
- movs r1, 0x96
- lsls r1, 2
- adds r0, r1, 0
- ldrh r3, [r3, 0xA]
- adds r0, r3
- lsls r0, 16
- lsrs r0, 16
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080C9680
- movs r0, 0x1
- b _080C9682
-_080C9678:
- adds r3, 0xC
- adds r1, 0x1
- cmp r1, r2
- blt _080C964A
-_080C9680:
- movs r0, 0
-_080C9682:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C962C
-
- thumb_func_start sub_80C9688
-sub_80C9688: @ 80C9688
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- bl mapconnection_get_mapheader
- adds r3, r0, 0
- ldrb r0, [r4]
- cmp r0, 0x2
- beq _080C96B0
- cmp r0, 0x2
- bgt _080C96A6
- cmp r0, 0x1
- beq _080C96C4
- b _080C9704
-_080C96A6:
- cmp r0, 0x3
- beq _080C96DC
- cmp r0, 0x4
- beq _080C96E6
- b _080C9704
-_080C96B0:
- ldr r0, [r4, 0x4]
- adds r0, 0x7
- subs r0, r5, r0
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, [r3]
- ldr r0, [r0, 0x4]
- subs r0, 0x7
- adds r0, r6
- b _080C96FA
-_080C96C4:
- ldr r0, [r4, 0x4]
- adds r0, 0x7
- subs r0, r5, r0
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _080C96D8
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- b _080C96F6
- .align 2, 0
-_080C96D8: .4byte gMapHeader
-_080C96DC:
- ldr r0, [r3]
- ldr r0, [r0]
- subs r0, 0x7
- adds r0, r5
- b _080C96F0
-_080C96E6:
- ldr r0, _080C9700
- ldr r0, [r0]
- ldr r0, [r0]
- adds r0, 0x7
- subs r0, r5, r0
-_080C96F0:
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, [r4, 0x4]
-_080C96F6:
- adds r0, 0x7
- subs r0, r6, r0
-_080C96FA:
- lsls r0, 16
- lsrs r2, r0, 16
- b _080C9708
- .align 2, 0
-_080C9700: .4byte gMapHeader
-_080C9704:
- movs r0, 0
- b _080C971A
-_080C9708:
- ldr r0, [r3, 0x4]
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- bl sub_80C962C
- lsls r0, 24
- lsrs r0, 24
-_080C971A:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80C9688
-
- thumb_func_start sub_80C9720
-sub_80C9720: @ 80C9720
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldr r0, _080C9834
- ldr r1, [r0]
- ldr r0, [r1]
- adds r0, 0x7
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- ldr r0, [r1, 0x4]
- adds r0, 0x7
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- ldrh r0, [r0]
- subs r0, 0x7
- lsls r0, 16
- lsrs r3, r0, 16
- asrs r0, 16
- mov r1, sp
- movs r2, 0
- ldrsh r1, [r1, r2]
- adds r1, 0x7
- cmp r0, r1
- bgt _080C9824
-_080C976E:
- mov r5, sp
- ldrh r0, [r5, 0x2]
- subs r0, 0x5
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r2, r4, 16
- asrs r1, r2, 16
- movs r6, 0x2
- ldrsh r0, [r5, r6]
- adds r0, 0x5
- lsls r3, 16
- mov r8, r3
- cmp r1, r0
- bgt _080C980E
- movs r0, 0x7
- str r0, [sp, 0x10]
- mov r1, r8
- asrs r1, 16
- mov r9, r1
- mov r10, r0
-_080C9796:
- ldr r3, [sp, 0x10]
- cmp r3, r9
- bgt _080C97B8
- ldr r5, [sp, 0x8]
- lsls r0, r5, 16
- asrs r0, 16
- cmp r9, r0
- bge _080C97B8
- asrs r1, r2, 16
- cmp r10, r1
- bgt _080C97B8
- ldr r6, [sp, 0xC]
- lsls r0, r6, 16
- asrs r0, 16
- lsls r7, r4, 16
- cmp r1, r0
- blt _080C97F6
-_080C97B8:
- mov r0, r8
- asrs r5, r0, 16
- lsls r4, 16
- asrs r6, r4, 16
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_8056BA0
- adds r7, r4, 0
- cmp r0, 0
- beq _080C97F6
- adds r1, r5, 0
- adds r2, r6, 0
- bl sub_80C9688
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C97F6
- mov r0, sp
- ldrh r1, [r0]
- subs r1, r5, r1
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r0, 0x2]
- subs r2, r6, r2
- lsls r2, 16
- asrs r2, 16
- ldr r0, [sp, 0x4]
- bl sub_80C9838
-_080C97F6:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r7, r1
- lsrs r4, r0, 16
- lsls r2, r4, 16
- asrs r1, r2, 16
- mov r3, sp
- movs r5, 0x2
- ldrsh r0, [r3, r5]
- adds r0, 0x5
- cmp r1, r0
- ble _080C9796
-_080C980E:
- movs r1, 0x80
- lsls r1, 9
- add r1, r8
- lsrs r3, r1, 16
- asrs r1, 16
- mov r0, sp
- movs r6, 0
- ldrsh r0, [r0, r6]
- adds r0, 0x7
- cmp r1, r0
- ble _080C976E
-_080C9824:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9834: .4byte gMapHeader
- thumb_func_end sub_80C9720
-
- thumb_func_start sub_80C9838
-sub_80C9838: @ 80C9838
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 16
- lsrs r2, 16
- mov r12, r2
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080C986C
- adds r3, r1, r0
- movs r1, 0x4
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080C9870
- strh r7, [r3]
- mov r0, r12
- strh r0, [r3, 0x2]
- movs r0, 0x1
- strh r0, [r3, 0x4]
- b _080C98FA
- .align 2, 0
-_080C986C: .4byte gUnknown_03004B28
-_080C9870:
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bge _080C9880
- negs r0, r0
- lsls r0, 16
- lsrs r4, r0, 16
- b _080C9882
-_080C9880:
- ldrh r4, [r3]
-_080C9882:
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- ldrh r1, [r3, 0x2]
- mov r9, r1
- cmp r0, 0
- bge _080C9896
- negs r0, r0
- lsls r0, 16
- lsrs r2, r0, 16
- b _080C9898
-_080C9896:
- ldrh r2, [r3, 0x2]
-_080C9898:
- lsls r1, r7, 16
- asrs r0, r1, 16
- cmp r0, 0
- bge _080C98A8
- negs r0, r0
- lsls r0, 16
- lsrs r6, r0, 16
- b _080C98AA
-_080C98A8:
- lsrs r6, r1, 16
-_080C98AA:
- mov r1, r12
- lsls r0, r1, 16
- asrs r1, r0, 16
- mov r8, r0
- cmp r1, 0
- bge _080C98BC
- negs r0, r1
- lsls r0, 16
- b _080C98BE
-_080C98BC:
- mov r0, r8
-_080C98BE:
- lsrs r5, r0, 16
- lsls r0, r4, 16
- asrs r0, 16
- lsls r1, r2, 16
- asrs r2, r1, 16
- adds r4, r0, r2
- lsls r0, r6, 16
- asrs r0, 16
- lsls r1, r5, 16
- asrs r1, 16
- adds r0, r1
- cmp r4, r0
- ble _080C98E0
- strh r7, [r3]
- mov r1, r12
- strh r1, [r3, 0x2]
- b _080C98FA
-_080C98E0:
- cmp r4, r0
- bne _080C98FA
- cmp r2, r1
- bgt _080C98F4
- cmp r2, r1
- bne _080C98FA
- mov r1, r9
- lsls r0, r1, 16
- cmp r0, r8
- bge _080C98FA
-_080C98F4:
- strh r7, [r3]
- mov r0, r12
- strh r0, [r3, 0x2]
-_080C98FA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80C9838
-
- thumb_func_start sub_80C9908
-sub_80C9908: @ 80C9908
- push {r4,r5,lr}
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- lsrs r2, r0, 16
- cmp r0, 0
- bne _080C991A
- cmp r1, 0
- beq _080C9974
-_080C991A:
- lsls r0, r2, 16
- asrs r2, r0, 16
- adds r5, r0, 0
- cmp r2, 0
- bge _080C992C
- negs r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- b _080C992E
-_080C992C:
- lsrs r4, r5, 16
-_080C992E:
- lsls r0, r1, 16
- asrs r2, r0, 16
- adds r1, r0, 0
- cmp r2, 0
- bge _080C9940
- negs r0, r2
- lsls r0, 16
- lsrs r3, r0, 16
- b _080C9942
-_080C9940:
- lsrs r3, r1, 16
-_080C9942:
- lsls r0, r4, 16
- asrs r2, r0, 16
- lsls r0, r3, 16
- asrs r0, 16
- cmp r2, r0
- ble _080C995A
- cmp r5, 0
- bge _080C9956
- movs r0, 0x4
- b _080C9976
-_080C9956:
- movs r0, 0x2
- b _080C9976
-_080C995A:
- cmp r2, r0
- bge _080C9964
- cmp r1, 0
- blt _080C996C
- b _080C9970
-_080C9964:
- cmp r2, r0
- bne _080C9974
- cmp r1, 0
- bge _080C9970
-_080C996C:
- movs r0, 0x1
- b _080C9976
-_080C9970:
- movs r0, 0x3
- b _080C9976
-_080C9974:
- movs r0, 0
-_080C9976:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80C9908
-
- thumb_func_start sub_80C997C
-sub_80C997C: @ 80C997C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r4, _080C99E8
- adds r0, r4
- bl FieldObjectClearAnimIfSpecialAnimFinished
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl FieldObjectClearAnim
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl npc_sync_anim_pause_bits
- adds r0, r5, 0
- bl PlayerTurnInPlace
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C99E8: .4byte gMapObjects
- thumb_func_end sub_80C997C
-
- thumb_func_start sub_80C99EC
-sub_80C99EC: @ 80C99EC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C9A2C
- adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C9A24
- ldr r1, _080C9A30
- ldr r2, _080C9A34
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_080C9A24:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9A2C: .4byte gMapObjects
-_080C9A30: .4byte gOtherText_ItemfinderResponding
-_080C9A34: .4byte sub_80C9520
- thumb_func_end sub_80C99EC
-
- thumb_func_start sub_80C9A38
-sub_80C9A38: @ 80C9A38
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080C9AB4
- adds r4, r0, r1
- movs r0, 0xFF
- movs r1, 0
- movs r2, 0
- bl GetFieldObjectIdByLocalIdAndMap
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080C9AB8
- adds r0, r1
- bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080C9A78
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080C9AAE
-_080C9A78:
- ldr r1, _080C9ABC
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_80C997C
- movs r0, 0x1
- strh r0, [r4, 0x4]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x6]
- adds r0, 0x1
- strh r0, [r4, 0x6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080C9AAE
- ldr r1, _080C9AC0
- ldr r2, _080C9AC4
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_080C9AAE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9AB4: .4byte gUnknown_03004B28
-_080C9AB8: .4byte gMapObjects
-_080C9ABC: .4byte gUnknown_083D61F0
-_080C9AC0: .4byte gOtherText_ItemfinderFoundItem
-_080C9AC4: .4byte sub_80C9520
- thumb_func_end sub_80C9A38
-
- thumb_func_start ItemUseOutOfBattle_PokeblockCase
-ItemUseOutOfBattle_PokeblockCase: @ 80C9AC8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C9AF4
- ldr r0, _080C9AF0
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xC]
- adds r0, r4, 0
- bl DisplayDadsAdviceCannotUseItemMessage
- b _080C9B2A
- .align 2, 0
-_080C9AF0: .4byte gTasks
-_080C9AF4:
- ldr r0, _080C9B14
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r2, 0xC
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _080C9B18
- movs r0, 0
- bl sub_810BA7C
- adds r0, r4, 0
- bl unknown_ItemMenu_Confirm
- b _080C9B2A
- .align 2, 0
-_080C9B14: .4byte gTasks
-_080C9B18:
- ldr r1, _080C9B30
- ldr r0, _080C9B34
- str r0, [r1]
- movs r0, 0x1
- bl sub_810BA7C
- adds r0, r5, 0
- bl sub_80C9038
-_080C9B2A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9B30: .4byte gUnknown_0300485C
-_080C9B34: .4byte sub_8080E28
- thumb_func_end ItemUseOutOfBattle_PokeblockCase
-
- thumb_func_start ItemUseOutOfBattle_CoinCase
-ItemUseOutOfBattle_CoinCase: @ 80C9B38
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080C9B8C
- bl GetCoins
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0x4
- bl ConvertIntToDecimalStringN
- ldr r4, _080C9B90
- ldr r1, _080C9B94
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r1, _080C9B98
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080C9BA0
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- ldr r2, _080C9B9C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
- b _080C9BAC
- .align 2, 0
-_080C9B8C: .4byte gStringVar1
-_080C9B90: .4byte gStringVar4
-_080C9B94: .4byte gOtherText_Coins3
-_080C9B98: .4byte gTasks
-_080C9B9C: .4byte sub_80A5C48
-_080C9BA0:
- ldr r2, _080C9BB4
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_080C9BAC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9BB4: .4byte sub_80A5C9C
- thumb_func_end ItemUseOutOfBattle_CoinCase
-
- thumb_func_start sub_80C9BB8
-sub_80C9BB8: @ 80C9BB8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080C9BD4
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C9BD0
- adds r0, r2, 0
- bl sub_80A5C48
-_080C9BD0:
- pop {r0}
- bx r0
- .align 2, 0
-_080C9BD4: .4byte gMain
- thumb_func_end sub_80C9BB8
-
- thumb_func_start sub_80C9BD8
-sub_80C9BD8: @ 80C9BD8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080C9BF4
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080C9BF0
- adds r0, r2, 0
- bl sub_80A5C9C
-_080C9BF0:
- pop {r0}
- bx r0
- .align 2, 0
-_080C9BF4: .4byte gMain
- thumb_func_end sub_80C9BD8
-
- thumb_func_start unref_sub_80C9BF8
-unref_sub_80C9BF8: @ 80C9BF8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080C9C3C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080C9C4C
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- ldr r4, _080C9C40
- ldr r0, _080C9C44
- ldrh r0, [r0]
- bl itemid_get_x28
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- ldr r2, _080C9C48
- adds r0, r5, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
- b _080C9C68
- .align 2, 0
-_080C9C3C: .4byte gTasks
-_080C9C40: .4byte gUnknown_083D61DC
-_080C9C44: .4byte word_203855E
-_080C9C48: .4byte sub_80C9BB8
-_080C9C4C:
- ldr r4, _080C9C70
- ldr r0, _080C9C74
- ldrh r0, [r0]
- bl itemid_get_x28
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- ldr r1, [r0]
- ldr r2, _080C9C78
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_080C9C68:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9C70: .4byte gUnknown_083D61DC
-_080C9C74: .4byte word_203855E
-_080C9C78: .4byte sub_80C9BD8
- thumb_func_end unref_sub_80C9BF8
-
- thumb_func_start sub_80C9C7C
-sub_80C9C7C: @ 80C9C7C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- bl IsPlayerFacingPlantedBerryTree
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C9CE4
- ldr r1, _080C9CC8
- ldr r0, _080C9CCC
- str r0, [r1]
- ldr r1, _080C9CD0
- ldr r0, _080C9CD4
- str r0, [r1]
- ldr r1, _080C9CD8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, _080C9CDC
- lsrs r1, r2, 16
- movs r3, 0
- strh r1, [r0, 0x18]
- strh r2, [r0, 0x1A]
- ldr r1, _080C9CE0
- str r1, [r0]
- movs r0, 0x1
- negs r0, r0
- str r3, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080C9CF4
- .align 2, 0
-_080C9CC8: .4byte gUnknown_03005D00
-_080C9CCC: .4byte sub_80C9D00
-_080C9CD0: .4byte gUnknown_0300485C
-_080C9CD4: .4byte sub_80A5CC4
-_080C9CD8: .4byte gTasks
-_080C9CDC: .4byte c2_exit_to_overworld_2_switch
-_080C9CE0: .4byte sub_80A5B00
-_080C9CE4:
- ldr r0, _080C9CFC
- ldrh r0, [r0]
- bl itemid_get_overworld_function
- adds r1, r0, 0
- adds r0, r4, 0
- bl _call_via_r1
-_080C9CF4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9CFC: .4byte word_203855E
- thumb_func_end sub_80C9C7C
-
- thumb_func_start sub_80C9D00
-sub_80C9D00: @ 80C9D00
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080C9D28
- ldrh r0, [r0]
- movs r1, 0x1
- bl sub_80A9538
- bl ScriptContext2_Enable
- ldr r0, _080C9D2C
- bl ScriptContext1_SetupScript
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9D28: .4byte word_203855E
-_080C9D2C: .4byte gUnknown_081A1654
- thumb_func_end sub_80C9D00
-
- thumb_func_start ItemUseOutOfBattle_WailmerPail
-ItemUseOutOfBattle_WailmerPail: @ 80C9D30
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl WaterBerryTree
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080C9D58
- ldr r1, _080C9D50
- ldr r0, _080C9D54
- str r0, [r1]
- adds r0, r4, 0
- bl SetUpItemUseOnFieldCallback
- b _080C9D6A
- .align 2, 0
-_080C9D50: .4byte gUnknown_03005D00
-_080C9D54: .4byte sub_80C9D74
-_080C9D58:
- ldr r0, _080C9D70
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xC]
- adds r0, r4, 0
- bl DisplayDadsAdviceCannotUseItemMessage
-_080C9D6A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9D70: .4byte gTasks
- thumb_func_end ItemUseOutOfBattle_WailmerPail
-
- thumb_func_start sub_80C9D74
-sub_80C9D74: @ 80C9D74
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl ScriptContext2_Enable
- ldr r0, _080C9D94
- bl ScriptContext1_SetupScript
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9D94: .4byte gUnknown_081A168F
- thumb_func_end sub_80C9D74
-
- thumb_func_start sub_80C9D98
-sub_80C9D98: @ 80C9D98
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9DAC
- movs r1, 0
- strb r1, [r2]
- bl unknown_ItemMenu_Confirm
- pop {r0}
- bx r0
- .align 2, 0
-_080C9DAC: .4byte gUnknown_02038561
- thumb_func_end sub_80C9D98
-
- thumb_func_start ItemUseOutOfBattle_Medicine
-ItemUseOutOfBattle_Medicine: @ 80C9DB0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9DC4
- ldr r1, _080C9DC8
- str r1, [r2]
- bl sub_80C9D98
- pop {r0}
- bx r0
- .align 2, 0
-_080C9DC4: .4byte gUnknown_03004AE4
-_080C9DC8: .4byte sub_806FE2C
- thumb_func_end ItemUseOutOfBattle_Medicine
-
- thumb_func_start ItemUseOutOfBattle_SacredAsh
-ItemUseOutOfBattle_SacredAsh: @ 80C9DCC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080C9DDC
- movs r0, 0
- strb r0, [r1]
- movs r5, 0
- b _080C9DE6
- .align 2, 0
-_080C9DDC: .4byte gUnknown_03005CE0
-_080C9DE0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080C9DE6:
- cmp r5, 0x5
- bhi _080C9E10
- movs r0, 0x64
- adds r1, r5, 0
- muls r1, r0
- ldr r0, _080C9E28
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- cmp r0, 0
- beq _080C9DE0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- bne _080C9DE0
- ldr r0, _080C9E2C
- strb r5, [r0]
-_080C9E10:
- ldr r1, _080C9E30
- ldr r0, _080C9E34
- str r0, [r1]
- ldr r1, _080C9E38
- movs r0, 0x4
- strb r0, [r1]
- adds r0, r6, 0
- bl unknown_ItemMenu_Confirm
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9E28: .4byte gPlayerParty
-_080C9E2C: .4byte gUnknown_03005CE0
-_080C9E30: .4byte gUnknown_03004AE4
-_080C9E34: .4byte sub_8070048
-_080C9E38: .4byte gUnknown_02038561
- thumb_func_end ItemUseOutOfBattle_SacredAsh
-
- thumb_func_start ItemUseOutOfBattle_PPRecovery
-ItemUseOutOfBattle_PPRecovery: @ 80C9E3C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9E50
- ldr r1, _080C9E54
- str r1, [r2]
- bl sub_80C9D98
- pop {r0}
- bx r0
- .align 2, 0
-_080C9E50: .4byte gUnknown_03004AE4
-_080C9E54: .4byte dp05_ether
- thumb_func_end ItemUseOutOfBattle_PPRecovery
-
- thumb_func_start ItemUseOutOfBattle_PPUp
-ItemUseOutOfBattle_PPUp: @ 80C9E58
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9E6C
- ldr r1, _080C9E70
- str r1, [r2]
- bl sub_80C9D98
- pop {r0}
- bx r0
- .align 2, 0
-_080C9E6C: .4byte gUnknown_03004AE4
-_080C9E70: .4byte dp05_pp_up
- thumb_func_end ItemUseOutOfBattle_PPUp
-
- thumb_func_start ItemUseOutOfBattle_RareCandy
-ItemUseOutOfBattle_RareCandy: @ 80C9E74
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9E88
- ldr r1, _080C9E8C
- str r1, [r2]
- bl sub_80C9D98
- pop {r0}
- bx r0
- .align 2, 0
-_080C9E88: .4byte gUnknown_03004AE4
-_080C9E8C: .4byte sub_8070680
- thumb_func_end ItemUseOutOfBattle_RareCandy
-
- thumb_func_start ItemUseOutOfBattle_TMHM
-ItemUseOutOfBattle_TMHM: @ 80C9E90
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- ldr r0, _080C9EBC
- ldrh r1, [r0]
- movs r0, 0xA9
- lsls r0, 1
- cmp r1, r0
- bls _080C9EC8
- ldr r1, _080C9EC0
- ldr r2, _080C9EC4
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
- b _080C9ED4
- .align 2, 0
-_080C9EBC: .4byte word_203855E
-_080C9EC0: .4byte gOtherText_BootedHM
-_080C9EC4: .4byte sub_80C9EE4
-_080C9EC8:
- ldr r1, _080C9EDC
- ldr r2, _080C9EE0
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
-_080C9ED4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9EDC: .4byte gOtherText_BootedTM
-_080C9EE0: .4byte sub_80C9EE4
- thumb_func_end ItemUseOutOfBattle_TMHM
-
- thumb_func_start sub_80C9EE4
-sub_80C9EE4: @ 80C9EE4
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- bl PlaySE
- ldr r1, _080C9F08
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080C9F0C
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9F08: .4byte gTasks
-_080C9F0C: .4byte sub_80C9F10
- thumb_func_end sub_80C9EE4
-
- thumb_func_start sub_80C9F10
-sub_80C9F10: @ 80C9F10
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080C9F64
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080C9F2A
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080C9F5C
-_080C9F2A:
- ldr r4, _080C9F68
- ldr r0, _080C9F6C
- ldrh r0, [r0]
- bl ItemIdToBattleMoveId
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xD
- muls r1, r0
- ldr r0, _080C9F70
- adds r1, r0
- adds r0, r4, 0
- bl StringCopy
- ldr r4, _080C9F74
- ldr r1, _080C9F78
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080C9F7C
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
-_080C9F5C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9F64: .4byte gMain
-_080C9F68: .4byte gStringVar1
-_080C9F6C: .4byte word_203855E
-_080C9F70: .4byte gMoveNames
-_080C9F74: .4byte gStringVar4
-_080C9F78: .4byte gOtherText_ContainsMove
-_080C9F7C: .4byte sub_80C9F80
- thumb_func_end sub_80C9F10
-
- thumb_func_start sub_80C9F80
-sub_80C9F80: @ 80C9F80
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x7
- movs r1, 0x7
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r0, _080C9FB8
- movs r1, 0x4
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- movs r1, 0x8
- movs r2, 0x8
- movs r3, 0x5
- bl sub_80A3FA0
- ldr r1, _080C9FBC
- adds r0, r4, 0
- bl sub_80F914C
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080C9FB8: .4byte gBG1TilemapBuffer
-_080C9FBC: .4byte gUnknown_083D61F4
- thumb_func_end sub_80C9F80
-
- thumb_func_start sub_80C9FC0
-sub_80C9FC0: @ 80C9FC0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080C9FD4
- ldr r1, _080C9FD8
- str r1, [r2]
- bl sub_80C9D98
- pop {r0}
- bx r0
- .align 2, 0
-_080C9FD4: .4byte gUnknown_03004AE4
-_080C9FD8: .4byte sub_806F06C
- thumb_func_end sub_80C9FC0
-
- thumb_func_start sub_80C9FDC
-sub_80C9FDC: @ 80C9FDC
- push {r4,lr}
- ldr r4, _080CA004
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80A9538
- bl sub_80A3E0C
- ldrh r0, [r4]
- ldr r1, _080CA008
- bl itemid_copy_name
- ldr r0, _080CA00C
- ldr r1, _080CA010
- bl StringExpandPlaceholders
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA004: .4byte word_203855E
-_080CA008: .4byte gStringVar2
-_080CA00C: .4byte gStringVar4
-_080CA010: .4byte gOtherText_UsedItem
- thumb_func_end sub_80C9FDC
-
- thumb_func_start ItemUseOutOfBattle_Repel
-ItemUseOutOfBattle_Repel: @ 80CA014
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _080CA050
- adds r0, r5, 0
- bl VarGet
- lsls r0, 16
- cmp r0, 0
- bne _080CA060
- ldr r0, _080CA054
- ldrh r0, [r0]
- bl itemid_get_quality
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl VarSet
- bl sub_80C9FDC
- ldr r1, _080CA058
- ldr r2, _080CA05C
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
- b _080CA06C
- .align 2, 0
-_080CA050: .4byte 0x00004021
-_080CA054: .4byte word_203855E
-_080CA058: .4byte gStringVar4
-_080CA05C: .4byte sub_80A5C48
-_080CA060:
- ldr r1, _080CA074
- ldr r2, _080CA078
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
-_080CA06C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA074: .4byte gOtherText_RepelLingers
-_080CA078: .4byte sub_80A5C48
- thumb_func_end ItemUseOutOfBattle_Repel
-
- thumb_func_start sub_80CA07C
-sub_80CA07C: @ 80CA07C
- push {lr}
- bl sub_80A3E0C
- ldr r0, _080CA090
- ldrh r0, [r0]
- ldr r1, _080CA094
- bl itemid_copy_name
- pop {r0}
- bx r0
- .align 2, 0
-_080CA090: .4byte word_203855E
-_080CA094: .4byte gStringVar2
- thumb_func_end sub_80CA07C
-
- thumb_func_start sub_80CA098
-sub_80CA098: @ 80CA098
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080CA0D0
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080CA0C8
- movs r0, 0x75
- bl PlaySE
- ldr r1, _080CA0D4
- ldr r2, _080CA0D8
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
-_080CA0C8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA0D0: .4byte gTasks
-_080CA0D4: .4byte gStringVar4
-_080CA0D8: .4byte sub_80A5C48
- thumb_func_end sub_80CA098
-
- thumb_func_start ItemUseOutOfBattle_BlackWhiteFlute
-ItemUseOutOfBattle_BlackWhiteFlute: @ 80CA0DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r0, _080CA10C
- ldrh r0, [r0]
- cmp r0, 0x2B
- bne _080CA124
- ldr r0, _080CA110
- bl FlagSet
- ldr r0, _080CA114
- bl FlagReset
- bl sub_80CA07C
- ldr r0, _080CA118
- ldr r1, _080CA11C
- bl StringExpandPlaceholders
- ldr r1, _080CA120
- lsls r0, r4, 2
- adds r0, r4
- b _080CA146
- .align 2, 0
-_080CA10C: .4byte word_203855E
-_080CA110: .4byte 0x0000084d
-_080CA114: .4byte 0x0000084e
-_080CA118: .4byte gStringVar4
-_080CA11C: .4byte gOtherText_UsedFlute
-_080CA120: .4byte gTasks
-_080CA124:
- cmp r0, 0x2A
- bne _080CA152
- ldr r0, _080CA158
- bl FlagSet
- ldr r0, _080CA15C
- bl FlagReset
- bl sub_80CA07C
- ldr r0, _080CA160
- ldr r1, _080CA164
- bl StringExpandPlaceholders
- ldr r1, _080CA168
- lsls r0, r5, 2
- adds r0, r5
-_080CA146:
- lsls r0, 3
- adds r0, r1
- ldr r1, _080CA16C
- str r1, [r0]
- movs r1, 0
- strh r1, [r0, 0x26]
-_080CA152:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA158: .4byte 0x0000084e
-_080CA15C: .4byte 0x0000084d
-_080CA160: .4byte gStringVar4
-_080CA164: .4byte gOtherText_UsedRepel
-_080CA168: .4byte gTasks
-_080CA16C: .4byte sub_80CA098
- thumb_func_end ItemUseOutOfBattle_BlackWhiteFlute
-
- thumb_func_start task08_080A1C44
-task08_080A1C44: @ 80CA170
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl player_avatar_init_params_reset
- bl sub_80878A8
- adds r0, r4, 0
- bl DestroyTask
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end task08_080A1C44
-
- thumb_func_start sub_80CA18C
-sub_80CA18C: @ 80CA18C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8053014
- bl sub_80C9FDC
- ldr r1, _080CA1BC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x8]
- ldr r1, _080CA1C0
- ldr r2, _080CA1C4
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA1BC: .4byte gTasks
-_080CA1C0: .4byte gStringVar4
-_080CA1C4: .4byte task08_080A1C44
- thumb_func_end sub_80CA18C
-
- thumb_func_start sub_80CA1C8
-sub_80CA1C8: @ 80CA1C8
- push {lr}
- ldr r0, _080CA1D8
- ldrb r0, [r0, 0x17]
- cmp r0, 0x4
- beq _080CA1DC
- movs r0, 0
- b _080CA1DE
- .align 2, 0
-_080CA1D8: .4byte gMapHeader
-_080CA1DC:
- movs r0, 0x1
-_080CA1DE:
- pop {r1}
- bx r1
- thumb_func_end sub_80CA1C8
-
- thumb_func_start ItemUseOutOfBattle_EscapeRope
-ItemUseOutOfBattle_EscapeRope: @ 80CA1E4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_80CA1C8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CA20C
- ldr r1, _080CA204
- ldr r0, _080CA208
- str r0, [r1]
- adds r0, r4, 0
- bl SetUpItemUseOnFieldCallback
- b _080CA21E
- .align 2, 0
-_080CA204: .4byte gUnknown_03005D00
-_080CA208: .4byte sub_80CA18C
-_080CA20C:
- ldr r0, _080CA224
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xC]
- adds r0, r4, 0
- bl DisplayDadsAdviceCannotUseItemMessage
-_080CA21E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA224: .4byte gTasks
- thumb_func_end ItemUseOutOfBattle_EscapeRope
-
- thumb_func_start ItemUseOutOfBattle_EvolutionStone
-ItemUseOutOfBattle_EvolutionStone: @ 80CA228
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CA23C
- ldr r1, _080CA240
- str r1, [r2]
- bl sub_80C9D98
- pop {r0}
- bx r0
- .align 2, 0
-_080CA23C: .4byte gUnknown_03004AE4
-_080CA240: .4byte sub_8070DBC
- thumb_func_end ItemUseOutOfBattle_EvolutionStone
-
- thumb_func_start ItemUseInBattle_PokeBall
-ItemUseInBattle_PokeBall: @ 80CA244
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl PlayerPartyAndPokemonStorageFull
- lsls r0, 24
- cmp r0, 0
- bne _080CA26C
- ldr r0, _080CA268
- ldrh r0, [r0]
- movs r1, 0x1
- bl sub_80A9538
- adds r0, r4, 0
- bl sub_80A7094
- b _080CA284
- .align 2, 0
-_080CA268: .4byte word_203855E
-_080CA26C:
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- ldr r1, _080CA28C
- ldr r2, _080CA290
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
-_080CA284:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA28C: .4byte gOtherText_BoxIsFull
-_080CA290: .4byte sub_80A5C48
- thumb_func_end ItemUseInBattle_PokeBall
-
- thumb_func_start sub_80CA294
-sub_80CA294: @ 80CA294
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080CA2B8
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080CA2AE
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080CA2B4
-_080CA2AE:
- adds r0, r2, 0
- bl sub_80A7094
-_080CA2B4:
- pop {r0}
- bx r0
- .align 2, 0
-_080CA2B8: .4byte gMain
- thumb_func_end sub_80CA294
-
- thumb_func_start sub_80CA2BC
-sub_80CA2BC: @ 80CA2BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080CA304
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x26]
- adds r0, 0x1
- strh r0, [r1, 0x26]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080CA2FC
- movs r0, 0x1
- bl PlaySE
- ldr r4, _080CA308
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80A9538
- ldrh r0, [r4]
- bl sub_803F378
- adds r1, r0, 0
- ldr r2, _080CA30C
- adds r0, r5, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
-_080CA2FC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA304: .4byte gTasks
-_080CA308: .4byte word_203855E
-_080CA30C: .4byte sub_80CA294
- thumb_func_end sub_80CA2BC
-
- thumb_func_start ItemUseInBattle_StatIncrease
-ItemUseInBattle_StatIncrease: @ 80CA310
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080CA35C
- ldr r0, _080CA360
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r4, [r0]
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080CA364
- adds r0, r1
- ldr r1, _080CA368
- ldrh r1, [r1]
- lsls r4, 24
- lsrs r4, 24
- adds r2, r4, 0
- movs r3, 0
- bl ExecuteTableBasedItemEffect_
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080CA374
- ldr r1, _080CA36C
- ldr r2, _080CA370
- adds r0, r5, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
- b _080CA384
- .align 2, 0
-_080CA35C: .4byte gUnknown_02024A6A
-_080CA360: .4byte gUnknown_02024E6C
-_080CA364: .4byte gPlayerParty
-_080CA368: .4byte word_203855E
-_080CA36C: .4byte gOtherText_WontHaveAnyEffect
-_080CA370: .4byte sub_80A5C48
-_080CA374:
- ldr r0, _080CA38C
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080CA390
- str r0, [r1]
- strh r2, [r1, 0x26]
-_080CA384:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA38C: .4byte gTasks
-_080CA390: .4byte sub_80CA2BC
- thumb_func_end ItemUseInBattle_StatIncrease
-
- thumb_func_start sub_80CA394
-sub_80CA394: @ 80CA394
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080CA3BC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080CA3B4
- bl sub_8094E4C
- bl gpu_pal_allocator_reset__manage_upper_four
- adds r0, r4, 0
- bl DestroyTask
-_080CA3B4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA3BC: .4byte gPaletteFade
- thumb_func_end sub_80CA394
-
- thumb_func_start sub_80CA3C0
-sub_80CA3C0: @ 80CA3C0
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CA3EC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080CA3F0
- str r0, [r1]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080CA3EC: .4byte gTasks
-_080CA3F0: .4byte sub_80CA394
- thumb_func_end sub_80CA3C0
-
- thumb_func_start ItemUseInBattle_Medicine
-ItemUseInBattle_Medicine: @ 80CA3F4
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CA408
- ldr r1, _080CA40C
- str r1, [r2]
- bl sub_80CA3C0
- pop {r0}
- bx r0
- .align 2, 0
-_080CA408: .4byte gUnknown_03004AE4
-_080CA40C: .4byte sub_806FE2C
- thumb_func_end ItemUseInBattle_Medicine
-
- thumb_func_start unref_sub_80CA410
-unref_sub_80CA410: @ 80CA410
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CA424
- ldr r1, _080CA428
- str r1, [r2]
- bl sub_80CA3C0
- pop {r0}
- bx r0
- .align 2, 0
-_080CA424: .4byte gUnknown_03004AE4
-_080CA428: .4byte sub_8070048
- thumb_func_end unref_sub_80CA410
-
- thumb_func_start ItemUseInBattle_PPRecovery
-ItemUseInBattle_PPRecovery: @ 80CA42C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CA440
- ldr r1, _080CA444
- str r1, [r2]
- bl sub_80CA3C0
- pop {r0}
- bx r0
- .align 2, 0
-_080CA440: .4byte gUnknown_03004AE4
-_080CA444: .4byte dp05_ether
- thumb_func_end ItemUseInBattle_PPRecovery
-
- thumb_func_start unref_sub_80CA448
-unref_sub_80CA448: @ 80CA448
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- ldr r4, _080CA494
- ldrh r1, [r4]
- movs r0, 0
- movs r2, 0
- bl ExecuteTableBasedItemEffect__
- lsls r0, 24
- cmp r0, 0
- bne _080CA4AC
- ldrh r0, [r4]
- movs r1, 0x1
- bl sub_80A9538
- ldr r0, _080CA498
- ldr r1, _080CA49C
- bl GetMonNickname
- ldr r4, _080CA4A0
- ldr r1, _080CA4A4
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _080CA4A8
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
- b _080CA4B8
- .align 2, 0
-_080CA494: .4byte word_203855E
-_080CA498: .4byte gPlayerParty
-_080CA49C: .4byte gStringVar1
-_080CA4A0: .4byte gStringVar4
-_080CA4A4: .4byte gOtherText_SnapConfusion
-_080CA4A8: .4byte sub_80A7094
-_080CA4AC:
- ldr r1, _080CA4C0
- ldr r2, _080CA4C4
- adds r0, r5, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
-_080CA4B8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA4C0: .4byte gOtherText_WontHaveAnyEffect
-_080CA4C4: .4byte sub_80A5C48
- thumb_func_end unref_sub_80CA448
-
- thumb_func_start ItemUseInBattle_Escape
-ItemUseInBattle_Escape: @ 80CA4C8
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- movs r1, 0xD
- movs r2, 0xD
- movs r3, 0x14
- bl MenuZeroFillWindowRect
- ldr r0, _080CA4F8
- ldrh r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- bne _080CA504
- bl sub_80C9FDC
- ldr r1, _080CA4FC
- ldr r2, _080CA500
- adds r0, r4, 0
- movs r3, 0x1
- bl DisplayItemMessageOnField
- b _080CA516
- .align 2, 0
-_080CA4F8: .4byte gUnknown_020239F8
-_080CA4FC: .4byte gStringVar4
-_080CA500: .4byte sub_80A7094
-_080CA504:
- ldr r0, _080CA51C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrb r1, [r1, 0xC]
- adds r0, r4, 0
- bl DisplayDadsAdviceCannotUseItemMessage
-_080CA516:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA51C: .4byte gTasks
- thumb_func_end ItemUseInBattle_Escape
-
- thumb_func_start ItemUseOutOfBattle_EnigmaBerry
-ItemUseOutOfBattle_EnigmaBerry: @ 80CA520
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080CA544
- ldrh r0, [r0]
- bl sub_8070E48
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x14
- bls _080CA53A
- b _080CA62C
-_080CA53A:
- lsls r0, 2
- ldr r1, _080CA548
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080CA544: .4byte word_203855E
-_080CA548: .4byte _080CA54C
- .align 2, 0
-_080CA54C:
- .4byte _080CA5D8
- .4byte _080CA5A0
- .4byte _080CA5A0
- .4byte _080CA5A0
- .4byte _080CA5A0
- .4byte _080CA5A0
- .4byte _080CA5A0
- .4byte _080CA62C
- .4byte _080CA62C
- .4byte _080CA5BC
- .4byte _080CA5A0
- .4byte _080CA5A0
- .4byte _080CA5A0
- .4byte _080CA5A0
- .4byte _080CA5A0
- .4byte _080CA5A0
- .4byte _080CA5A0
- .4byte _080CA62C
- .4byte _080CA5F4
- .4byte _080CA5F4
- .4byte _080CA610
-_080CA5A0:
- ldr r0, _080CA5B8
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x26]
- adds r0, r4, 0
- bl ItemUseOutOfBattle_Medicine
- b _080CA640
- .align 2, 0
-_080CA5B8: .4byte gTasks
-_080CA5BC:
- ldr r0, _080CA5D4
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x26]
- adds r0, r4, 0
- bl ItemUseOutOfBattle_SacredAsh
- b _080CA640
- .align 2, 0
-_080CA5D4: .4byte gTasks
-_080CA5D8:
- ldr r0, _080CA5F0
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x26]
- adds r0, r4, 0
- bl ItemUseOutOfBattle_RareCandy
- b _080CA640
- .align 2, 0
-_080CA5F0: .4byte gTasks
-_080CA5F4:
- ldr r0, _080CA60C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x26]
- adds r0, r4, 0
- bl ItemUseOutOfBattle_PPUp
- b _080CA640
- .align 2, 0
-_080CA60C: .4byte gTasks
-_080CA610:
- ldr r0, _080CA628
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x26]
- adds r0, r4, 0
- bl ItemUseOutOfBattle_PPRecovery
- b _080CA640
- .align 2, 0
-_080CA628: .4byte gTasks
-_080CA62C:
- ldr r0, _080CA648
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- movs r0, 0x4
- strh r0, [r1, 0x26]
- adds r0, r4, 0
- bl ItemUseOutOfBattle_CannotUse
-_080CA640:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA648: .4byte gTasks
- thumb_func_end ItemUseOutOfBattle_EnigmaBerry
-
- thumb_func_start ItemUseInBattle_EnigmaBerry
-ItemUseInBattle_EnigmaBerry: @ 80CA64C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080CA66C
- ldrh r0, [r0]
- bl sub_8070E48
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x15
- bhi _080CA6E4
- lsls r0, 2
- ldr r1, _080CA670
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080CA66C: .4byte word_203855E
-_080CA670: .4byte _080CA674
- .align 2, 0
-_080CA674:
- .4byte _080CA6CC
- .4byte _080CA6E4
- .4byte _080CA6D4
- .4byte _080CA6D4
- .4byte _080CA6D4
- .4byte _080CA6D4
- .4byte _080CA6D4
- .4byte _080CA6D4
- .4byte _080CA6D4
- .4byte _080CA6D4
- .4byte _080CA6E4
- .4byte _080CA6D4
- .4byte _080CA6E4
- .4byte _080CA6E4
- .4byte _080CA6E4
- .4byte _080CA6E4
- .4byte _080CA6E4
- .4byte _080CA6E4
- .4byte _080CA6E4
- .4byte _080CA6E4
- .4byte _080CA6E4
- .4byte _080CA6DC
-_080CA6CC:
- adds r0, r4, 0
- bl ItemUseInBattle_StatIncrease
- b _080CA6EA
-_080CA6D4:
- adds r0, r4, 0
- bl ItemUseInBattle_Medicine
- b _080CA6EA
-_080CA6DC:
- adds r0, r4, 0
- bl ItemUseInBattle_PPRecovery
- b _080CA6EA
-_080CA6E4:
- adds r0, r4, 0
- bl ItemUseOutOfBattle_CannotUse
-_080CA6EA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end ItemUseInBattle_EnigmaBerry
-
- thumb_func_start ItemUseOutOfBattle_CannotUse
-ItemUseOutOfBattle_CannotUse: @ 80CA6F0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CA70C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldrb r1, [r1, 0xC]
- bl DisplayDadsAdviceCannotUseItemMessage
- pop {r0}
- bx r0
- .align 2, 0
-_080CA70C: .4byte gTasks
- thumb_func_end ItemUseOutOfBattle_CannotUse
-
- thumb_func_start sub_80CA710
-sub_80CA710: @ 80CA710
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080CA744
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, _080CA748
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CA74C
- ldrh r0, [r5, 0x8]
- negs r0, r0
- b _080CA74E
- .align 2, 0
-_080CA744: .4byte gUnknown_03004B00
-_080CA748: .4byte gUnknown_0202F7C8
-_080CA74C:
- ldrh r0, [r5, 0x8]
-_080CA74E:
- strh r0, [r4, 0x34]
- ldr r0, _080CA760
- ldrh r0, [r0, 0xA]
- strh r0, [r4, 0x36]
- ldr r0, _080CA764
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA760: .4byte gUnknown_03004B00
-_080CA764: .4byte sub_80CA768
- thumb_func_end sub_80CA710
-
- thumb_func_start sub_80CA768
-sub_80CA768: @ 80CA768
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080CA7A4
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x32]
- lsls r0, r1, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r1, r0
- strh r1, [r4, 0x32]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _080CA7AA
-_080CA7A4:
- adds r0, r4, 0
- bl move_anim_8072740
-_080CA7AA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CA768
-
- thumb_func_start sub_80CA7B0
-sub_80CA7B0: @ 80CA7B0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r0, _080CA7F0
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldr r5, _080CA7F4
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, _080CA7F8
- str r0, [r4, 0x1C]
- ldr r1, _080CA7FC
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA7F0: .4byte gUnknown_03004B00
-_080CA7F4: .4byte gUnknown_0202F7C8
-_080CA7F8: .4byte sub_8078B34
-_080CA7FC: .4byte move_anim_8074EE0
- thumb_func_end sub_80CA7B0
-
- thumb_func_start sub_80CA800
-sub_80CA800: @ 80CA800
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r5, _080CA848
- ldrb r1, [r5, 0x6]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldr r5, _080CA84C
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, _080CA850
- str r0, [r4, 0x1C]
- ldr r1, _080CA854
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA848: .4byte gUnknown_03004B00
-_080CA84C: .4byte gUnknown_0202F7C9
-_080CA850: .4byte sub_8078B34
-_080CA854: .4byte move_anim_8072740
- thumb_func_end sub_80CA800
-
- thumb_func_start sub_80CA858
-sub_80CA858: @ 80CA858
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r6, _080CA8A8
- ldrh r0, [r6, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldr r5, _080CA8AC
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldrh r0, [r6, 0x6]
- strh r0, [r4, 0x38]
- ldr r1, _080CA8B0
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA8A8: .4byte gUnknown_03004B00
-_080CA8AC: .4byte gUnknown_0202F7C9
-_080CA8B0: .4byte sub_80CA8B4
- thumb_func_end sub_80CA858
-
- thumb_func_start sub_80CA8B4
-sub_80CA8B4: @ 80CA8B4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- beq _080CA8CA
- adds r0, r4, 0
- bl DestroySprite
- b _080CA91E
-_080CA8CA:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- ble _080CA8E4
- ldr r0, _080CA8E0
- ldrb r0, [r0]
- bl sub_8079E90
- adds r0, 0x1
- b _080CA8EE
- .align 2, 0
-_080CA8E0: .4byte gUnknown_0202F7C9
-_080CA8E4:
- ldr r0, _080CA924
- ldrb r0, [r0]
- bl sub_8079E90
- adds r0, 0x6
-_080CA8EE:
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x5
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xE
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0xF
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
-_080CA91E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA924: .4byte gUnknown_0202F7C9
- thumb_func_end sub_80CA8B4
-
- thumb_func_start sub_80CA928
-sub_80CA928: @ 80CA928
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, _080CA998
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0x8]
- subs r0, 0x1
- movs r2, 0
- strh r0, [r5, 0x8]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080CA982
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- movs r0, 0x6
- strh r0, [r5, 0x8]
- ldr r1, _080CA99C
- movs r0, 0xF
- strh r0, [r1]
- strh r2, [r1, 0x2]
- movs r0, 0x50
- strh r0, [r1, 0x4]
- strh r2, [r1, 0x6]
- ldr r4, _080CA9A0
- ldr r0, _080CA9A4
- ldrb r0, [r0]
- bl sub_8079E90
- adds r3, r0, 0
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- bl CreateSpriteAndAnimate
-_080CA982:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0xF
- bne _080CA990
- adds r0, r6, 0
- bl move_anim_task_del
-_080CA990:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA998: .4byte gTasks
-_080CA99C: .4byte gUnknown_03004B00
-_080CA9A0: .4byte gSpriteTemplate_83D631C
-_080CA9A4: .4byte gUnknown_0202F7C9
- thumb_func_end sub_80CA928
-
- thumb_func_start sub_80CA9A8
-sub_80CA9A8: @ 80CA9A8
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r6, _080CA9EC
- ldrh r0, [r6, 0x6]
- strh r0, [r4, 0x2E]
- ldr r5, _080CA9F0
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldrh r0, [r6, 0x4]
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80786EC
- ldr r0, _080CA9F4
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CA9EC: .4byte gUnknown_03004B00
-_080CA9F0: .4byte gUnknown_0202F7C8
-_080CA9F4: .4byte sub_80CA9F8
- thumb_func_end sub_80CA9A8
-
- thumb_func_start sub_80CA9F8
-sub_80CA9F8: @ 80CA9F8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080CAA0C
- adds r0, r4, 0
- bl move_anim_8072740
-_080CAA0C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CA9F8
-
- thumb_func_start sub_80CAA14
-sub_80CAA14: @ 80CAA14
- push {r4,r5,lr}
- adds r5, r0, 0
- bl Random
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x7
- ands r1, r0
- adds r0, r5, 0
- bl StartSpriteAnim
- ldr r4, _080CAA5C
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CAA60
- ldrh r0, [r5, 0x20]
- subs r0, 0x14
- b _080CAA64
- .align 2, 0
-_080CAA5C: .4byte gUnknown_0202F7C8
-_080CAA60:
- ldrh r0, [r5, 0x20]
- adds r0, 0x14
-_080CAA64:
- strh r0, [r5, 0x20]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1F
- ands r0, r1
- adds r0, 0x40
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldr r4, _080CAAC4
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_8078D60
- bl Random
- movs r1, 0xFF
- ands r1, r0
- strh r1, [r5, 0x38]
- adds r0, r5, 0
- adds r0, 0x43
- ldrb r0, [r0]
- strh r0, [r5, 0x3A]
- ldr r1, _080CAAC8
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CAAC4: .4byte gUnknown_0202F7C9
-_080CAAC8: .4byte sub_80CAACC
- thumb_func_end sub_80CAA14
-
- thumb_func_start sub_80CAACC
-sub_80CAACC: @ 80CAACC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078CE8
- lsls r0, 24
- cmp r0, 0
- beq _080CAAE2
- adds r0, r4, 0
- bl move_anim_8072740
- b _080CAB12
-_080CAAE2:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xC
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x7E
- bgt _080CAAFE
- ldrh r0, [r4, 0x3A]
- b _080CAB02
-_080CAAFE:
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
-_080CAB02:
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrh r0, [r4, 0x38]
- adds r0, 0x18
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
-_080CAB12:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CAACC
-
- thumb_func_start sub_80CAB18
-sub_80CAB18: @ 80CAB18
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r0, _080CAB78
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CAB38
- ldr r1, _080CAB7C
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080CAB38:
- ldr r4, _080CAB7C
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldr r5, _080CAB80
- ldrb r0, [r5]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r6, 0x36]
- ldrh r0, [r4, 0xA]
- strh r0, [r6, 0x38]
- adds r0, r6, 0
- bl sub_80786EC
- ldr r0, _080CAB84
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CAB78: .4byte gUnknown_0202F7C8
-_080CAB7C: .4byte gUnknown_03004B00
-_080CAB80: .4byte gUnknown_0202F7C9
-_080CAB84: .4byte sub_80CAB88
- thumb_func_end sub_80CAB18
-
- thumb_func_start sub_80CAB88
-sub_80CAB88: @ 80CAB88
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080CABB2
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- ldr r0, _080CABB8
- str r0, [r4, 0x1C]
- ldr r1, _080CABBC
- adds r0, r4, 0
- bl oamt_set_x3A_32
-_080CABB2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CABB8: .4byte sub_80782D8
-_080CABBC: .4byte sub_80CABC0
- thumb_func_end sub_80CAB88
-
- thumb_func_start sub_80CABC0
-sub_80CABC0: @ 80CABC0
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0x3C
- strh r0, [r4, 0x2E]
- ldr r0, _080CABF0
- str r0, [r4, 0x1C]
- ldr r1, _080CABF4
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CABF0: .4byte sub_80782D8
-_080CABF4: .4byte move_anim_8072740
- thumb_func_end sub_80CABC0
-
- thumb_func_start sub_80CABF8
-sub_80CABF8: @ 80CABF8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r5, _080CAC3C
- ldrb r1, [r5, 0x8]
- adds r0, r4, 0
- bl StartSpriteAnim
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080CAC22
- ldrb r0, [r4, 0x1]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4, 0x1]
-_080CAC22:
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x30]
- ldr r1, _080CAC40
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CAC3C: .4byte gUnknown_03004B00
-_080CAC40: .4byte sub_80CAC44
- thumb_func_end sub_80CABF8
-
- thumb_func_start sub_80CAC44
-sub_80CAC44: @ 80CAC44
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- negs r1, r1
- bl Cos
- ldrh r1, [r4, 0x32]
- adds r1, 0x18
- strh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7F
- bhi _080CAC98
- ldr r0, _080CAC94
- ldrb r0, [r0]
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- b _080CACBC
- .align 2, 0
-_080CAC94: .4byte gUnknown_0202F7C9
-_080CAC98:
- ldr r0, _080CACE8
- ldrb r0, [r0]
- bl sub_8079ED4
- adds r0, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080CACAC
- movs r2, 0x3
-_080CACAC:
- movs r0, 0x3
- ands r2, r0
- lsls r2, 2
- ldrb r1, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
-_080CACBC:
- strb r0, [r4, 0x5]
- ldrh r0, [r4, 0x30]
- adds r0, 0x2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080CACE0
- adds r0, r4, 0
- bl move_anim_8072740
-_080CACE0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CACE8: .4byte gUnknown_0202F7C9
- thumb_func_end sub_80CAC44
-
- thumb_func_start sub_80CACEC
-sub_80CACEC: @ 80CACEC
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080CAD06
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- bne _080CAD0E
-_080CAD06:
- adds r0, r4, 0
- bl move_anim_task_del
- b _080CAD4A
-_080CAD0E:
- ldr r0, _080CAD2C
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CAD34
- ldr r0, _080CAD30
- ldrb r1, [r0]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0]
- b _080CAD44
- .align 2, 0
-_080CAD2C: .4byte gUnknown_0202F7C9
-_080CAD30: .4byte REG_BG2CNT
-_080CAD34:
- ldr r2, _080CAD50
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_080CAD44:
- adds r0, r4, 0
- bl move_anim_task_del
-_080CAD4A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CAD50: .4byte REG_BG1CNT
- thumb_func_end sub_80CACEC
-
- thumb_func_start sub_80CAD54
-sub_80CAD54: @ 80CAD54
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80787B0
- ldr r5, _080CAD9C
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldr r0, _080CADA0
- ldrb r0, [r0]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x4]
- adds r0, r5
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- movs r0, 0x40
- strh r0, [r4, 0x38]
- ldr r1, _080CADA4
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CAD9C: .4byte gUnknown_03004B00
-_080CADA0: .4byte gUnknown_0202F7C8
-_080CADA4: .4byte sub_80CADA8
- thumb_func_end sub_80CAD54
-
- thumb_func_start sub_80CADA8
-sub_80CADA8: @ 80CADA8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- bne _080CAE14
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x5
- negs r1, r1
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7F
- bhi _080CADF4
- ldr r0, _080CADF0
- ldrb r0, [r0]
- bl sub_8079E90
- subs r0, 0x1
- b _080CADFE
- .align 2, 0
-_080CADF0: .4byte gUnknown_0202F7C8
-_080CADF4:
- ldr r0, _080CAE10
- ldrb r0, [r0]
- bl sub_8079E90
- adds r0, 0x1
-_080CADFE:
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrh r0, [r4, 0x38]
- adds r0, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _080CAE1A
- .align 2, 0
-_080CAE10: .4byte gUnknown_0202F7C8
-_080CAE14:
- adds r0, r4, 0
- bl move_anim_8072740
-_080CAE1A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CADA8
-
- thumb_func_start sub_80CAE20
-sub_80CAE20: @ 80CAE20
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r5, _080CAE68
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldr r0, _080CAE6C
- ldrb r0, [r0]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x4]
- adds r0, r5
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- movs r0, 0x40
- strh r0, [r4, 0x38]
- ldr r1, _080CAE70
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CAE68: .4byte gUnknown_03004B00
-_080CAE6C: .4byte gUnknown_0202F7C8
-_080CAE70: .4byte sub_80CAE74
- thumb_func_end sub_80CAE20
-
- thumb_func_start sub_80CAE74
-sub_80CAE74: @ 80CAE74
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- bne _080CAECC
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- ldrh r1, [r4, 0x38]
- adds r0, r1, 0
- subs r0, 0x3B
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bls _080CAEAC
- adds r0, r1, 0
- subs r0, 0xBB
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x4
- bhi _080CAEC0
-_080CAEAC:
- ldrb r2, [r4, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- movs r0, 0x8
- eors r1, r0
- lsls r1, 1
- subs r0, 0x47
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x3]
-_080CAEC0:
- ldrh r0, [r4, 0x38]
- adds r0, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _080CAED2
-_080CAECC:
- adds r0, r4, 0
- bl move_anim_8072740
-_080CAED2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CAE74
-
- thumb_func_start sub_80CAED8
-sub_80CAED8: @ 80CAED8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080CAF14
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r1, _080CAF18
- ldrh r0, [r1]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x32]
- ldr r0, _080CAF1C
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CAF14: .4byte gUnknown_0202F7C8
-_080CAF18: .4byte gUnknown_03004B00
-_080CAF1C: .4byte sub_80CAF20
- thumb_func_end sub_80CAED8
-
- thumb_func_start sub_80CAF20
-sub_80CAF20: @ 80CAF20
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x32]
- movs r2, 0x32
- ldrsh r3, [r1, r2]
- cmp r3, 0
- bne _080CAF54
- ldrh r0, [r1, 0x30]
- movs r2, 0x1
- ands r2, r0
- cmp r2, 0
- beq _080CAF42
- movs r0, 0x80
- strh r0, [r1, 0x2E]
- strh r3, [r1, 0x30]
- strh r3, [r1, 0x32]
- b _080CAF48
-_080CAF42:
- strh r2, [r1, 0x2E]
- strh r2, [r1, 0x30]
- strh r2, [r1, 0x32]
-_080CAF48:
- ldr r0, _080CAF50
- str r0, [r1, 0x1C]
- b _080CAF68
- .align 2, 0
-_080CAF50: .4byte sub_80CAF6C
-_080CAF54:
- subs r0, 0x1
- strh r0, [r1, 0x32]
- ldrh r0, [r1, 0x2E]
- ldrh r2, [r1, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x30]
- ldrh r2, [r1, 0x22]
- adds r0, r2
- strh r0, [r1, 0x22]
-_080CAF68:
- pop {r0}
- bx r0
- thumb_func_end sub_80CAF20
-
- thumb_func_start sub_80CAF6C
-sub_80CAF6C: @ 80CAF6C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080CAF8C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CAF90
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x19
- bl Sin
- negs r0, r0
- b _080CAF9A
- .align 2, 0
-_080CAF8C: .4byte gUnknown_0202F7C8
-_080CAF90:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x19
- bl Sin
-_080CAF9A:
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080CAFBA
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
-_080CAFBA:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x50
- ble _080CAFC8
- adds r0, r4, 0
- bl move_anim_8072740
-_080CAFC8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CAF6C
-
- thumb_func_start sub_80CAFD0
-sub_80CAFD0: @ 80CAFD0
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r0, _080CB024
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CAFF0
- ldr r1, _080CB028
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080CAFF0:
- ldr r6, _080CB028
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- movs r1, 0xC
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080CB030
- ldr r4, _080CB02C
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x6]
- adds r0, r6
- b _080CB050
- .align 2, 0
-_080CB024: .4byte gUnknown_0202F7C8
-_080CB028: .4byte gUnknown_03004B00
-_080CB02C: .4byte gUnknown_0202F7C9
-_080CB030:
- ldr r0, _080CB07C
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x32
- adds r3, r5, 0
- adds r3, 0x36
- movs r1, 0x1
- bl sub_807A3FC
- ldrh r0, [r6, 0x4]
- ldrh r1, [r5, 0x32]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r6, 0x6]
- ldrh r1, [r5, 0x36]
- adds r0, r1
-_080CB050:
- strh r0, [r5, 0x36]
- ldr r0, _080CB080
- ldrh r0, [r0, 0xA]
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl sub_80786EC
- ldr r0, _080CB084
- ldrb r0, [r0]
- bl battle_side_get_owner
- adds r4, r0, 0
- ldr r0, _080CB07C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080CB088
- movs r0, 0x1
- b _080CB08A
- .align 2, 0
-_080CB07C: .4byte gUnknown_0202F7C9
-_080CB080: .4byte gUnknown_03004B00
-_080CB084: .4byte gUnknown_0202F7C8
-_080CB088:
- movs r0, 0
-_080CB08A:
- strh r0, [r5, 0x2E]
- ldr r0, _080CB098
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB098: .4byte sub_80CB09C
- thumb_func_end sub_80CAFD0
-
- thumb_func_start sub_80CB09C
-sub_80CB09C: @ 80CB09C
- push {r4-r7,lr}
- adds r6, r0, 0
- movs r7, 0
- ldrh r5, [r6, 0x2E]
- ldrh r4, [r6, 0x3C]
- movs r0, 0x1
- strh r0, [r6, 0x2E]
- adds r0, r6, 0
- bl sub_8078718
- ldrh r0, [r6, 0x3C]
- strh r5, [r6, 0x2E]
- lsls r4, 16
- asrs r4, 16
- cmp r4, 0xC8
- ble _080CB0CE
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x37
- bgt _080CB0CE
- ldrh r0, [r6, 0x6]
- cmp r0, 0
- bne _080CB0D4
- adds r0, 0x1
- strh r0, [r6, 0x6]
-_080CB0CE:
- ldrh r0, [r6, 0x6]
- cmp r0, 0
- beq _080CB106
-_080CB0D4:
- movs r1, 0x2E
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080CB106
- adds r3, r6, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r6, 0x6]
- adds r0, 0x1
- strh r0, [r6, 0x6]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1E
- bne _080CB106
- movs r7, 0x1
-_080CB106:
- movs r2, 0x20
- ldrsh r0, [r6, r2]
- movs r2, 0x24
- ldrsh r1, [r6, r2]
- adds r0, r1
- adds r0, 0x10
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- bhi _080CB130
- movs r0, 0x22
- ldrsh r1, [r6, r0]
- movs r2, 0x26
- ldrsh r0, [r6, r2]
- adds r1, r0
- cmp r1, 0xA0
- bgt _080CB130
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _080CB132
-_080CB130:
- movs r7, 0x1
-_080CB132:
- cmp r7, 0
- beq _080CB13C
- adds r0, r6, 0
- bl move_anim_8072740
-_080CB13C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80CB09C
-
- thumb_func_start sub_80CB144
-sub_80CB144: @ 80CB144
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080CB170
- bl battle_type_is_double
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CB170
- ldr r0, _080CB198
- ldrb r0, [r0]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r1, 0x1
- bl sub_807A3FC
-_080CB170:
- ldrh r0, [r4, 0x22]
- adds r0, 0x20
- strh r0, [r4, 0x22]
- ldr r1, _080CB19C
- ldrh r0, [r1]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x32]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x36]
- ldr r0, _080CB1A0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB198: .4byte gUnknown_0202F7C9
-_080CB19C: .4byte gUnknown_03004B00
-_080CB1A0: .4byte sub_80CB1A4
- thumb_func_end sub_80CB144
-
- thumb_func_start sub_80CB1A4
-sub_80CB1A4: @ 80CB1A4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0xFF
- bne _080CB1BA
- ldrh r0, [r4, 0x22]
- subs r0, 0x2
- strh r0, [r4, 0x22]
- b _080CB1C8
-_080CB1BA:
- cmp r0, 0
- ble _080CB1C8
- ldrh r0, [r4, 0x22]
- subs r0, 0x2
- strh r0, [r4, 0x22]
- subs r0, r1, 0x2
- strh r0, [r4, 0x30]
-_080CB1C8:
- ldrh r3, [r4, 0x32]
- ldrh r5, [r4, 0x38]
- adds r2, r3, r5
- strh r2, [r4, 0x38]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r5, 0x36
- ldrsh r0, [r4, r5]
- cmp r1, r0
- bge _080CB1E0
- adds r0, r2, r3
- strh r0, [r4, 0x38]
-_080CB1E0:
- ldrh r1, [r4, 0x38]
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x24]
- movs r5, 0x38
- ldrsh r0, [r4, r5]
- movs r1, 0x5
- bl Sin
- strh r0, [r4, 0x26]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- bgt _080CB220
- ldr r0, _080CB21C
- ldrb r0, [r0]
- bl sub_8079ED4
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- b _080CB22E
- .align 2, 0
-_080CB21C: .4byte gUnknown_0202F7C9
-_080CB220:
- ldr r0, _080CB258
- ldrb r0, [r0]
- bl sub_8079ED4
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
-_080CB22E:
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _080CB252
- adds r0, r4, 0
- bl move_anim_8072740
-_080CB252:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB258: .4byte gUnknown_0202F7C9
- thumb_func_end sub_80CB1A4
-
- thumb_func_start sub_80CB25C
-sub_80CB25C: @ 80CB25C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0
- bl sub_8078764
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r4, _080CB290
- ldrb r1, [r4, 0x4]
- adds r0, r5, 0
- bl StartSpriteAffineAnim
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x3A]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x3C]
- ldr r0, _080CB294
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB290: .4byte gUnknown_03004B00
-_080CB294: .4byte sub_80CB298
- thumb_func_end sub_80CB25C
-
- thumb_func_start sub_80CB298
-sub_80CB298: @ 80CB298
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080CB2C8
- ldrh r1, [r0, 0xE]
- ldr r0, _080CB2CC
- cmp r1, r0
- bne _080CB2C2
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r4, 0x2E]
- ldr r0, _080CB2D0
- str r0, [r4, 0x1C]
-_080CB2C2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB2C8: .4byte gUnknown_03004B00
-_080CB2CC: .4byte 0x0000ffff
-_080CB2D0: .4byte sub_80CB2D4
- thumb_func_end sub_80CB298
-
- thumb_func_start sub_80CB2D4
-sub_80CB2D4: @ 80CB2D4
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080CB2EC
- ldrh r0, [r4, 0x2E]
- adds r0, 0xB
- b _080CB2F0
-_080CB2EC:
- ldrh r0, [r4, 0x2E]
- subs r0, 0xB
-_080CB2F0:
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _080CB30C
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x32]
-_080CB30C:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CB33A
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- cmp r0, 0
- ble _080CB334
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- b _080CB33A
-_080CB334:
- adds r0, r4, 0
- bl move_anim_8072740
-_080CB33A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CB2D4
-
- thumb_func_start sub_80CB340
-sub_80CB340: @ 80CB340
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080CB36C
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r0, 29
- cmp r0, 0
- bge _080CB370
- adds r0, r4, 0
- bl move_anim_task_del
- b _080CB396
- .align 2, 0
-_080CB36C: .4byte gSprites
-_080CB370:
- adds r0, r2, 0
- movs r1, 0x1
- bl sub_8078E70
- ldr r1, _080CB39C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r2, _080CB3A0
- ldrh r1, [r2]
- strh r1, [r0, 0x8]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0xA]
- movs r1, 0x80
- lsls r1, 1
- strh r1, [r0, 0x1E]
- ldr r1, _080CB3A4
- str r1, [r0]
-_080CB396:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB39C: .4byte gTasks
-_080CB3A0: .4byte gUnknown_03004B00
-_080CB3A4: .4byte sub_80CB3A8
- thumb_func_end sub_80CB340
-
- thumb_func_start sub_80CB3A8
-sub_80CB3A8: @ 80CB3A8
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, _080CB428
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0x8]
- ldrh r0, [r4, 0x1C]
- adds r1, r0
- strh r1, [r4, 0x1C]
- ldr r2, _080CB42C
- lsls r0, r6, 4
- adds r0, r6
- lsls r0, 2
- adds r5, r0, r2
- lsls r1, 16
- asrs r1, 24
- strh r1, [r5, 0x24]
- ldr r0, _080CB430
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CB3F2
- ldrh r0, [r5, 0x24]
- negs r0, r0
- strh r0, [r5, 0x24]
-_080CB3F2:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x10
- strh r0, [r4, 0x1E]
- movs r0, 0x1E
- ldrsh r2, [r4, r0]
- adds r0, r6, 0
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- adds r0, r6, 0
- bl sub_8079A64
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _080CB420
- strh r0, [r4, 0x8]
- ldr r0, _080CB434
- str r0, [r4]
-_080CB420:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB428: .4byte gTasks
-_080CB42C: .4byte gSprites
-_080CB430: .4byte gUnknown_0202F7C9
-_080CB434: .4byte sub_80CB438
- thumb_func_end sub_80CB3A8
-
- thumb_func_start sub_80CB438
-sub_80CB438: @ 80CB438
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _080CB484
- ldrh r1, [r0, 0xE]
- ldr r0, _080CB488
- cmp r1, r0
- bne _080CB494
- ldr r0, _080CB48C
- lsls r2, r3, 2
- adds r1, r2, r3
- lsls r1, 3
- adds r6, r1, r0
- movs r1, 0x8
- ldrsh r5, [r6, r1]
- adds r4, r0, 0
- cmp r5, 0
- bne _080CB4A8
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8078F40
- ldr r1, _080CB490
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- strh r5, [r0, 0x24]
- strh r5, [r0, 0x26]
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- strh r0, [r6, 0x8]
- b _080CB4C2
- .align 2, 0
-_080CB484: .4byte gUnknown_03004B00
-_080CB488: .4byte 0x0000ffff
-_080CB48C: .4byte gTasks
-_080CB490: .4byte gSprites
-_080CB494:
- ldr r1, _080CB4C8
- lsls r2, r3, 2
- adds r0, r2, r3
- lsls r0, 3
- adds r0, r1
- movs r4, 0x8
- ldrsh r0, [r0, r4]
- adds r4, r1, 0
- cmp r0, 0
- beq _080CB4C2
-_080CB4A8:
- adds r1, r2, r3
- lsls r1, 3
- adds r1, r4
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080CB4C2
- adds r0, r3, 0
- bl move_anim_task_del
-_080CB4C2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB4C8: .4byte gTasks
- thumb_func_end sub_80CB438
-
- thumb_func_start sub_80CB4CC
-sub_80CB4CC: @ 80CB4CC
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080CB4DE
- cmp r0, 0x1
- beq _080CB538
- b _080CB58A
-_080CB4DE:
- ldr r6, _080CB530
- ldrb r0, [r6]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080CB4F6
- ldr r1, _080CB534
- movs r2, 0
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1]
-_080CB4F6:
- ldrb r0, [r6]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- ldr r4, _080CB534
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r5, 0x20]
- ldrb r0, [r6]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
- strh r0, [r5, 0x22]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080CB58A
- .align 2, 0
-_080CB530: .4byte gUnknown_0202F7C9
-_080CB534: .4byte gUnknown_03004B00
-_080CB538:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CB58A
- adds r0, r5, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnim
- movs r0, 0x19
- strh r0, [r5, 0x2E]
- ldr r4, _080CB590
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- ldr r0, _080CB594
- str r0, [r5, 0x1C]
- ldr r1, _080CB598
- adds r0, r5, 0
- bl oamt_set_x3A_32
-_080CB58A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB590: .4byte gUnknown_0202F7C8
-_080CB594: .4byte sub_8078CC0
-_080CB598: .4byte move_anim_8072740
- thumb_func_end sub_80CB4CC
-
- thumb_func_start sub_80CB59C
-sub_80CB59C: @ 80CB59C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080CB608
- ldr r4, _080CB614
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r4, _080CB618
- ldrh r0, [r4]
- strh r0, [r5, 0x24]
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x26]
- ldrb r0, [r4, 0x4]
- adds r0, 0x1E
- adds r1, r5, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r4, 0x6]
- adds r0, r5, 0
- bl StartSpriteAnim
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- movs r2, 0x22
- ldrsh r0, [r5, r2]
- movs r2, 0x26
- ldrsh r1, [r5, r2]
- adds r0, r1
- cmp r0, 0x78
- ble _080CB608
- ldrh r0, [r5, 0x22]
- adds r1, r0, 0
- subs r1, 0x78
- ldrh r2, [r5, 0x26]
- adds r0, r2
- adds r1, r0
- strh r1, [r5, 0x22]
-_080CB608:
- ldr r0, _080CB61C
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB614: .4byte gUnknown_0202F7C8
-_080CB618: .4byte gUnknown_03004B00
-_080CB61C: .4byte sub_80CB710
- thumb_func_end sub_80CB59C
-
- thumb_func_start sub_80CB620
-sub_80CB620: @ 80CB620
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- sub sp, 0x4
- mov r9, r0
- ldr r4, _080CB6FC
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- mov r8, r0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r6, _080CB700
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_8077ABC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r6]
- movs r1, 0x3
- bl sub_8077ABC
- adds r2, r0, 0
- lsls r2, 24
- subs r4, r5
- lsls r4, 16
- lsrs r2, 24
- mov r1, r8
- subs r2, r1
- lsls r2, 16
- lsrs r2, 16
- lsrs r3, r4, 16
- mov r10, r3
- asrs r4, 16
- ldr r6, _080CB704
- movs r1, 0
- ldrsh r0, [r6, r1]
- muls r0, r4
- movs r1, 0x64
- str r2, [sp]
- bl __divsi3
- adds r5, r0
- mov r3, r9
- strh r5, [r3, 0x20]
- ldr r2, [sp]
- lsls r0, r2, 16
- asrs r0, 16
- movs r3, 0
- ldrsh r1, [r6, r3]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- add r8, r0
- mov r1, r8
- mov r0, r9
- strh r1, [r0, 0x22]
- ldrh r0, [r6, 0x2]
- mov r3, r9
- strh r0, [r3, 0x24]
- ldrh r0, [r6, 0x4]
- strh r0, [r3, 0x26]
- ldrb r0, [r6, 0x6]
- adds r0, 0x1E
- mov r1, r9
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r6, 0x8]
- mov r0, r9
- bl StartSpriteAnim
- ldrh r0, [r6, 0xA]
- mov r1, r9
- strh r0, [r1, 0x32]
- ldr r0, _080CB708
- str r0, [r1, 0x1C]
- ldr r1, _080CB70C
- mov r3, r9
- ldrh r0, [r3, 0x20]
- strh r0, [r1]
- ldrh r0, [r3, 0x22]
- strh r0, [r1, 0x2]
- mov r0, r10
- strh r0, [r1, 0x4]
- ldr r2, [sp]
- strh r2, [r1, 0x6]
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB6FC: .4byte gUnknown_0202F7C8
-_080CB700: .4byte gUnknown_0202F7C9
-_080CB704: .4byte gUnknown_03004B00
-_080CB708: .4byte sub_80CB710
-_080CB70C: .4byte gUnknown_03000728
- thumb_func_end sub_80CB620
-
- thumb_func_start sub_80CB710
-sub_80CB710: @ 80CB710
- push {lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x2E]
- adds r1, 0x1
- strh r1, [r3, 0x2E]
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x32
- ldrsh r0, [r3, r2]
- subs r0, 0xA
- cmp r1, r0
- ble _080CB750
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- movs r2, 0x3E
- adds r2, r3
- mov r12, r2
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
-_080CB750:
- movs r2, 0x2E
- ldrsh r1, [r3, r2]
- movs r2, 0x32
- ldrsh r0, [r3, r2]
- cmp r1, r0
- ble _080CB762
- adds r0, r3, 0
- bl move_anim_8072740
-_080CB762:
- pop {r0}
- bx r0
- thumb_func_end sub_80CB710
-
- thumb_func_start sub_80CB768
-sub_80CB768: @ 80CB768
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080CB7A8
- ldr r5, _080CB7E4
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- ldr r4, _080CB7E8
- lsrs r0, 24
- ldrh r2, [r4]
- adds r0, r2
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r6, 0x22]
- ldrh r0, [r4, 0x4]
- strh r0, [r6, 0x30]
- ldrh r0, [r4, 0x6]
- strh r0, [r6, 0x32]
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x34]
-_080CB7A8:
- ldrh r0, [r6, 0x2E]
- adds r0, 0x1
- strh r0, [r6, 0x2E]
- ldrh r1, [r6, 0x30]
- muls r0, r1
- strh r0, [r6, 0x24]
- movs r2, 0x2E
- ldrsh r1, [r6, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- movs r1, 0xFF
- ands r0, r1
- movs r2, 0x32
- ldrsh r1, [r6, r2]
- bl Sin
- strh r0, [r6, 0x26]
- movs r0, 0x2E
- ldrsh r1, [r6, r0]
- movs r2, 0x34
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _080CB7DE
- adds r0, r6, 0
- bl move_anim_8072740
-_080CB7DE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB7E4: .4byte gUnknown_0202F7C8
-_080CB7E8: .4byte gUnknown_03004B00
- thumb_func_end sub_80CB768
-
- thumb_func_start sub_80CB7EC
-sub_80CB7EC: @ 80CB7EC
- push {r4,r5,lr}
- movs r2, 0x20
- ldrsh r4, [r0, r2]
- lsls r4, 8
- movs r3, 0x22
- ldrsh r2, [r0, r3]
- orrs r4, r2
- movs r5, 0x3A
- ldrsh r2, [r0, r5]
- lsls r2, 8
- movs r5, 0x3C
- ldrsh r3, [r0, r5]
- orrs r2, r3
- lsls r1, 8
- strh r4, [r0, 0x38]
- strh r2, [r0, 0x3A]
- strh r1, [r0, 0x3C]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80CB7EC
-
- thumb_func_start sub_80CB814
-sub_80CB814: @ 80CB814
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r8, r0
- ldrh r0, [r0, 0x38]
- lsrs r1, r0, 8
- mov r10, r1
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- mov r1, r8
- ldrh r0, [r1, 0x3A]
- lsrs r2, r0, 8
- lsls r0, 24
- lsrs r4, r0, 24
- ldrh r1, [r1, 0x3C]
- lsls r0, r1, 16
- asrs r0, 24
- lsls r0, 16
- lsrs r6, r0, 16
- movs r3, 0xFF
- ands r3, r1
- cmp r2, 0
- bne _080CB84E
- movs r2, 0x20
- negs r2, r2
- b _080CB856
-_080CB84E:
- cmp r2, 0xFF
- bne _080CB856
- movs r2, 0x88
- lsls r2, 1
-_080CB856:
- mov r0, r9
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- mov r1, r10
- subs r0, r2, r1
- lsls r5, r3, 16
- asrs r5, 16
- muls r0, r5
- lsls r1, r6, 16
- asrs r7, r1, 16
- adds r1, r7, 0
- bl __divsi3
- adds r6, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- muls r0, r5
- adds r1, r7, 0
- bl __divsi3
- add r6, r10
- mov r1, r8
- strh r6, [r1, 0x20]
- add r0, r9
- strh r0, [r1, 0x22]
- adds r5, 0x1
- lsls r5, 16
- lsrs r3, r5, 16
- asrs r5, 16
- cmp r5, r7
- beq _080CB8A8
- lsls r1, r7, 8
- lsls r0, r3, 16
- asrs r0, 16
- orrs r0, r1
- mov r1, r8
- strh r0, [r1, 0x3C]
- movs r0, 0
- b _080CB8AA
-_080CB8A8:
- movs r0, 0x1
-_080CB8AA:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80CB814
-
- thumb_func_start sub_80CB8B8
-sub_80CB8B8: @ 80CB8B8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0xA
- bne _080CB8CC
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080CB8CC:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x32
- ble _080CB8E0
- adds r0, r4, 0
- bl move_anim_8072740
-_080CB8E0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CB8B8
-
- thumb_func_start sub_80CB8E8
-sub_80CB8E8: @ 80CB8E8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- lsls r0, 7
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x2E]
- adds r1, r0
- movs r5, 0
- strh r1, [r4, 0x2E]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7F
- ble _080CB912
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- strh r5, [r4, 0x2E]
-_080CB912:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x80
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x30
- ldrsh r2, [r4, r1]
- lsls r2, 3
- movs r1, 0x1E
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- bl sub_80CB814
- lsls r0, 24
- cmp r0, 0
- beq _080CB942
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x2E]
- ldr r0, _080CB948
- str r0, [r4, 0x1C]
-_080CB942:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB948: .4byte sub_80CB8B8
- thumb_func_end sub_80CB8E8
-
- thumb_func_start sub_80CB94C
-sub_80CB94C: @ 80CB94C
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0
- bl sub_80787B0
- ldr r4, _080CB994
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080CB998
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- ldrb r4, [r4]
- cmp r0, r4
- bne _080CB99C
- strh r6, [r5, 0x3A]
- adds r0, r2, 0
- adds r0, 0xA
- strh r0, [r5, 0x3C]
- adds r0, r5, 0
- movs r1, 0x3C
- bl sub_80CB7EC
- movs r0, 0x1
- b _080CB9AE
- .align 2, 0
-_080CB994: .4byte gUnknown_0202F7C9
-_080CB998: .4byte gUnknown_0202F7C8
-_080CB99C:
- strh r6, [r5, 0x3A]
- adds r0, r2, 0
- adds r0, 0xA
- strh r0, [r5, 0x3C]
- adds r0, r5, 0
- movs r1, 0x3C
- bl sub_80CB7EC
- movs r0, 0x3
-_080CB9AE:
- strh r0, [r5, 0x34]
- movs r0, 0x3C
- strh r0, [r5, 0x36]
- ldr r0, _080CB9C0
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CB9C0: .4byte sub_80CB8E8
- thumb_func_end sub_80CB94C
-
- thumb_func_start sub_80CB9C4
-sub_80CB9C4: @ 80CB9C4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- lsls r0, 7
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x2E]
- adds r1, r0
- movs r5, 0
- strh r1, [r4, 0x2E]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7F
- ble _080CB9EE
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- strh r5, [r4, 0x2E]
-_080CB9EE:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x80
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x30
- ldrsh r2, [r4, r1]
- lsls r2, 3
- movs r1, 0x1E
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- bl sub_80CB814
- lsls r0, 24
- cmp r0, 0
- beq _080CBA20
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x2E]
- adds r0, r4, 0
- bl move_anim_8072740
-_080CBA20:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80CB9C4
-
- thumb_func_start sub_80CBA28
-sub_80CBA28: @ 80CBA28
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _080CBA64
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080CBA6C
- strh r0, [r5, 0x3A]
- adds r0, r6, 0
- adds r0, 0xA
- strh r0, [r5, 0x3C]
- adds r0, r5, 0
- movs r1, 0x28
- bl sub_80CB7EC
- movs r0, 0x3
- strh r0, [r5, 0x34]
- movs r0, 0x3C
- strh r0, [r5, 0x36]
- ldr r0, _080CBA68
- b _080CBA96
- .align 2, 0
-_080CBA64: .4byte gUnknown_0202F7C9
-_080CBA68: .4byte sub_80CB8E8
-_080CBA6C:
- movs r0, 0xFF
- strh r0, [r5, 0x3A]
- adds r0, r6, 0
- adds r0, 0xA
- strh r0, [r5, 0x3C]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080CBA84
- movs r0, 0
- strh r0, [r5, 0x3A]
-_080CBA84:
- adds r0, r5, 0
- movs r1, 0x28
- bl sub_80CB7EC
- movs r0, 0x3
- strh r0, [r5, 0x34]
- movs r0, 0x3C
- strh r0, [r5, 0x36]
- ldr r0, _080CBAA0
-_080CBA96:
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBAA0: .4byte sub_80CB9C4
- thumb_func_end sub_80CBA28
-
- thumb_func_start sub_80CBAA4
-sub_80CBAA4: @ 80CBAA4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080CBABE
- adds r0, r4, 0
- movs r1, 0
- bl sub_8078764
- ldr r0, _080CBAE4
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x30]
-_080CBABE:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x30]
- muls r0, r1
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CBADE
- adds r0, r4, 0
- bl move_anim_8072740
-_080CBADE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBAE4: .4byte gUnknown_03004B00
- thumb_func_end sub_80CBAA4
-
- thumb_func_start sub_80CBAE8
-sub_80CBAE8: @ 80CBAE8
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0
- bl sub_8078764
- ldr r4, _080CBB30
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080CBB34
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- ldrb r4, [r4]
- cmp r0, r4
- bne _080CBB38
- strh r6, [r5, 0x3A]
- adds r0, r2, 0
- adds r0, 0xA
- strh r0, [r5, 0x3C]
- adds r0, r5, 0
- movs r1, 0x3C
- bl sub_80CB7EC
- movs r0, 0x1
- b _080CBB4A
- .align 2, 0
-_080CBB30: .4byte gUnknown_0202F7C8
-_080CBB34: .4byte gUnknown_0202F7C9
-_080CBB38:
- strh r6, [r5, 0x3A]
- adds r0, r2, 0
- adds r0, 0xA
- strh r0, [r5, 0x3C]
- adds r0, r5, 0
- movs r1, 0x3C
- bl sub_80CB7EC
- movs r0, 0x3
-_080CBB4A:
- strh r0, [r5, 0x34]
- movs r0, 0x3C
- strh r0, [r5, 0x36]
- ldr r0, _080CBB5C
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBB5C: .4byte sub_80CBB60
- thumb_func_end sub_80CBAE8
-
- thumb_func_start sub_80CBB60
-sub_80CBB60: @ 80CBB60
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- lsls r0, 7
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl __divsi3
- ldrh r1, [r4, 0x2E]
- adds r1, r0
- movs r5, 0
- strh r1, [r4, 0x2E]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x7F
- ble _080CBB8A
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- strh r5, [r4, 0x2E]
-_080CBB8A:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x80
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x30
- ldrsh r2, [r4, r1]
- lsls r2, 3
- movs r1, 0x1E
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x26]
- lsls r0, 16
- cmp r0, 0
- bne _080CBBBE
- movs r0, 0x3F
- bl sub_8076F98
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x7D
- bl PlaySE12WithPanning
-_080CBBBE:
- adds r0, r4, 0
- bl sub_80CB814
- lsls r0, 24
- cmp r0, 0
- beq _080CBBE6
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x2E]
- ldr r0, _080CBBEC
- str r0, [r4, 0x1C]
- movs r0, 0x40
- negs r0, r0
- bl sub_8076F98
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x7D
- bl PlaySE12WithPanning
-_080CBBE6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBBEC: .4byte sub_80CB8B8
- thumb_func_end sub_80CBB60
-
- thumb_func_start sub_80CBBF0
-sub_80CBBF0: @ 80CBBF0
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080CBC84
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080CBC18
- ldr r0, _080CBC14
- ldrh r1, [r0, 0x2]
- strh r1, [r4, 0x30]
- movs r1, 0x78
- strh r1, [r4, 0x20]
- adds r5, r0, 0
- b _080CBC3A
- .align 2, 0
-_080CBC14: .4byte gUnknown_03004B00
-_080CBC18:
- ldr r0, _080CBC74
- movs r1, 0x2
- ldrsh r3, [r0, r1]
- adds r1, r3, 0
- subs r1, 0x20
- adds r2, r1, 0
- adds r5, r0, 0
- cmp r1, 0
- bge _080CBC2E
- adds r2, r3, 0
- adds r2, 0xDF
-_080CBC2E:
- asrs r0, r2, 8
- lsls r0, 8
- subs r0, r1, r0
- strh r0, [r4, 0x30]
- movs r0, 0x46
- strh r0, [r4, 0x20]
-_080CBC3A:
- ldrh r0, [r5]
- strh r0, [r4, 0x22]
- strh r0, [r4, 0x32]
- movs r0, 0x14
- strh r0, [r4, 0x36]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x3C
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl Sin
- strh r0, [r4, 0x26]
- ldr r0, _080CBC78
- str r0, [r4, 0x1C]
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xBE
- bhi _080CBC7C
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1F
- b _080CBC82
- .align 2, 0
-_080CBC74: .4byte gUnknown_03004B00
-_080CBC78: .4byte sub_80CBC8C
-_080CBC7C:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1D
-_080CBC82:
- strb r0, [r1]
-_080CBC84:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80CBBF0
-
- thumb_func_start sub_80CBC8C
-sub_80CBC8C: @ 80CBC8C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080CBC9E
- cmp r0, 0x1
- beq _080CBCCE
- b _080CBCEE
-_080CBC9E:
- ldrh r5, [r4, 0x32]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x4E
- ble _080CBCB6
- movs r0, 0x1
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _080CBCEE
-_080CBCB6:
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __divsi3
- adds r0, r5, r0
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x36]
- adds r1, 0x3
- strh r1, [r4, 0x36]
- strh r0, [r4, 0x22]
- b _080CBCEE
-_080CBCCE:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080CBCEE
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080CBCEE
- movs r0, 0
- strh r0, [r4, 0x2E]
- strh r0, [r4, 0x32]
- ldr r0, _080CBCF4
- str r0, [r4, 0x1C]
-_080CBCEE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBCF4: .4byte sub_80CBCF8
- thumb_func_end sub_80CBC8C
-
- thumb_func_start sub_80CBCF8
-sub_80CBCF8: @ 80CBCF8
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, _080CBD3C
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r3, r0, r1
- adds r0, r5, 0x1
- adds r0, r3, r0
- ldrh r2, [r4, 0x32]
- movs r6, 0x32
- ldrsh r1, [r4, r6]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080CBD44
- adds r0, r5, 0x2
- adds r0, r3, r0
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x7F
- bne _080CBD30
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, _080CBD40
- str r0, [r4, 0x1C]
-_080CBD30:
- movs r0, 0
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080CBDAA
- .align 2, 0
-_080CBD3C: .4byte gUnknown_083D680C
-_080CBD40: .4byte sub_80CBDB0
-_080CBD44:
- adds r0, r2, 0x1
- strh r0, [r4, 0x32]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- adds r1, r0, r5
- movs r2, 0
- ldrsb r2, [r1, r2]
- adds r1, r5, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- muls r0, r2
- ldrh r1, [r4, 0x30]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080CBD92
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xBE
- bhi _080CBD8A
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1F
- b _080CBD90
-_080CBD8A:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1D
-_080CBD90:
- strb r0, [r1]
-_080CBD92:
- movs r6, 0x30
- ldrsh r0, [r4, r6]
- movs r1, 0x3C
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl Sin
- strh r0, [r4, 0x26]
-_080CBDAA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CBCF8
-
- thumb_func_start sub_80CBDB0
-sub_80CBDB0: @ 80CBDB0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x14
- ble _080CBDC2
- adds r0, r4, 0
- bl move_anim_8072740
-_080CBDC2:
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CBDB0
-
- thumb_func_start sub_80CBDF4
-sub_80CBDF4: @ 80CBDF4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _080CBF48
- adds r5, r0, r1
- ldr r4, _080CBF4C
- ldrb r0, [r4]
- bl sub_8079E90
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- strh r0, [r5, 0x10]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x16]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_807A100
- strh r0, [r5, 0x1C]
- ldrb r0, [r4]
- movs r1, 0
- bl sub_807A100
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0x1
- bne _080CBE5C
- movs r1, 0x1
-_080CBE5C:
- strh r1, [r5, 0x12]
- movs r3, 0x12
- ldrsh r0, [r5, r3]
- lsls r0, 6
- movs r1, 0x38
- subs r1, r0
- strh r1, [r5, 0x1A]
- ldrh r0, [r5, 0x16]
- subs r0, r1
- ldrh r1, [r5, 0x14]
- adds r0, r1
- strh r0, [r5, 0x18]
- ldr r0, _080CBF50
- movs r2, 0x18
- ldrsh r1, [r5, r2]
- movs r3, 0x1A
- ldrsh r2, [r5, r3]
- ldrb r3, [r5, 0x10]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xC]
- cmp r0, 0x40
- bne _080CBE94
- adds r0, r6, 0
- bl move_anim_task_del
-_080CBE94:
- ldr r4, _080CBF54
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0xA
- strh r1, [r0, 0x2E]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r5, 0x18]
- strh r1, [r0, 0x30]
- movs r3, 0xC
- ldrsh r0, [r5, r3]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r3, 0x12
- ldrsh r1, [r5, r3]
- muls r1, r0
- ldrh r0, [r5, 0x14]
- subs r0, r1
- strh r0, [r2, 0x32]
- movs r0, 0xC
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r5, 0x1A]
- strh r1, [r0, 0x34]
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r2, 0x1E
- ldrsh r0, [r5, r2]
- lsrs r2, r0, 31
- adds r0, r2
- asrs r0, 1
- adds r0, 0xA
- movs r3, 0x12
- ldrsh r2, [r5, r3]
- muls r0, r2
- ldrh r2, [r5, 0x16]
- adds r0, r2
- strh r0, [r1, 0x36]
- movs r3, 0xC
- ldrsh r1, [r5, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl sub_80CC338
- movs r1, 0xC
- ldrsh r2, [r5, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x38]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl sub_80786EC
- ldr r0, _080CBF58
- str r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CBF48: .4byte gTasks
-_080CBF4C: .4byte gUnknown_0202F7C9
-_080CBF50: .4byte gSpriteTemplate_83D6884
-_080CBF54: .4byte gSprites
-_080CBF58: .4byte sub_80CBF5C
- thumb_func_end sub_80CBDF4
-
- thumb_func_start sub_80CBF5C
-sub_80CBF5C: @ 80CBF5C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080CBFA0
- adds r6, r0, r1
- movs r0, 0xC
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080CBFA4
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r5, [r6, r1]
- cmp r5, 0x7
- bne _080CBF84
- b _080CC1B4
-_080CBF84:
- cmp r5, 0x7
- bgt _080CBFD2
- cmp r5, 0x3
- bne _080CBF8E
- b _080CC0A6
-_080CBF8E:
- cmp r5, 0x3
- bgt _080CBFA8
- cmp r5, 0x1
- beq _080CC038
- cmp r5, 0x1
- bgt _080CC088
- cmp r5, 0
- beq _080CC01A
- b _080CC330
- .align 2, 0
-_080CBFA0: .4byte gTasks
-_080CBFA4: .4byte gSprites
-_080CBFA8:
- cmp r5, 0x5
- bne _080CBFAE
- b _080CC11C
-_080CBFAE:
- cmp r5, 0x5
- ble _080CBFB4
- b _080CC196
-_080CBFB4:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_80CC358
- adds r0, r4, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- bne _080CBFCA
- b _080CC330
-_080CBFCA:
- movs r0, 0x5
- strh r0, [r6, 0x26]
- movs r0, 0xFF
- b _080CC32E
-_080CBFD2:
- cmp r5, 0xB
- bne _080CBFD8
- b _080CC298
-_080CBFD8:
- cmp r5, 0xB
- bgt _080CC006
- cmp r5, 0x9
- bne _080CBFE2
- b _080CC206
-_080CBFE2:
- cmp r5, 0x9
- ble _080CBFE8
- b _080CC27C
-_080CBFE8:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_80CC358
- adds r0, r4, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- bne _080CBFFE
- b _080CC330
-_080CBFFE:
- movs r0, 0x9
- strh r0, [r6, 0x26]
- movs r0, 0xFF
- b _080CC32E
-_080CC006:
- cmp r5, 0xD
- bne _080CC00C
- b _080CC30A
-_080CC00C:
- cmp r5, 0xD
- bge _080CC012
- b _080CC2EA
-_080CC012:
- cmp r5, 0xFF
- bne _080CC018
- b _080CC31A
-_080CC018:
- b _080CC330
-_080CC01A:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_80CC358
- adds r0, r4, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- bne _080CC030
- b _080CC330
-_080CC030:
- movs r0, 0x1
- strh r0, [r6, 0x26]
- movs r0, 0xFF
- b _080CC32E
-_080CC038:
- ldrh r2, [r4, 0x24]
- ldrh r3, [r4, 0x20]
- adds r2, r3
- movs r0, 0
- strh r2, [r4, 0x20]
- ldrh r1, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r1, r3
- strh r1, [r4, 0x22]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x30]
- ldrh r0, [r6, 0x14]
- strh r0, [r4, 0x32]
- strh r1, [r4, 0x34]
- ldrh r0, [r6, 0x16]
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_80CC338
- strh r0, [r4, 0x38]
- ldrh r0, [r6, 0x10]
- adds r0, 0x2
- strh r0, [r6, 0x10]
- strh r5, [r6, 0xE]
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl sub_80786EC
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _080CC32E
-_080CC088:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_80CC358
- adds r0, r4, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- bne _080CC09E
- b _080CC330
-_080CC09E:
- movs r0, 0x3
- strh r0, [r6, 0x26]
- movs r0, 0xFF
- b _080CC32E
-_080CC0A6:
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x20]
- adds r1, r0
- movs r0, 0
- strh r1, [r4, 0x20]
- ldrh r2, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r2, r3
- strh r2, [r4, 0x22]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r1, 0x1C
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r3, 0x12
- ldrsh r1, [r6, r3]
- muls r1, r0
- ldrh r0, [r6, 0x14]
- subs r0, r1
- strh r0, [r4, 0x32]
- strh r2, [r4, 0x34]
- movs r1, 0x1E
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r2, 0x12
- ldrsh r1, [r6, r2]
- muls r1, r0
- ldrh r0, [r6, 0x16]
- subs r0, r1
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_80CC338
- strh r0, [r4, 0x38]
- movs r0, 0x2
- strh r0, [r6, 0xE]
- ldrh r0, [r6, 0x10]
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl sub_80786EC
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _080CC32E
-_080CC11C:
- ldrh r1, [r4, 0x24]
- ldrh r3, [r4, 0x20]
- adds r1, r3
- movs r0, 0
- strh r1, [r4, 0x20]
- ldrh r2, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r2, r3
- strh r2, [r4, 0x22]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r1, 0x1C
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r3, 0x12
- ldrsh r1, [r6, r3]
- muls r0, r1
- ldrh r1, [r6, 0x14]
- adds r0, r1
- strh r0, [r4, 0x32]
- strh r2, [r4, 0x34]
- movs r2, 0x1E
- ldrsh r0, [r6, r2]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r3, 0x12
- ldrsh r1, [r6, r3]
- muls r0, r1
- ldrh r1, [r6, 0x16]
- adds r0, r1
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_80CC338
- strh r0, [r4, 0x38]
- ldrh r1, [r6, 0x10]
- subs r1, 0x2
- strh r1, [r6, 0x10]
- movs r0, 0x3
- strh r0, [r6, 0xE]
- adds r0, r4, 0
- adds r0, 0x43
- strb r1, [r0]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl sub_80786EC
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _080CC32E
-_080CC196:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_80CC358
- adds r0, r4, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- bne _080CC1AC
- b _080CC330
-_080CC1AC:
- movs r0, 0x7
- strh r0, [r6, 0x26]
- movs r0, 0xFF
- b _080CC32E
-_080CC1B4:
- ldrh r2, [r4, 0x24]
- ldrh r3, [r4, 0x20]
- adds r2, r3
- movs r0, 0
- strh r2, [r4, 0x20]
- ldrh r1, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r1, r3
- strh r1, [r4, 0x22]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x30]
- ldrh r0, [r6, 0x14]
- strh r0, [r4, 0x32]
- strh r1, [r4, 0x34]
- ldrh r0, [r6, 0x16]
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_80CC338
- strh r0, [r4, 0x38]
- ldrh r1, [r6, 0x10]
- adds r1, 0x2
- strh r1, [r6, 0x10]
- movs r0, 0x4
- strh r0, [r6, 0xE]
- adds r0, r4, 0
- adds r0, 0x43
- strb r1, [r0]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl sub_80786EC
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _080CC32E
-_080CC206:
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x20]
- adds r1, r0
- movs r0, 0
- strh r1, [r4, 0x20]
- ldrh r2, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r2, r3
- strh r2, [r4, 0x22]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r1, 0x1C
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r3, 0x12
- ldrsh r1, [r6, r3]
- muls r1, r0
- ldrh r0, [r6, 0x14]
- subs r0, r1
- strh r0, [r4, 0x32]
- strh r2, [r4, 0x34]
- movs r1, 0x1E
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, 0xA
- movs r2, 0x12
- ldrsh r1, [r6, r2]
- muls r0, r1
- ldrh r3, [r6, 0x16]
- adds r0, r3
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_80CC338
- strh r0, [r4, 0x38]
- movs r0, 0x5
- strh r0, [r6, 0xE]
- ldrh r0, [r6, 0x10]
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl sub_80786EC
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _080CC32E
-_080CC27C:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_80CC358
- adds r0, r4, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080CC330
- movs r0, 0xB
- strh r0, [r6, 0x26]
- movs r0, 0xFF
- b _080CC32E
-_080CC298:
- ldrh r2, [r4, 0x24]
- ldrh r0, [r4, 0x20]
- adds r2, r0
- movs r0, 0
- strh r2, [r4, 0x20]
- ldrh r1, [r4, 0x26]
- ldrh r3, [r4, 0x22]
- adds r1, r3
- strh r1, [r4, 0x22]
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r0, 0xA
- strh r0, [r4, 0x2E]
- strh r2, [r4, 0x30]
- ldrh r0, [r6, 0x18]
- strh r0, [r4, 0x32]
- strh r1, [r4, 0x34]
- ldrh r0, [r6, 0x1A]
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_80CC338
- strh r0, [r4, 0x38]
- ldrh r1, [r6, 0x10]
- subs r1, 0x2
- strh r1, [r6, 0x10]
- movs r0, 0x6
- strh r0, [r6, 0xE]
- adds r0, r4, 0
- adds r0, 0x43
- strb r1, [r0]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- adds r0, r4, 0
- bl sub_80786EC
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _080CC32E
-_080CC2EA:
- adds r0, r6, 0
- adds r1, r2, 0
- bl sub_80CC358
- adds r0, r4, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080CC330
- adds r0, r4, 0
- bl DestroySprite
- ldrh r0, [r6, 0x8]
- adds r0, 0x1
- b _080CC32E
-_080CC30A:
- movs r1, 0x20
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080CC330
- adds r0, r2, 0
- bl move_anim_task_del
- b _080CC330
-_080CC31A:
- ldrh r0, [r6, 0xA]
- adds r0, 0x1
- strh r0, [r6, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080CC330
- movs r0, 0
- strh r0, [r6, 0xA]
- ldrh r0, [r6, 0x26]
-_080CC32E:
- strh r0, [r6, 0x8]
-_080CC330:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CBF5C
-
- thumb_func_start sub_80CC338
-sub_80CC338: @ 80CC338
- push {lr}
- movs r2, 0x8
- movs r3, 0x36
- ldrsh r1, [r0, r3]
- movs r3, 0x22
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bge _080CC34E
- negs r0, r2
- lsls r0, 16
- lsrs r2, r0, 16
-_080CC34E:
- lsls r0, r2, 16
- asrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80CC338
-
- thumb_func_start sub_80CC358
-sub_80CC358: @ 80CC358
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- lsls r1, 24
- lsrs r7, r1, 24
- ldrh r0, [r6, 0x24]
- adds r0, 0x1
- strh r0, [r6, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _080CC3EE
- movs r0, 0
- strh r0, [r6, 0x24]
- ldr r0, _080CC3F8
- mov r8, r0
- movs r2, 0xC
- ldrsh r1, [r6, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- ldrh r1, [r0, 0x24]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- ldrh r2, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r2, r0
- ldr r0, _080CC3FC
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- ldrb r3, [r6, 0x10]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080CC3EE
- lsls r5, r0, 4
- adds r5, r0
- lsls r5, 2
- mov r0, r8
- adds r4, r5, r0
- strh r7, [r4, 0x3A]
- movs r0, 0xC
- strh r0, [r4, 0x3C]
- ldr r0, _080CC400
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldrh r2, [r6, 0x22]
- movs r0, 0x1
- ands r0, r2
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x22]
- adds r0, 0x1
- strh r0, [r1, 0x22]
- ldrb r1, [r6, 0xE]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrh r0, [r6, 0x10]
- adds r4, 0x43
- strb r0, [r4]
- mov r0, r8
- adds r0, 0x1C
- adds r5, r0
- ldr r0, _080CC404
- str r0, [r5]
-_080CC3EE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC3F8: .4byte gSprites
-_080CC3FC: .4byte gSpriteTemplate_83D6884
-_080CC400: .4byte gTasks
-_080CC404: .4byte sub_80CC408
- thumb_func_end sub_80CC358
-
- thumb_func_start sub_80CC408
-sub_80CC408: @ 80CC408
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080CC46A
- movs r0, 0
- strh r0, [r4, 0x2E]
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080CC46A
- ldr r3, _080CC470
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroySprite
-_080CC46A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC470: .4byte gTasks
- thumb_func_end sub_80CC408
-
- thumb_func_start sub_80CC474
-sub_80CC474: @ 80CC474
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, _080CC488
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080CC490
- ldr r0, _080CC48C
- b _080CC492
- .align 2, 0
-_080CC488: .4byte gUnknown_03004B00
-_080CC48C: .4byte gUnknown_0202F7C8
-_080CC490:
- ldr r0, _080CC4B0
-_080CC492:
- ldrb r6, [r0]
- adds r0, r6, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CC4BC
- movs r0, 0
- strh r0, [r4, 0x36]
- ldr r1, _080CC4B4
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x32]
- ldr r0, _080CC4B8
- b _080CC4CC
- .align 2, 0
-_080CC4B0: .4byte gUnknown_0202F7C9
-_080CC4B4: .4byte gUnknown_03004B00
-_080CC4B8: .4byte 0x0000fff0
-_080CC4BC:
- movs r0, 0x1
- strh r0, [r4, 0x36]
- ldr r1, _080CC4F0
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r4, 0x32]
- movs r0, 0x80
- lsls r0, 1
-_080CC4CC:
- strh r0, [r4, 0x20]
- adds r7, r1, 0
- adds r5, r7, 0
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x34]
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080CC502
- cmp r0, 0x1
- bgt _080CC4F4
- cmp r0, 0
- beq _080CC4FE
- b _080CC56C
- .align 2, 0
-_080CC4F0: .4byte gUnknown_03004B00
-_080CC4F4:
- cmp r0, 0x2
- beq _080CC508
- cmp r0, 0x3
- beq _080CC534
- b _080CC56C
-_080CC4FE:
- ldrh r0, [r5]
- b _080CC518
-_080CC502:
- ldrh r0, [r5]
- strh r0, [r4, 0x22]
- b _080CC54E
-_080CC508:
- adds r0, r6, 0
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5]
- adds r0, r5
-_080CC518:
- strh r0, [r4, 0x22]
- adds r0, r6, 0
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- b _080CC56C
-_080CC534:
- ldr r0, _080CC578
- ldrb r0, [r0]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r7, [r7]
- adds r0, r7
- strh r0, [r4, 0x22]
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
-_080CC54E:
- adds r0, r6, 0
- bl sub_8079ED4
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
-_080CC56C:
- ldr r0, _080CC57C
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC578: .4byte gUnknown_0202F7C9
-_080CC57C: .4byte sub_80CC580
- thumb_func_end sub_80CC474
-
- thumb_func_start sub_80CC580
-sub_80CC580: @ 80CC580
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x3C
- ldrsh r3, [r4, r0]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- movs r1, 0x30
- ldrsh r2, [r4, r1]
- ldr r1, _080CC5D4
- movs r5, 0x2E
- ldrsh r0, [r4, r5]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- muls r0, r2
- asrs r0, 8
- strh r0, [r4, 0x26]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- muls r0, r3
- strh r0, [r4, 0x24]
- movs r5, 0x34
- ldrsh r0, [r4, r5]
- muls r0, r3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080CC5D8
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- movs r5, 0x20
- ldrsh r1, [r4, r5]
- adds r0, r1
- cmp r0, 0xF7
- ble _080CC5F0
- b _080CC5EA
- .align 2, 0
-_080CC5D4: .4byte gSineTable
-_080CC5D8:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0x10
- negs r1, r1
- cmp r0, r1
- bgt _080CC5F0
-_080CC5EA:
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080CC5F0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80CC580
-
- thumb_func_start sub_80CC5F8
-sub_80CC5F8: @ 80CC5F8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _080CC618
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080CC61C
- cmp r0, 0x1
- beq _080CC650
- b _080CC6AA
- .align 2, 0
-_080CC618: .4byte gTasks
-_080CC61C:
- ldr r0, _080CC648
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r2, 0x80
- lsls r2, 1
- adds r4, r2, 0
- adds r0, r4
- strh r0, [r5, 0x18]
- ldr r0, _080CC64C
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- adds r0, r4
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080CC6AA
- .align 2, 0
-_080CC648: .4byte 0x0000274f
-_080CC64C: .4byte 0x000027b0
-_080CC650:
- ldrh r0, [r5, 0x1A]
- adds r0, 0x1
- movs r7, 0
- strh r0, [r5, 0x1A]
- lsls r0, 16
- cmp r0, 0
- blt _080CC6AA
- strh r7, [r5, 0x1A]
- ldrh r0, [r5, 0x18]
- ldrb r2, [r5, 0x1C]
- ldr r4, _080CC6C4
- movs r3, 0x1E
- ldrsh r1, [r5, r3]
- lsls r1, 1
- adds r1, r4
- ldrh r3, [r1]
- movs r1, 0x10
- bl BlendPalette
- ldrh r0, [r5, 0x20]
- ldrb r2, [r5, 0x1C]
- movs r3, 0x1E
- ldrsh r1, [r5, r3]
- lsls r1, 1
- adds r1, r4
- ldrh r3, [r1]
- movs r1, 0x10
- bl BlendPalette
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x11
- bne _080CC6AA
- strh r7, [r5, 0x1C]
- ldrh r0, [r5, 0x1E]
- adds r0, 0x1
- strh r0, [r5, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- bne _080CC6AA
- strh r7, [r5, 0x1E]
-_080CC6AA:
- ldr r0, _080CC6C8
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080CC6BE
- adds r0, r6, 0
- bl move_anim_task_del
-_080CC6BE:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC6C4: .4byte gUnknown_083D6984
-_080CC6C8: .4byte gUnknown_03004B00
- thumb_func_end sub_80CC5F8
-
- thumb_func_start sub_80CC6CC
-sub_80CC6CC: @ 80CC6CC
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- ldr r1, _080CC6E4
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080CC6E8
- adds r0, r6, 0
- bl move_anim_8072740
- b _080CC7C2
- .align 2, 0
-_080CC6E4: .4byte gUnknown_03004B00
-_080CC6E8:
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _080CC6F8
- ldr r4, _080CC6F4
- b _080CC6FA
- .align 2, 0
-_080CC6F4: .4byte gUnknown_0202F7C8
-_080CC6F8:
- ldr r4, _080CC734
-_080CC6FA:
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080CC738
- ldrh r1, [r0, 0x8]
- strh r1, [r6, 0x2E]
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- adds r7, r0, 0
- cmp r1, 0
- bne _080CC73C
- ldrh r0, [r7, 0x4]
- adds r0, r5
- strh r0, [r6, 0x20]
- ldrh r0, [r7, 0x6]
- adds r0, r2
- strh r0, [r6, 0x22]
- strh r5, [r6, 0x38]
- strh r2, [r6, 0x3A]
- b _080CC74C
- .align 2, 0
-_080CC734: .4byte gUnknown_0202F7C9
-_080CC738: .4byte gUnknown_03004B00
-_080CC73C:
- strh r5, [r6, 0x20]
- strh r2, [r6, 0x22]
- ldrh r0, [r7, 0x4]
- adds r0, r5
- strh r0, [r6, 0x38]
- ldrh r0, [r7, 0x6]
- adds r0, r2
- strh r0, [r6, 0x3A]
-_080CC74C:
- ldrh r4, [r6, 0x20]
- lsls r0, r4, 4
- strh r0, [r6, 0x30]
- ldrh r5, [r6, 0x22]
- lsls r0, r5, 4
- strh r0, [r6, 0x32]
- movs r1, 0x38
- ldrsh r0, [r6, r1]
- movs r2, 0x20
- ldrsh r1, [r6, r2]
- subs r0, r1
- lsls r0, 4
- movs r3, 0x8
- ldrsh r1, [r7, r3]
- bl __divsi3
- strh r0, [r6, 0x34]
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- movs r2, 0x22
- ldrsh r1, [r6, r2]
- subs r0, r1
- lsls r0, 4
- movs r3, 0x8
- ldrsh r1, [r7, r3]
- bl __divsi3
- strh r0, [r6, 0x36]
- ldrh r0, [r6, 0x38]
- subs r0, r4
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r6, 0x3A]
- subs r1, r5
- lsls r1, 16
- asrs r1, 16
- bl sub_80790F0
- lsls r0, 16
- lsrs r4, r0, 16
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080CC7AE
- ldr r1, _080CC7CC
- adds r0, r4, r1
- lsls r0, 16
- lsrs r4, r0, 16
-_080CC7AE:
- movs r3, 0x80
- lsls r3, 1
- str r4, [sp]
- adds r0, r6, 0
- movs r1, 0
- adds r2, r3, 0
- bl sub_8078FDC
- ldr r0, _080CC7D0
- str r0, [r6, 0x1C]
-_080CC7C2:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC7CC: .4byte 0xffff8000
-_080CC7D0: .4byte sub_80CC7D4
- thumb_func_end sub_80CC6CC
-
- thumb_func_start sub_80CC7D4
-sub_80CC7D4: @ 80CC7D4
- push {r4,lr}
- adds r2, r0, 0
- ldrh r3, [r2, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _080CC804
- ldrh r0, [r2, 0x34]
- ldrh r4, [r2, 0x30]
- adds r0, r4
- strh r0, [r2, 0x30]
- ldrh r1, [r2, 0x36]
- ldrh r4, [r2, 0x32]
- adds r1, r4
- strh r1, [r2, 0x32]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r2, 0x22]
- subs r0, r3, 0x1
- strh r0, [r2, 0x2E]
- b _080CC80A
-_080CC804:
- adds r0, r2, 0
- bl move_anim_8074EE0
-_080CC80A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CC7D4
-
- thumb_func_start sub_80CC810
-sub_80CC810: @ 80CC810
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CC826
- adds r0, r2, 0
- bl move_anim_8072740
-_080CC826:
- pop {r0}
- bx r0
- thumb_func_end sub_80CC810
-
- thumb_func_start sub_80CC82C
-sub_80CC82C: @ 80CC82C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080CC84C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CC854
- ldr r2, _080CC850
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- b _080CC860
- .align 2, 0
-_080CC84C: .4byte gUnknown_0202F7C8
-_080CC850: .4byte gUnknown_03004B00
-_080CC854:
- ldr r0, _080CC878
- ldrh r1, [r0]
- ldrh r2, [r4, 0x20]
- adds r1, r2
- strh r1, [r4, 0x20]
- ldrh r0, [r0, 0x2]
-_080CC860:
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, _080CC87C
- str r0, [r4, 0x1C]
- ldr r1, _080CC880
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC878: .4byte gUnknown_03004B00
-_080CC87C: .4byte sub_8078600
-_080CC880: .4byte move_anim_8072740
- thumb_func_end sub_80CC82C
-
- thumb_func_start sub_80CC884
-sub_80CC884: @ 80CC884
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080CC8BC
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080CC89E
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080CC89E:
- ldr r0, _080CC8C0
- str r0, [r5, 0x1C]
- ldr r4, _080CC8C4
- movs r0, 0
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_807867C
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC8BC: .4byte gUnknown_0202F7C8
-_080CC8C0: .4byte sub_80CC810
-_080CC8C4: .4byte gUnknown_03004B00
- thumb_func_end sub_80CC884
-
- thumb_func_start sub_80CC8C8
-sub_80CC8C8: @ 80CC8C8
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _080CC908
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x38]
- ldrb r1, [r1, 0xC]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- ldr r1, _080CC90C
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080CC910
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC908: .4byte gUnknown_03004B00
-_080CC90C: .4byte move_anim_8074EE0
-_080CC910: .4byte sub_8078504
- thumb_func_end sub_80CC8C8
-
- thumb_func_start sub_80CC914
-sub_80CC914: @ 80CC914
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080CC964
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080CC948
- ldrh r0, [r5, 0x22]
- adds r0, 0x8
- strh r0, [r5, 0x22]
-_080CC948:
- ldr r0, _080CC968
- str r0, [r5, 0x1C]
- ldr r0, _080CC96C
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- adds r3, r0, 0
- cmp r1, 0
- bne _080CC970
- ldrh r0, [r3]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- strh r0, [r5, 0x20]
- b _080CC984
- .align 2, 0
-_080CC964: .4byte gUnknown_0202F7C9
-_080CC968: .4byte sub_80CCB00
-_080CC96C: .4byte gUnknown_03004B00
-_080CC970:
- ldrh r0, [r5, 0x20]
- ldrh r1, [r3]
- subs r0, r1
- strh r0, [r5, 0x20]
- adds r2, r5, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_080CC984:
- ldrh r0, [r3, 0x2]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- ldr r1, _080CC9B8
- adds r0, r1, 0
- ldrh r2, [r5, 0x30]
- adds r1, r0, r2
- strh r1, [r5, 0x30]
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2, 0
- ldrh r2, [r5, 0x32]
- adds r0, r2
- strh r0, [r5, 0x32]
- ldrh r0, [r3, 0x4]
- strh r0, [r5, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080CC9B2
- negs r0, r1
- strh r0, [r5, 0x30]
-_080CC9B2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CC9B8: .4byte 0xfffffc00
- thumb_func_end sub_80CC914
-
- thumb_func_start sub_80CC9BC
-sub_80CC9BC: @ 80CC9BC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldr r0, _080CC9D8
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _080CC9DC
- cmp r0, 0x1
- ble _080CCA58
- cmp r0, 0x2
- beq _080CC9FC
- b _080CCA58
- .align 2, 0
-_080CC9D8: .4byte gUnknown_03004B00
-_080CC9DC:
- ldr r5, _080CC9F8
- ldrb r0, [r5]
- movs r4, 0x2
- eors r0, r4
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r5]
- eors r4, r0
- adds r0, r4, 0
- b _080CCA68
- .align 2, 0
-_080CC9F8: .4byte gUnknown_0202F7C9
-_080CC9FC:
- ldr r5, _080CCA54
- ldrb r0, [r5]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5]
- movs r2, 0x2
- mov r8, r2
- mov r1, r8
- eors r0, r1
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080CCA72
- ldrb r0, [r5]
- mov r2, r8
- eors r0, r2
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, r7
- lsrs r7, r0, 1
- ldrb r0, [r5]
- mov r1, r8
- eors r0, r1
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- lsrs r4, r0, 1
- b _080CCA72
- .align 2, 0
-_080CCA54: .4byte gUnknown_0202F7C9
-_080CCA58:
- ldr r4, _080CCAA4
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
-_080CCA68:
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r4, r0, 24
-_080CCA72:
- strh r7, [r6, 0x20]
- strh r4, [r6, 0x22]
- ldr r0, _080CCAA4
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080CCA8A
- ldrh r0, [r6, 0x22]
- adds r0, 0x8
- strh r0, [r6, 0x22]
-_080CCA8A:
- ldr r0, _080CCAA8
- str r0, [r6, 0x1C]
- ldr r0, _080CCAAC
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- adds r3, r0, 0
- cmp r1, 0
- bne _080CCAB0
- ldrh r0, [r3]
- ldrh r1, [r6, 0x20]
- adds r0, r1
- strh r0, [r6, 0x20]
- b _080CCAC4
- .align 2, 0
-_080CCAA4: .4byte gUnknown_0202F7C9
-_080CCAA8: .4byte sub_80CCB00
-_080CCAAC: .4byte gUnknown_03004B00
-_080CCAB0:
- ldrh r0, [r6, 0x20]
- ldrh r1, [r3]
- subs r0, r1
- strh r0, [r6, 0x20]
- adds r2, r6, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_080CCAC4:
- ldrh r0, [r3, 0x2]
- ldrh r2, [r6, 0x22]
- adds r0, r2
- strh r0, [r6, 0x22]
- ldr r1, _080CCAFC
- adds r0, r1, 0
- ldrh r2, [r6, 0x30]
- adds r1, r0, r2
- strh r1, [r6, 0x30]
- movs r2, 0x80
- lsls r2, 3
- adds r0, r2, 0
- ldrh r2, [r6, 0x32]
- adds r0, r2
- strh r0, [r6, 0x32]
- ldrh r0, [r3, 0x4]
- strh r0, [r6, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080CCAF2
- negs r0, r1
- strh r0, [r6, 0x30]
-_080CCAF2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCAFC: .4byte 0xfffffc00
- thumb_func_end sub_80CC9BC
-
- thumb_func_start sub_80CCB00
-sub_80CCB00: @ 80CCB00
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- ldrh r2, [r4, 0x34]
- adds r0, r1, r2
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080CCB22
- adds r0, r1, 0
- adds r0, 0x18
- b _080CCB26
-_080CCB22:
- adds r0, r1, 0
- subs r0, 0x18
-_080CCB26:
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- subs r0, 0x18
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _080CCB5C
- ldr r1, _080CCB64
- adds r0, r4, 0
- bl oamt_set_x3A_32
- movs r0, 0x3
- strh r0, [r4, 0x2E]
- ldr r0, _080CCB68
- str r0, [r4, 0x1C]
-_080CCB5C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCB64: .4byte move_anim_8072740
-_080CCB68: .4byte sub_80782D8
- thumb_func_end sub_80CCB00
-
- thumb_func_start unref_sub_80CCB6C
-unref_sub_80CCB6C: @ 80CCB6C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x32]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- cmp r0, 0x1
- ble _080CCC10
- ldrh r1, [r5, 0x34]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CCBC8
- adds r3, r5, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x5
- negs r2, r2
- adds r0, r2, 0
- ands r0, r1
- strb r0, [r3]
- ldr r4, _080CCBC4
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r3, [r0]
- adds r1, r2, 0
- ands r1, r3
- strb r1, [r0]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- b _080CCBFE
- .align 2, 0
-_080CCBC4: .4byte gSprites
-_080CCBC8:
- adds r1, r5, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldr r3, _080CCC0C
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- orrs r1, r2
- strb r1, [r0]
-_080CCBFE:
- movs r0, 0
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
- b _080CCC14
- .align 2, 0
-_080CCC0C: .4byte gSprites
-_080CCC10:
- adds r0, r1, 0x1
- strh r0, [r5, 0x32]
-_080CCC14:
- movs r1, 0x34
- ldrsh r0, [r5, r1]
- cmp r0, 0xA
- bne _080CCC44
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _080CCC4C
- adds r0, r4
- bl DestroySprite
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
- adds r0, r5, 0
- bl move_anim_8072740
-_080CCC44:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCC4C: .4byte gSprites
- thumb_func_end unref_sub_80CCB6C
-
- thumb_func_start sub_80CCC50
-sub_80CCC50: @ 80CCC50
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080CCC70
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x2E]
- ldr r0, _080CCC74
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CCC78
- ldrh r0, [r5, 0x20]
- ldrh r1, [r4]
- subs r0, r1
- b _080CCC7E
- .align 2, 0
-_080CCC70: .4byte gUnknown_03004B00
-_080CCC74: .4byte gUnknown_0202F7C8
-_080CCC78:
- ldrh r0, [r4]
- ldrh r1, [r5, 0x20]
- adds r0, r1
-_080CCC7E:
- strh r0, [r5, 0x20]
- ldr r4, _080CCCAC
- ldrb r1, [r4, 0xA]
- adds r0, r5, 0
- bl StartSpriteAnim
- ldrh r0, [r4, 0x6]
- negs r0, r0
- strh r0, [r5, 0x30]
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x34]
- ldr r1, _080CCCB0
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCCAC: .4byte gUnknown_03004B00
-_080CCCB0: .4byte sub_80CCCB4
- thumb_func_end sub_80CCC50
-
- thumb_func_start sub_80CCCB4
-sub_80CCCB4: @ 80CCCB4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x64
- bl Cos
- strh r0, [r4, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r1, 0x14
- bl Sin
- strh r0, [r4, 0x26]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x7F
- bgt _080CCCE0
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0
- b _080CCCE6
-_080CCCE0:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0xE
-_080CCCE6:
- strb r0, [r1]
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x2E]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x38]
- adds r0, 0x82
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _080CCD1C
- adds r0, r4, 0
- bl move_anim_8072740
-_080CCD1C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CCCB4
-
- thumb_func_start sub_80CCD24
-sub_80CCD24: @ 80CCD24
- push {r4-r6,lr}
- adds r5, r0, 0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080CCD3A
- ldr r1, _080CCD98
- ldrh r0, [r1, 0x2]
- adds r0, 0x8
- strh r0, [r1, 0x2]
-_080CCD3A:
- ldr r6, _080CCD9C
- ldrb r0, [r6]
- movs r1, 0
- bl sub_8077EE4
- lsls r0, 24
- ldr r4, _080CCD98
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r5, 0x20]
- ldrb r0, [r6]
- movs r1, 0x1
- bl sub_8077EE4
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
- strh r0, [r5, 0x22]
- ldrb r0, [r6]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CCD78
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080CCDA0
-_080CCD78:
- ldrb r0, [r6]
- bl sub_8079ED4
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r5, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r5, 0x5]
- b _080CCDB8
- .align 2, 0
-_080CCD98: .4byte gUnknown_03004B00
-_080CCD9C: .4byte gUnknown_0202F7C8
-_080CCDA0:
- ldrb r0, [r6]
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
-_080CCDB8:
- ldr r0, _080CCDF8
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0x2E]
- ldr r0, _080CCDFC
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r3, 0x80
- lsls r3, 1
- adds r0, r3
- strh r0, [r5, 0x32]
- movs r2, 0x10
- movs r0, 0x10
- strh r0, [r5, 0x3C]
- ldr r1, _080CCE00
- movs r3, 0xFD
- lsls r3, 6
- adds r0, r3, 0
- strh r0, [r1]
- ldr r3, _080CCE04
- ldrh r1, [r5, 0x3C]
- lsls r0, r1, 8
- subs r2, r1
- orrs r0, r2
- strh r0, [r3]
- ldr r0, _080CCE08
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCDF8: .4byte gUnknown_03004B00
-_080CCDFC: .4byte 0x00002828
-_080CCE00: .4byte REG_BLDCNT
-_080CCE04: .4byte REG_BLDALPHA
-_080CCE08: .4byte sub_80CCE0C
- thumb_func_end sub_80CCD24
-
- thumb_func_start sub_80CCE0C
-sub_80CCE0C: @ 80CCE0C
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- adds r0, 0x60
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080CCE6A
- movs r0, 0
- strh r0, [r4, 0x30]
- ldr r1, _080CCEB0
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- adds r0, 0x1
- lsls r0, 1
- adds r0, r1
- ldrh r5, [r0]
- movs r2, 0
- adds r6, r1, 0
- adds r3, r6, 0
-_080CCE44:
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- adds r2, 0x1
- adds r0, r2
- lsls r1, r0, 1
- adds r1, r3
- adds r0, 0x1
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- cmp r2, 0x5
- ble _080CCE44
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- adds r0, 0x7
- lsls r0, 1
- adds r0, r6
- strh r5, [r0]
-_080CCE6A:
- ldrh r2, [r4, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- ble _080CCE9E
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- ble _080CCEB8
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080CCE9E
- movs r0, 0
- strh r0, [r4, 0x3A]
- subs r2, 0x1
- strh r2, [r4, 0x3C]
- ldr r3, _080CCEB4
- lsls r1, r2, 8
- movs r0, 0x10
- subs r0, r2
- orrs r1, r0
- strh r1, [r3]
-_080CCE9E:
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080CCEB8
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- b _080CCEF4
- .align 2, 0
-_080CCEB0: .4byte gPlttBufferFaded
-_080CCEB4: .4byte REG_BLDALPHA
-_080CCEB8:
- ldrh r0, [r4, 0x3A]
- adds r0, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080CCEF4
- movs r0, 0
- strh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- adds r1, 0x1
- strh r1, [r4, 0x3C]
- ldr r3, _080CCEFC
- lsls r2, r1, 8
- movs r0, 0x10
- subs r0, r1
- orrs r2, r0
- strh r2, [r3]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _080CCEF4
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080CCF00
- str r0, [r4, 0x1C]
-_080CCEF4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCEFC: .4byte REG_BLDALPHA
-_080CCF00: .4byte sub_807861C
- thumb_func_end sub_80CCE0C
-
- thumb_func_start sub_80CCF04
-sub_80CCF04: @ 80CCF04
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, _080CCF5C
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080CCF60
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x2E]
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x32]
- strh r5, [r4, 0x34]
- strh r5, [r4, 0x36]
- strh r5, [r4, 0x3A]
- movs r0, 0x10
- strh r0, [r4, 0x3C]
- ldr r1, _080CCF64
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _080CCF68
- ldrh r0, [r4, 0x3C]
- lsls r0, 8
- ldrh r1, [r4, 0x3A]
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _080CCF6C
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CCF5C: .4byte gUnknown_0202F7C9
-_080CCF60: .4byte 0x0000ffe8
-_080CCF64: .4byte REG_BLDCNT
-_080CCF68: .4byte REG_BLDALPHA
-_080CCF6C: .4byte sub_80CCF70
- thumb_func_end sub_80CCF04
-
- thumb_func_start sub_80CCF70
-sub_80CCF70: @ 80CCF70
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080CCF7E
- b _080CD0C0
-_080CCF7E:
- lsls r0, 2
- ldr r1, _080CCF88
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080CCF88: .4byte _080CCF8C
- .align 2, 0
-_080CCF8C:
- .4byte _080CCFA0
- .4byte _080CD004
- .4byte _080CD020
- .4byte _080CD09C
- .4byte _080CD0B0
-_080CCFA0:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- cmp r0, 0
- bgt _080CCFAE
- b _080CD0C0
-_080CCFAE:
- movs r0, 0
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CCFD0
- ldrh r1, [r4, 0x3A]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080CCFDE
- adds r0, r1, 0x1
- strh r0, [r4, 0x3A]
- b _080CCFDE
-_080CCFD0:
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080CCFDE
- subs r0, r1, 0x1
- strh r0, [r4, 0x3C]
-_080CCFDE:
- ldr r2, _080CD000
- ldrh r0, [r4, 0x3C]
- lsls r0, 8
- ldrh r1, [r4, 0x3A]
- orrs r0, r1
- strh r0, [r2]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _080CD0C0
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080CD0C0
- strh r0, [r4, 0x30]
- b _080CD0A8
- .align 2, 0
-_080CD000: .4byte REG_BLDALPHA
-_080CD004:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080CD0C0
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _080CD0A8
-_080CD020:
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x4
- bl sub_80CD0CC
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080CD042
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- adds r0, 0x1
- strh r0, [r4, 0x22]
-_080CD042:
- ldrh r0, [r4, 0x32]
- adds r1, r0, 0x1
- strh r1, [r4, 0x32]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x1D
- ble _080CD0C0
- movs r0, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080CD068
- ldrh r1, [r4, 0x3A]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080CD076
- subs r0, r1, 0x1
- strh r0, [r4, 0x3A]
- b _080CD076
-_080CD068:
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080CD076
- adds r0, r1, 0x1
- strh r0, [r4, 0x3C]
-_080CD076:
- ldr r0, _080CD098
- ldrh r1, [r4, 0x3C]
- lsls r1, 8
- ldrh r2, [r4, 0x3A]
- orrs r1, r2
- strh r1, [r0]
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _080CD0C0
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0x10
- bne _080CD0C0
- strh r1, [r4, 0x30]
- strh r1, [r4, 0x32]
- b _080CD0A8
- .align 2, 0
-_080CD098: .4byte REG_BLDALPHA
-_080CD09C:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080CD0A8:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080CD0C0
-_080CD0B0:
- ldr r0, _080CD0C8
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, r4, 0
- bl move_anim_8072740
-_080CD0C0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD0C8: .4byte REG_BLDCNT
- thumb_func_end sub_80CCF70
-
- thumb_func_start sub_80CD0CC
-sub_80CD0CC: @ 80CD0CC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0xB
- bgt _080CD0DE
- ldrh r0, [r4, 0x36]
- adds r0, 0x2
- strh r0, [r4, 0x36]
-_080CD0DE:
- ldrh r5, [r4, 0x34]
- adds r0, r5, 0
- subs r0, 0x12
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- cmp r0, 0x17
- bhi _080CD0F4
- ldrh r0, [r4, 0x36]
- subs r0, 0x2
- strh r0, [r4, 0x36]
-_080CD0F4:
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x2F
- ble _080CD102
- ldrh r0, [r4, 0x36]
- adds r0, 0x2
- strh r0, [r4, 0x36]
-_080CD102:
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0x9
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0xE
- bl __divsi3
- strh r0, [r4, 0x26]
- lsls r0, 16
- cmp r0, 0
- bge _080CD128
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0x26]
-_080CD128:
- adds r0, r5, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3B
- ble _080CD138
- movs r0, 0
- strh r0, [r4, 0x34]
-_080CD138:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80CD0CC
-
- thumb_func_start sub_80CD140
-sub_80CD140: @ 80CD140
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080CD184
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080CD154
- adds r0, r4, 0
- bl sub_8078650
-_080CD154:
- movs r0, 0
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_807867C
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x32]
- ldr r1, _080CD188
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080CD18C
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD184: .4byte gUnknown_03004B00
-_080CD188: .4byte move_anim_8072740
-_080CD18C: .4byte sub_8078394
- thumb_func_end sub_80CD140
-
- thumb_func_start sub_80CD190
-sub_80CD190: @ 80CD190
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _080CD1A4
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080CD1AC
- ldr r0, _080CD1A8
- b _080CD1AE
- .align 2, 0
-_080CD1A4: .4byte gUnknown_03004B00
-_080CD1A8: .4byte gUnknown_0202F7C8
-_080CD1AC:
- ldr r0, _080CD1F0
-_080CD1AE:
- ldrb r6, [r0]
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _080CD1F8
- movs r1, 0x2
- adds r0, r6, 0
- eors r0, r1
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080CD1F8
- ldr r4, _080CD1F4
- ldrb r1, [r4, 0xC]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- adds r0, r6, 0
- bl sub_807A3FC
- movs r2, 0
- ldrsh r1, [r4, r2]
- adds r0, r5, 0
- bl sub_807867C
- ldrh r0, [r4, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- b _080CD248
- .align 2, 0
-_080CD1F0: .4byte gUnknown_0202F7C9
-_080CD1F4: .4byte gUnknown_03004B00
-_080CD1F8:
- ldr r4, _080CD218
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080CD21C
- adds r0, r6, 0
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- adds r0, r6, 0
- movs r1, 0x1
- b _080CD22E
- .align 2, 0
-_080CD218: .4byte gUnknown_03004B00
-_080CD21C:
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- adds r0, r6, 0
- movs r1, 0x3
-_080CD22E:
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
- strh r0, [r5, 0x22]
- ldr r0, _080CD268
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r0, r5, 0
- bl sub_807867C
-_080CD248:
- ldr r1, _080CD268
- ldrh r0, [r1, 0xA]
- strh r0, [r5, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x32]
- ldr r1, _080CD26C
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080CD270
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD268: .4byte gUnknown_03004B00
-_080CD26C: .4byte move_anim_8072740
-_080CD270: .4byte sub_8078394
- thumb_func_end sub_80CD190
-
- thumb_func_start sub_80CD274
-sub_80CD274: @ 80CD274
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078650
- ldr r0, _080CD2A0
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080CD2A8
- ldr r0, _080CD2A4
- ldrh r1, [r0]
- ldrh r2, [r4, 0x20]
- adds r1, r2
- strh r1, [r4, 0x20]
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- b _080CD2C2
- .align 2, 0
-_080CD2A0: .4byte gUnknown_0202F7C8
-_080CD2A4: .4byte gUnknown_03004B00
-_080CD2A8:
- ldr r2, _080CD2CC
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080CD2C2:
- ldr r0, _080CD2D0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD2CC: .4byte gUnknown_03004B00
-_080CD2D0: .4byte sub_80CD2D4
- thumb_func_end sub_80CD274
-
- thumb_func_start sub_80CD2D4
-sub_80CD2D4: @ 80CD2D4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _080CD30C
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r0, 0x1E
- subs r0, r1
- movs r1, 0x3
- bl __divsi3
- strh r0, [r4, 0x26]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- lsls r0, 18
- asrs r0, 16
- movs r1, 0x3
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
-_080CD30C:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CD320
- adds r0, r4, 0
- bl move_anim_8072740
-_080CD320:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CD2D4
-
- thumb_func_start sub_80CD328
-sub_80CD328: @ 80CD328
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078650
- ldr r0, _080CD358
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080CD360
- ldr r1, _080CD35C
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- movs r0, 0x1
- strh r0, [r4, 0x34]
- b _080CD37E
- .align 2, 0
-_080CD358: .4byte gUnknown_0202F7C8
-_080CD35C: .4byte gUnknown_03004B00
-_080CD360:
- ldr r2, _080CD388
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldr r0, _080CD38C
- strh r0, [r4, 0x34]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080CD37E:
- ldr r0, _080CD390
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD388: .4byte gUnknown_03004B00
-_080CD38C: .4byte 0x0000ffff
-_080CD390: .4byte sub_80CD394
- thumb_func_end sub_80CD328
-
- thumb_func_start sub_80CD394
-sub_80CD394: @ 80CD394
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x28
- bl __divsi3
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- lsls r0, 1
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080CD3D8
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080CD3D8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CD394
-
- thumb_func_start sub_80CD3E0
-sub_80CD3E0: @ 80CD3E0
- push {lr}
- ldrh r1, [r0, 0x20]
- subs r1, 0x20
- strh r1, [r0, 0x20]
- ldrh r1, [r0, 0x22]
- subs r1, 0x20
- strh r1, [r0, 0x22]
- movs r1, 0x14
- strh r1, [r0, 0x2E]
- ldr r1, _080CD400
- str r1, [r0, 0x1C]
- ldr r1, _080CD404
- bl oamt_set_x3A_32
- pop {r0}
- bx r0
- .align 2, 0
-_080CD400: .4byte sub_80782D8
-_080CD404: .4byte sub_80CD408
- thumb_func_end sub_80CD3E0
-
- thumb_func_start sub_80CD408
-sub_80CD408: @ 80CD408
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r6, [r5, 0x38]
- movs r1, 0x1
- adds r0, r1, 0
- ands r0, r6
- cmp r0, 0
- beq _080CD41E
- cmp r0, 0x1
- beq _080CD438
- b _080CD49E
-_080CD41E:
- strh r1, [r5, 0x2E]
- ldr r0, _080CD430
- str r0, [r5, 0x1C]
- ldr r1, _080CD434
- adds r0, r5, 0
- bl oamt_set_x3A_32
- b _080CD49E
- .align 2, 0
-_080CD430: .4byte sub_80782D8
-_080CD434: .4byte sub_80CD408
-_080CD438:
- ldrh r3, [r5, 0x24]
- ldrh r0, [r5, 0x20]
- adds r3, r0
- movs r0, 0
- strh r3, [r5, 0x20]
- ldrh r4, [r5, 0x26]
- ldrh r1, [r5, 0x22]
- adds r4, r1
- strh r4, [r5, 0x22]
- strh r0, [r5, 0x26]
- strh r0, [r5, 0x24]
- movs r0, 0x8
- strh r0, [r5, 0x2E]
- ldr r2, _080CD4AC
- lsls r0, r6, 16
- asrs r0, 24
- lsls r0, 1
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- adds r3, r1
- strh r3, [r5, 0x32]
- adds r2, 0x1
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r4, r0
- strh r4, [r5, 0x36]
- ldr r0, _080CD4B0
- str r0, [r5, 0x1C]
- ldr r1, _080CD4B4
- adds r0, r5, 0
- bl oamt_set_x3A_32
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1, 0
- ldrh r1, [r5, 0x38]
- adds r0, r1
- strh r0, [r5, 0x38]
- movs r0, 0x3F
- bl sub_8076F98
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xD2
- bl PlaySE12WithPanning
-_080CD49E:
- ldrh r0, [r5, 0x38]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r5, 0x38]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD4AC: .4byte gUnknown_083D6DDC
-_080CD4B0: .4byte sub_8078B34
-_080CD4B4: .4byte sub_80CD4B8
- thumb_func_end sub_80CD408
-
- thumb_func_start sub_80CD4B8
-sub_80CD4B8: @ 80CD4B8
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x38]
- lsls r0, 16
- asrs r0, 24
- cmp r0, 0x4
- bne _080CD4E0
- movs r0, 0xA
- strh r0, [r2, 0x2E]
- ldr r0, _080CD4D8
- str r0, [r2, 0x1C]
- ldr r1, _080CD4DC
- adds r0, r2, 0
- bl oamt_set_x3A_32
- b _080CD4E4
- .align 2, 0
-_080CD4D8: .4byte sub_80782D8
-_080CD4DC: .4byte sub_80CD4EC
-_080CD4E0:
- ldr r0, _080CD4E8
- str r0, [r2, 0x1C]
-_080CD4E4:
- pop {r0}
- bx r0
- .align 2, 0
-_080CD4E8: .4byte sub_80CD408
- thumb_func_end sub_80CD4B8
-
- thumb_func_start sub_80CD4EC
-sub_80CD4EC: @ 80CD4EC
- push {r4-r7,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x6]
- cmp r1, 0
- bne _080CD514
- movs r0, 0x3
- strh r0, [r5, 0x2E]
- strh r1, [r5, 0x30]
- strh r1, [r5, 0x32]
- ldr r0, _080CD50C
- str r0, [r5, 0x1C]
- ldr r1, _080CD510
- adds r0, r5, 0
- bl oamt_set_x3A_32
- b _080CD594
- .align 2, 0
-_080CD50C: .4byte sub_80782D8
-_080CD510: .4byte sub_80CD5A8
-_080CD514:
- ldrh r0, [r5, 0x6]
- cmp r0, 0x2
- beq _080CD534
- cmp r0, 0x2
- bgt _080CD524
- cmp r0, 0x1
- beq _080CD52A
- b _080CD548
-_080CD524:
- cmp r0, 0x3
- beq _080CD53C
- b _080CD548
-_080CD52A:
- ldr r6, _080CD530
- adds r7, r6, 0
- b _080CD54C
- .align 2, 0
-_080CD530: .4byte 0x0000fff8
-_080CD534:
- ldr r7, _080CD538
- b _080CD54A
- .align 2, 0
-_080CD538: .4byte 0x0000fff8
-_080CD53C:
- movs r7, 0x8
- ldr r6, _080CD544
- b _080CD54C
- .align 2, 0
-_080CD544: .4byte 0x0000fff8
-_080CD548:
- movs r7, 0x8
-_080CD54A:
- movs r6, 0x8
-_080CD54C:
- ldrh r0, [r5, 0x24]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- movs r0, 0x6
- strh r0, [r5, 0x2E]
- ldr r4, _080CD59C
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, r7
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x36]
- ldr r0, _080CD5A0
- str r0, [r5, 0x1C]
- ldr r1, _080CD5A4
- adds r0, r5, 0
- bl oamt_set_x3A_32
-_080CD594:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD59C: .4byte gUnknown_0202F7C9
-_080CD5A0: .4byte sub_8078B34
-_080CD5A4: .4byte sub_80CD654
- thumb_func_end sub_80CD4EC
-
- thumb_func_start sub_80CD5A8
-sub_80CD5A8: @ 80CD5A8
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080CD5C8
- ldrh r0, [r4, 0x30]
- adds r0, 0x3
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080CD5D8
- movs r0, 0x10
- b _080CD5D6
-_080CD5C8:
- ldrh r0, [r4, 0x30]
- subs r0, 0x3
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bge _080CD5D8
- movs r0, 0
-_080CD5D6:
- strh r0, [r4, 0x30]
-_080CD5D8:
- movs r0, 0x1
- str r0, [sp]
- movs r0, 0
- str r0, [sp, 0x4]
- str r0, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80791A8
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080CD634
- bl BlendPalettes
- movs r3, 0x30
- ldrsh r0, [r4, r3]
- cmp r0, 0x10
- bne _080CD640
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- ldrb r1, [r4, 0x5]
- lsrs r1, 4
- lsls r0, r1, 5
- ldr r2, _080CD638
- adds r0, r2
- lsls r1, 4
- ldr r3, _080CD63C
- adds r2, r3, 0
- orrs r1, r2
- movs r2, 0x4
- bl LoadPalette
- movs r0, 0x3F
- bl sub_8076F98
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xC0
- bl PlaySE12WithPanning
- b _080CD648
- .align 2, 0
-_080CD634: .4byte 0x00007fff
-_080CD638: .4byte gPlttBufferUnfaded + 0x210
-_080CD63C: .4byte 0x00000101
-_080CD640:
- cmp r0, 0
- bne _080CD648
- ldr r0, _080CD650
- str r0, [r4, 0x1C]
-_080CD648:
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD650: .4byte sub_80CD654
- thumb_func_end sub_80CD5A8
-
- thumb_func_start sub_80CD654
-sub_80CD654: @ 80CD654
- push {lr}
- adds r2, r0, 0
- ldr r0, _080CD670
- ldrh r1, [r0, 0xE]
- ldr r0, _080CD674
- cmp r1, r0
- bne _080CD66C
- movs r0, 0
- strh r0, [r2, 0x30]
- strh r0, [r2, 0x2E]
- ldr r0, _080CD678
- str r0, [r2, 0x1C]
-_080CD66C:
- pop {r0}
- bx r0
- .align 2, 0
-_080CD670: .4byte gUnknown_03004B00
-_080CD674: .4byte 0x0000ffff
-_080CD678: .4byte sub_80CD67C
- thumb_func_end sub_80CD654
-
- thumb_func_start sub_80CD67C
-sub_80CD67C: @ 80CD67C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _080CD6B0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080CD6B0:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x8
- bne _080CD6C4
- adds r0, r4, 0
- bl move_anim_8072740
-_080CD6C4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CD67C
-
- thumb_func_start sub_80CD6CC
-sub_80CD6CC: @ 80CD6CC
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _080CD6EC
- ldrh r0, [r0]
- strh r0, [r3, 0x6]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080CD6F0
- ldrh r0, [r3, 0x20]
- subs r0, 0x18
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x22]
- subs r0, 0x18
- strh r0, [r3, 0x22]
- b _080CD742
- .align 2, 0
-_080CD6EC: .4byte gUnknown_03004B00
-_080CD6F0:
- cmp r0, 0x2
- bne _080CD70C
- ldrh r0, [r3, 0x20]
- subs r0, 0x18
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x22]
- adds r0, 0x18
- strh r0, [r3, 0x22]
- ldrb r1, [r3, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x20
- b _080CD73E
-_080CD70C:
- cmp r0, 0x3
- bne _080CD728
- ldrh r0, [r3, 0x20]
- adds r0, 0x18
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x22]
- subs r0, 0x18
- strh r0, [r3, 0x22]
- ldrb r1, [r3, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- b _080CD73E
-_080CD728:
- ldrh r0, [r3, 0x20]
- adds r0, 0x18
- strh r0, [r3, 0x20]
- ldrh r0, [r3, 0x22]
- adds r0, 0x18
- strh r0, [r3, 0x22]
- ldrb r1, [r3, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x30
-_080CD73E:
- orrs r0, r1
- strb r0, [r3, 0x3]
-_080CD742:
- ldrh r2, [r3, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x10
- ldr r4, _080CD768
- adds r0, r4, 0
- ands r1, r0
- ldr r0, _080CD76C
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldr r1, _080CD770
- str r1, [r3, 0x1C]
- adds r0, r3, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD768: .4byte 0x000003ff
-_080CD76C: .4byte 0xfffffc00
-_080CD770: .4byte sub_80CD3E0
- thumb_func_end sub_80CD6CC
-
- thumb_func_start sub_80CD774
-sub_80CD774: @ 80CD774
- push {lr}
- adds r3, r0, 0
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0
- strh r0, [r3, 0x2E]
- ldr r0, _080CD79C
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _080CD7B0
- cmp r0, 0x1
- bgt _080CD7A0
- cmp r0, 0
- beq _080CD7A6
- b _080CD7C0
- .align 2, 0
-_080CD79C: .4byte gUnknown_03004B00
-_080CD7A0:
- cmp r0, 0x2
- beq _080CD7B8
- b _080CD7C0
-_080CD7A6:
- ldr r0, _080CD7AC
- b _080CD7C2
- .align 2, 0
-_080CD7AC: .4byte sub_80CD7CC
-_080CD7B0:
- ldr r0, _080CD7B4
- b _080CD7C2
- .align 2, 0
-_080CD7B4: .4byte sub_80CD8A8
-_080CD7B8:
- ldr r0, _080CD7BC
- b _080CD7C2
- .align 2, 0
-_080CD7BC: .4byte sub_80CD8F8
-_080CD7C0:
- ldr r0, _080CD7C8
-_080CD7C2:
- str r0, [r3, 0x1C]
- pop {r0}
- bx r0
- .align 2, 0
-_080CD7C8: .4byte sub_80CD9B8
- thumb_func_end sub_80CD774
-
- thumb_func_start sub_80CD7CC
-sub_80CD7CC: @ 80CD7CC
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x6
- strh r0, [r4, 0x2E]
- ldr r5, _080CD80C
- ldrb r0, [r5]
- bl battle_side_get_owner
- lsls r0, 24
- movs r2, 0x2
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- beq _080CD7EA
- movs r1, 0x2
-_080CD7EA:
- strh r1, [r4, 0x30]
- movs r0, 0
- strh r0, [r4, 0x32]
- ldr r1, _080CD810
- ldrb r0, [r5]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x34]
- ldr r1, _080CD814
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080CD818
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD80C: .4byte gUnknown_0202F7C8
-_080CD810: .4byte gUnknown_02024BE0
-_080CD814: .4byte sub_80CD81C
-_080CD818: .4byte sub_8078458
- thumb_func_end sub_80CD7CC
-
- thumb_func_start sub_80CD81C
-sub_80CD81C: @ 80CD81C
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r0, 0x2E
- ldrsh r6, [r5, r0]
- cmp r6, 0
- bne _080CD858
- ldr r1, _080CD898
- ldr r4, _080CD89C
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r5, 0x34]
- movs r1, 0
- bl sub_8078E70
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x3A]
- ldr r2, _080CD8A0
- adds r1, r2, 0
- cmp r0, 0
- beq _080CD854
- movs r0, 0xC0
- lsls r0, 2
- adds r1, r0, 0
-_080CD854:
- strh r1, [r5, 0x36]
- strh r6, [r5, 0x38]
-_080CD858:
- ldrh r0, [r5, 0x36]
- ldrh r1, [r5, 0x38]
- adds r0, r1
- strh r0, [r5, 0x38]
- ldrh r0, [r5, 0x34]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r5, 0x38]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldrh r0, [r5, 0x34]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8078F9C
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080CD892
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, _080CD8A4
- str r0, [r5, 0x1C]
-_080CD892:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD898: .4byte gUnknown_02024BE0
-_080CD89C: .4byte gUnknown_0202F7C8
-_080CD8A0: .4byte 0xfffffd00
-_080CD8A4: .4byte sub_80CD9B8
- thumb_func_end sub_80CD81C
-
- thumb_func_start sub_80CD8A8
-sub_80CD8A8: @ 80CD8A8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x4
- strh r0, [r4, 0x2E]
- ldr r5, _080CD8E8
- ldrb r0, [r5]
- bl battle_side_get_owner
- lsls r0, 24
- movs r1, 0x3
- cmp r0, 0
- beq _080CD8C6
- movs r0, 0x3
- negs r0, r0
- adds r1, r0, 0
-_080CD8C6:
- strh r1, [r4, 0x30]
- movs r0, 0
- strh r0, [r4, 0x32]
- ldr r1, _080CD8EC
- ldrb r0, [r5]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x34]
- ldr r1, _080CD8F0
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080CD8F4
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD8E8: .4byte gUnknown_0202F7C8
-_080CD8EC: .4byte gUnknown_02024BE0
-_080CD8F0: .4byte sub_80CD9B8
-_080CD8F4: .4byte sub_8078458
- thumb_func_end sub_80CD8A8
-
- thumb_func_start sub_80CD8F8
-sub_80CD8F8: @ 80CD8F8
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080CD912
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldr r0, _080CD918
- str r0, [r1, 0x1C]
-_080CD912:
- pop {r0}
- bx r0
- .align 2, 0
-_080CD918: .4byte sub_80CD91C
- thumb_func_end sub_80CD8F8
-
- thumb_func_start sub_80CD91C
-sub_80CD91C: @ 80CD91C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080CD96C
- ldr r1, _080CD958
- ldr r4, _080CD95C
- ldrb r0, [r4]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x3A]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CD960
- movs r0, 0xFC
- lsls r0, 8
- strh r0, [r5, 0x36]
- movs r0, 0xC0
- lsls r0, 4
- b _080CD96A
- .align 2, 0
-_080CD958: .4byte gUnknown_02024BE0
-_080CD95C: .4byte gUnknown_0202F7C8
-_080CD960:
- movs r0, 0x80
- lsls r0, 3
- strh r0, [r5, 0x36]
- movs r0, 0xF4
- lsls r0, 8
-_080CD96A:
- strh r0, [r5, 0x38]
-_080CD96C:
- ldrh r0, [r5, 0x36]
- ldrh r1, [r5, 0x38]
- adds r0, r1
- strh r0, [r5, 0x38]
- ldrh r0, [r5, 0x34]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r5, 0x38]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldrh r0, [r5, 0x34]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8078F9C
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080CD9AC
- ldrh r0, [r5, 0x34]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8078F40
- ldr r0, _080CD9B4
- str r0, [r5, 0x1C]
-_080CD9AC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CD9B4: .4byte sub_80CD9B8
- thumb_func_end sub_80CD91C
-
- thumb_func_start sub_80CD9B8
-sub_80CD9B8: @ 80CD9B8
- push {lr}
- bl move_anim_8072740
- pop {r0}
- bx r0
- thumb_func_end sub_80CD9B8
-
- thumb_func_start sub_80CD9C4
-sub_80CD9C4: @ 80CD9C4
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldr r1, _080CD9D0
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080CD9D0: .4byte sub_80CD9D4
- thumb_func_end sub_80CD9C4
-
- thumb_func_start sub_80CD9D4
-sub_80CD9D4: @ 80CD9D4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _080CDA2E
- cmp r5, 0x1
- bgt _080CD9EA
- cmp r5, 0
- beq _080CD9F0
- b _080CDAC2
-_080CD9EA:
- cmp r5, 0x2
- beq _080CDA80
- b _080CDAC2
-_080CD9F0:
- strh r5, [r4, 0x30]
- ldr r1, _080CDA74
- ldr r2, _080CDA78
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r4, 0x32]
- ldrb r0, [r2]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x34]
- ldr r2, _080CDA7C
- adds r1, r2, 0
- cmp r0, 0
- beq _080CDA18
- movs r0, 0x80
- lsls r0, 2
- adds r1, r0, 0
-_080CDA18:
- strh r1, [r4, 0x36]
- strh r5, [r4, 0x38]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8078E70
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080CDA2E:
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x38]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8078F9C
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080CDAC2
- movs r0, 0
- strh r0, [r4, 0x30]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- negs r0, r0
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080CDAC2
- .align 2, 0
-_080CDA74: .4byte gUnknown_02024BE0
-_080CDA78: .4byte gUnknown_0202F7C8
-_080CDA7C: .4byte 0xfffffe00
-_080CDA80:
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x38]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8078F9C
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080CDAC2
- ldrh r0, [r4, 0x32]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8078F40
- adds r0, r4, 0
- bl move_anim_8072740
-_080CDAC2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80CD9D4
-
- thumb_func_start sub_80CDAC8
-sub_80CDAC8: @ 80CDAC8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080CDB0C
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldr r1, _080CDB10
- ldr r2, _080CDB14
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- movs r4, 0
- strh r0, [r5, 0x8]
- ldrb r0, [r2]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r2, r0, 24
- strh r2, [r5, 0xA]
- strh r4, [r5, 0xC]
- ldr r0, _080CDB18
- movs r3, 0
- ldrsh r1, [r0, r3]
- cmp r1, 0
- beq _080CDB1C
- cmp r1, 0x1
- beq _080CDB38
- adds r0, r6, 0
- bl move_anim_task_del
- b _080CDB56
- .align 2, 0
-_080CDB0C: .4byte gTasks
-_080CDB10: .4byte gUnknown_02024BE0
-_080CDB14: .4byte gUnknown_0202F7C8
-_080CDB18: .4byte gUnknown_03004B00
-_080CDB1C:
- strh r1, [r5, 0xC]
- movs r0, 0x8
- strh r0, [r5, 0xE]
- strh r1, [r5, 0x10]
- movs r0, 0x3
- strh r0, [r5, 0x12]
- cmp r2, 0
- bne _080CDB30
- negs r0, r0
- strh r0, [r5, 0x12]
-_080CDB30:
- ldr r0, _080CDB34
- b _080CDB54
- .align 2, 0
-_080CDB34: .4byte sub_80CDB60
-_080CDB38:
- movs r0, 0x8
- strh r0, [r5, 0xE]
- movs r0, 0xC0
- lsls r0, 3
- strh r0, [r5, 0x10]
- movs r1, 0xC0
- strh r1, [r5, 0x12]
- cmp r2, 0
- bne _080CDB52
- negs r0, r0
- strh r0, [r5, 0x10]
- negs r0, r1
- strh r0, [r5, 0x12]
-_080CDB52:
- ldr r0, _080CDB5C
-_080CDB54:
- str r0, [r5]
-_080CDB56:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CDB5C: .4byte sub_80CDD20
- thumb_func_end sub_80CDAC8
-
- thumb_func_start sub_80CDB60
-sub_80CDB60: @ 80CDB60
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080CDB84
- adds r4, r0, r1
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080CDB7A
- b _080CDD1A
-_080CDB7A:
- lsls r0, 2
- ldr r1, _080CDB88
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080CDB84: .4byte gTasks
-_080CDB88: .4byte _080CDB8C
- .align 2, 0
-_080CDB8C:
- .4byte _080CDBA0
- .4byte _080CDBD2
- .4byte _080CDC2C
- .4byte _080CDCA4
- .4byte _080CDCE8
-_080CDBA0:
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- cmp r1, 0
- beq _080CDBB0
- ldrh r2, [r4, 0x12]
- ldrh r3, [r4, 0x10]
- adds r2, r3
- b _080CDCF6
-_080CDBB0:
- movs r0, 0x8
- strh r0, [r4, 0xE]
- strh r1, [r4, 0x10]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r1, 0xC0
- cmp r0, 0
- bne _080CDBC6
- movs r2, 0xC0
- negs r2, r2
- adds r1, r2, 0
-_080CDBC6:
- strh r1, [r4, 0x12]
- ldrb r0, [r4, 0x8]
- movs r1, 0
- bl sub_8078E70
- b _080CDCDC
-_080CDBD2:
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080CDBF8
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0x10]
- adds r0, r1
- strh r0, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x10]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldrb r0, [r4, 0x8]
- bl sub_8078F9C
- b _080CDD08
-_080CDBF8:
- movs r0, 0x8
- strh r0, [r4, 0xE]
- ldr r2, _080CDC28
- movs r3, 0x8
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x24]
- strh r0, [r4, 0x10]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r2, 0x2
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _080CDC1E
- movs r1, 0x2
-_080CDC1E:
- strh r1, [r4, 0x12]
- movs r0, 0x1
- strh r0, [r4, 0x14]
- b _080CDCDC
- .align 2, 0
-_080CDC28: .4byte gSprites
-_080CDC2C:
- ldrh r2, [r4, 0xE]
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080CDC88
- ldrh r1, [r4, 0x14]
- movs r3, 0x14
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080CDC46
- subs r0, r1, 0x1
- strh r0, [r4, 0x14]
- b _080CDD1A
-_080CDC46:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080CDC68
- ldr r2, _080CDC64
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x12]
- ldrh r2, [r4, 0x10]
- adds r1, r2
- b _080CDC7C
- .align 2, 0
-_080CDC64: .4byte gSprites
-_080CDC68:
- ldr r2, _080CDC84
- movs r3, 0x8
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x10]
- ldrh r2, [r4, 0x12]
- subs r1, r2
-_080CDC7C:
- strh r1, [r0, 0x24]
- movs r0, 0x1
- strh r0, [r4, 0x14]
- b _080CDD08
- .align 2, 0
-_080CDC84: .4byte gSprites
-_080CDC88:
- ldr r2, _080CDCA0
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x10]
- strh r1, [r0, 0x24]
- movs r0, 0xC
- strh r0, [r4, 0xE]
- b _080CDCDC
- .align 2, 0
-_080CDCA0: .4byte gSprites
-_080CDCA4:
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080CDCB4
- subs r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _080CDD1A
-_080CDCB4:
- movs r0, 0x3
- strh r0, [r4, 0xE]
- ldr r2, _080CDCE4
- movs r3, 0x8
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x24]
- strh r0, [r4, 0x10]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- movs r2, 0x8
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _080CDCDA
- movs r1, 0x8
-_080CDCDA:
- strh r1, [r4, 0x12]
-_080CDCDC:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- b _080CDD1A
- .align 2, 0
-_080CDCE4: .4byte gSprites
-_080CDCE8:
- movs r3, 0xE
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080CDD14
- ldrh r2, [r4, 0x12]
- ldrh r0, [r4, 0x10]
- adds r2, r0
-_080CDCF6:
- strh r2, [r4, 0x10]
- ldr r3, _080CDD10
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x24]
-_080CDD08:
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _080CDD1A
- .align 2, 0
-_080CDD10: .4byte gSprites
-_080CDD14:
- adds r0, r2, 0
- bl move_anim_task_del
-_080CDD1A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CDB60
-
- thumb_func_start sub_80CDD20
-sub_80CDD20: @ 80CDD20
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080CDD5C
- adds r4, r0, r1
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080CDD60
- ldrh r0, [r4, 0x10]
- ldrh r1, [r4, 0x12]
- subs r0, r1
- strh r0, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- movs r2, 0x80
- lsls r2, 1
- ldrh r3, [r4, 0x10]
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldrb r0, [r4, 0x8]
- bl sub_8078F9C
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _080CDD6C
- .align 2, 0
-_080CDD5C: .4byte gTasks
-_080CDD60:
- ldrb r0, [r4, 0x8]
- bl sub_8078F40
- adds r0, r5, 0
- bl move_anim_task_del
-_080CDD6C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80CDD20
-
- thumb_func_start sub_80CDD74
-sub_80CDD74: @ 80CDD74
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080CDD88
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080CDD90
- ldr r4, _080CDD8C
- b _080CDD92
- .align 2, 0
-_080CDD88: .4byte gUnknown_03004B00
-_080CDD8C: .4byte gUnknown_0202F7C8
-_080CDD90:
- ldr r4, _080CDDD0
-_080CDD92:
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x2]
- adds r0, r1
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x4]
- adds r0, r6
- strh r0, [r5, 0x22]
- movs r0, 0
- strh r0, [r5, 0x2E]
- strh r0, [r5, 0x30]
- ldr r1, _080CDDD4
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080CDDD8
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CDDD0: .4byte gUnknown_0202F7C9
-_080CDDD4: .4byte sub_80CDEC0
-_080CDDD8: .4byte sub_8078600
- thumb_func_end sub_80CDD74
-
- thumb_func_start sub_80CDDDC
-sub_80CDDDC: @ 80CDDDC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080CDE14
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080CDE18
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r1, _080CDE1C
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080CDE20
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CDE14: .4byte gUnknown_0202F7C9
-_080CDE18: .4byte 0x0000ffd0
-_080CDE1C: .4byte sub_80CDE78
-_080CDE20: .4byte sub_8078600
- thumb_func_end sub_80CDDDC
-
- thumb_func_start sub_80CDE24
-sub_80CDE24: @ 80CDE24
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, _080CDE68
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080CDE6C
- ldr r2, _080CDE70
- adds r0, r2
- ldrh r1, [r1]
- adds r0, r1
- movs r6, 0
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- strh r6, [r4, 0x2E]
- strh r6, [r4, 0x30]
- ldr r0, _080CDE74
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CDE68: .4byte gUnknown_0202F7C9
-_080CDE6C: .4byte gUnknown_03004B00
-_080CDE70: .4byte 0x0000ffd0
-_080CDE74: .4byte sub_80CDEC0
- thumb_func_end sub_80CDE24
-
- thumb_func_start sub_80CDE78
-sub_80CDE78: @ 80CDE78
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080CDEA2
- movs r0, 0xC
- strh r0, [r4, 0x2E]
- movs r0, 0x8
- strh r0, [r4, 0x30]
- movs r0, 0
- strh r0, [r4, 0x32]
- ldr r1, _080CDEA8
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080CDEAC
- str r0, [r4, 0x1C]
-_080CDEA2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CDEA8: .4byte sub_80CDEB0
-_080CDEAC: .4byte sub_8078364
- thumb_func_end sub_80CDE78
-
- thumb_func_start sub_80CDEB0
-sub_80CDEB0: @ 80CDEB0
- movs r1, 0
- strh r1, [r0, 0x2E]
- strh r1, [r0, 0x30]
- ldr r1, _080CDEBC
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080CDEBC: .4byte sub_80CDEC0
- thumb_func_end sub_80CDEB0
-
- thumb_func_start sub_80CDEC0
-sub_80CDEC0: @ 80CDEC0
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080CDF08
- movs r0, 0
- strh r0, [r3, 0x2E]
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080CDF08
- adds r0, r3, 0
- bl move_anim_8072740
-_080CDF08:
- pop {r0}
- bx r0
- thumb_func_end sub_80CDEC0
-
- thumb_func_start sub_80CDF0C
-sub_80CDF0C: @ 80CDF0C
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080CDF20
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080CDF28
- ldr r4, _080CDF24
- b _080CDF2A
- .align 2, 0
-_080CDF20: .4byte gUnknown_03004B00
-_080CDF24: .4byte gUnknown_0202F7C8
-_080CDF28:
- ldr r4, _080CDF64
-_080CDF2A:
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x2]
- adds r0, r1
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x4]
- adds r0, r6
- strh r0, [r5, 0x22]
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, _080CDF68
- ldrh r0, [r0, 0x6]
- strh r0, [r5, 0x30]
- ldr r0, _080CDF6C
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CDF64: .4byte gUnknown_0202F7C9
-_080CDF68: .4byte gUnknown_03004B00
-_080CDF6C: .4byte sub_80CDF70
- thumb_func_end sub_80CDF0C
-
- thumb_func_start sub_80CDF70
-sub_80CDF70: @ 80CDF70
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x30
- ldrsh r1, [r2, r3]
- cmp r0, r1
- ble _080CDF90
- movs r0, 0
- strh r0, [r2, 0x2E]
- ldrh r0, [r2, 0x22]
- subs r0, 0x1
- strh r0, [r2, 0x22]
-_080CDF90:
- ldrh r0, [r2, 0x22]
- ldrh r1, [r2, 0x2E]
- subs r0, r1
- strh r0, [r2, 0x22]
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CDFAC
- adds r0, r2, 0
- bl move_anim_8072740
-_080CDFAC:
- pop {r0}
- bx r0
- thumb_func_end sub_80CDF70
-
- thumb_func_start sub_80CDFB0
-sub_80CDFB0: @ 80CDFB0
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, _080CDFF8
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0xC
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x2E]
- movs r0, 0x2
- strh r0, [r4, 0x30]
- strh r5, [r4, 0x32]
- strh r5, [r4, 0x34]
- strh r5, [r4, 0x36]
- subs r0, 0x42
- bl sub_8076F98
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0x38]
- ldr r0, _080CDFFC
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CDFF8: .4byte gUnknown_0202F7C8
-_080CDFFC: .4byte sub_80CE000
- thumb_func_end sub_80CDFB0
-
- thumb_func_start sub_80CE000
-sub_80CE000: @ 80CE000
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _080CE06C
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r1, 0x4
- ands r0, r1
- cmp r0, 0
- bne _080CE052
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080CE052
- ldrh r1, [r4, 0x38]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xC2
- bl PlaySE12WithPanning
-_080CE052:
- movs r1, 0
- strh r1, [r4, 0x2E]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080CE06C
- strh r1, [r4, 0x32]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
-_080CE06C:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080CE096
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- ble _080CE096
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080CE096
- adds r0, r4, 0
- bl move_anim_8072740
-_080CE096:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CE000
-
- thumb_func_start sub_80CE09C
-sub_80CE09C: @ 80CE09C
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080CE0E6
- ldr r4, _080CE0FC
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- ldr r5, _080CE100
- lsrs r0, 24
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x2]
- adds r0, r5
- strh r0, [r6, 0x22]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080CE0E0
- ldrh r0, [r6, 0x22]
- adds r0, 0xA
- strh r0, [r6, 0x22]
-_080CE0E0:
- ldrh r0, [r6, 0x2E]
- adds r0, 0x1
- strh r0, [r6, 0x2E]
-_080CE0E6:
- ldr r0, _080CE100
- ldrh r1, [r0, 0xE]
- ldr r0, _080CE104
- cmp r1, r0
- bne _080CE0F6
- adds r0, r6, 0
- bl move_anim_8072740
-_080CE0F6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE0FC: .4byte gUnknown_0202F7C8
-_080CE100: .4byte gUnknown_03004B00
-_080CE104: .4byte 0x0000ffff
- thumb_func_end sub_80CE09C
-
- thumb_func_start sub_80CE108
-sub_80CE108: @ 80CE108
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080CE128
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080CE134
- ldr r1, _080CE12C
- ldr r0, _080CE130
- strh r0, [r1, 0xE]
- b _080CE16C
- .align 2, 0
-_080CE128: .4byte gTasks
-_080CE12C: .4byte gUnknown_03004B00
-_080CE130: .4byte 0x0000ffff
-_080CE134:
- cmp r0, 0x2
- bne _080CE140
- adds r0, r2, 0
- bl move_anim_task_del
- b _080CE172
-_080CE140:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080CE172
- movs r0, 0
- strh r0, [r4, 0x8]
- ldrh r1, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0xA]
- ldr r3, _080CE178
- lsls r2, r1, 8
- movs r0, 0x10
- subs r0, r1
- orrs r2, r0
- strh r2, [r3]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x10
- bne _080CE172
-_080CE16C:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
-_080CE172:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE178: .4byte REG_BLDALPHA
- thumb_func_end sub_80CE108
-
- thumb_func_start sub_80CE17C
-sub_80CE17C: @ 80CE17C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_8078764
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080CE1A4
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldr r0, _080CE1A8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE1A4: .4byte gUnknown_03004B00
-_080CE1A8: .4byte sub_80CE1AC
- thumb_func_end sub_80CE17C
-
- thumb_func_start sub_80CE1AC
-sub_80CE1AC: @ 80CE1AC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080CE1C0
- subs r0, r1, 0x1
- strh r0, [r5, 0x2E]
- b _080CE1FC
-_080CE1C0:
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- movs r0, 0x1E
- strh r0, [r5, 0x2E]
- ldr r4, _080CE204
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- ldr r0, _080CE208
- str r0, [r5, 0x1C]
- ldr r1, _080CE20C
- adds r0, r5, 0
- bl oamt_set_x3A_32
-_080CE1FC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE204: .4byte gUnknown_0202F7C8
-_080CE208: .4byte sub_8078B34
-_080CE20C: .4byte move_anim_8072740
- thumb_func_end sub_80CE1AC
-
- thumb_func_start sub_80CE210
-sub_80CE210: @ 80CE210
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080CE258
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r3, r0, r1
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080CE252
- movs r0, 0
- strh r0, [r3, 0x8]
- ldrh r1, [r3, 0xA]
- adds r1, 0x1
- strh r1, [r3, 0xA]
- ldr r2, _080CE25C
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- cmp r0, 0x10
- bne _080CE252
- adds r0, r4, 0
- bl move_anim_task_del
-_080CE252:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE258: .4byte gTasks
-_080CE25C: .4byte REG_BLDALPHA
- thumb_func_end sub_80CE210
-
- thumb_func_start unref_sub_80CE260
-unref_sub_80CE260: @ 80CE260
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0
- ldr r0, _080CE2C8
- ldrb r0, [r0]
- cmp r4, r0
- bcs _080CE2BC
- ldr r6, _080CE2CC
- ldr r5, _080CE2D0
-_080CE274:
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- bne _080CE290
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080CE290
- adds r0, r4, r5
- ldrb r0, [r0]
- bl sub_8043DB0
-_080CE290:
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- bne _080CE2AE
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CE2AE
- adds r0, r4, r5
- ldrb r0, [r0]
- bl sub_8043DB0
-_080CE2AE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080CE2C8
- ldrb r0, [r0]
- cmp r4, r0
- bcc _080CE274
-_080CE2BC:
- adds r0, r7, 0
- bl move_anim_task_del
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE2C8: .4byte gUnknown_02024A68
-_080CE2CC: .4byte gUnknown_03004B00
-_080CE2D0: .4byte gUnknown_03004340
- thumb_func_end unref_sub_80CE260
-
- thumb_func_start unref_sub_80CE2D4
-unref_sub_80CE2D4: @ 80CE2D4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- b _080CE2EE
-_080CE2DE:
- ldr r0, _080CE304
- adds r0, r4, r0
- ldrb r0, [r0]
- bl sub_8043DFC
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080CE2EE:
- ldr r0, _080CE308
- ldrb r0, [r0]
- cmp r4, r0
- bcc _080CE2DE
- adds r0, r5, 0
- bl move_anim_task_del
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE304: .4byte gUnknown_03004340
-_080CE308: .4byte gUnknown_02024A68
- thumb_func_end unref_sub_80CE2D4
-
- thumb_func_start sub_80CE30C
-sub_80CE30C: @ 80CE30C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080CE322
- movs r0, 0x30
- strh r0, [r4, 0x20]
- movs r0, 0x28
- b _080CE32A
-_080CE322:
- ldr r0, _080CE34C
- ldrh r1, [r0]
- strh r1, [r4, 0x20]
- ldrh r0, [r0, 0x2]
-_080CE32A:
- strh r0, [r4, 0x22]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x3]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r4, 0x3]
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r0, _080CE350
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE34C: .4byte gUnknown_03004B00
-_080CE350: .4byte sub_80CE354
- thumb_func_end sub_80CE30C
-
- thumb_func_start sub_80CE354
-sub_80CE354: @ 80CE354
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080CE366
- adds r0, r1, 0
- bl move_anim_8072740
-_080CE366:
- pop {r0}
- bx r0
- thumb_func_end sub_80CE354
-
- thumb_func_start sub_80CE36C
-sub_80CE36C: @ 80CE36C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080CE3A4
- ldrb r0, [r0]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- ldr r2, _080CE3A8
- lsrs r0, 24
- ldrh r1, [r2]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- strh r0, [r4, 0x22]
- strh r1, [r4, 0x2E]
- strh r1, [r4, 0x30]
- strh r1, [r4, 0x32]
- strh r1, [r4, 0x34]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- ldr r0, _080CE3AC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE3A4: .4byte gUnknown_0202F7C8
-_080CE3A8: .4byte gUnknown_03004B00
-_080CE3AC: .4byte sub_80CE3B0
- thumb_func_end sub_80CE36C
-
- thumb_func_start sub_80CE3B0
-sub_80CE3B0: @ 80CE3B0
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080CE3DA
- movs r0, 0
- strh r0, [r1, 0x30]
- ldrh r2, [r1, 0x32]
- movs r3, 0x32
- ldrsh r0, [r1, r3]
- cmp r0, 0x77
- bgt _080CE3DA
- ldrh r0, [r1, 0x22]
- adds r0, 0x1
- strh r0, [r1, 0x22]
- adds r0, r2, 0x1
- strh r0, [r1, 0x32]
-_080CE3DA:
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080CE3E8
- adds r0, r1, 0
- bl move_anim_8072740
-_080CE3E8:
- pop {r0}
- bx r0
- thumb_func_end sub_80CE3B0
-
- thumb_func_start sub_80CE3EC
-sub_80CE3EC: @ 80CE3EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80791A8
- mov r8, r0
- ldr r0, _080CE4BC
- mov r1, r8
- ands r1, r0
- mov r8, r1
- ldr r0, _080CE4C0
- mov r9, r0
- lsls r5, r7, 2
- adds r5, r7
- lsls r5, 3
- adds r6, r5, r0
- strh r4, [r6, 0x8]
- strh r4, [r6, 0xA]
- strh r4, [r6, 0xC]
- strh r1, [r6, 0xE]
- strh r4, [r6, 0x10]
- strh r4, [r6, 0x12]
- strh r4, [r6, 0x14]
- movs r0, 0xD
- strh r0, [r6, 0x16]
- movs r0, 0xE
- strh r0, [r6, 0x18]
- movs r0, 0xF
- strh r0, [r6, 0x1A]
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80792C0
- mov r10, r0
- mov r1, r8
- orrs r1, r0
- mov r8, r1
- movs r0, 0x8
- add r9, r0
- add r5, r9
- adds r0, r5, 0
- adds r0, 0x1C
- adds r5, 0x1E
- adds r1, r5, 0
- mov r2, r8
- bl sub_8079BF4
- ldr r0, _080CE4C4
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0x80
- lsls r4, 9
- adds r1, r4, 0
- lsls r1, r0
- mov r0, r10
- orrs r0, r1
- mov r10, r0
- ldr r0, _080CE4C8
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0
- mov r1, r10
- orrs r4, r1
- ldr r0, _080CE4CC
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r1, _080CE4D0
- str r1, [r6]
- adds r0, r7, 0
- bl _call_via_r1
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE4BC: .4byte 0x0000ffff
-_080CE4C0: .4byte gTasks
-_080CE4C4: .4byte 0x000027d2
-_080CE4C8: .4byte 0x000027d3
-_080CE4CC: .4byte 0x00007fbb
-_080CE4D0: .4byte sub_80CE4D4
- thumb_func_end sub_80CE3EC
-
- thumb_func_start sub_80CE4D4
-sub_80CE4D4: @ 80CE4D4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080CE4FC
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _080CE5C0
- cmp r1, 0x1
- bgt _080CE500
- cmp r1, 0
- beq _080CE50E
- b _080CE65E
- .align 2, 0
-_080CE4FC: .4byte gTasks
-_080CE500:
- cmp r1, 0x2
- bne _080CE506
- b _080CE618
-_080CE506:
- cmp r1, 0x3
- bne _080CE50C
- b _080CE64C
-_080CE50C:
- b _080CE65E
-_080CE50E:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- cmp r0, 0
- bgt _080CE51C
- b _080CE65E
-_080CE51C:
- strh r1, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bgt _080CE568
- ldrh r0, [r4, 0x16]
- ldrh r1, [r4, 0x10]
- adds r0, r1
- strh r0, [r4, 0x10]
- ldrh r2, [r4, 0x18]
- ldrh r3, [r4, 0x12]
- adds r2, r3
- strh r2, [r4, 0x12]
- ldrh r1, [r4, 0x1A]
- ldrh r5, [r4, 0x14]
- adds r1, r5
- strh r1, [r4, 0x14]
- lsls r0, 16
- asrs r0, 19
- lsls r0, 16
- lsrs r0, 16
- lsls r2, 16
- asrs r2, 19
- lsls r2, 16
- lsls r1, 16
- asrs r1, 19
- lsls r1, 16
- lsrs r2, 11
- orrs r0, r2
- lsrs r1, 6
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r12, r0
- b _080CE572
-_080CE568:
- ldr r7, _080CE5B8
- mov r12, r7
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080CE572:
- movs r2, 0x1
- movs r3, 0
- movs r1, 0
-_080CE578:
- movs r5, 0xE
- ldrsh r0, [r4, r5]
- ands r0, r2
- lsls r5, r2, 17
- adds r6, r3, 0
- adds r6, 0x10
- adds r1, 0x1
- mov r8, r1
- cmp r0, 0
- beq _080CE5A4
- movs r1, 0x1
- ldr r2, _080CE5BC
-_080CE590:
- adds r0, r3, r1
- lsls r0, 1
- adds r0, r2
- mov r7, r12
- strh r7, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0xF
- bls _080CE590
-_080CE5A4:
- lsrs r2, r5, 16
- lsls r0, r6, 16
- lsrs r3, r0, 16
- mov r1, r8
- lsls r0, r1, 16
- lsrs r1, r0, 16
- cmp r1, 0xF
- bls _080CE578
- b _080CE65E
- .align 2, 0
-_080CE5B8: .4byte 0x00007fbb
-_080CE5BC: .4byte gPlttBufferFaded
-_080CE5C0:
- ldr r0, _080CE608
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080CE65E
- movs r2, 0
- ldr r3, _080CE60C
- movs r5, 0x14
- adds r5, r3
- mov r12, r5
- ldr r7, _080CE610
- mov r8, r7
- ldr r6, _080CE614
- movs r5, 0x1
-_080CE5DE:
- lsls r0, r2, 4
- adds r0, r2
- lsls r1, r0, 2
- mov r7, r12
- adds r0, r1, r7
- ldr r0, [r0]
- cmp r0, r8
- beq _080CE5F2
- cmp r0, r6
- bne _080CE5F6
-_080CE5F2:
- adds r0, r1, r3
- strh r5, [r0, 0x2E]
-_080CE5F6:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3F
- bls _080CE5DE
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080CE640
- .align 2, 0
-_080CE608: .4byte gPaletteFade
-_080CE60C: .4byte gSprites
-_080CE610: .4byte gBattleAnimSpriteTemplate_83D6FC8
-_080CE614: .4byte gBattleAnimSpriteTemplate_83D6FF8
-_080CE618:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _080CE65E
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- bl sub_8079BFC
- ldr r1, _080CE648
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
-_080CE640:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080CE65E
- .align 2, 0
-_080CE648: .4byte 0x00007fbb
-_080CE64C:
- ldr r0, _080CE66C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080CE65E
- adds r0, r2, 0
- bl move_anim_task_del
-_080CE65E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE66C: .4byte gPaletteFade
- thumb_func_end sub_80CE4D4
-
- thumb_func_start sub_80CE670
-sub_80CE670: @ 80CE670
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080CE6F4
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- bgt _080CE682
- movs r0, 0x2
- strh r0, [r6, 0x4]
-_080CE682:
- movs r1, 0x4
- ldrsh r0, [r6, r1]
- cmp r0, 0x7F
- ble _080CE68E
- movs r0, 0x7F
- strh r0, [r6, 0x4]
-_080CE68E:
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldrh r0, [r6, 0x4]
- strh r0, [r5, 0x30]
- ldr r4, _080CE6F8
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x2]
- adds r0, r6
- strh r0, [r5, 0x22]
- ldrh r1, [r5, 0x20]
- strh r1, [r5, 0x3A]
- strh r0, [r5, 0x3C]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080CE700
- ldrb r1, [r5, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r5, 0x3]
- ldrh r0, [r5, 0x20]
- adds r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r4, [r5, 0x22]
- adds r4, 0x14
- strh r4, [r5, 0x22]
- lsls r0, 7
- strh r0, [r5, 0x32]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- ldr r0, _080CE6FC
- b _080CE726
- .align 2, 0
-_080CE6F4: .4byte gUnknown_03004B00
-_080CE6F8: .4byte gUnknown_0202F7C9
-_080CE6FC: .4byte 0xffffec00
-_080CE700:
- ldr r0, _080CE740
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080CE748
- ldrh r0, [r5, 0x20]
- subs r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r4, [r5, 0x22]
- adds r4, 0x14
- strh r4, [r5, 0x22]
- lsls r0, 7
- strh r0, [r5, 0x32]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- movs r0, 0xA0
- lsls r0, 5
-_080CE726:
- bl __divsi3
- strh r0, [r5, 0x34]
- lsls r4, 7
- strh r4, [r5, 0x36]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- ldr r0, _080CE744
- bl __divsi3
- strh r0, [r5, 0x38]
- b _080CE784
- .align 2, 0
-_080CE740: .4byte gUnknown_0202F7C8
-_080CE744: .4byte 0xfffff600
-_080CE748:
- ldrh r0, [r5, 0x20]
- adds r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r4, [r5, 0x22]
- subs r4, 0x14
- strh r4, [r5, 0x22]
- lsls r0, 7
- strh r0, [r5, 0x32]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- ldr r0, _080CE790
- bl __divsi3
- strh r0, [r5, 0x34]
- lsls r4, 7
- strh r4, [r5, 0x36]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- movs r0, 0xA0
- lsls r0, 4
- bl __divsi3
- strh r0, [r5, 0x38]
- ldrb r1, [r5, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- movs r1, 0x30
- orrs r0, r1
- strb r0, [r5, 0x3]
-_080CE784:
- ldr r0, _080CE794
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE790: .4byte 0xffffec00
-_080CE794: .4byte sub_80CE798
- thumb_func_end sub_80CE670
-
- thumb_func_start sub_80CE798
-sub_80CE798: @ 80CE798
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x34]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- ldrh r1, [r2, 0x38]
- ldrh r3, [r2, 0x36]
- adds r1, r3
- strh r1, [r2, 0x36]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r1, 23
- strh r1, [r2, 0x22]
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080CE7CE
- ldrh r0, [r2, 0x3A]
- strh r0, [r2, 0x20]
- ldrh r0, [r2, 0x3C]
- strh r0, [r2, 0x22]
-_080CE7CE:
- movs r1, 0x30
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080CE7DC
- adds r0, r2, 0
- bl move_anim_8072740
-_080CE7DC:
- pop {r0}
- bx r0
- thumb_func_end sub_80CE798
-
- thumb_func_start sub_80CE7E0
-sub_80CE7E0: @ 80CE7E0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- ldr r1, _080CE870
- adds r6, r0, r1
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x8]
- ldr r0, _080CE874
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0xA]
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- lsls r0, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r3, r0, 16
- ldr r2, _080CE878
- movs r0, 0x8
- ldrsh r1, [r6, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- lsls r4, r0, 4
- movs r5, 0x1
- ldr r2, _080CE87C
-_080CE838:
- adds r1, r3, r5
- lsls r1, 1
- adds r1, r2
- adds r0, r4, r5
- lsls r0, 1
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xF
- bls _080CE838
- adds r0, r3, 0
- movs r1, 0x10
- movs r2, 0xB
- movs r3, 0
- bl BlendPalette
- movs r0, 0
- strh r0, [r6, 0xE]
- movs r5, 0
- ldr r7, _080CE878
- movs r1, 0x1C
- adds r1, r7
- mov r9, r1
- b _080CE8B4
- .align 2, 0
-_080CE870: .4byte gTasks
-_080CE874: .4byte 0x00002771
-_080CE878: .4byte gSprites
-_080CE87C: .4byte gPlttBufferUnfaded
-_080CE880:
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r4, r2, r7
- ldrb r1, [r6, 0xA]
- lsls r1, 4
- ldrb r3, [r4, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r1
- strb r0, [r4, 0x5]
- movs r0, 0
- strh r0, [r4, 0x2E]
- lsls r0, r5, 7
- strh r0, [r4, 0x30]
- mov r0, r8
- strh r0, [r4, 0x32]
- add r2, r9
- ldr r0, _080CE8E4
- str r0, [r2]
- ldrh r0, [r6, 0xE]
- adds r0, 0x1
- strh r0, [r6, 0xE]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080CE8B4:
- cmp r5, 0x1
- bhi _080CE8C6
- movs r0, 0
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080CE880
-_080CE8C6:
- ldr r0, _080CE8E8
- str r0, [r6]
- ldr r0, _080CE8EC
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CE8F4
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _080CE8F0
- b _080CE8FC
- .align 2, 0
-_080CE8E4: .4byte sub_80CE974
-_080CE8E8: .4byte sub_80CE910
-_080CE8EC: .4byte gUnknown_0202F7C8
-_080CE8F0: .4byte 0x0000fdff
-_080CE8F4:
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _080CE90C
-_080CE8FC:
- ands r0, r1
- strh r0, [r2]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE90C: .4byte 0x0000fbff
- thumb_func_end sub_80CE7E0
-
- thumb_func_start sub_80CE910
-sub_80CE910: @ 80CE910
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080CE944
- adds r0, r1
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080CE968
- ldr r0, _080CE948
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CE94C
- movs r0, 0x80
- lsls r0, 19
- ldrh r1, [r0]
- movs r3, 0x80
- lsls r3, 2
- b _080CE956
- .align 2, 0
-_080CE944: .4byte gTasks
-_080CE948: .4byte gUnknown_0202F7C8
-_080CE94C:
- movs r0, 0x80
- lsls r0, 19
- ldrh r1, [r0]
- movs r3, 0x80
- lsls r3, 3
-_080CE956:
- adds r2, r3, 0
- orrs r1, r2
- strh r1, [r0]
- ldr r0, _080CE970
- bl FreeSpritePaletteByTag
- adds r0, r4, 0
- bl move_anim_task_del
-_080CE968:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CE970: .4byte 0x00002771
- thumb_func_end sub_80CE910
-
- thumb_func_start sub_80CE974
-sub_80CE974: @ 80CE974
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080CE990
- movs r0, 0
- strh r0, [r5, 0x34]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_080CE990:
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x40
- ble _080CE9B8
- ldr r2, _080CE9B4
- movs r0, 0x32
- ldrsh r1, [r5, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0xE]
- subs r1, 0x1
- strh r1, [r0, 0xE]
- adds r0, r5, 0
- bl obj_delete_but_dont_free_vram
- b _080CE9FA
- .align 2, 0
-_080CE9B4: .4byte gTasks
-_080CE9B8:
- ldr r4, _080CEA00
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- lsls r0, 1
- adds r0, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0x6
- bl __divsi3
- strh r0, [r5, 0x36]
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- lsls r0, 1
- adds r0, r4
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0xD
- bl __divsi3
- strh r0, [r5, 0x38]
- ldrh r1, [r5, 0x30]
- adds r1, r0
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r5, 0x30]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- bl Sin
- strh r0, [r5, 0x24]
-_080CE9FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CEA00: .4byte gSineTable
- thumb_func_end sub_80CE974
-
- thumb_func_start sub_80CEA04
-sub_80CEA04: @ 80CEA04
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _080CEA18
- bl oamt_set_x3A_32
- ldr r0, _080CEA1C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CEA18: .4byte move_anim_8072740
-_080CEA1C: .4byte sub_8078600
- thumb_func_end sub_80CEA04
-
- thumb_func_start sub_80CEA20
-sub_80CEA20: @ 80CEA20
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r4, _080CEAD0
- ldrh r0, [r4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xFF
- beq _080CEA64
- lsls r0, r3, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r3, r0, 16
- movs r2, 0x1
- ldr r5, _080CEAD4
-_080CEA4C:
- adds r1, r3, r2
- lsls r1, 1
- adds r1, r5
- lsls r0, r2, 1
- adds r0, r4
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _080CEA4C
-_080CEA64:
- movs r4, 0x1
- ldr r0, _080CEAD0
- mov r8, r0
-_080CEA6A:
- lsls r0, r4, 1
- adds r0, r4
- lsls r5, r0, 2
- mov r1, r8
- adds r0, r5, r1
- ldrh r0, [r0]
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, 0x1
- mov r12, r4
- cmp r3, 0xFF
- beq _080CEAB2
- lsls r0, r3, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r3, r0, 16
- movs r2, 0x1
- ldr r7, _080CEAD4
- ldr r6, _080CEAD0
- adds r4, r5, 0
-_080CEA98:
- adds r1, r3, r2
- lsls r1, 1
- adds r1, r7
- lsls r0, r2, 1
- adds r0, r4
- adds r0, r6
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _080CEA98
-_080CEAB2:
- mov r1, r12
- lsls r0, r1, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080CEA6A
- mov r0, r9
- bl move_anim_task_del
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CEAD0: .4byte gUnknown_083D712C
-_080CEAD4: .4byte gPlttBufferFaded
- thumb_func_end sub_80CEA20
-
- thumb_func_start sub_80CEAD8
-sub_80CEAD8: @ 80CEAD8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0x1
- ldr r6, _080CEB08
-_080CEAE2:
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- adds r0, r6
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080CEAE2
- adds r0, r5, 0
- bl move_anim_task_del
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CEB08: .4byte gUnknown_083D712C
- thumb_func_end sub_80CEAD8
-
- thumb_func_start sub_80CEB0C
-sub_80CEB0C: @ 80CEB0C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- bl sub_8078650
- ldr r4, _080CEB64
- ldrb r1, [r4]
- adds r0, r5, 0
- bl StartSpriteAnim
- ldr r2, _080CEB68
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080CEB48
- lsls r2, r0, 4
- ldrb r1, [r5, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0x5]
-_080CEB48:
- ldrh r0, [r4, 0x2]
- movs r1, 0
- strh r0, [r5, 0x30]
- strh r1, [r5, 0x32]
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x34]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080CEB6C
- movs r6, 0x30
- movs r3, 0x28
- b _080CEB86
- .align 2, 0
-_080CEB64: .4byte gUnknown_03004B00
-_080CEB68: .4byte gUnknown_083D712C
-_080CEB6C:
- ldr r4, _080CEBBC
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r3, r0, 24
-_080CEB86:
- ldrh r0, [r5, 0x20]
- lsls r1, r0, 4
- strh r1, [r5, 0x36]
- ldrh r1, [r5, 0x22]
- lsls r2, r1, 4
- strh r2, [r5, 0x38]
- subs r0, r6, r0
- lsls r0, 16
- asrs r0, 16
- subs r1, r3, r1
- lsls r1, 16
- asrs r1, 16
- adds r2, r5, 0
- adds r2, 0x3A
- adds r3, r5, 0
- adds r3, 0x3C
- movs r4, 0x28
- str r4, [sp]
- bl sub_80CEBC4
- ldr r0, _080CEBC0
- str r0, [r5, 0x1C]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CEBBC: .4byte gUnknown_0202F7C9
-_080CEBC0: .4byte sub_80CEC1C
- thumb_func_end sub_80CEB0C
-
- thumb_func_start sub_80CEBC4
-sub_80CEBC4: @ 80CEBC4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r2, 0
- mov r8, r3
- ldr r2, [sp, 0x18]
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 24
- lsrs r1, r2, 24
- lsls r0, 16
- asrs r2, r0, 16
- cmp r2, 0
- bge _080CEBE6
- lsls r0, r1, 24
- negs r0, r0
- lsrs r1, r0, 24
-_080CEBE6:
- lsls r5, r2, 8
- lsls r1, 24
- asrs r1, 24
- adds r0, r5, 0
- bl __divsi3
- adds r4, r0, 0
- cmp r4, 0
- bne _080CEBFA
- movs r4, 0x1
-_080CEBFA:
- adds r0, r5, 0
- adds r1, r4, 0
- bl __divsi3
- strh r0, [r7]
- lsls r0, r6, 16
- asrs r0, 8
- adds r1, r4, 0
- bl __divsi3
- mov r1, r8
- strh r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80CEBC4
-
- thumb_func_start sub_80CEC1C
-sub_80CEC1C: @ 80CEC1C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0x2E]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r1, r0, r1
- adds r0, r1, 0
- cmp r1, 0
- bge _080CEC38
- adds r0, 0xFF
-_080CEC38:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- ldrh r1, [r4, 0x3A]
- ldrh r2, [r4, 0x36]
- adds r1, r2
- strh r1, [r4, 0x36]
- ldrh r2, [r4, 0x3C]
- ldrh r3, [r4, 0x38]
- adds r2, r3
- strh r2, [r4, 0x38]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x20]
- lsls r2, 16
- asrs r2, 20
- strh r2, [r4, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0xF
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- ldrh r0, [r4, 0x20]
- adds r0, 0x10
- lsls r0, 16
- movs r1, 0x88
- lsls r1, 17
- cmp r0, r1
- bhi _080CEC86
- lsls r0, r2, 16
- asrs r1, r0, 16
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- blt _080CEC86
- cmp r1, 0x80
- ble _080CEC8E
-_080CEC86:
- adds r0, r4, 0
- bl move_anim_8074EE0
- b _080CECDE
-_080CEC8E:
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _080CECDE
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, r1
- ble _080CECDE
- strh r5, [r4, 0x32]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080CECB6
- strh r5, [r4, 0x30]
-_080CECB6:
- ldr r2, _080CECE4
- movs r3, 0x30
- ldrsh r1, [r4, r3]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080CECDE
- lsls r2, r0, 4
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
-_080CECDE:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CECE4: .4byte gUnknown_083D712C
- thumb_func_end sub_80CEC1C
-
- thumb_func_start sub_80CECE8
-sub_80CECE8: @ 80CECE8
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r7, _080CED6C
- ldrb r0, [r7]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080CED06
- ldr r1, _080CED70
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080CED06:
- ldrb r0, [r7]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- ldr r4, _080CED70
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- movs r5, 0
- strh r0, [r6, 0x20]
- ldrb r0, [r7]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r4, 0x4]
- adds r0, r2
- strh r0, [r6, 0x22]
- ldrb r1, [r4]
- adds r0, r6, 0
- bl StartSpriteAnim
- strh r5, [r6, 0x32]
- strh r5, [r6, 0x34]
- ldrh r0, [r6, 0x20]
- lsls r0, 4
- strh r0, [r6, 0x36]
- ldrh r0, [r6, 0x22]
- lsls r0, 4
- strh r0, [r6, 0x38]
- movs r1, 0x2
- ldrsh r0, [r4, r1]
- lsls r0, 4
- movs r1, 0x5
- bl __divsi3
- strh r0, [r6, 0x3A]
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- lsls r0, 7
- movs r1, 0x5
- bl __divsi3
- strh r0, [r6, 0x3C]
- ldr r0, _080CED74
- str r0, [r6, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CED6C: .4byte gUnknown_0202F7C8
-_080CED70: .4byte gUnknown_03004B00
-_080CED74: .4byte sub_80CED78
- thumb_func_end sub_80CECE8
-
- thumb_func_start sub_80CED78
-sub_80CED78: @ 80CED78
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x36]
- adds r0, r1
- strh r0, [r4, 0x36]
- ldrh r1, [r4, 0x3C]
- ldrh r2, [r4, 0x38]
- adds r1, r2
- strh r1, [r4, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r4, 0x22]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- ble _080CEDD6
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080CEDD6
- ldrh r0, [r4, 0x32]
- adds r0, 0x10
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0x12
- bl Cos
- strh r0, [r4, 0x24]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r1, 0x12
- bl Sin
- strh r0, [r4, 0x26]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080CEDD6
- movs r0, 0x1
- strh r0, [r4, 0x34]
-_080CEDD6:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x30
- bne _080CEDEA
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080CEDEA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CED78
-
- thumb_func_start sub_80CEDF0
-sub_80CEDF0: @ 80CEDF0
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _080CEE10
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _080CEE14
- ldrb r0, [r5, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r5, 0x3]
- movs r6, 0x10
- b _080CEE16
- .align 2, 0
-_080CEE10: .4byte gUnknown_03004B00
-_080CEE14:
- ldr r6, _080CEE50
-_080CEE16:
- ldr r4, _080CEE54
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x8
- strh r0, [r5, 0x22]
- movs r0, 0x8
- strh r0, [r5, 0x2E]
- ldr r0, _080CEE58
- str r0, [r5, 0x1C]
- ldr r1, _080CEE5C
- adds r0, r5, 0
- bl oamt_set_x3A_32
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CEE50: .4byte 0x0000fff0
-_080CEE54: .4byte gUnknown_0202F7C8
-_080CEE58: .4byte sub_80782D8
-_080CEE5C: .4byte move_anim_8072740
- thumb_func_end sub_80CEDF0
-
- thumb_func_start sub_80CEE60
-sub_80CEE60: @ 80CEE60
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_8078650
- ldrh r0, [r4, 0x22]
- adds r0, 0x8
- strh r0, [r4, 0x22]
- ldr r5, _080CEED8
- ldrb r1, [r5, 0x2]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r2, _080CEEDC
- movs r0, 0x4
- ldrsh r1, [r5, r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080CEEA0
- lsls r2, r0, 4
- ldrb r1, [r4, 0x5]
- movs r0, 0xF
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x5]
-_080CEEA0:
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r2, 0x20
- cmp r0, 0
- bne _080CEEAC
- ldr r2, _080CEEE0
-_080CEEAC:
- movs r0, 0x28
- strh r0, [r4, 0x2E]
- ldrh r1, [r4, 0x20]
- strh r1, [r4, 0x30]
- lsls r0, r2, 16
- asrs r0, 16
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- subs r0, 0x28
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x38]
- ldr r0, _080CEEE4
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CEED8: .4byte gUnknown_03004B00
-_080CEEDC: .4byte gUnknown_083D712C
-_080CEEE0: .4byte 0x0000ffe0
-_080CEEE4: .4byte sub_80CEEE8
- thumb_func_end sub_80CEE60
-
- thumb_func_start sub_80CEEE8
-sub_80CEEE8: @ 80CEEE8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- bne _080CEF38
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- lsls r0, 16
- lsrs r1, r0, 16
- ldrh r2, [r4, 0x24]
- movs r3, 0x24
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bge _080CEF14
- lsls r0, r1, 16
- negs r0, r0
- lsrs r1, r0, 16
-_080CEF14:
- lsls r0, r1, 16
- asrs r0, 16
- adds r0, r2
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x4
- bl Sin
- ldrh r3, [r4, 0x26]
- adds r0, r3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _080CEF3E
-_080CEF38:
- adds r0, r4, 0
- bl move_anim_8072740
-_080CEF3E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80CEEE8
-
- thumb_func_start sub_80CEF44
-sub_80CEF44: @ 80CEF44
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080CEF64
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_807A100
- adds r0, 0x8
- b _080CEF6E
-_080CEF64:
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_807A100
- subs r0, 0x8
-_080CEF6E:
- strh r0, [r6, 0x20]
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_8077ABC
- adds r4, r0, 0
- adds r0, r5, 0
- movs r1, 0
- bl sub_807A100
- lsls r4, 24
- lsrs r4, 24
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080CEF90
- adds r0, 0x3
-_080CEF90:
- asrs r0, 2
- subs r0, r4, r0
- strh r0, [r6, 0x22]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CEF44
-
- thumb_func_start sub_80CEF9C
-sub_80CEF9C: @ 80CEF9C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080CEFB0
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080CEFB8
- ldr r0, _080CEFB4
- b _080CEFBA
- .align 2, 0
-_080CEFB0: .4byte gUnknown_03004B00
-_080CEFB4: .4byte gUnknown_0202F7C8
-_080CEFB8:
- ldr r0, _080CEFF8
-_080CEFBA:
- ldrb r4, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80CEF44
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- negs r1, r0
- orrs r1, r0
- lsrs r1, 31
- ldr r0, _080CEFFC
- ldrh r0, [r0, 0x2]
- strh r0, [r5, 0x2E]
- adds r0, r1, 0x2
- strh r0, [r5, 0x30]
- adds r0, r5, 0
- bl StartSpriteAnim
- ldr r1, _080CF000
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080CF004
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CEFF8: .4byte gUnknown_0202F7C9
-_080CEFFC: .4byte gUnknown_03004B00
-_080CF000: .4byte sub_80CF008
-_080CF004: .4byte sub_8078600
- thumb_func_end sub_80CEF9C
-
- thumb_func_start sub_80CF008
-sub_80CF008: @ 80CF008
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _080CF030
- ldr r1, _080CF038
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldrh r1, [r4, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, _080CF03C
- str r0, [r4, 0x1C]
-_080CF030:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF038: .4byte move_anim_8072740
-_080CF03C: .4byte sub_8078600
- thumb_func_end sub_80CF008
-
- thumb_func_start sub_80CF040
-sub_80CF040: @ 80CF040
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080CF054
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080CF05C
- ldr r0, _080CF058
- b _080CF05E
- .align 2, 0
-_080CF054: .4byte gUnknown_03004B00
-_080CF058: .4byte gUnknown_0202F7C8
-_080CF05C:
- ldr r0, _080CF07C
-_080CF05E:
- ldrb r0, [r0]
- adds r1, r4, 0
- bl sub_80CEF44
- movs r0, 0
- strh r0, [r4, 0x2E]
- ldr r1, _080CF080
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080CF084
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF07C: .4byte gUnknown_0202F7C9
-_080CF080: .4byte sub_80CF088
-_080CF084: .4byte sub_80785E4
- thumb_func_end sub_80CF040
-
- thumb_func_start sub_80CF088
-sub_80CF088: @ 80CF088
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080CF0AE
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r1, _080CF0B4
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080CF0B8
- str r0, [r4, 0x1C]
-_080CF0AE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF0B4: .4byte move_anim_8074EE0
-_080CF0B8: .4byte sub_80785E4
- thumb_func_end sub_80CF088
-
- thumb_func_start sub_80CF0BC
-sub_80CF0BC: @ 80CF0BC
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r0, _080CF0D0
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080CF0D8
- ldr r0, _080CF0D4
- b _080CF0DA
- .align 2, 0
-_080CF0D0: .4byte gUnknown_03004B00
-_080CF0D4: .4byte gUnknown_0202F7C8
-_080CF0D8:
- ldr r0, _080CF12C
-_080CF0DA:
- ldrb r5, [r0]
- adds r0, r5, 0
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_807A100
- strh r0, [r4, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bgt _080CF102
- movs r0, 0xA
- strh r0, [r4, 0x22]
-_080CF102:
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- strh r6, [r4, 0x30]
- adds r1, r4, 0
- adds r1, 0x43
- ldrb r0, [r1]
- strh r0, [r4, 0x32]
- ldrb r0, [r1]
- adds r0, 0x4
- strh r0, [r4, 0x34]
- strh r6, [r4, 0x36]
- ldr r1, _080CF130
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080CF134
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF12C: .4byte gUnknown_0202F7C9
-_080CF130: .4byte sub_80CF138
-_080CF134: .4byte sub_80785E4
- thumb_func_end sub_80CF0BC
-
- thumb_func_start sub_80CF138
-sub_80CF138: @ 80CF138
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x36]
- adds r0, 0x1
- strh r0, [r1, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- ble _080CF14E
- ldr r0, _080CF154
- str r0, [r1, 0x1C]
-_080CF14E:
- pop {r0}
- bx r0
- .align 2, 0
-_080CF154: .4byte sub_80CF158
- thumb_func_end sub_80CF138
-
- thumb_func_start sub_80CF158
-sub_80CF158: @ 80CF158
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r1, r0, 0x4
- strh r1, [r2, 0x30]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFE
- ble _080CF18A
- ldrh r0, [r2, 0x2E]
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _080CF184
- strh r0, [r2, 0x24]
- ldr r0, _080CF180
- str r0, [r2, 0x1C]
- b _080CF1C0
- .align 2, 0
-_080CF180: .4byte sub_80CF088
-_080CF184:
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r2, 0x30]
-_080CF18A:
- movs r1, 0x30
- ldrsh r0, [r2, r1]
- cmp r0, 0x4F
- ble _080CF19A
- ldrh r0, [r2, 0x34]
- adds r1, r2, 0
- adds r1, 0x43
- strb r0, [r1]
-_080CF19A:
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r0, 0x9F
- ble _080CF1AA
- ldrh r0, [r2, 0x32]
- adds r1, r2, 0
- adds r1, 0x43
- strb r0, [r1]
-_080CF1AA:
- ldr r1, _080CF1C4
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 19
- asrs r1, r0, 1
- adds r0, r1
- strh r0, [r2, 0x24]
-_080CF1C0:
- pop {r0}
- bx r0
- .align 2, 0
-_080CF1C4: .4byte gSineTable
- thumb_func_end sub_80CF158
-
- thumb_func_start sub_80CF1C8
-sub_80CF1C8: @ 80CF1C8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080CF1DC
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080CF1E4
- ldr r0, _080CF1E0
- b _080CF1E6
- .align 2, 0
-_080CF1DC: .4byte gUnknown_03004B00
-_080CF1E0: .4byte gUnknown_0202F7C8
-_080CF1E4:
- ldr r0, _080CF208
-_080CF1E6:
- ldrb r4, [r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80CEF44
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080CF20C
- adds r0, r5, 0
- movs r1, 0
- bl StartSpriteAnim
- movs r0, 0x2
- b _080CF216
- .align 2, 0
-_080CF208: .4byte gUnknown_0202F7C9
-_080CF20C:
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
- movs r0, 0x3
-_080CF216:
- strh r0, [r5, 0x2E]
- ldr r0, _080CF224
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF224: .4byte sub_80CF228
- thumb_func_end sub_80CF1C8
-
- thumb_func_start sub_80CF228
-sub_80CF228: @ 80CF228
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- ble _080CF256
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x2E]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r1, _080CF25C
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080CF260
- str r0, [r4, 0x1C]
-_080CF256:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF25C: .4byte sub_80CF264
-_080CF260: .4byte sub_8078600
- thumb_func_end sub_80CF228
-
- thumb_func_start sub_80CF264
-sub_80CF264: @ 80CF264
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080CF27C
- adds r0, r1, 0
- bl move_anim_8072740
-_080CF27C:
- pop {r0}
- bx r0
- thumb_func_end sub_80CF264
-
- thumb_func_start sub_80CF280
-sub_80CF280: @ 80CF280
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_8078650
- ldr r5, _080CF2C4
- movs r0, 0
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_807867C
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x34]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x36]
- ldr r1, _080CF2C8
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r1, _080CF2CC
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF2C4: .4byte gUnknown_03004B00
-_080CF2C8: .4byte move_anim_8074EE0
-_080CF2CC: .4byte sub_8078278
- thumb_func_end sub_80CF280
-
- thumb_func_start sub_80CF2D0
-sub_80CF2D0: @ 80CF2D0
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080CF2E4
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080CF2EC
- ldr r0, _080CF2E8
- b _080CF2EE
- .align 2, 0
-_080CF2E4: .4byte gUnknown_03004B00
-_080CF2E8: .4byte gUnknown_0202F7C8
-_080CF2EC:
- ldr r0, _080CF308
-_080CF2EE:
- ldrb r0, [r0]
- adds r1, r4, 0
- bl sub_80CEF44
- movs r0, 0
- strh r0, [r4, 0x2E]
- strh r0, [r4, 0x30]
- ldr r0, _080CF30C
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF308: .4byte gUnknown_0202F7C9
-_080CF30C: .4byte sub_80CF310
- thumb_func_end sub_80CF2D0
-
- thumb_func_start sub_80CF310
-sub_80CF310: @ 80CF310
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _080CF342
- cmp r0, 0x1
- bgt _080CF326
- cmp r0, 0
- beq _080CF32C
- b _080CF370
-_080CF326:
- cmp r0, 0x2
- beq _080CF35C
- b _080CF370
-_080CF32C:
- ldrh r0, [r1, 0x26]
- subs r0, 0x3
- strh r0, [r1, 0x26]
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _080CF370
- b _080CF354
-_080CF342:
- ldrh r0, [r1, 0x26]
- adds r0, 0x3
- strh r0, [r1, 0x26]
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080CF370
-_080CF354:
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- b _080CF370
-_080CF35C:
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x40
- bne _080CF370
- adds r0, r1, 0
- bl move_anim_8072740
-_080CF370:
- pop {r0}
- bx r0
- thumb_func_end sub_80CF310
-
- thumb_func_start sub_80CF374
-sub_80CF374: @ 80CF374
- push {r4,lr}
- adds r4, r0, 0
- ldr r3, _080CF3C0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r4, 0x30]
- ldrh r2, [r0, 0x24]
- adds r1, r2
- strh r1, [r0, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0x30]
- movs r0, 0x2E
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _080CF3B2
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x24]
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080CF3B2:
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF3C0: .4byte gSprites
- thumb_func_end sub_80CF374
-
- thumb_func_start sub_80CF3C4
-sub_80CF3C4: @ 80CF3C4
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _080CF40C
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r1, _080CF410
- ldr r0, _080CF414
- ldrb r0, [r0]
- adds r0, r1
- ldrb r6, [r0]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CF41C
- ldr r0, _080CF418
- ldrh r1, [r5, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r5, 0x20]
- adds r1, r0, 0
- b _080CF426
- .align 2, 0
-_080CF40C: .4byte gUnknown_0202F7C8
-_080CF410: .4byte gUnknown_02024BE0
-_080CF414: .4byte gUnknown_0202F7C9
-_080CF418: .4byte gUnknown_03004B00
-_080CF41C:
- ldr r1, _080CF450
- ldrh r0, [r1]
- ldrh r2, [r5, 0x20]
- adds r0, r2
- strh r0, [r5, 0x20]
-_080CF426:
- ldrh r0, [r1, 0x2]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- strh r6, [r5, 0x32]
- ldr r0, _080CF454
- str r0, [r5, 0x1C]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF450: .4byte gUnknown_03004B00
-_080CF454: .4byte sub_80CF374
- thumb_func_end sub_80CF3C4
-
- thumb_func_start sub_80CF458
-sub_80CF458: @ 80CF458
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r1, _080CF484
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x38]
- ldr r0, _080CF488
- str r0, [r4, 0x1C]
- ldr r1, _080CF48C
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF484: .4byte gUnknown_03004B00
-_080CF488: .4byte sub_80782D8
-_080CF48C: .4byte sub_80CF490
- thumb_func_end sub_80CF458
-
- thumb_func_start sub_80CF490
-sub_80CF490: @ 80CF490
- push {lr}
- ldrh r1, [r0, 0x30]
- strh r1, [r0, 0x2E]
- ldrh r1, [r0, 0x20]
- strh r1, [r0, 0x32]
- ldrh r1, [r0, 0x22]
- adds r1, 0xF
- strh r1, [r0, 0x36]
- ldr r1, _080CF4B0
- str r1, [r0, 0x1C]
- ldr r1, _080CF4B4
- bl oamt_set_x3A_32
- pop {r0}
- bx r0
- .align 2, 0
-_080CF4B0: .4byte sub_8078B34
-_080CF4B4: .4byte sub_80CF4B8
- thumb_func_end sub_80CF490
-
- thumb_func_start sub_80CF4B8
-sub_80CF4B8: @ 80CF4B8
- push {lr}
- adds r1, r0, 0
- ldrh r2, [r1, 0x38]
- movs r3, 0x38
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _080CF4CE
- adds r0, r1, 0
- bl move_anim_8072740
- b _080CF4D2
-_080CF4CE:
- subs r0, r2, 0x1
- strh r0, [r1, 0x38]
-_080CF4D2:
- pop {r0}
- bx r0
- thumb_func_end sub_80CF4B8
-
- thumb_func_start sub_80CF4D8
-sub_80CF4D8: @ 80CF4D8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080CF504
- ldr r0, _080CF508
- ldrb r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0
- bl sub_8078E70
- ldr r1, _080CF50C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080CF510
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF504: .4byte gUnknown_02024BE0
-_080CF508: .4byte gUnknown_0202F7C8
-_080CF50C: .4byte gTasks
-_080CF510: .4byte sub_80CF514
- thumb_func_end sub_80CF4D8
-
- thumb_func_start sub_80CF514
-sub_80CF514: @ 80CF514
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080CF544
- ldr r0, _080CF548
- ldrb r0, [r0]
- adds r1, r0, r1
- ldrb r4, [r1]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080CF550
- ldr r1, _080CF54C
- lsls r2, r5, 2
- adds r0, r2, r5
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x8]
- negs r0, r0
- lsls r0, 16
- lsrs r3, r0, 16
- adds r6, r2, 0
- b _080CF55E
- .align 2, 0
-_080CF544: .4byte gUnknown_02024BE0
-_080CF548: .4byte gUnknown_0202F7C8
-_080CF54C: .4byte gTasks
-_080CF550:
- ldr r2, _080CF590
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- adds r0, r2
- ldrh r3, [r0, 0x8]
- adds r6, r1, 0
-_080CF55E:
- movs r2, 0x80
- lsls r2, 1
- adds r0, r4, 0
- adds r1, r2, 0
- bl obj_id_set_rotscale
- ldr r1, _080CF590
- adds r0, r6, r5
- lsls r0, 3
- adds r1, r0, r1
- movs r2, 0xA
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080CF598
- ldrh r0, [r1, 0x8]
- adds r0, 0xB0
- strh r0, [r1, 0x8]
- ldr r1, _080CF594
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x26]
- adds r1, 0x1
- b _080CF5C2
- .align 2, 0
-_080CF590: .4byte gTasks
-_080CF594: .4byte gSprites
-_080CF598:
- cmp r0, 0x1
- bne _080CF5AE
- ldrh r0, [r1, 0xE]
- adds r0, 0x1
- strh r0, [r1, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- bne _080CF608
- movs r0, 0x2
- b _080CF606
-_080CF5AE:
- ldrh r0, [r1, 0x8]
- subs r0, 0xB0
- strh r0, [r1, 0x8]
- ldr r1, _080CF5FC
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r0, 0x26]
- subs r1, 0x1
-_080CF5C2:
- strh r1, [r0, 0x26]
- adds r0, r4, 0
- bl sub_8078F9C
- ldr r0, _080CF600
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- movs r3, 0x8
- ldrsh r2, [r1, r3]
- movs r0, 0xF2
- lsls r0, 4
- cmp r2, r0
- beq _080CF5E2
- cmp r2, 0
- bne _080CF608
-_080CF5E2:
- ldrh r2, [r1, 0xA]
- movs r3, 0xA
- ldrsh r0, [r1, r3]
- cmp r0, 0x2
- bne _080CF604
- adds r0, r4, 0
- bl sub_8078F40
- adds r0, r5, 0
- bl move_anim_task_del
- b _080CF608
- .align 2, 0
-_080CF5FC: .4byte gSprites
-_080CF600: .4byte gTasks
-_080CF604:
- adds r0, r2, 0x1
-_080CF606:
- strh r0, [r1, 0xA]
-_080CF608:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80CF514
-
- thumb_func_start sub_80CF610
-sub_80CF610: @ 80CF610
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_8078650
- ldr r5, _080CF658
- movs r0, 0
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_807867C
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, _080CF65C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CF660
- adds r2, r4, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r1, r0
- strb r1, [r2]
- movs r3, 0x4
- ldrsh r0, [r5, r3]
- cmp r0, 0
- beq _080CF674
- movs r0, 0x2
- orrs r1, r0
- strb r1, [r2]
- b _080CF674
- .align 2, 0
-_080CF658: .4byte gUnknown_03004B00
-_080CF65C: .4byte gUnknown_0202F7C8
-_080CF660:
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080CF674
- adds r2, r4, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r2]
-_080CF674:
- ldr r0, _080CF688
- str r0, [r4, 0x1C]
- ldr r1, _080CF68C
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF688: .4byte sub_8078600
-_080CF68C: .4byte move_anim_8072740
- thumb_func_end sub_80CF610
-
- thumb_func_start sub_80CF690
-sub_80CF690: @ 80CF690
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80787B0
- ldr r0, _080CF6AC
- str r0, [r4, 0x1C]
- ldr r1, _080CF6B0
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF6AC: .4byte sub_80785E4
-_080CF6B0: .4byte sub_80CF6B4
- thumb_func_end sub_80CF690
-
- thumb_func_start sub_80CF6B4
-sub_80CF6B4: @ 80CF6B4
- push {lr}
- movs r1, 0x6
- strh r1, [r0, 0x2E]
- ldrh r1, [r0, 0x20]
- strh r1, [r0, 0x32]
- ldrh r1, [r0, 0x22]
- subs r1, 0x20
- strh r1, [r0, 0x36]
- ldr r1, _080CF6D4
- str r1, [r0, 0x1C]
- ldr r1, _080CF6D8
- bl oamt_set_x3A_32
- pop {r0}
- bx r0
- .align 2, 0
-_080CF6D4: .4byte sub_8078B34
-_080CF6D8: .4byte move_anim_8072740
- thumb_func_end sub_80CF6B4
-
- thumb_func_start sub_80CF6DC
-sub_80CF6DC: @ 80CF6DC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080CF700
- ldr r1, _080CF6FC
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- b _080CF722
- .align 2, 0
-_080CF6FC: .4byte gUnknown_03004B00
-_080CF700:
- ldr r0, _080CF7C8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CF722
- ldr r1, _080CF7CC
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r1, 0x6]
-_080CF722:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r4, _080CF7D0
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- ldr r6, _080CF7CC
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r6, 0x6]
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- adds r7, r0, 0
- ldrh r1, [r5, 0x20]
- mov r2, r8
- lsls r0, r2, 16
- asrs r0, 16
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r5, 0x22]
- lsls r1, r7, 16
- asrs r1, 16
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl sub_80790F0
- lsls r0, 16
- movs r1, 0xF0
- lsls r1, 24
- adds r0, r1
- lsrs r4, r0, 16
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080CF794
- ldr r2, _080CF7D4
- adds r0, r4, r2
- lsls r0, 16
- lsrs r4, r0, 16
-_080CF794:
- movs r3, 0x80
- lsls r3, 1
- str r4, [sp]
- adds r0, r5, 0
- movs r1, 0
- adds r2, r3, 0
- bl sub_8078FDC
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- mov r0, r8
- strh r0, [r5, 0x32]
- strh r7, [r5, 0x36]
- ldr r0, _080CF7D8
- str r0, [r5, 0x1C]
- ldr r1, _080CF7DC
- adds r0, r5, 0
- bl oamt_set_x3A_32
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF7C8: .4byte gUnknown_0202F7C8
-_080CF7CC: .4byte gUnknown_03004B00
-_080CF7D0: .4byte gUnknown_0202F7C9
-_080CF7D4: .4byte 0xffffa000
-_080CF7D8: .4byte sub_8078B34
-_080CF7DC: .4byte move_anim_8072740
- thumb_func_end sub_80CF6DC
-
- thumb_func_start sub_80CF7E0
-sub_80CF7E0: @ 80CF7E0
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- subs r1, r0, 0x1
- strh r1, [r3, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bgt _080CF80A
- ldr r2, _080CF810
- movs r0, 0x3C
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0xA]
- subs r1, 0x1
- strh r1, [r0, 0xA]
- adds r0, r3, 0
- bl DestroySprite
-_080CF80A:
- pop {r0}
- bx r0
- .align 2, 0
-_080CF810: .4byte gTasks
- thumb_func_end sub_80CF7E0
-
- thumb_func_start sub_80CF814
-sub_80CF814: @ 80CF814
- push {r4,lr}
- adds r2, r0, 0
- movs r0, 0x3C
- ldrsh r1, [r2, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _080CF844
- adds r4, r0, r1
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- ble _080CF848
- ldrh r0, [r2, 0x34]
- ldrh r1, [r2, 0x38]
- adds r0, r1
- strh r0, [r2, 0x38]
- ldrh r0, [r2, 0x36]
- ldrh r3, [r2, 0x3A]
- adds r0, r3
- b _080CF856
- .align 2, 0
-_080CF844: .4byte gTasks
-_080CF848:
- ldrh r0, [r2, 0x38]
- ldrh r1, [r2, 0x34]
- subs r0, r1
- strh r0, [r2, 0x38]
- ldrh r0, [r2, 0x3A]
- ldrh r1, [r2, 0x36]
- subs r0, r1
-_080CF856:
- strh r0, [r2, 0x3A]
- ldrh r0, [r2, 0x38]
- ldrh r1, [r2, 0x30]
- adds r3, r0, r1
- strh r3, [r2, 0x30]
- ldrh r0, [r2, 0x3A]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- ldrh r1, [r4, 0x16]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF87A
- lsls r0, r3, 16
- lsrs r0, 24
- negs r0, r0
- b _080CF87E
-_080CF87A:
- lsls r0, r3, 16
- lsrs r0, 24
-_080CF87E:
- strh r0, [r2, 0x24]
- ldrh r1, [r4, 0x18]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF892
- ldrh r0, [r2, 0x32]
- lsrs r0, 8
- negs r0, r0
- b _080CF896
-_080CF892:
- ldrh r0, [r2, 0x32]
- lsrs r0, 8
-_080CF896:
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x2E]
- subs r1, r0, 0x1
- strh r1, [r2, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bgt _080CF8AC
- movs r0, 0x1E
- strh r0, [r2, 0x2E]
- ldr r0, _080CF8B4
- str r0, [r2, 0x1C]
-_080CF8AC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF8B4: .4byte sub_80CF7E0
- thumb_func_end sub_80CF814
-
- thumb_func_start sub_80CF8B8
-sub_80CF8B8: @ 80CF8B8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- movs r0, 0x3C
- ldrsh r1, [r7, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _080CF8FC
- adds r6, r0, r1
- ldrh r2, [r6, 0x16]
- movs r1, 0x2
- negs r1, r1
- adds r0, r1, 0
- ands r0, r2
- ldrh r3, [r7, 0x30]
- adds r2, r0, r3
- strh r2, [r7, 0x30]
- ldrh r0, [r6, 0x18]
- ands r1, r0
- ldrh r0, [r7, 0x32]
- adds r1, r0
- strh r1, [r7, 0x32]
- ldrh r1, [r6, 0x16]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF900
- lsls r0, r2, 16
- lsrs r0, 24
- negs r0, r0
- b _080CF904
- .align 2, 0
-_080CF8FC: .4byte gTasks
-_080CF900:
- lsls r0, r2, 16
- lsrs r0, 24
-_080CF904:
- strh r0, [r7, 0x24]
- ldrh r1, [r6, 0x18]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CF918
- ldrh r0, [r7, 0x32]
- lsrs r0, 8
- negs r0, r0
- b _080CF91C
-_080CF918:
- ldrh r0, [r7, 0x32]
- lsrs r0, 8
-_080CF91C:
- strh r0, [r7, 0x26]
- ldrh r0, [r7, 0x2E]
- subs r1, r0, 0x1
- strh r1, [r7, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bgt _080CF9E8
- movs r4, 0
- movs r0, 0x8
- strh r0, [r7, 0x2E]
- movs r0, 0x4
- strh r0, [r6, 0x12]
- movs r0, 0x80
- lsls r0, 5
- bl sub_81174E0
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r7, 0x24]
- ldrh r1, [r7, 0x20]
- adds r2, r0, r1
- strh r2, [r7, 0x20]
- ldrh r0, [r7, 0x26]
- ldrh r3, [r7, 0x22]
- adds r0, r3
- strh r0, [r7, 0x22]
- strh r4, [r7, 0x26]
- strh r4, [r7, 0x24]
- ldrh r3, [r6, 0x1E]
- movs r0, 0x1E
- ldrsh r1, [r6, r0]
- lsls r0, r2, 16
- asrs r0, 16
- cmp r1, r0
- blt _080CF966
- subs r0, r3, r2
- b _080CF968
-_080CF966:
- subs r0, r2, r3
-_080CF968:
- lsls r0, 24
- lsrs r4, r0, 16
- ldrh r3, [r6, 0x20]
- movs r0, 0x20
- ldrsh r1, [r6, r0]
- ldrh r2, [r7, 0x22]
- movs r6, 0x22
- ldrsh r0, [r7, r6]
- cmp r1, r0
- blt _080CF980
- subs r0, r3, r2
- b _080CF982
-_080CF980:
- subs r0, r2, r3
-_080CF982:
- lsls r0, 24
- lsrs r0, 16
- mov r8, r0
- movs r0, 0
- strh r0, [r7, 0x32]
- strh r0, [r7, 0x30]
- strh r0, [r7, 0x3A]
- strh r0, [r7, 0x38]
- lsls r0, r4, 16
- asrs r0, 16
- lsls r5, 16
- asrs r5, 16
- adds r1, r5, 0
- bl sub_81174C4
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- movs r6, 0xE0
- lsls r6, 1
- adds r0, r6, 0
- bl sub_81174E0
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_81174C4
- strh r0, [r7, 0x34]
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- adds r1, r5, 0
- bl sub_81174C4
- adds r4, r0, 0
- lsls r4, 16
- asrs r4, 16
- adds r0, r6, 0
- bl sub_81174E0
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_81174C4
- strh r0, [r7, 0x36]
- ldr r0, _080CF9F4
- str r0, [r7, 0x1C]
-_080CF9E8:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CF9F4: .4byte sub_80CF814
- thumb_func_end sub_80CF8B8
-
- thumb_func_start sub_80CF9F8
-sub_80CF9F8: @ 80CF9F8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080CFA1C
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080CFA16
- adds r0, r2, 0
- bl move_anim_task_del
-_080CFA16:
- pop {r0}
- bx r0
- .align 2, 0
-_080CFA1C: .4byte gTasks
- thumb_func_end sub_80CF9F8
-
- thumb_func_start sub_80CFA20
-sub_80CFA20: @ 80CFA20
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _080CFA74
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0x8]
- subs r1, r0, 0x1
- strh r1, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bgt _080CFAF4
- ldr r0, _080CFA78
- movs r2, 0x1A
- ldrsh r1, [r5, r2]
- movs r3, 0x1C
- ldrsh r2, [r5, r3]
- ldrb r3, [r5, 0xC]
- ldrb r4, [r5, 0xA]
- subs r3, r4
- lsls r3, 24
- lsrs r3, 24
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r0, 4
- add r0, r12
- lsls r0, 2
- ldr r1, _080CFA7C
- adds r6, r0, r1
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080CFA80
- cmp r0, 0x2
- beq _080CFA96
- b _080CFAA4
- .align 2, 0
-_080CFA74: .4byte gTasks
-_080CFA78: .4byte gSpriteTemplate_83D74BC
-_080CFA7C: .4byte gSprites
-_080CFA80:
- ldrb r2, [r6, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- movs r0, 0x18
- orrs r1, r0
- lsls r1, 1
- subs r0, 0x57
- ands r0, r2
- orrs r0, r1
- strb r0, [r6, 0x3]
- b _080CFAA4
-_080CFA96:
- ldrb r0, [r6, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r6, 0x3]
-_080CFAA4:
- ldr r3, _080CFAFC
- lsls r2, r7, 2
- adds r2, r7
- lsls r2, 3
- adds r4, r2, r3
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0x14]
- subs r0, r1
- strh r0, [r6, 0x2E]
- strh r7, [r6, 0x3C]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- adds r0, 0xD
- lsls r0, 1
- adds r0, r2
- adds r3, 0x8
- adds r0, r3
- mov r2, r12
- strh r2, [r0]
- ldrh r0, [r4, 0xE]
- strh r0, [r4, 0x8]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r0, 0x3F
- negs r0, r0
- bl sub_8076F98
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x9A
- bl PlaySE12WithPanning
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0x2
- ble _080CFAF4
- ldr r0, _080CFB00
- str r0, [r4]
-_080CFAF4:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CFAFC: .4byte gTasks
-_080CFB00: .4byte sub_80CF9F8
- thumb_func_end sub_80CFA20
-
- thumb_func_start sub_80CFB04
-sub_80CFB04: @ 80CFB04
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0
- mov r9, r0
- movs r5, 0
- mov r0, sp
- mov r1, r9
- strh r1, [r0]
- mov r4, sp
- adds r4, 0x2
- strh r1, [r4]
- bl sub_8076BE0
- lsls r0, 24
- mov r10, r4
- cmp r0, 0
- beq _080CFB70
- ldr r1, _080CFB60
- lsls r2, r7, 2
- adds r0, r2, r7
- lsls r0, 3
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x10]
- ldr r3, _080CFB64
- ldrh r0, [r3]
- negs r0, r0
- strh r0, [r3]
- ldrh r1, [r3, 0x4]
- movs r0, 0x1
- ands r0, r1
- mov r8, r2
- cmp r0, 0
- beq _080CFB68
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- strh r0, [r3, 0x4]
- b _080CFBCA
- .align 2, 0
-_080CFB60: .4byte gTasks
-_080CFB64: .4byte gUnknown_03004B00
-_080CFB68:
- movs r0, 0x1
- orrs r0, r1
- strh r0, [r3, 0x4]
- b _080CFBCA
-_080CFB70:
- ldr r1, _080CFBB4
- ldr r0, _080CFBB8
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- lsls r2, r7, 2
- mov r8, r2
- cmp r0, 0
- bne _080CFBCA
- ldr r1, _080CFBBC
- adds r0, r2, r7
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0x10]
- ldr r2, _080CFBC0
- ldrh r0, [r2]
- negs r0, r0
- strh r0, [r2]
- ldrh r0, [r2, 0x2]
- negs r0, r0
- strh r0, [r2, 0x2]
- ldrh r1, [r2, 0x4]
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080CFBC4
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- b _080CFBC8
- .align 2, 0
-_080CFBB4: .4byte gUnknown_02024A72
-_080CFBB8: .4byte gUnknown_0202F7C9
-_080CFBBC: .4byte gTasks
-_080CFBC0: .4byte gUnknown_03004B00
-_080CFBC4:
- movs r0, 0x1
- orrs r0, r1
-_080CFBC8:
- strh r0, [r2, 0x4]
-_080CFBCA:
- ldr r5, _080CFC24
- ldrb r0, [r5]
- movs r1, 0
- bl sub_8077ABC
- ldr r1, _080CFC28
- mov r3, r8
- adds r4, r3, r7
- lsls r4, 3
- adds r4, r1
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1A]
- adds r6, r0, 0
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- mov r9, r0
- ldr r0, _080CFC2C
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080CFC34
- ldr r4, _080CFC30
- ldrb r1, [r4]
- movs r0, 0x2
- eors r0, r1
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080CFC34
- ldrb r0, [r4]
- movs r1, 0
- mov r2, sp
- mov r3, r10
- bl sub_807A3FC
- b _080CFC56
- .align 2, 0
-_080CFC24: .4byte gUnknown_0202F7C8
-_080CFC28: .4byte gTasks
-_080CFC2C: .4byte gUnknown_020239F8
-_080CFC30: .4byte gUnknown_0202F7C9
-_080CFC34:
- mov r5, sp
- ldr r4, _080CFC90
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- mov r1, r10
- strh r0, [r1]
-_080CFC56:
- mov r4, sp
- ldr r0, _080CFC94
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- mov r2, sp
- ldr r3, _080CFC98
- ldrh r0, [r3]
- ldrh r2, [r2]
- adds r0, r2
- strh r0, [r1, 0x1E]
- strh r0, [r4]
- ldrh r0, [r3, 0x2]
- mov r3, r10
- ldrh r3, [r3]
- adds r0, r3
- strh r0, [r1, 0x20]
- mov r1, r10
- strh r0, [r1]
- mov r0, sp
- ldrh r2, [r0]
- movs r3, 0
- ldrsh r0, [r0, r3]
- adds r1, r6, 0
- cmp r0, r1
- blt _080CFC9C
- subs r0, r2, r1
- b _080CFC9E
- .align 2, 0
-_080CFC90: .4byte gUnknown_0202F7C9
-_080CFC94: .4byte gTasks
-_080CFC98: .4byte gUnknown_03004B00
-_080CFC9C:
- subs r0, r1, r2
-_080CFC9E:
- lsls r0, 16
- lsrs r0, 16
- lsls r4, r0, 16
- asrs r4, 16
- ldr r5, _080CFD14
- ldrh r1, [r5, 0x4]
- movs r0, 0x2
- negs r0, r0
- ands r0, r1
- lsls r0, 16
- asrs r0, 16
- bl sub_81174E0
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_81174C4
- ldr r2, _080CFD18
- mov r3, r8
- adds r1, r3, r7
- lsls r1, 3
- adds r6, r1, r2
- strh r0, [r6, 0x12]
- movs r1, 0x12
- ldrsh r0, [r6, r1]
- movs r1, 0x80
- bl sub_81174C4
- strh r0, [r6, 0x14]
- ldrh r0, [r5, 0x4]
- strh r0, [r6, 0x16]
- mov r2, r10
- ldrh r1, [r2]
- movs r3, 0
- ldrsh r0, [r2, r3]
- mov r4, r9
- cmp r0, r4
- blt _080CFD1C
- subs r4, r1, r4
- lsls r4, 16
- asrs r4, 16
- movs r1, 0x12
- ldrsh r0, [r6, r1]
- bl sub_81174E0
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_81174C4
- movs r1, 0x2
- negs r1, r1
- ands r1, r0
- strh r1, [r6, 0x18]
- b _080CFD3C
- .align 2, 0
-_080CFD14: .4byte gUnknown_03004B00
-_080CFD18: .4byte gTasks
-_080CFD1C:
- subs r4, r1
- lsls r4, 16
- asrs r4, 16
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- bl sub_81174E0
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_81174C4
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r6, 0x18]
-_080CFD3C:
- ldr r1, _080CFD7C
- mov r3, r8
- adds r0, r3, r7
- lsls r0, 3
- adds r5, r0, r1
- ldr r4, _080CFD80
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0xE]
- ldrh r1, [r4, 0x8]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080CFD8C
- movs r0, 0x80
- eors r0, r1
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3F
- ble _080CFDB4
- ldr r0, _080CFD84
- ldrb r0, [r0]
- bl sub_8079E90
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080CFD88
- adds r1, r2, 0
- ldrh r4, [r4, 0x8]
- adds r1, r4
- adds r0, r1
- b _080CFDC4
- .align 2, 0
-_080CFD7C: .4byte gTasks
-_080CFD80: .4byte gUnknown_03004B00
-_080CFD84: .4byte gUnknown_0202F7C9
-_080CFD88: .4byte 0x0000ffc0
-_080CFD8C:
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x3F
- ble _080CFDB4
- ldr r0, _080CFDAC
- ldrb r0, [r0]
- bl sub_8079E90
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080CFDB0
- adds r1, r3, 0
- ldrh r4, [r4, 0x8]
- adds r1, r4
- adds r0, r1
- b _080CFDC4
- .align 2, 0
-_080CFDAC: .4byte gUnknown_0202F7C9
-_080CFDB0: .4byte 0x0000ffc0
-_080CFDB4:
- ldr r0, _080CFDF0
- ldrb r0, [r0]
- bl sub_8079E90
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x8]
- subs r0, r1
-_080CFDC4:
- strh r0, [r5, 0xC]
- ldr r0, _080CFDF4
- mov r2, r8
- adds r1, r2, r7
- lsls r1, 3
- adds r1, r0
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0x2
- bgt _080CFDDC
- movs r0, 0x3
- strh r0, [r1, 0xC]
-_080CFDDC:
- ldr r0, _080CFDF8
- str r0, [r1]
- 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
-_080CFDF0: .4byte gUnknown_0202F7C9
-_080CFDF4: .4byte gTasks
-_080CFDF8: .4byte sub_80CFA20
- thumb_func_end sub_80CFB04
-
- thumb_func_start sub_80CFDFC
-sub_80CFDFC: @ 80CFDFC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80787B0
- ldr r0, _080CFE24
- ldrh r0, [r0, 0x2]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r4, 0x2E]
- ldr r0, _080CFE28
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CFE24: .4byte gSpriteTemplate_83D75AC
-_080CFE28: .4byte sub_80CFE2C
- thumb_func_end sub_80CFDFC
-
- thumb_func_start sub_80CFE2C
-sub_80CFE2C: @ 80CFE2C
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080CFE90
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r5, [r4, 0x2E]
- ldr r1, _080CFE98
- adds r0, r5, 0
- adds r0, 0x8
- lsls r0, 1
- adds r0, r1
- ldrh r7, [r0]
- adds r6, r1, 0
- adds r1, r5, 0
- adds r1, 0x9
- lsls r0, r5, 1
- adds r0, r6
- adds r2, r0, 0
- adds r2, 0x10
- movs r3, 0x7
- lsls r1, 1
- adds r1, r6
-_080CFE64:
- ldrh r0, [r1]
- strh r0, [r2]
- adds r1, 0x2
- adds r2, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080CFE64
- adds r0, r5, 0
- adds r0, 0xF
- lsls r0, 1
- adds r0, r6
- strh r7, [r0]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x18
- bne _080CFE90
- adds r0, r4, 0
- bl move_anim_8072740
-_080CFE90:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CFE98: .4byte gPlttBufferFaded
- thumb_func_end sub_80CFE2C
-
- thumb_func_start sub_80CFE9C
-sub_80CFE9C: @ 80CFE9C
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r4, _080CFF3C
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- ldr r4, _080CFF40
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- adds r0, r1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, _080CFF44
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080CFEE0
- ldrh r0, [r4, 0x4]
- negs r0, r0
- strh r0, [r4, 0x4]
-_080CFEE0:
- lsls r0, r6, 16
- asrs r0, 16
- ldrh r1, [r4, 0x4]
- adds r0, r1
- lsls r0, 16
- ldrh r1, [r5, 0x20]
- lsrs r6, r0, 16
- asrs r0, 16
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r5, 0x22]
- lsls r1, r7, 16
- asrs r1, 16
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl sub_80790F0
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- adds r2, r3, 0
- bl sub_8078FDC
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x2E]
- strh r6, [r5, 0x32]
- strh r7, [r5, 0x36]
- ldr r0, _080CFF48
- str r0, [r5, 0x1C]
- ldr r1, _080CFF4C
- adds r0, r5, 0
- bl oamt_set_x3A_32
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080CFF3C: .4byte gUnknown_0202F7C9
-_080CFF40: .4byte gUnknown_03004B00
-_080CFF44: .4byte gUnknown_0202F7C8
-_080CFF48: .4byte sub_8078C00
-_080CFF4C: .4byte move_anim_8072740
- thumb_func_end sub_80CFE9C
-
- thumb_func_start sub_80CFF50
-sub_80CFF50: @ 80CFF50
- ldr r1, _080CFF60
- strh r1, [r0, 0x32]
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- ldr r1, _080CFF64
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080CFF60: .4byte 0x0000fff0
-_080CFF64: .4byte sub_80CFF68
- thumb_func_end sub_80CFF50
-
- thumb_func_start sub_80CFF68
-sub_80CFF68: @ 80CFF68
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x80
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- ldr r0, _080CFFD4
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080CFF8C
- ldrh r0, [r4, 0x24]
- negs r0, r0
- strh r0, [r4, 0x24]
-_080CFF8C:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x5
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7E
- ble _080CFFCC
- movs r0, 0
- strh r0, [r4, 0x30]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080CFFCC
- adds r0, r4, 0
- bl move_anim_8072740
-_080CFFCC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080CFFD4: .4byte gUnknown_0202F7C8
- thumb_func_end sub_80CFF68
-
- thumb_func_start sub_80CFFD8
-sub_80CFFD8: @ 80CFFD8
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- ldr r5, _080D0024
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, _080D0028
- str r0, [r4, 0x1C]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _080D002C
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D0024: .4byte gUnknown_0202F7C9
-_080D0028: .4byte sub_8078B34
-_080D002C: .4byte sub_80D0030
- thumb_func_end sub_80CFFD8
-
- thumb_func_start sub_80D0030
-sub_80D0030: @ 80D0030
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x3F
- bl sub_8076F98
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xA6
- bl PlaySE12WithPanning
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r1, [r4, 0x26]
- strh r1, [r4, 0x24]
- movs r2, 0
- movs r1, 0x7
- adds r0, r4, 0
- adds r0, 0x3C
-_080D0064:
- strh r2, [r0]
- subs r0, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080D0064
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x7
- ands r0, r1
- ldr r2, _080D00AC
- adds r1, r2, 0
- subs r1, r0
- strh r1, [r4, 0x3A]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA0
- bl __umodsi3
- adds r0, 0xA0
- strh r0, [r4, 0x3C]
- ldr r0, _080D00B0
- str r0, [r4, 0x1C]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D00AC: .4byte 0x0000fff4
-_080D00B0: .4byte sub_80D00B4
- thumb_func_end sub_80D0030
-
- thumb_func_start sub_80D00B4
-sub_80D00B4: @ 80D00B4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x3C]
- ldrh r2, [r4, 0x2E]
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r2, r0, 24
- strh r2, [r4, 0x24]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D00D2
- negs r0, r2
- strh r0, [r4, 0x24]
-_080D00D2:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x8
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7E
- ble _080D0112
- movs r0, 0
- strh r0, [r4, 0x30]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080D0112
- adds r0, r4, 0
- bl move_anim_8072740
-_080D0112:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D00B4
-
- thumb_func_start sub_80D0118
-sub_80D0118: @ 80D0118
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80787B0
- ldr r0, _080D0168
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D0136
- ldrh r0, [r4, 0x22]
- adds r0, 0x10
- strh r0, [r4, 0x22]
-_080D0136:
- ldr r1, _080D016C
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x32]
- ldrh r0, [r1, 0xC]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x36]
- ldr r0, _080D0170
- str r0, [r4, 0x1C]
- ldr r1, _080D0174
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D0168: .4byte gUnknown_0202F7C8
-_080D016C: .4byte gUnknown_03004B00
-_080D0170: .4byte sub_8078114
-_080D0174: .4byte move_anim_8072740
- thumb_func_end sub_80D0118
-
- thumb_func_start sub_80D0178
-sub_80D0178: @ 80D0178
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- movs r7, 0x20
- ldr r4, _080D01F4
- movs r0, 0x10
- mov r8, r0
- ldr r6, _080D01F8
- ldr r0, _080D01FC
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080D01A4
- adds r7, r4, 0
- movs r4, 0x20
- mov r8, r6
- movs r6, 0x10
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080D01A4:
- lsls r0, r7, 16
- asrs r0, 16
- ldrh r1, [r5, 0x20]
- adds r0, r1
- strh r0, [r5, 0x20]
- lsls r0, r4, 16
- asrs r0, 16
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- movs r0, 0x6
- strh r0, [r5, 0x2E]
- ldr r4, _080D0200
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- add r0, r8
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x36]
- ldr r0, _080D0204
- str r0, [r5, 0x1C]
- ldr r1, _080D0208
- adds r0, r5, 0
- bl oamt_set_x3A_32
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D01F4: .4byte 0x0000ffe0
-_080D01F8: .4byte 0x0000fff0
-_080D01FC: .4byte gUnknown_03004B00
-_080D0200: .4byte gUnknown_0202F7C9
-_080D0204: .4byte sub_8078B34
-_080D0208: .4byte sub_80D020C
- thumb_func_end sub_80D0178
-
- thumb_func_start sub_80D020C
-sub_80D020C: @ 80D020C
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080D0222
- adds r0, r2, 0
- bl move_anim_8072740
-_080D0222:
- pop {r0}
- bx r0
- thumb_func_end sub_80D020C
-
- thumb_func_start sub_80D0228
-sub_80D0228: @ 80D0228
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- movs r0, 0x20
- mov r8, r0
- ldr r4, _080D02BC
- movs r2, 0x10
- mov r9, r2
- ldr r6, _080D02C0
- ldr r7, _080D02C4
- ldrh r1, [r7]
- movs r2, 0
- ldrsh r0, [r7, r2]
- cmp r0, 0
- beq _080D025C
- mov r8, r4
- movs r4, 0x20
- mov r9, r6
- movs r6, 0x10
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
-_080D025C:
- mov r0, r8
- lsls r1, r0, 16
- asrs r1, 16
- ldrh r2, [r5, 0x20]
- adds r1, r2
- strh r1, [r5, 0x20]
- lsls r0, r4, 16
- asrs r0, 16
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- movs r0, 0x6
- strh r0, [r5, 0x2E]
- strh r1, [r5, 0x30]
- ldr r4, _080D02C8
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- add r0, r9
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldrh r0, [r7]
- strh r0, [r5, 0x38]
- ldrh r0, [r5, 0x2E]
- strh r0, [r5, 0x3A]
- ldr r0, _080D02CC
- str r0, [r5, 0x1C]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D02BC: .4byte 0x0000ffe0
-_080D02C0: .4byte 0x0000fff0
-_080D02C4: .4byte gUnknown_03004B00
-_080D02C8: .4byte gUnknown_0202F7C9
-_080D02CC: .4byte sub_80D02D0
- thumb_func_end sub_80D0228
-
- thumb_func_start sub_80D02D0
-sub_80D02D0: @ 80D02D0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- beq _080D0334
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080D0334
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- movs r2, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- movs r0, 0x2
- strh r0, [r4, 0x24]
- ldr r0, _080D033C
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3A]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- eors r0, r1
- strh r0, [r4, 0x32]
- strh r2, [r4, 0x36]
- strh r2, [r4, 0x34]
- ldr r0, _080D0340
- str r0, [r4, 0x1C]
-_080D0334:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D033C: .4byte 0x0000fffe
-_080D0340: .4byte sub_80D0344
- thumb_func_end sub_80D02D0
-
- thumb_func_start sub_80D0344
-sub_80D0344: @ 80D0344
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D035C
- ldrh r0, [r4, 0x24]
- negs r0, r0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- negs r0, r0
- strh r0, [r4, 0x26]
-_080D035C:
- ldrh r0, [r4, 0x34]
- movs r1, 0x1
- eors r0, r1
- movs r1, 0
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x33
- bne _080D039E
- strh r1, [r4, 0x26]
- strh r1, [r4, 0x24]
- strh r1, [r4, 0x36]
- strh r1, [r4, 0x34]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x38]
- movs r1, 0x1
- eors r1, r0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, _080D03A4
- str r0, [r4, 0x1C]
-_080D039E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D03A4: .4byte sub_80D03A8
- thumb_func_end sub_80D0344
-
- thumb_func_start sub_80D03A8
-sub_80D03A8: @ 80D03A8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- beq _080D03BC
- adds r0, r4, 0
- bl move_anim_8072740
-_080D03BC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D03A8
-
- thumb_func_start sub_80D03C4
-sub_80D03C4: @ 80D03C4
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8078E70
- adds r0, r4, 0
- movs r1, 0xD0
- movs r2, 0xD0
- movs r3, 0
- bl obj_id_set_rotscale
- ldr r1, _080D041C
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- movs r1, 0
- bl sub_8079108
- ldr r1, _080D0420
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0x50
- strh r1, [r0, 0x8]
- ldr r1, _080D0424
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D041C: .4byte gSprites
-_080D0420: .4byte gTasks
-_080D0424: .4byte sub_80D0428
- thumb_func_end sub_80D03C4
-
- thumb_func_start sub_80D0428
-sub_80D0428: @ 80D0428
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080D0480
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- subs r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080D0478
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_8078F40
- ldr r1, _080D0484
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- movs r1, 0x1
- bl sub_8079108
- adds r0, r5, 0
- bl move_anim_task_del
-_080D0478:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D0480: .4byte gTasks
-_080D0484: .4byte gSprites
- thumb_func_end sub_80D0428
-
- thumb_func_start sub_80D0488
-sub_80D0488: @ 80D0488
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080D04D4
- adds r4, r0
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0x8]
- movs r1, 0
- bl sub_8078E70
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r4, 0x10]
- strh r5, [r4, 0x12]
- strh r5, [r4, 0x14]
- ldr r0, _080D04D8
- ldrb r0, [r0]
- bl sub_8079E90
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x16]
- ldr r0, _080D04DC
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D04D4: .4byte gTasks
-_080D04D8: .4byte gUnknown_0202F7C8
-_080D04DC: .4byte sub_80D04E0
- thumb_func_end sub_80D0488
-
- thumb_func_start sub_80D04E0
-sub_80D04E0: @ 80D04E0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080D0504
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bls _080D04FA
- b _080D060A
-_080D04FA:
- lsls r0, 2
- ldr r1, _080D0508
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080D0504: .4byte gTasks
-_080D0508: .4byte _080D050C
- .align 2, 0
-_080D050C:
- .4byte _080D0524
- .4byte _080D056C
- .4byte _080D05A2
- .4byte _080D05A8
- .4byte _080D05B8
- .4byte _080D05EC
-_080D0524:
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080D0534
- cmp r0, 0x3
- beq _080D0534
- cmp r0, 0x6
- bne _080D053C
-_080D0534:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80D0614
-_080D053C:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x10]
- adds r0, 0x28
- strh r0, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- movs r1, 0x10
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrb r0, [r4, 0x8]
- bl sub_8079A64
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0x20
- bne _080D060A
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- b _080D05E4
-_080D056C:
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D060A
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- cmp r1, 0x3
- bne _080D0582
- strh r0, [r4, 0xC]
- strh r1, [r4, 0xA]
- b _080D060A
-_080D0582:
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- movs r2, 0x80
- lsls r2, 1
- strh r2, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrb r0, [r4, 0x8]
- bl sub_8079A64
- movs r0, 0x2
- strh r0, [r4, 0xA]
- b _080D060A
-_080D05A2:
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080D060A
-_080D05A8:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- ble _080D060A
- b _080D05E0
-_080D05B8:
- ldrh r0, [r4, 0xC]
- adds r0, 0x2
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x10]
- subs r0, 0x50
- strh r0, [r4, 0x10]
- ldrb r0, [r4, 0x8]
- movs r1, 0x10
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrb r0, [r4, 0x8]
- bl sub_8079A64
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0x20
- bne _080D060A
-_080D05E0:
- movs r0, 0
- strh r0, [r4, 0xC]
-_080D05E4:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _080D060A
-_080D05EC:
- ldrb r0, [r4, 0x8]
- bl sub_8078F40
- ldr r2, _080D0610
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x26]
- adds r0, r5, 0
- bl move_anim_task_del
-_080D060A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D0610: .4byte gSprites
- thumb_func_end sub_80D04E0
-
- thumb_func_start sub_80D0614
-sub_80D0614: @ 80D0614
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- movs r0, 0
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r0, 16
- asrs r4, r0, 16
- cmp r4, 0
- blt _080D06EE
- bl AllocOamMatrix
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xFF
- bne _080D0658
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _080D0654
- adds r0, r1
- bl obj_delete_but_dont_free_vram
- b _080D06EE
- .align 2, 0
-_080D0654: .4byte gSprites
-_080D0658:
- ldr r5, _080D06FC
- lsls r3, r4, 4
- adds r3, r4
- lsls r3, 2
- adds r4, r3, r5
- ldrb r1, [r4, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x1F
- ands r6, r0
- lsls r2, r6, 1
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x3]
- ldrb r0, [r7, 0x16]
- ldrb r1, [r7, 0xE]
- subs r0, r1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldrh r0, [r7, 0xE]
- adds r0, 0x1
- strh r0, [r7, 0xE]
- ldrh r0, [r7, 0x14]
- adds r0, 0x1
- strh r0, [r7, 0x14]
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- mov r0, r9
- strh r0, [r4, 0x30]
- movs r0, 0x6
- strh r0, [r4, 0x32]
- adds r5, 0x1C
- adds r3, r5
- ldr r0, _080D0700
- str r0, [r3]
- mov r1, r8
- lsls r0, r1, 24
- lsrs r0, 24
- movs r1, 0x10
- ldrsh r2, [r7, r1]
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrb r0, [r4, 0x1]
- movs r3, 0x4
- negs r3, r3
- ands r3, r0
- movs r0, 0x1
- orrs r3, r0
- strb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
-_080D06EE:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D06FC: .4byte gSprites
-_080D0700: .4byte sub_80D0704
- thumb_func_end sub_80D0614
-
- thumb_func_start sub_80D0704
-sub_80D0704: @ 80D0704
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _080D0742
- ldr r3, _080D0748
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x30
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl obj_delete_but_dont_free_vram
-_080D0742:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D0748: .4byte gTasks
- thumb_func_end sub_80D0704
-
- thumb_func_start sub_80D074C
-sub_80D074C: @ 80D074C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080D0770
- adds r4, r0, r1
- ldr r5, _080D0774
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080D0778
- adds r0, r2, 0
- bl move_anim_task_del
- b _080D079E
- .align 2, 0
-_080D0770: .4byte gTasks
-_080D0774: .4byte gUnknown_03004B00
-_080D0778:
- ldrb r0, [r5]
- bl obj_id_for_side_relative_to_move
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- strh r1, [r4, 0x8]
- strh r2, [r4, 0xA]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0xC]
- strh r2, [r4, 0xE]
- strh r2, [r4, 0x10]
- ldr r2, _080D07A4
- adds r0, r4, 0
- bl sub_80798F4
- ldr r0, _080D07A8
- str r0, [r4]
-_080D079E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D07A4: .4byte gUnknown_083D76F4
-_080D07A8: .4byte sub_80D07AC
- thumb_func_end sub_80D074C
-
- thumb_func_start sub_80D07AC
-sub_80D07AC: @ 80D07AC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _080D07D0
- adds r4, r0, r1
- movs r0, 0xA
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _080D0814
- cmp r5, 0x1
- bgt _080D07D4
- cmp r5, 0
- beq _080D07DE
- b _080D08BC
- .align 2, 0
-_080D07D0: .4byte gTasks
-_080D07D4:
- cmp r5, 0x2
- beq _080D0848
- cmp r5, 0x3
- beq _080D0878
- b _080D08BC
-_080D07DE:
- adds r0, r4, 0
- bl sub_807992C
- ldrh r2, [r4, 0x10]
- adds r2, 0x3
- strh r2, [r4, 0x10]
- ldr r3, _080D0810
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x26]
- adds r1, r2
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080D08BC
- strh r5, [r4, 0xE]
- b _080D0870
- .align 2, 0
-_080D0810: .4byte gSprites
-_080D0814:
- adds r0, r4, 0
- bl sub_807992C
- ldr r2, _080D0844
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x10]
- ldrh r2, [r0, 0x26]
- adds r1, r2
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080D08BC
- movs r0, 0
- strh r0, [r4, 0xE]
- b _080D0870
- .align 2, 0
-_080D0844: .4byte gSprites
-_080D0848:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D0870
- ldr r2, _080D086C
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x2
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0x10]
- subs r0, 0x2
- strh r0, [r4, 0x10]
- b _080D08BC
- .align 2, 0
-_080D086C: .4byte gSprites
-_080D0870:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _080D08BC
-_080D0878:
- adds r0, r4, 0
- bl sub_807992C
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080D08BC
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _080D08B0
- ldr r2, _080D08AC
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x26]
- adds r0, r6, 0
- bl move_anim_task_del
- b _080D08BC
- .align 2, 0
-_080D08AC: .4byte gSprites
-_080D08B0:
- ldrb r1, [r4, 0x8]
- ldr r2, _080D08C4
- adds r0, r4, 0
- bl sub_80798F4
- strh r5, [r4, 0xA]
-_080D08BC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D08C4: .4byte gUnknown_083D76F4
- thumb_func_end sub_80D07AC
-
- thumb_func_start sub_80D08C8
-sub_80D08C8: @ 80D08C8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080D08F8
- adds r4, r0
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080D08FC
- adds r0, r4, 0
- bl sub_80798F4
- ldr r0, _080D0900
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D08F8: .4byte gTasks
-_080D08FC: .4byte gUnknown_083D7714
-_080D0900: .4byte sub_80D0904
- thumb_func_end sub_80D08C8
-
- thumb_func_start sub_80D0904
-sub_80D0904: @ 80D0904
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080D092C
- adds r0, r1
- bl sub_807992C
- lsls r0, 24
- cmp r0, 0
- bne _080D0924
- adds r0, r4, 0
- bl move_anim_task_del
-_080D0924:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D092C: .4byte gTasks
- thumb_func_end sub_80D0904
-
- thumb_func_start sub_80D0930
-sub_80D0930: @ 80D0930
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080D0960
- ldrb r0, [r5]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D0964
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x20
- strh r0, [r4, 0x20]
- movs r0, 0x40
- b _080D097E
- .align 2, 0
-_080D0960: .4byte gUnknown_0202F7C8
-_080D0964:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x20
- strh r0, [r4, 0x20]
- ldr r0, _080D09B0
-_080D097E:
- strh r0, [r4, 0x30]
- ldr r0, _080D09B4
- ldrb r0, [r0]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- strh r0, [r4, 0x22]
- movs r0, 0x34
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x32]
- strh r1, [r4, 0x34]
- strh r1, [r4, 0x36]
- ldr r1, _080D09B8
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080D09BC
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D09B0: .4byte 0x0000ffc0
-_080D09B4: .4byte gUnknown_0202F7C8
-_080D09B8: .4byte move_anim_8072740
-_080D09BC: .4byte sub_8078394
- thumb_func_end sub_80D0930
-
- thumb_func_start sub_80D09C0
-sub_80D09C0: @ 80D09C0
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, _080D09D4
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D09DC
- ldr r0, _080D09D8
- b _080D09DE
- .align 2, 0
-_080D09D4: .4byte gUnknown_03004B00
-_080D09D8: .4byte gUnknown_0202F7C8
-_080D09DC:
- ldr r0, _080D0A3C
-_080D09DE:
- ldrb r5, [r0]
- adds r0, r5, 0
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D09F8
- ldr r1, _080D0A40
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080D09F8:
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- ldr r4, _080D0A40
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r6, 0x20]
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x4]
- adds r0, r4
- strh r0, [r6, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- bgt _080D0A2A
- movs r0, 0x8
- strh r0, [r6, 0x22]
-_080D0A2A:
- ldr r1, _080D0A44
- adds r0, r6, 0
- bl oamt_set_x3A_32
- ldr r0, _080D0A48
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D0A3C: .4byte gUnknown_0202F7C9
-_080D0A40: .4byte gUnknown_03004B00
-_080D0A44: .4byte move_anim_8074EE0
-_080D0A48: .4byte sub_80785E4
- thumb_func_end sub_80D09C0
-
- thumb_func_start sub_80D0A4C
-sub_80D0A4C: @ 80D0A4C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080D0A80
- adds r4, r0
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r0, 0
- strh r1, [r4, 0x8]
- strh r0, [r4, 0xA]
- ldr r2, _080D0A84
- adds r0, r4, 0
- bl sub_80798F4
- ldr r0, _080D0A88
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D0A80: .4byte gTasks
-_080D0A84: .4byte gUnknown_083D77B0
-_080D0A88: .4byte sub_80D0A8C
- thumb_func_end sub_80D0A4C
-
- thumb_func_start sub_80D0A8C
-sub_80D0A8C: @ 80D0A8C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080D0AB4
- adds r0, r1
- bl sub_807992C
- lsls r0, 24
- cmp r0, 0
- bne _080D0AAC
- adds r0, r4, 0
- bl move_anim_task_del
-_080D0AAC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D0AB4: .4byte gTasks
- thumb_func_end sub_80D0A8C
-
- thumb_func_start sub_80D0AB8
-sub_80D0AB8: @ 80D0AB8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080D0B2C
- adds r4, r1, r0
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- strh r0, [r4, 0x8]
- strh r2, [r4, 0xA]
- movs r0, 0x4
- strh r0, [r4, 0xC]
- movs r0, 0x7
- strh r0, [r4, 0xE]
- movs r0, 0x3
- strh r0, [r4, 0x10]
- ldr r3, _080D0B30
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x20]
- strh r0, [r4, 0x12]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x14]
- strh r2, [r4, 0x16]
- strh r2, [r4, 0x18]
- movs r0, 0x2
- strh r0, [r4, 0x1A]
- ldr r0, _080D0B34
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D0B22
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4, 0xC]
-_080D0B22:
- ldr r0, _080D0B38
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D0B2C: .4byte gTasks
-_080D0B30: .4byte gSprites
-_080D0B34: .4byte gUnknown_0202F7C8
-_080D0B38: .4byte sub_80D0B3C
- thumb_func_end sub_80D0AB8
-
- thumb_func_start sub_80D0B3C
-sub_80D0B3C: @ 80D0B3C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080D0B84
- adds r3, r0, r1
- ldrh r0, [r3, 0x16]
- adds r0, 0x1
- strh r0, [r3, 0x16]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080D0BA2
- movs r0, 0
- strh r0, [r3, 0x16]
- ldrh r0, [r3, 0x18]
- adds r0, 0x1
- strh r0, [r3, 0x18]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D0B8C
- ldr r2, _080D0B88
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x1A]
- ldrh r2, [r0, 0x22]
- adds r1, r2
- b _080D0BA0
- .align 2, 0
-_080D0B84: .4byte gTasks
-_080D0B88: .4byte gSprites
-_080D0B8C:
- ldr r2, _080D0BB4
- movs r5, 0x8
- ldrsh r1, [r3, r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- ldrh r2, [r3, 0x1A]
- subs r1, r2
-_080D0BA0:
- strh r1, [r0, 0x22]
-_080D0BA2:
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _080D0BF0
- cmp r0, 0x1
- bgt _080D0BB8
- cmp r0, 0
- beq _080D0BBE
- b _080D0C80
- .align 2, 0
-_080D0BB4: .4byte gSprites
-_080D0BB8:
- cmp r0, 0x2
- beq _080D0C20
- b _080D0C80
-_080D0BBE:
- ldr r2, _080D0BEC
- movs r5, 0x8
- ldrsh r1, [r3, r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0xC]
- ldrh r2, [r0, 0x20]
- adds r1, r2
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0xE]
- subs r0, 0x1
- strh r0, [r3, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _080D0C80
- movs r0, 0xE
- strh r0, [r3, 0xE]
- movs r0, 0x1
- strh r0, [r3, 0xA]
- b _080D0C80
- .align 2, 0
-_080D0BEC: .4byte gSprites
-_080D0BF0:
- ldr r2, _080D0C1C
- movs r5, 0x8
- ldrsh r1, [r3, r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x20]
- ldrh r2, [r3, 0xC]
- subs r1, r2
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0xE]
- subs r0, 0x1
- strh r0, [r3, 0xE]
- lsls r0, 16
- cmp r0, 0
- bne _080D0C80
- movs r0, 0x7
- strh r0, [r3, 0xE]
- movs r0, 0x2
- strh r0, [r3, 0xA]
- b _080D0C80
- .align 2, 0
-_080D0C1C: .4byte gSprites
-_080D0C20:
- ldr r2, _080D0C58
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0xC]
- ldrh r5, [r0, 0x20]
- adds r1, r5
- strh r1, [r0, 0x20]
- ldrh r0, [r3, 0xE]
- subs r0, 0x1
- strh r0, [r3, 0xE]
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- bne _080D0C80
- ldrh r0, [r3, 0x10]
- subs r0, 0x1
- strh r0, [r3, 0x10]
- lsls r0, 16
- cmp r0, 0
- beq _080D0C5C
- movs r0, 0x7
- strh r0, [r3, 0xE]
- strh r1, [r3, 0xA]
- b _080D0C80
- .align 2, 0
-_080D0C58: .4byte gSprites
-_080D0C5C:
- ldrh r1, [r3, 0x18]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D0C7A
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- ldrh r2, [r3, 0x1A]
- subs r1, r2
- strh r1, [r0, 0x22]
-_080D0C7A:
- adds r0, r4, 0
- bl move_anim_task_del
-_080D0C80:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D0B3C
-
- thumb_func_start sub_80D0C88
-sub_80D0C88: @ 80D0C88
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080D0CD8
- adds r5, r1, r0
- ldr r4, _080D0CDC
- ldrb r0, [r4]
- bl sub_8077FC0
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x20
- movs r1, 0
- strh r0, [r5, 0x8]
- movs r0, 0x4
- strh r0, [r5, 0xA]
- strh r1, [r5, 0xC]
- strh r1, [r5, 0xE]
- strh r1, [r5, 0x10]
- strh r1, [r5, 0x12]
- ldrb r0, [r4]
- bl sub_807A100
- strh r0, [r5, 0x26]
- ldrb r0, [r4]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D0CE8
- ldr r0, _080D0CE0
- ldrh r0, [r0]
- strh r0, [r5, 0x14]
- ldr r0, _080D0CE4
- b _080D0CF0
- .align 2, 0
-_080D0CD8: .4byte gTasks
-_080D0CDC: .4byte gUnknown_0202F7C9
-_080D0CE0: .4byte gUnknown_030042C0
-_080D0CE4: .4byte REG_BG1HOFS
-_080D0CE8:
- ldr r0, _080D0D54
- ldrh r0, [r0]
- strh r0, [r5, 0x14]
- ldr r0, _080D0D58
-_080D0CF0:
- str r0, [sp]
- ldrh r0, [r5, 0x8]
- adds r1, r0, 0
- subs r1, 0x40
- lsls r2, r1, 16
- lsls r0, 16
- cmp r2, r0
- bgt _080D0D2E
- ldr r4, _080D0D5C
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r4, r0
-_080D0D08:
- asrs r3, r2, 16
- cmp r3, 0
- blt _080D0D20
- lsls r1, r3, 1
- adds r2, r1, r4
- ldrh r0, [r5, 0x14]
- adds r0, 0xF0
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r5, 0x14]
- adds r0, 0xF0
- strh r0, [r1]
-_080D0D20:
- adds r0, r3, 0x1
- lsls r2, r0, 16
- asrs r1, r2, 16
- movs r3, 0x8
- ldrsh r0, [r5, r3]
- cmp r1, r0
- ble _080D0D08
-_080D0D2E:
- ldr r0, _080D0D60
- str r0, [sp, 0x4]
- mov r1, sp
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r2, [r0, 0x9]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl sub_80895F8
- ldr r0, _080D0D64
- str r0, [r5]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D0D54: .4byte gUnknown_03004288
-_080D0D58: .4byte REG_BG2HOFS
-_080D0D5C: .4byte gUnknown_03004DE0
-_080D0D60: .4byte 0xa2600001
-_080D0D64: .4byte sub_80D0D68
- thumb_func_end sub_80D0C88
-
- thumb_func_start sub_80D0D68
-sub_80D0D68: @ 80D0D68
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080D0D88
- adds r3, r0, r1
- movs r1, 0x10
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _080D0D8C
- cmp r0, 0x1
- beq _080D0DA2
- b _080D0E22
- .align 2, 0
-_080D0D88: .4byte gTasks
-_080D0D8C:
- ldrh r0, [r3, 0x12]
- adds r0, 0x1
- strh r0, [r3, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080D0E22
- ldrh r0, [r3, 0x10]
- adds r0, 0x1
- strh r0, [r3, 0x10]
- b _080D0E22
-_080D0DA2:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080D0E22
- movs r0, 0
- strh r0, [r3, 0xA]
- ldrh r1, [r3, 0xE]
- movs r0, 0x3
- ands r0, r1
- strh r0, [r3, 0xC]
- ldrh r0, [r3, 0x8]
- subs r0, r1
- strh r0, [r3, 0x12]
- movs r2, 0xC
- ldrsh r1, [r3, r2]
- cmp r1, 0x1
- beq _080D0DD8
- cmp r1, 0x1
- ble _080D0DE0
- cmp r1, 0x2
- beq _080D0DDC
- cmp r1, 0x3
- beq _080D0DDC
- b _080D0DE0
-_080D0DD8:
- subs r0, 0x2
- b _080D0DDE
-_080D0DDC:
- adds r0, 0x1
-_080D0DDE:
- strh r0, [r3, 0x12]
-_080D0DE0:
- movs r1, 0x12
- ldrsh r0, [r3, r1]
- cmp r0, 0
- blt _080D0E04
- ldr r2, _080D0E28
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r3, 0x14]
- strh r1, [r0]
- movs r1, 0x12
- ldrsh r0, [r3, r1]
- lsls r0, 1
- movs r1, 0xF0
- lsls r1, 3
- adds r2, r1
- adds r0, r2
- ldrh r1, [r3, 0x14]
- strh r1, [r0]
-_080D0E04:
- ldrh r0, [r3, 0xE]
- adds r0, 0x1
- strh r0, [r3, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x26
- ldrsh r1, [r3, r2]
- cmp r0, r1
- blt _080D0E22
- ldr r1, _080D0E2C
- movs r0, 0x3
- strb r0, [r1, 0x15]
- adds r0, r4, 0
- bl move_anim_task_del
-_080D0E22:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D0E28: .4byte gUnknown_03004DE0
-_080D0E2C: .4byte gUnknown_03004DC0
- thumb_func_end sub_80D0D68
-
- thumb_func_start sub_80D0E30
-sub_80D0E30: @ 80D0E30
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, _080D0E84
- ldrb r0, [r6]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x10
- movs r5, 0
- strh r0, [r4, 0x20]
- ldrb r0, [r6]
- bl sub_8077FC0
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x2E]
- strh r5, [r4, 0x30]
- strh r5, [r4, 0x32]
- movs r0, 0x10
- strh r0, [r4, 0x34]
- strh r5, [r4, 0x36]
- ldrb r0, [r6]
- movs r1, 0
- bl sub_807A100
- adds r0, 0x2
- strh r0, [r4, 0x38]
- movs r0, 0x3F
- bl sub_8076F98
- lsls r0, 24
- asrs r0, 24
- strh r0, [r4, 0x3A]
- ldr r0, _080D0E88
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D0E84: .4byte gUnknown_0202F7C9
-_080D0E88: .4byte sub_80D0E8C
- thumb_func_end sub_80D0E30
-
- thumb_func_start sub_80D0E8C
-sub_80D0E8C: @ 80D0E8C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _080D0EF0
- cmp r1, 0x1
- bgt _080D0EA2
- cmp r1, 0
- beq _080D0EA8
- b _080D0FD0
-_080D0EA2:
- cmp r1, 0x2
- beq _080D0F82
- b _080D0FD0
-_080D0EA8:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D0ED2
- strh r1, [r4, 0x32]
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080D0ED2:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080D0FD0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- b _080D0F7A
-_080D0EF0:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080D0F36
- ldrh r2, [r4, 0x32]
- movs r3, 0x32
- ldrsh r1, [r4, r3]
- movs r3, 0x38
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _080D0F36
- movs r0, 0
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x22]
- subs r0, 0x1
- strh r0, [r4, 0x22]
- adds r0, r2, 0x1
- strh r0, [r4, 0x32]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _080D0F36
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xCD
- bl PlaySE12WithPanning
-_080D0F36:
- ldrh r0, [r4, 0x34]
- ldrh r2, [r4, 0x36]
- adds r1, r0, r2
- strh r1, [r4, 0x36]
- lsls r0, r1, 16
- asrs r2, r0, 16
- cmp r2, 0x1F
- ble _080D0F4A
- movs r0, 0x40
- b _080D0F58
-_080D0F4A:
- movs r0, 0x20
- negs r0, r0
- cmp r2, r0
- bgt _080D0F64
- movs r2, 0x40
- negs r2, r2
- adds r0, r2, 0
-_080D0F58:
- subs r0, r1
- strh r0, [r4, 0x36]
- movs r3, 0x34
- ldrsh r0, [r4, r3]
- negs r0, r0
- strh r0, [r4, 0x34]
-_080D0F64:
- ldrh r0, [r4, 0x36]
- movs r2, 0
- strh r0, [r4, 0x24]
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- movs r3, 0x32
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bne _080D0FD0
- strh r2, [r4, 0x30]
- strh r2, [r4, 0x32]
-_080D0F7A:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080D0FD0
-_080D0F82:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D0FAE
- movs r0, 0
- strh r0, [r4, 0x32]
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080D0FAE:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080D0FD0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- bl move_anim_8072740
-_080D0FD0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D0E8C
-
- thumb_func_start sub_80D0FD8
-sub_80D0FD8: @ 80D0FD8
- push {r4-r7,lr}
- sub sp, 0x4
- adds r6, r0, 0
- movs r5, 0
- mov r0, sp
- strh r5, [r0]
- mov r1, sp
- adds r1, 0x2
- strh r5, [r1]
- ldr r0, _080D0FFC
- movs r3, 0x4
- ldrsh r2, [r0, r3]
- adds r7, r1, 0
- adds r1, r0, 0
- cmp r2, 0
- bne _080D1004
- ldr r0, _080D1000
- b _080D1006
- .align 2, 0
-_080D0FFC: .4byte gUnknown_03004B00
-_080D1000: .4byte gUnknown_0202F7C8
-_080D1004:
- ldr r0, _080D1040
-_080D1006:
- ldrb r5, [r0]
- ldrb r1, [r1, 0x6]
- movs r0, 0x1
- adds r4, r0, 0
- eors r4, r1
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _080D107E
- movs r1, 0x2
- adds r0, r5, 0
- eors r0, r1
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080D107E
- adds r0, r5, 0
- adds r1, r4, 0
- mov r2, sp
- adds r3, r7, 0
- bl sub_807A3FC
- cmp r4, 0
- bne _080D1044
- adds r0, r5, 0
- movs r1, 0
- b _080D1048
- .align 2, 0
-_080D1040: .4byte gUnknown_0202F7C9
-_080D1044:
- adds r0, r5, 0
- movs r1, 0x2
-_080D1048:
- bl sub_8077ABC
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r5, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D1074
- ldr r2, _080D1070
- mov r0, sp
- ldrh r1, [r0]
- subs r1, r4
- ldrh r0, [r2]
- subs r1, r0
- subs r0, r1
- strh r0, [r2]
- b _080D107E
- .align 2, 0
-_080D1070: .4byte gUnknown_03004B00
-_080D1074:
- ldr r1, _080D1090
- mov r0, sp
- ldrh r0, [r0]
- subs r0, r4
- strh r0, [r1]
-_080D107E:
- ldr r1, _080D1094
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1090: .4byte gUnknown_03004B00
-_080D1094: .4byte sub_80793C4
- thumb_func_end sub_80D0FD8
-
- thumb_func_start sub_80D1098
-sub_80D1098: @ 80D1098
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- beq _080D10B2
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl move_anim_8072740
-_080D10B2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D1098
-
- thumb_func_start sub_80D10B8
-sub_80D10B8: @ 80D10B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r5, r0, 0
- movs r6, 0
- mov r0, sp
- strh r6, [r0]
- mov r1, sp
- adds r1, 0x2
- strh r6, [r1]
- ldr r0, _080D10E4
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080D10F0
- ldr r0, _080D10E8
- ldrb r7, [r0]
- ldr r0, _080D10EC
- b _080D10F6
- .align 2, 0
-_080D10E4: .4byte gUnknown_03004B00
-_080D10E8: .4byte gUnknown_0202F7C8
-_080D10EC: .4byte gUnknown_0202F7C9
-_080D10F0:
- ldr r0, _080D1110
- ldrb r7, [r0]
- ldr r0, _080D1114
-_080D10F6:
- ldrb r0, [r0]
- mov r8, r0
- ldr r0, _080D1118
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bne _080D111C
- movs r0, 0
- mov r10, r0
- movs r1, 0x1
- str r1, [sp, 0x4]
- b _080D1124
- .align 2, 0
-_080D1110: .4byte gUnknown_0202F7C9
-_080D1114: .4byte gUnknown_0202F7C8
-_080D1118: .4byte gUnknown_03004B00
-_080D111C:
- movs r2, 0x2
- mov r10, r2
- movs r3, 0x3
- str r3, [sp, 0x4]
-_080D1124:
- adds r0, r7, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D1180
- adds r0, r7, 0
- mov r1, r10
- bl sub_8077ABC
- lsls r0, 24
- ldr r1, _080D1164
- lsrs r0, 24
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r0, 0x2
- mov r4, r8
- eors r4, r0
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080D1170
- ldr r2, _080D1168
- ldr r0, _080D116C
- adds r0, r4, r0
- b _080D120A
- .align 2, 0
-_080D1164: .4byte gUnknown_03004B00
-_080D1168: .4byte gSprites
-_080D116C: .4byte gUnknown_02024BE0
-_080D1170:
- ldr r2, _080D1178
- ldr r0, _080D117C
- add r0, r8
- b _080D120A
- .align 2, 0
-_080D1178: .4byte gSprites
-_080D117C: .4byte gUnknown_02024BE0
-_080D1180:
- adds r0, r7, 0
- mov r1, r10
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080D11EC
- ldrh r1, [r1]
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldr r0, _080D11F0
- ldr r1, _080D11F4
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D1204
- adds r4, r7, 0
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080D1204
- ldr r3, _080D11F8
- ldr r2, _080D11FC
- adds r0, r7, r2
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r6, r0, r3
- adds r2, r4, r2
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, r0, r3
- movs r3, 0x20
- ldrsh r1, [r6, r3]
- movs r3, 0x20
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bge _080D1200
- adds r0, r2, 0
- adds r0, 0x43
- ldrb r0, [r0]
- adds r0, 0x1
- b _080D121A
- .align 2, 0
-_080D11EC: .4byte gUnknown_03004B00
-_080D11F0: .4byte gMain
-_080D11F4: .4byte 0x0000043d
-_080D11F8: .4byte gSprites
-_080D11FC: .4byte gUnknown_02024BE0
-_080D1200:
- adds r0, r6, 0
- b _080D1214
-_080D1204:
- ldr r2, _080D1268
- ldr r0, _080D126C
- adds r0, r7, r0
-_080D120A:
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
-_080D1214:
- adds r0, 0x43
- ldrb r0, [r0]
- subs r0, 0x1
-_080D121A:
- adds r1, r5, 0
- adds r1, 0x43
- strb r0, [r1]
- adds r0, r7, 0
- ldr r1, [sp, 0x4]
- bl sub_8077ABC
- lsls r0, 24
- ldr r4, _080D1270
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _080D1274
- ldr r2, _080D1278
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D127C
- mov r0, r8
- movs r1, 0x2
- eors r0, r1
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080D127C
- ldrb r1, [r4, 0xC]
- mov r0, r8
- mov r2, sp
- mov r3, sp
- adds r3, 0x2
- bl sub_807A3FC
- b _080D129C
- .align 2, 0
-_080D1268: .4byte gSprites
-_080D126C: .4byte gUnknown_02024BE0
-_080D1270: .4byte gUnknown_03004B00
-_080D1274: .4byte gMain
-_080D1278: .4byte 0x0000043d
-_080D127C:
- mov r4, sp
- mov r0, r8
- mov r1, r10
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- mov r0, r8
- ldr r1, [sp, 0x4]
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- mov r3, sp
- strh r0, [r3, 0x2]
-_080D129C:
- mov r0, r8
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D12C0
- mov r3, sp
- mov r2, sp
- ldr r1, _080D12BC
- ldrh r0, [r1, 0x6]
- ldrh r2, [r2]
- adds r0, r2
- strh r0, [r3]
- adds r2, r1, 0
- b _080D12CE
- .align 2, 0
-_080D12BC: .4byte gUnknown_03004B00
-_080D12C0:
- mov r3, sp
- mov r0, sp
- ldr r2, _080D1310
- ldrh r0, [r0]
- ldrh r1, [r2, 0x6]
- subs r0, r1
- strh r0, [r3]
-_080D12CE:
- ldrh r1, [r2, 0x8]
- mov r0, sp
- ldrh r0, [r0, 0x2]
- adds r1, r0
- mov r3, sp
- strh r1, [r3, 0x2]
- mov r0, r9
- strh r0, [r5, 0x30]
- strh r0, [r5, 0x20]
- strh r6, [r5, 0x34]
- strh r6, [r5, 0x22]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r5, 0x32]
- strh r1, [r5, 0x36]
- ldrh r0, [r2]
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, _080D1314
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- 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
-_080D1310: .4byte gUnknown_03004B00
-_080D1314: .4byte sub_80D1098
- thumb_func_end sub_80D10B8
-
- thumb_func_start sub_80D1318
-sub_80D1318: @ 80D1318
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080D1358
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080D133E
- lsls r0, 20
- ldr r1, _080D135C
- adds r0, r1
- lsrs r0, 16
- ldr r1, _080D1360
- ldrb r2, [r1, 0xA]
- ldrh r3, [r1, 0x8]
- movs r1, 0xF
- bl BlendPalette
-_080D133E:
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r1, _080D1364
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1358: .4byte 0x000027db
-_080D135C: .4byte 0x01010000
-_080D1360: .4byte gUnknown_03004B00
-_080D1364: .4byte sub_80793C4
- thumb_func_end sub_80D1318
-
- thumb_func_start sub_80D1368
-sub_80D1368: @ 80D1368
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_80787B0
- ldr r0, _080D139C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- movs r1, 0xA0
- cmp r0, 0
- beq _080D1384
- ldr r1, _080D13A0
-_080D1384:
- movs r0, 0xE0
- lsls r0, 2
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- ldr r0, _080D13A4
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x3C]
- ldr r0, _080D13A8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D139C: .4byte gUnknown_0202F7C8
-_080D13A0: .4byte 0x0000ff60
-_080D13A4: .4byte gUnknown_03004B00
-_080D13A8: .4byte sub_80D13AC
- thumb_func_end sub_80D1368
-
- thumb_func_start sub_80D13AC
-sub_80D13AC: @ 80D13AC
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x2E]
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- subs r1, r0
- movs r5, 0
- strh r1, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- subs r2, 0x20
- strh r2, [r4, 0x2E]
- ldr r0, _080D1418
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- movs r1, 0xA0
- cmp r0, 0
- beq _080D13DC
- ldr r1, _080D141C
-_080D13DC:
- lsls r0, r1, 16
- asrs r0, 16
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- ldrh r1, [r4, 0x26]
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080D1410
- ldrh r2, [r4, 0x22]
- adds r0, r1, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x24]
- strh r5, [r4, 0x2E]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r0, _080D1420
- str r0, [r4, 0x1C]
-_080D1410:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1418: .4byte gUnknown_0202F7C8
-_080D141C: .4byte 0x0000ff60
-_080D1420: .4byte sub_80D1424
- thumb_func_end sub_80D13AC
-
- thumb_func_start sub_80D1424
-sub_80D1424: @ 80D1424
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080D1442
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, _080D1448
- str r0, [r4, 0x1C]
-_080D1442:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1448: .4byte sub_80D144C
- thumb_func_end sub_80D1424
-
- thumb_func_start sub_80D144C
-sub_80D144C: @ 80D144C
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080D14B2
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r0, 0
- strh r0, [r4, 0x2E]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D1498
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x10
- ldr r3, _080D148C
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080D1490
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- ldr r0, _080D1494
- b _080D14B0
- .align 2, 0
-_080D148C: .4byte 0x000003ff
-_080D1490: .4byte 0xfffffc00
-_080D1494: .4byte sub_80D14C4
-_080D1498:
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x20
- ldr r3, _080D14B8
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080D14BC
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- ldr r0, _080D14C0
-_080D14B0:
- str r0, [r4, 0x1C]
-_080D14B2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D14B8: .4byte 0x000003ff
-_080D14BC: .4byte 0xfffffc00
-_080D14C0: .4byte sub_80D154C
- thumb_func_end sub_80D144C
-
- thumb_func_start sub_80D14C4
-sub_80D14C4: @ 80D14C4
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x26]
- subs r0, 0x2
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x9
- bne _080D14F8
- movs r0, 0x10
- strh r0, [r2, 0x2E]
- movs r0, 0
- strh r0, [r2, 0x30]
- ldr r1, _080D14FC
- movs r3, 0xFD
- lsls r3, 6
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r2, 0x2E]
- strh r0, [r1]
- ldr r0, _080D1500
- str r0, [r2, 0x1C]
-_080D14F8:
- pop {r0}
- bx r0
- .align 2, 0
-_080D14FC: .4byte REG_BLDCNT
-_080D1500: .4byte sub_80D1504
- thumb_func_end sub_80D14C4
-
- thumb_func_start sub_80D1504
-sub_80D1504: @ 80D1504
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r1, r0, 0x1
- strh r1, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _080D153C
- ldrh r1, [r4, 0x2E]
- subs r1, 0x1
- strh r1, [r4, 0x2E]
- ldr r2, _080D1544
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D153C
- ldr r0, _080D1548
- str r0, [r4, 0x1C]
-_080D153C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1544: .4byte REG_BLDALPHA
-_080D1548: .4byte sub_80D154C
- thumb_func_end sub_80D1504
-
- thumb_func_start sub_80D154C
-sub_80D154C: @ 80D154C
- push {lr}
- adds r3, r0, 0
- ldr r0, _080D1574
- ldrh r1, [r0, 0xE]
- ldr r0, _080D1578
- cmp r1, r0
- bne _080D1584
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r1, 0x3C
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080D1580
- ldr r0, _080D157C
- b _080D1582
- .align 2, 0
-_080D1574: .4byte gUnknown_03004B00
-_080D1578: .4byte 0x0000ffff
-_080D157C: .4byte sub_80D158C
-_080D1580:
- ldr r0, _080D1588
-_080D1582:
- str r0, [r3, 0x1C]
-_080D1584:
- pop {r0}
- bx r0
- .align 2, 0
-_080D1588: .4byte move_anim_8072740
- thumb_func_end sub_80D154C
-
- thumb_func_start sub_80D158C
-sub_80D158C: @ 80D158C
- push {lr}
- ldr r1, _080D15A0
- movs r2, 0
- strh r2, [r1]
- adds r1, 0x2
- strh r2, [r1]
- bl move_anim_8072740
- pop {r0}
- bx r0
- .align 2, 0
-_080D15A0: .4byte REG_BLDCNT
- thumb_func_end sub_80D158C
-
- thumb_func_start sub_80D15A4
-sub_80D15A4: @ 80D15A4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080D15D4
- adds r4, r0
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- strh r1, [r4, 0x8]
- ldr r2, _080D15D8
- adds r0, r4, 0
- bl sub_80798F4
- ldr r0, _080D15DC
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D15D4: .4byte gTasks
-_080D15D8: .4byte gUnknown_083D79BC
-_080D15DC: .4byte sub_80D15E0
- thumb_func_end sub_80D15A4
-
- thumb_func_start sub_80D15E0
-sub_80D15E0: @ 80D15E0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080D1630
- adds r4, r0, r1
- adds r0, r4, 0
- bl sub_807992C
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- bne _080D162A
- ldr r2, _080D1634
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r5, 0
- bl move_anim_task_del
-_080D162A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1630: .4byte gTasks
-_080D1634: .4byte gSprites
- thumb_func_end sub_80D15E0
-
- thumb_func_start sub_80D1638
-sub_80D1638: @ 80D1638
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080D166C
- adds r4, r1, r0
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- movs r0, 0x3
- strh r0, [r4, 0x20]
- ldr r0, _080D1670
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D1678
- ldr r0, _080D1674
- strh r0, [r4, 0x22]
- movs r0, 0x8
- b _080D167E
- .align 2, 0
-_080D166C: .4byte gTasks
-_080D1670: .4byte gUnknown_0202F7C9
-_080D1674: .4byte 0x0000ffff
-_080D1678:
- movs r0, 0x1
- strh r0, [r4, 0x22]
- ldr r0, _080D1698
-_080D167E:
- strh r0, [r4, 0x24]
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldr r0, _080D169C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1698: .4byte 0x0000fff8
-_080D169C: .4byte sub_80D16A0
- thumb_func_end sub_80D1638
-
- thumb_func_start sub_80D16A0
-sub_80D16A0: @ 80D16A0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080D16C4
- adds r3, r0, r1
- movs r0, 0x8
- ldrsh r4, [r3, r0]
- cmp r4, 0x1
- beq _080D16F4
- cmp r4, 0x1
- bgt _080D16C8
- cmp r4, 0
- beq _080D16D2
- b _080D17BA
- .align 2, 0
-_080D16C4: .4byte gTasks
-_080D16C8:
- cmp r4, 0x2
- beq _080D1770
- cmp r4, 0x3
- beq _080D178A
- b _080D17BA
-_080D16D2:
- ldr r2, _080D16F0
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x24]
- ldrh r2, [r0, 0x24]
- adds r1, r2
- strh r1, [r0, 0x24]
- strh r4, [r3, 0xA]
- strh r4, [r3, 0xC]
- strh r4, [r3, 0xE]
- b _080D1782
- .align 2, 0
-_080D16F0: .4byte gSprites
-_080D16F4:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D17BA
- movs r0, 0
- strh r0, [r3, 0xA]
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- ands r0, r4
- lsls r0, 16
- cmp r0, 0
- beq _080D172C
- ldr r2, _080D1728
- movs r4, 0x26
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- adds r1, 0x6
- b _080D173E
- .align 2, 0
-_080D1728: .4byte gSprites
-_080D172C:
- ldr r2, _080D176C
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- subs r1, 0x6
-_080D173E:
- strh r1, [r0, 0x24]
- ldrh r0, [r3, 0xE]
- adds r0, 0x1
- strh r0, [r3, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080D17BA
- ldrh r1, [r3, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D1782
- movs r1, 0x26
- ldrsh r0, [r3, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r1, 0x24]
- subs r0, 0x6
- strh r0, [r1, 0x24]
- b _080D1782
- .align 2, 0
-_080D176C: .4byte gSprites
-_080D1770:
- ldrh r0, [r3, 0x20]
- subs r0, 0x1
- strh r0, [r3, 0x20]
- lsls r0, 16
- cmp r0, 0
- beq _080D1782
- movs r0, 0
- strh r0, [r3, 0x8]
- b _080D17BA
-_080D1782:
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- b _080D17BA
-_080D178A:
- ldr r2, _080D17C0
- movs r4, 0x26
- ldrsh r1, [r3, r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r3, 0x22]
- ldrh r4, [r0, 0x24]
- adds r1, r4
- strh r1, [r0, 0x24]
- movs r0, 0x26
- ldrsh r1, [r3, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x24
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D17BA
- adds r0, r5, 0
- bl move_anim_task_del
-_080D17BA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D17C0: .4byte gSprites
- thumb_func_end sub_80D16A0
-
- thumb_func_start sub_80D17C4
-sub_80D17C4: @ 80D17C4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080D1800
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- movs r0, 0x1
- strh r0, [r4, 0x10]
- movs r0, 0xE
- strh r0, [r4, 0x22]
- movs r0, 0x2
- strh r0, [r4, 0x24]
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldr r0, _080D1804
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1800: .4byte gTasks
-_080D1804: .4byte sub_80D1808
- thumb_func_end sub_80D17C4
-
- thumb_func_start sub_80D1808
-sub_80D1808: @ 80D1808
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080D185C
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- cmp r2, 0
- bne _080D18CE
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x10
- ldrsh r1, [r4, r3]
- cmp r0, r1
- ble _080D18CE
- strh r2, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D1864
- ldr r3, _080D1860
- movs r6, 0x26
- ldrsh r1, [r4, r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- b _080D187A
- .align 2, 0
-_080D185C: .4byte gTasks
-_080D1860: .4byte gSprites
-_080D1864:
- ldr r3, _080D18AC
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
-_080D187A:
- strb r1, [r0]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r6, 0x22
- ldrsh r1, [r4, r6]
- cmp r0, r1
- blt _080D18CE
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- movs r6, 0x24
- ldrsh r1, [r4, r6]
- cmp r0, r1
- bge _080D18B0
- strh r2, [r4, 0xA]
- strh r2, [r4, 0xC]
- strh r2, [r4, 0xE]
- b _080D18CE
- .align 2, 0
-_080D18AC: .4byte gSprites
-_080D18B0:
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- adds r0, r5, 0
- bl move_anim_task_del
-_080D18CE:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D1808
-
- thumb_func_start sub_80D18D4
-sub_80D18D4: @ 80D18D4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080D1924
- adds r4, r0
- movs r0, 0
- strh r0, [r4, 0x8]
- movs r1, 0x4
- strh r1, [r4, 0xA]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- strh r0, [r4, 0x12]
- strh r0, [r4, 0x14]
- strh r0, [r4, 0x16]
- strh r0, [r4, 0x18]
- strh r0, [r4, 0x22]
- ldr r5, _080D1928
- ldrb r0, [r5]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x24]
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldr r0, _080D192C
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1924: .4byte gTasks
-_080D1928: .4byte gUnknown_0202F7C8
-_080D192C: .4byte sub_80D1930
- thumb_func_end sub_80D18D4
-
- thumb_func_start sub_80D1930
-sub_80D1930: @ 80D1930
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _080D1954
- adds r4, r0, r1
- movs r0, 0x18
- ldrsh r2, [r4, r0]
- cmp r2, 0x1
- beq _080D199C
- cmp r2, 0x1
- bgt _080D1958
- cmp r2, 0
- beq _080D195E
- b _080D19B8
- .align 2, 0
-_080D1954: .4byte gTasks
-_080D1958:
- cmp r2, 0x2
- beq _080D19B4
- b _080D19B8
-_080D195E:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D19B8
- strh r2, [r4, 0x10]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- movs r1, 0x1
- ands r0, r1
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- strh r0, [r4, 0x14]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080D19B8
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D1996
- strh r2, [r4, 0x14]
- movs r0, 0x1
- strh r0, [r4, 0x18]
- b _080D19B8
-_080D1996:
- movs r0, 0x2
- strh r0, [r4, 0x18]
- b _080D19B8
-_080D199C:
- movs r1, 0
- strh r1, [r4, 0x12]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080D19B8
- strh r2, [r4, 0x16]
- strh r1, [r4, 0x18]
- b _080D19B8
-_080D19B4:
- movs r0, 0x1
- strh r0, [r4, 0x12]
-_080D19B8:
- movs r2, 0x8
- ldrsh r5, [r4, r2]
- cmp r5, 0
- beq _080D19C6
- cmp r5, 0x1
- beq _080D1A5C
- b _080D1A6A
-_080D19C6:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080D1A6A
- strh r5, [r4, 0xA]
- ldr r0, _080D1A50
- movs r3, 0x24
- ldrsh r1, [r4, r3]
- movs r3, 0x26
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080D1A6A
- ldr r0, _080D1A54
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- strh r6, [r1, 0x2E]
- movs r0, 0xD
- strh r0, [r1, 0x30]
- ldr r2, _080D1A58
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- lsls r0, 1
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r1, 0x24]
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- lsls r0, 1
- adds r2, 0x1
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0x22]
- adds r0, 0x1
- strh r0, [r4, 0x22]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080D1A6A
- strh r5, [r4, 0xC]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080D1A6A
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080D1A6A
- .align 2, 0
-_080D1A50: .4byte gSpriteTemplate_83D79E8
-_080D1A54: .4byte gSprites
-_080D1A58: .4byte gUnknown_083D7A00
-_080D1A5C:
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D1A6A
- adds r0, r6, 0
- bl move_anim_task_del
-_080D1A6A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D1930
-
- thumb_func_start sub_80D1A70
-sub_80D1A70: @ 80D1A70
- push {r4,lr}
- adds r3, r0, 0
- ldr r4, _080D1AD8
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- movs r2, 0x1
- ldrb r1, [r0, 0x12]
- ands r1, r2
- lsls r1, 2
- mov r0, r12
- ldrb r2, [r0]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- adds r0, r3, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080D1AD2
- movs r0, 0x30
- ldrsh r1, [r3, r0]
- lsls r1, 1
- movs r0, 0x2E
- ldrsh r2, [r3, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r0, r4, 0
- adds r0, 0x8
- adds r1, r0
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r3, 0
- bl DestroySprite
-_080D1AD2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1AD8: .4byte gTasks
- thumb_func_end sub_80D1A70
-
- thumb_func_start sub_80D1ADC
-sub_80D1ADC: @ 80D1ADC
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080D1B34
- bl IndexOfSpritePaletteTag
- mov r1, sp
- strb r0, [r1]
- movs r5, 0x1
- ldr r0, _080D1B38
- adds r4, r0, 0
-_080D1AF4:
- subs r0, r4, r5
- lsls r0, 16
- lsrs r0, 16
- bl AllocSpritePalette
- mov r2, sp
- adds r1, r2, r5
- strb r0, [r1]
- adds r5, 0x1
- cmp r5, 0x4
- ble _080D1AF4
- ldr r4, _080D1B3C
- bl sub_8076BE0
- lsls r0, 24
- ldr r1, _080D1B40
- cmp r0, 0
- beq _080D1B1C
- ldr r0, _080D1B44
- adds r1, r0
-_080D1B1C:
- adds r0, r4, 0
- bl sub_800D238
- movs r5, 0
-_080D1B24:
- lsls r4, r5, 5
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080D1B4C
- ldr r0, _080D1B48
- b _080D1B4E
- .align 2, 0
-_080D1B34: .4byte 0x000027de
-_080D1B38: .4byte 0x00002710
-_080D1B3C: .4byte gBattleAnimSpritePalette_206
-_080D1B40: .4byte 0x02018000
-_080D1B44: .4byte 0xffffc800
-_080D1B48: .4byte 0x02014800
-_080D1B4C:
- ldr r0, _080D1B7C
-_080D1B4E:
- adds r2, r4, r0
- mov r1, sp
- adds r0, r1, r5
- ldrb r1, [r0]
- lsls r1, 20
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- lsrs r1, 16
- adds r0, r2, 0
- movs r2, 0x20
- bl LoadPalette
- adds r5, 0x1
- cmp r5, 0x4
- ble _080D1B24
- adds r0, r6, 0
- bl move_anim_task_del
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1B7C: .4byte 0x02018000
- thumb_func_end sub_80D1ADC
-
- thumb_func_start sub_80D1B80
-sub_80D1B80: @ 80D1B80
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, _080D1BA4
- movs r4, 0x4
-_080D1B8A:
- ldrh r0, [r5]
- bl FreeSpritePaletteByTag
- adds r5, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080D1B8A
- adds r0, r6, 0
- bl move_anim_task_del
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1BA4: .4byte gUnknown_083D7A5C
- thumb_func_end sub_80D1B80
-
- thumb_func_start sub_80D1BA8
-sub_80D1BA8: @ 80D1BA8
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 24
- lsls r2, 24
- lsrs r3, r2, 24
- movs r0, 0x1
- ands r3, r0
- negs r0, r3
- orrs r0, r3
- asrs r0, 31
- movs r3, 0x20
- ands r0, r3
- ldrh r4, [r5, 0x4]
- lsls r3, r4, 22
- lsrs r3, 22
- lsrs r1, 22
- adds r0, r1
- adds r3, r0
- ldr r1, _080D1BFC
- adds r0, r1, 0
- ands r3, r0
- ldr r0, _080D1C00
- ands r0, r4
- orrs r0, r3
- strh r0, [r5, 0x4]
- ldr r0, _080D1C04
- lsrs r2, 25
- lsls r2, 1
- adds r2, r0
- ldrh r0, [r2]
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- ldrb r2, [r5, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r5, 0x5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1BFC: .4byte 0x000003ff
-_080D1C00: .4byte 0xfffffc00
-_080D1C04: .4byte gUnknown_083D7A5C
- thumb_func_end sub_80D1BA8
-
- thumb_func_start sub_80D1C08
-sub_80D1C08: @ 80D1C08
- push {r4-r6,lr}
- adds r5, r0, 0
- movs r1, 0
- bl sub_80787B0
- ldr r6, _080D1C70
- ldrb r0, [r6]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D1C28
- ldr r1, _080D1C74
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080D1C28:
- ldr r4, _080D1C74
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x2E]
- ldrb r0, [r6]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrb r0, [r6]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r5, 0x36]
- ldr r0, _080D1C78
- str r0, [r5, 0x1C]
- ldr r1, _080D1C7C
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldrb r1, [r4, 0xA]
- ldrb r2, [r4, 0xC]
- adds r0, r5, 0
- bl sub_80D1BA8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1C70: .4byte gUnknown_0202F7C8
-_080D1C74: .4byte gUnknown_03004B00
-_080D1C78: .4byte sub_8078B34
-_080D1C7C: .4byte move_anim_8072740
- thumb_func_end sub_80D1C08
-
- thumb_func_start sub_80D1C80
-sub_80D1C80: @ 80D1C80
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080D1C9A
- adds r0, r4, 0
- movs r1, 0
- bl sub_80787B0
-_080D1C9A:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r2, [r4, 0x32]
- lsls r0, r2, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x7
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- subs r2, 0x80
- strh r2, [r4, 0x32]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x3C
- bne _080D1CCA
- adds r0, r4, 0
- bl move_anim_8072740
-_080D1CCA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D1C80
-
- thumb_func_start sub_80D1CD0
-sub_80D1CD0: @ 80D1CD0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8076BE0
- lsls r0, 24
- movs r2, 0xF0
- cmp r0, 0
- beq _080D1CE4
- movs r2, 0x98
-_080D1CE4:
- movs r3, 0
- ldr r0, _080D1D2C
- strh r2, [r0]
- ldr r0, _080D1D30
- movs r1, 0xA0
- strh r1, [r0]
- ldr r0, _080D1D34
- strh r2, [r0]
- adds r0, 0x4
- strh r1, [r0]
- ldr r1, _080D1D38
- ldr r5, _080D1D3C
- adds r0, r5, 0
- strh r0, [r1]
- adds r1, 0x2
- adds r5, 0x20
- adds r0, r5, 0
- strh r0, [r1]
- adds r1, 0x6
- movs r0, 0xC8
- strh r0, [r1]
- adds r1, 0x4
- movs r0, 0x10
- strh r0, [r1]
- ldr r1, _080D1D40
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r3, [r0, 0x8]
- strh r2, [r0, 0xA]
- ldr r1, _080D1D44
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1D2C: .4byte gUnknown_030042C4
-_080D1D30: .4byte gUnknown_03004240
-_080D1D34: .4byte REG_WIN0H
-_080D1D38: .4byte REG_WININ
-_080D1D3C: .4byte 0x00003f1f
-_080D1D40: .4byte gTasks
-_080D1D44: .4byte sub_80D1D48
- thumb_func_end sub_80D1CD0
-
- thumb_func_start sub_80D1D48
-sub_80D1D48: @ 80D1D48
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080D1D7C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r0, [r3, 0x8]
- adds r4, r0, 0
- adds r4, 0xD
- strh r4, [r3, 0x8]
- ldrh r0, [r3, 0xA]
- adds r2, r0, 0
- subs r2, 0xD
- strh r2, [r3, 0xA]
- lsls r1, r4, 16
- lsls r0, r2, 16
- cmp r1, r0
- blt _080D1D88
- ldr r0, _080D1D80
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080D1D84
- str r0, [r3]
- b _080D1D90
- .align 2, 0
-_080D1D7C: .4byte gTasks
-_080D1D80: .4byte gUnknown_030042C4
-_080D1D84: .4byte sub_80D1D9C
-_080D1D88:
- ldr r1, _080D1D98
- lsls r0, r4, 8
- orrs r2, r0
- strh r2, [r1]
-_080D1D90:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1D98: .4byte gUnknown_030042C4
- thumb_func_end sub_80D1D48
-
- thumb_func_start sub_80D1D9C
-sub_80D1D9C: @ 80D1D9C
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- ldr r5, _080D1DEC
- lsls r0, r2, 2
- adds r0, r2
- lsls r3, r0, 3
- adds r1, r3, r5
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- movs r4, 0
- strh r0, [r1, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _080D1DF8
- movs r0, 0x88
- strh r0, [r1, 0x1E]
- adds r0, r5, r3
- adds r0, 0x1E
- ldr r1, _080D1DF0
- movs r2, 0x2
- bl RequestSpriteCopy
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80791A8
- ldr r2, _080D1DF4
- movs r1, 0x10
- bl BlendPalettes
- b _080D1E1E
- .align 2, 0
-_080D1DEC: .4byte gTasks
-_080D1DF0: .4byte REG_BLDCNT
-_080D1DF4: .4byte 0x00007fff
-_080D1DF8:
- cmp r0, 0x4
- ble _080D1E1E
- ldr r0, _080D1E28
- strh r4, [r0]
- ldr r0, _080D1E2C
- strh r4, [r0]
- ldr r0, _080D1E30
- ldr r3, _080D1E34
- adds r1, r3, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x6
- strh r4, [r0]
- adds r0, 0x4
- strh r4, [r0]
- adds r0, r2, 0
- bl move_anim_task_del
-_080D1E1E:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1E28: .4byte gUnknown_030042C4
-_080D1E2C: .4byte gUnknown_03004240
-_080D1E30: .4byte REG_WININ
-_080D1E34: .4byte 0x00003f3f
- thumb_func_end sub_80D1D9C
-
- thumb_func_start sub_80D1E38
-sub_80D1E38: @ 80D1E38
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080D1E88
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080D1E94
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080D1E8C
- adds r0, r5, 0
- bl sub_80798F4
- ldr r1, _080D1E90
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0, 0x24]
- b _080D1EBC
- .align 2, 0
-_080D1E88: .4byte gTasks
-_080D1E8C: .4byte gUnknown_083D7A98
-_080D1E90: .4byte gSprites
-_080D1E94:
- ldr r1, _080D1EC4
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r4, r0, r1
- ldrh r0, [r4, 0x24]
- negs r0, r0
- strh r0, [r4, 0x24]
- adds r0, r5, 0
- bl sub_807992C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080D1EBC
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r0, r6, 0
- bl move_anim_task_del
-_080D1EBC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1EC4: .4byte gSprites
- thumb_func_end sub_80D1E38
-
- thumb_func_start sub_80D1EC8
-sub_80D1EC8: @ 80D1EC8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080D1F18
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080D1F24
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080D1F1C
- adds r0, r5, 0
- bl sub_80798F4
- ldr r1, _080D1F20
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- movs r1, 0x4
- strh r1, [r0, 0x24]
- b _080D1F4C
- .align 2, 0
-_080D1F18: .4byte gTasks
-_080D1F1C: .4byte gUnknown_083D7A98
-_080D1F20: .4byte gSprites
-_080D1F24:
- ldr r1, _080D1F54
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r4, r0, r1
- ldrh r0, [r4, 0x24]
- negs r0, r0
- strh r0, [r4, 0x24]
- adds r0, r5, 0
- bl sub_807992C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080D1F4C
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r0, r6, 0
- bl move_anim_task_del
-_080D1F4C:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1F54: .4byte gSprites
- thumb_func_end sub_80D1EC8
-
- thumb_func_start sub_80D1F58
-sub_80D1F58: @ 80D1F58
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- movs r0, 0x5F
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldr r5, _080D1F9C
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r0, _080D1FA0
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D1F9C: .4byte gUnknown_0202F7C9
-_080D1FA0: .4byte sub_80D1FA4
- thumb_func_end sub_80D1F58
-
- thumb_func_start sub_80D1FA4
-sub_80D1FA4: @ 80D1FA4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- bne _080D1FCE
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xE
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _080D1FD4
-_080D1FCE:
- adds r0, r4, 0
- bl move_anim_8072740
-_080D1FD4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D1FA4
-
- thumb_func_start sub_80D1FDC
-sub_80D1FDC: @ 80D1FDC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D2000
- ldr r1, _080D1FFC
- ldrh r0, [r1]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x32]
- adds r0, r2, 0x1
- strh r0, [r4, 0x2E]
- b _080D205C
- .align 2, 0
-_080D1FFC: .4byte gUnknown_03004B00
-_080D2000:
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- cmp r0, 0x64
- ble _080D204E
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080D204E:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x78
- ble _080D205C
- adds r0, r4, 0
- bl move_anim_8072740
-_080D205C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D1FDC
-
- thumb_func_start sub_80D2064
-sub_80D2064: @ 80D2064
- push {lr}
- ldr r2, _080D2088
- ldrh r1, [r2]
- strh r1, [r0, 0x20]
- movs r1, 0xA0
- strh r1, [r0, 0x22]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x2E]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x30]
- ldr r1, _080D208C
- str r1, [r0, 0x1C]
- ldr r1, _080D2090
- bl oamt_set_x3A_32
- pop {r0}
- bx r0
- .align 2, 0
-_080D2088: .4byte gUnknown_03004B00
-_080D208C: .4byte sub_80782D8
-_080D2090: .4byte sub_80D2094
- thumb_func_end sub_80D2064
-
- thumb_func_start sub_80D2094
-sub_80D2094: @ 80D2094
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- lsls r0, 16
- lsrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r1, 0x4
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x34]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- lsls r0, 16
- asrs r5, r0, 16
- cmp r5, 0x48
- bgt _080D20FA
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- cmp r5, 0x40
- bgt _080D20FA
- adds r0, r4, 0
- bl move_anim_8072740
-_080D20FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D2094
-
- thumb_func_start sub_80D2100
-sub_80D2100: @ 80D2100
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080D21BC
- ldr r2, _080D21C0
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, _080D21C4
- ldrb r0, [r4]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4, 0x1]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080D2144
- ldrb r0, [r4]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4]
-_080D2144:
- ldr r0, _080D21C8
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080D21CC
- strh r1, [r0]
- ldr r0, _080D21D0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- mov r0, sp
- bl sub_8078914
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r2, _080D21D4
- add r0, sp, 0xC
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _080D21D8
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, _080D21DC
- bl LZDecompressVram
- ldr r0, _080D21E0
- ldr r1, [sp]
- bl LZDecompressVram
- ldr r0, _080D21E4
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080D21A4
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80763FC
-_080D21A4:
- ldr r0, _080D21E8
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080D21EC
- str r0, [r1]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D21BC: .4byte REG_BLDCNT
-_080D21C0: .4byte 0x00003f42
-_080D21C4: .4byte REG_BG1CNT
-_080D21C8: .4byte gUnknown_030042C0
-_080D21CC: .4byte gUnknown_030041B4
-_080D21D0: .4byte REG_BG1HOFS
-_080D21D4: .4byte 0x040000d4
-_080D21D8: .4byte 0x85000400
-_080D21DC: .4byte gAttractTilemap
-_080D21E0: .4byte gAttractGfx
-_080D21E4: .4byte gAttractPal
-_080D21E8: .4byte gTasks
-_080D21EC: .4byte sub_80D21F0
- thumb_func_end sub_80D2100
-
- thumb_func_start sub_80D21F0
-sub_80D21F0: @ 80D21F0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080D2220
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x4
- bls _080D2216
- b _080D238C
-_080D2216:
- lsls r0, 2
- ldr r1, _080D2224
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080D2220: .4byte gTasks
-_080D2224: .4byte _080D2228
- .align 2, 0
-_080D2228:
- .4byte _080D223C
- .4byte _080D2284
- .4byte _080D22A6
- .4byte _080D22E8
- .4byte _080D236C
-_080D223C:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- movs r4, 0
- strh r0, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- beq _080D2256
- b _080D238C
-_080D2256:
- strh r4, [r3, 0x1C]
- ldrh r1, [r3, 0x1E]
- adds r1, 0x1
- strh r1, [r3, 0x1E]
- ldr r2, _080D2280
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r1, 0x1E
- ldrsh r0, [r3, r1]
- cmp r0, 0x10
- beq _080D2274
- b _080D238C
-_080D2274:
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
- strh r4, [r3, 0x1E]
- b _080D238C
- .align 2, 0
-_080D2280: .4byte REG_BLDALPHA
-_080D2284:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r2
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- strh r0, [r1, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8D
- bne _080D238C
- movs r0, 0x10
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _080D238C
-_080D22A6:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- strh r0, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080D238C
- movs r0, 0
- strh r0, [r3, 0x1C]
- ldrh r1, [r3, 0x1E]
- subs r1, 0x1
- strh r1, [r3, 0x1E]
- ldr r2, _080D22E4
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r2, 0x1E
- ldrsh r1, [r3, r2]
- cmp r1, 0
- bne _080D238C
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
- strh r1, [r3, 0x1E]
- b _080D238C
- .align 2, 0
-_080D22E4: .4byte REG_BLDALPHA
-_080D22E8:
- mov r0, sp
- bl sub_8078914
- ldr r2, [sp]
- movs r3, 0x80
- lsls r3, 6
- lsls r0, r5, 2
- mov r10, r0
- add r6, sp, 0xC
- movs r7, 0
- ldr r1, _080D239C
- movs r4, 0x80
- lsls r4, 5
- mov r8, r6
- ldr r0, _080D23A0
- mov r12, r0
- movs r0, 0x85
- lsls r0, 24
- mov r9, r0
-_080D230E:
- str r7, [sp, 0xC]
- mov r0, r8
- str r0, [r1]
- str r2, [r1, 0x4]
- mov r0, r12
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080D230E
- str r7, [sp, 0xC]
- str r6, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r9
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r0, _080D239C
- str r6, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080D23A4
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080D235C
- ldr r2, _080D23A8
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080D235C:
- ldr r0, _080D23AC
- mov r2, r10
- adds r1, r2, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
-_080D236C:
- ldr r0, _080D23B0
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r2, _080D23A8
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- adds r0, r5, 0
- bl move_anim_task_del
-_080D238C:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D239C: .4byte 0x040000d4
-_080D23A0: .4byte 0x85000400
-_080D23A4: .4byte 0x85000200
-_080D23A8: .4byte REG_BG1CNT
-_080D23AC: .4byte gTasks
-_080D23B0: .4byte REG_BLDCNT
- thumb_func_end sub_80D21F0
-
- thumb_func_start sub_80D23B4
-sub_80D23B4: @ 80D23B4
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080D2438
- ldr r2, _080D243C
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, _080D2440
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4, 0x1]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080D23FE
- ldrb r0, [r4]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4]
-_080D23FE:
- ldr r0, _080D2444
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080D2448
- strh r1, [r0]
- ldr r0, _080D244C
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- mov r0, sp
- bl sub_8078914
- ldr r2, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r1, _080D2450
- add r0, sp, 0xC
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _080D2454
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080D245C
- ldr r0, _080D2458
- b _080D246E
- .align 2, 0
-_080D2438: .4byte REG_BLDCNT
-_080D243C: .4byte 0x00003f42
-_080D2440: .4byte REG_BG1CNT
-_080D2444: .4byte gUnknown_030042C0
-_080D2448: .4byte gUnknown_030041B4
-_080D244C: .4byte REG_BG1HOFS
-_080D2450: .4byte 0x040000d4
-_080D2454: .4byte 0x85000400
-_080D2458: .4byte gBattleAnimBackgroundTilemap_ScaryFaceContest
-_080D245C:
- ldr r0, _080D2478
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D2480
- ldr r0, _080D247C
-_080D246E:
- ldr r1, [sp, 0x4]
- bl LZDecompressVram
- b _080D2488
- .align 2, 0
-_080D2478: .4byte gUnknown_0202F7C9
-_080D247C: .4byte gBattleAnimBackgroundTilemap_ScaryFacePlayer
-_080D2480:
- ldr r0, _080D24CC
- ldr r1, [sp, 0x4]
- bl LZDecompressVram
-_080D2488:
- ldr r0, _080D24D0
- ldr r1, [sp]
- bl LZDecompressVram
- ldr r0, _080D24D4
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080D24B6
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80763FC
-_080D24B6:
- ldr r0, _080D24D8
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080D24DC
- str r0, [r1]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D24CC: .4byte gBattleAnimBackgroundTilemap_ScaryFaceOpponent
-_080D24D0: .4byte gBattleAnimBackgroundImage_ScaryFace
-_080D24D4: .4byte gBattleAnimBackgroundPalette_ScaryFace
-_080D24D8: .4byte gTasks
-_080D24DC: .4byte sub_80D24E0
- thumb_func_end sub_80D23B4
-
- thumb_func_start sub_80D24E0
-sub_80D24E0: @ 80D24E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080D2510
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0x20
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x4
- bls _080D2506
- b _080D267C
-_080D2506:
- lsls r0, 2
- ldr r1, _080D2514
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080D2510: .4byte gTasks
-_080D2514: .4byte _080D2518
- .align 2, 0
-_080D2518:
- .4byte _080D252C
- .4byte _080D2574
- .4byte _080D2596
- .4byte _080D25D8
- .4byte _080D265C
-_080D252C:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- movs r4, 0
- strh r0, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- beq _080D2546
- b _080D267C
-_080D2546:
- strh r4, [r3, 0x1C]
- ldrh r1, [r3, 0x1E]
- adds r1, 0x1
- strh r1, [r3, 0x1E]
- ldr r2, _080D2570
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r1, 0x1E
- ldrsh r0, [r3, r1]
- cmp r0, 0xE
- beq _080D2564
- b _080D267C
-_080D2564:
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
- strh r4, [r3, 0x1E]
- b _080D267C
- .align 2, 0
-_080D2570: .4byte REG_BLDALPHA
-_080D2574:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r1, r0, r2
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- strh r0, [r1, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _080D267C
- movs r0, 0xE
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _080D267C
-_080D2596:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- strh r0, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080D267C
- movs r0, 0
- strh r0, [r3, 0x1C]
- ldrh r1, [r3, 0x1E]
- subs r1, 0x1
- strh r1, [r3, 0x1E]
- ldr r2, _080D25D4
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r2, 0x1E
- ldrsh r1, [r3, r2]
- cmp r1, 0
- bne _080D267C
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
- strh r1, [r3, 0x1E]
- b _080D267C
- .align 2, 0
-_080D25D4: .4byte REG_BLDALPHA
-_080D25D8:
- mov r0, sp
- bl sub_8078914
- ldr r2, [sp]
- movs r3, 0x80
- lsls r3, 6
- lsls r0, r5, 2
- mov r10, r0
- add r6, sp, 0xC
- movs r7, 0
- ldr r1, _080D268C
- movs r4, 0x80
- lsls r4, 5
- mov r8, r6
- ldr r0, _080D2690
- mov r12, r0
- movs r0, 0x85
- lsls r0, 24
- mov r9, r0
-_080D25FE:
- str r7, [sp, 0xC]
- mov r0, r8
- str r0, [r1]
- str r2, [r1, 0x4]
- mov r0, r12
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080D25FE
- str r7, [sp, 0xC]
- str r6, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r9
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r0, _080D268C
- str r6, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080D2694
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080D264C
- ldr r2, _080D2698
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080D264C:
- ldr r0, _080D269C
- mov r2, r10
- adds r1, r2, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
-_080D265C:
- ldr r0, _080D26A0
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r2, _080D2698
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- adds r0, r5, 0
- bl move_anim_task_del
-_080D267C:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D268C: .4byte 0x040000d4
-_080D2690: .4byte 0x85000400
-_080D2694: .4byte 0x85000200
-_080D2698: .4byte REG_BG1CNT
-_080D269C: .4byte gTasks
-_080D26A0: .4byte REG_BLDCNT
- thumb_func_end sub_80D24E0
-
- thumb_func_start sub_80D26A4
-sub_80D26A4: @ 80D26A4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080D26F8
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _080D26FC
- ldrh r0, [r1]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x30]
- ldrb r0, [r5]
- bl sub_8079E90
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x3C]
- ldr r1, _080D2700
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D26F8: .4byte gUnknown_0202F7C8
-_080D26FC: .4byte gUnknown_03004B00
-_080D2700: .4byte sub_80D2704
- thumb_func_end sub_80D26A4
-
- thumb_func_start sub_80D2704
-sub_80D2704: @ 80D2704
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7F
- bhi _080D271A
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- b _080D271E
-_080D271A:
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1
-_080D271E:
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- bl Sin
- strh r0, [r4, 0x24]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- ldrh r1, [r4, 0x34]
- lsls r1, 16
- asrs r1, 24
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x9
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r3, 0x38
- ldrsh r2, [r4, r3]
- cmp r2, 0
- beq _080D2790
- cmp r2, 0x1
- bne _080D27C0
- ldr r1, _080D2788
- adds r0, r1, 0
- ldrh r2, [r4, 0x32]
- adds r0, r2
- strh r0, [r4, 0x32]
- ldr r3, _080D278C
- adds r0, r3, 0
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _080D27C0
- movs r0, 0x2
- strh r0, [r4, 0x38]
- b _080D27D0
- .align 2, 0
-_080D2788: .4byte 0xfffffc00
-_080D278C: .4byte 0xffffff00
-_080D2790:
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- movs r3, 0x80
- lsls r3, 1
- adds r0, r3, 0
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bne _080D27C0
- strh r2, [r4, 0x36]
- movs r0, 0x1
- strh r0, [r4, 0x38]
-_080D27C0:
- ldr r0, _080D27D8
- ldrh r1, [r0, 0xE]
- ldr r0, _080D27DC
- cmp r1, r0
- bne _080D27D0
- adds r0, r4, 0
- bl move_anim_8072740
-_080D27D0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D27D8: .4byte gUnknown_03004B00
-_080D27DC: .4byte 0x0000ffff
- thumb_func_end sub_80D2704
-
- thumb_func_start sub_80D27E0
-sub_80D27E0: @ 80D27E0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080D2828
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r4, _080D282C
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- strh r0, [r5, 0x2E]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x7
- bl Cos
- strh r0, [r5, 0x30]
- ldr r0, _080D2830
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D2828: .4byte gUnknown_0202F7C8
-_080D282C: .4byte gUnknown_03004B00
-_080D2830: .4byte sub_80D2834
- thumb_func_end sub_80D27E0
-
- thumb_func_start sub_80D2834
-sub_80D2834: @ 80D2834
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x30]
- ldrh r3, [r2, 0x26]
- adds r0, r3
- strh r0, [r2, 0x26]
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- movs r3, 0x24
- ldrsh r1, [r2, r3]
- adds r0, r1
- adds r0, 0x10
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- bhi _080D2872
- movs r0, 0x22
- ldrsh r1, [r2, r0]
- movs r3, 0x26
- ldrsh r0, [r2, r3]
- adds r1, r0
- cmp r1, 0xA0
- bgt _080D2872
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _080D2878
-_080D2872:
- adds r0, r2, 0
- bl move_anim_8072740
-_080D2878:
- pop {r0}
- bx r0
- thumb_func_end sub_80D2834
-
- thumb_func_start sub_80D287C
-sub_80D287C: @ 80D287C
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x30]
- ldrh r3, [r2, 0x26]
- adds r0, r3
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x34]
- adds r1, r0, 0x1
- strh r1, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _080D28A8
- adds r0, r2, 0
- bl move_anim_8072740
-_080D28A8:
- pop {r0}
- bx r0
- thumb_func_end sub_80D287C
-
- thumb_func_start sub_80D28AC
-sub_80D28AC: @ 80D28AC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080D28F8
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r4, _080D28FC
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- strh r0, [r5, 0x2E]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x7
- bl Cos
- strh r0, [r5, 0x30]
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x32]
- ldr r0, _080D2900
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D28F8: .4byte gUnknown_0202F7C8
-_080D28FC: .4byte gUnknown_03004B00
-_080D2900: .4byte sub_80D287C
- thumb_func_end sub_80D28AC
-
- thumb_func_start sub_80D2904
-sub_80D2904: @ 80D2904
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080D291A
- adds r0, r2, 0
- bl move_anim_8072740
-_080D291A:
- pop {r0}
- bx r0
- thumb_func_end sub_80D2904
-
- thumb_func_start sub_80D2920
-sub_80D2920: @ 80D2920
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r0, _080D2934
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D2934: .4byte sub_80D2904
- thumb_func_end sub_80D2920
-
- thumb_func_start sub_80D2938
-sub_80D2938: @ 80D2938
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D2956
- ldr r0, _080D29C8
- ldrh r1, [r0]
- ldrh r2, [r4, 0x20]
- adds r1, r2
- strh r1, [r4, 0x20]
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_080D2956:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- lsls r0, r1, 2
- adds r0, r1
- lsls r5, r0, 1
- movs r0, 0xFF
- ands r5, r0
- adds r0, r5, 0
- movs r1, 0x50
- bl Sin
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x4F
- bgt _080D299A
- adds r0, r5, 0
- movs r1, 0x50
- bl Cos
- movs r2, 0x2E
- ldrsh r1, [r4, r2]
- lsrs r2, r1, 31
- adds r1, r2
- asrs r1, 1
- lsls r0, 16
- asrs r0, 24
- adds r1, r0
- strh r1, [r4, 0x26]
-_080D299A:
- movs r0, 0x2E
- ldrsh r2, [r4, r0]
- cmp r2, 0x5A
- ble _080D29B8
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r0, [r4, 0x24]
- subs r0, r1
- strh r0, [r4, 0x24]
-_080D29B8:
- cmp r2, 0x64
- ble _080D29C2
- adds r0, r4, 0
- bl move_anim_8072740
-_080D29C2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D29C8: .4byte gUnknown_03004B00
- thumb_func_end sub_80D2938
-
- thumb_func_start sub_80D29CC
-sub_80D29CC: @ 80D29CC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r1, 0x5
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x14
- ble _080D2A22
- adds r1, r0, 0
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080D2A22:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0x1E
- ble _080D2A30
- adds r0, r4, 0
- bl move_anim_8072740
-_080D2A30:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D29CC
-
- thumb_func_start sub_80D2A38
-sub_80D2A38: @ 80D2A38
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D2A5C
- ldr r1, _080D2A58
- ldrh r0, [r1]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x32]
- adds r0, r2, 0x1
- strh r0, [r4, 0x2E]
- b _080D2AB0
- .align 2, 0
-_080D2A58: .4byte gUnknown_03004B00
-_080D2A5C:
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- movs r5, 0
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- adds r2, r0, 0
- strh r2, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- cmp r0, 0x46
- ble _080D2AB0
- ldr r0, _080D2AB8
- str r0, [r4, 0x1C]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x22]
- adds r0, r2, r1
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x24]
- strh r5, [r4, 0x26]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xB4
- bl __umodsi3
- strh r0, [r4, 0x34]
-_080D2AB0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D2AB8: .4byte sub_80D29CC
- thumb_func_end sub_80D2A38
-
- thumb_func_start sub_80D2ABC
-sub_80D2ABC: @ 80D2ABC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D2AF6
- ldr r1, _080D2BB8
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
- ldr r0, _080D2BBC
- ldrb r0, [r0]
- bl sub_8079E90
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- movs r0, 0x1
- strh r0, [r4, 0x32]
-_080D2AF6:
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r0, r2
- strh r0, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- lsls r1, r0, 2
- adds r0, r1, 0
- cmp r1, 0
- bge _080D2B0C
- adds r0, 0xFF
-_080D2B0C:
- asrs r0, 8
- lsls r0, 8
- subs r0, r1, r0
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bge _080D2B1E
- movs r0, 0
- strh r0, [r4, 0x30]
-_080D2B1E:
- movs r0, 0x30
- ldrsh r2, [r4, r0]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _080D2B2C
- adds r0, 0x3
-_080D2B2C:
- asrs r0, 2
- movs r1, 0x1E
- subs r1, r0
- adds r0, r2, 0
- bl Cos
- strh r0, [r4, 0x24]
- movs r0, 0x30
- ldrsh r2, [r4, r0]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _080D2B48
- adds r0, 0x7
-_080D2B48:
- asrs r0, 3
- movs r1, 0xA
- subs r1, r0
- adds r0, r2, 0
- bl Sin
- strh r0, [r4, 0x26]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0x80
- ble _080D2B6C
- ldrh r1, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080D2B6C
- ldr r0, _080D2BC0
- strh r0, [r4, 0x32]
-_080D2B6C:
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D2B80
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bge _080D2B80
- movs r0, 0x1
- strh r0, [r4, 0x32]
-_080D2B80:
- ldrh r0, [r4, 0x34]
- adds r1, r0, 0x1
- strh r1, [r4, 0x34]
- subs r0, 0x9
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x46
- bls _080D2BC4
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _080D2BD2
- .align 2, 0
-_080D2BB8: .4byte gUnknown_03004B00
-_080D2BBC: .4byte gUnknown_0202F7C9
-_080D2BC0: .4byte 0x0000ffff
-_080D2BC4:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080D2BD2:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x5A
- ble _080D2BE0
- adds r0, r4, 0
- bl move_anim_8072740
-_080D2BE0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D2ABC
-
- thumb_func_start sub_80D2BE8
-sub_80D2BE8: @ 80D2BE8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D2C1C
- ldr r1, _080D2C18
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrb r1, [r1, 0x4]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080D2C30
- .align 2, 0
-_080D2C18: .4byte gUnknown_03004B00
-_080D2C1C:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080D2C30
- adds r0, r4, 0
- bl move_anim_8072740
-_080D2C30:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D2BE8
-
- thumb_func_start sub_80D2C38
-sub_80D2C38: @ 80D2C38
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r1, _080D2C50
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080D2C54
- adds r0, r5, 0
- bl move_anim_8072740
- b _080D2CB8
- .align 2, 0
-_080D2C50: .4byte gUnknown_03004B00
-_080D2C54:
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080D2C64
- ldr r4, _080D2C60
- b _080D2C66
- .align 2, 0
-_080D2C60: .4byte gUnknown_0202F7C8
-_080D2C64:
- ldr r4, _080D2C94
-_080D2C66:
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r0, _080D2C98
- movs r2, 0x2
- ldrsh r1, [r0, r2]
- adds r2, r0, 0
- cmp r1, 0
- bne _080D2C9C
- ldrh r0, [r5, 0x20]
- adds r0, 0x20
- b _080D2CA0
- .align 2, 0
-_080D2C94: .4byte gUnknown_0202F7C9
-_080D2C98: .4byte gUnknown_03004B00
-_080D2C9C:
- ldrh r0, [r5, 0x20]
- subs r0, 0x20
-_080D2CA0:
- strh r0, [r5, 0x20]
- ldrh r0, [r2, 0x4]
- strh r0, [r5, 0x2E]
- ldrh r1, [r2, 0x2]
- strh r1, [r5, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- ldr r0, _080D2CC0
- str r0, [r5, 0x1C]
-_080D2CB8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D2CC0: .4byte sub_80D2CC4
- thumb_func_end sub_80D2C38
-
- thumb_func_start sub_80D2CC4
-sub_80D2CC4: @ 80D2CC4
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080D2CF4
- ldrh r0, [r2, 0x2E]
- subs r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- cmp r0, 0
- beq _080D2CEE
- ldrh r1, [r2, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
- b _080D2CF4
-_080D2CEE:
- adds r0, r2, 0
- bl move_anim_8072740
-_080D2CF4:
- pop {r0}
- bx r0
- thumb_func_end sub_80D2CC4
-
- thumb_func_start sub_80D2CF8
-sub_80D2CF8: @ 80D2CF8
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r0, _080D2D2C
- ldrb r0, [r0]
- bl obj_id_for_side_relative_to_move
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- ldr r0, _080D2D30
- adds r4, r0
- ldr r2, _080D2D34
- adds r0, r4, 0
- bl sub_80798F4
- ldr r0, _080D2D38
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D2D2C: .4byte gUnknown_03004B00
-_080D2D30: .4byte gTasks
-_080D2D34: .4byte gUnknown_083D7CA8
-_080D2D38: .4byte sub_80D2D3C
- thumb_func_end sub_80D2CF8
-
- thumb_func_start sub_80D2D3C
-sub_80D2D3C: @ 80D2D3C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080D2D64
- adds r0, r1
- bl sub_807992C
- lsls r0, 24
- cmp r0, 0
- bne _080D2D5C
- adds r0, r4, 0
- bl move_anim_task_del
-_080D2D5C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D2D64: .4byte gTasks
- thumb_func_end sub_80D2D3C
-
- thumb_func_start sub_80D2D68
-sub_80D2D68: @ 80D2D68
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r0, _080D2D7C
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D2D84
- ldr r0, _080D2D80
- b _080D2D86
- .align 2, 0
-_080D2D7C: .4byte gUnknown_03004B00
-_080D2D80: .4byte gUnknown_0202F7C8
-_080D2D84:
- ldr r0, _080D2E1C
-_080D2D86:
- ldrb r6, [r0]
- adds r0, r6, 0
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D2DA0
- ldr r1, _080D2E20
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080D2DA0:
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- ldr r7, _080D2E20
- lsrs r0, 24
- ldrh r3, [r7, 0x2]
- adds r0, r3
- movs r4, 0
- strh r0, [r5, 0x20]
- adds r0, r6, 0
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r7, 0x4]
- adds r0, r1
- strh r0, [r5, 0x22]
- strh r4, [r5, 0x2E]
- ldrh r1, [r5, 0x20]
- lsls r1, 3
- strh r1, [r5, 0x30]
- lsls r0, 3
- strh r0, [r5, 0x32]
- movs r2, 0x2
- ldrsh r0, [r7, r2]
- lsls r0, 3
- cmp r0, 0
- bge _080D2DE0
- adds r0, 0x7
-_080D2DE0:
- asrs r0, 3
- strh r0, [r5, 0x34]
- movs r3, 0x4
- ldrsh r0, [r7, r3]
- lsls r0, 3
- cmp r0, 0
- bge _080D2DF0
- adds r0, 0x7
-_080D2DF0:
- asrs r0, 3
- strh r0, [r5, 0x36]
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- movs r3, 0x6
- ldrsh r0, [r7, r3]
- lsls r0, 4
- adds r1, r0
- ldr r3, _080D2E24
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080D2E28
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r0, _080D2E2C
- str r0, [r5, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D2E1C: .4byte gUnknown_0202F7C9
-_080D2E20: .4byte gUnknown_03004B00
-_080D2E24: .4byte 0x000003ff
-_080D2E28: .4byte 0xfffffc00
-_080D2E2C: .4byte sub_80D2E30
- thumb_func_end sub_80D2D68
-
- thumb_func_start sub_80D2E30
-sub_80D2E30: @ 80D2E30
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x34]
- ldrh r1, [r2, 0x30]
- adds r0, r1
- strh r0, [r2, 0x30]
- ldrh r1, [r2, 0x36]
- ldrh r3, [r2, 0x32]
- adds r1, r3
- strh r1, [r2, 0x32]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r1, 19
- strh r1, [r2, 0x22]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080D2E64
- adds r0, r2, 0
- bl move_anim_8072740
-_080D2E64:
- pop {r0}
- bx r0
- thumb_func_end sub_80D2E30
-
- thumb_func_start sub_80D2E68
-sub_80D2E68: @ 80D2E68
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D2E8A
- ldr r0, _080D2EC4
- ldrh r1, [r0]
- movs r0, 0x78
- subs r0, r1
- strh r0, [r4, 0x30]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080D2E8A:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _080D2EA8
- ldrb r0, [r4, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- movs r1, 0
- bl sub_8079108
-_080D2EA8:
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- adds r0, 0x50
- cmp r1, r0
- bne _080D2EBC
- adds r0, r4, 0
- bl move_anim_8072740
-_080D2EBC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D2EC4: .4byte gUnknown_03004B00
- thumb_func_end sub_80D2E68
-
- thumb_func_start sub_80D2EC8
-sub_80D2EC8: @ 80D2EC8
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080D2EF6
- movs r5, 0x78
- strh r5, [r6, 0x20]
- ldr r4, _080D2F78
- movs r2, 0
- ldrsh r0, [r4, r2]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- subs r0, 0xF
- strh r0, [r6, 0x22]
- ldrb r1, [r4, 0x2]
- adds r0, r6, 0
- bl StartSpriteAnim
- strh r5, [r6, 0x38]
- ldrh r0, [r4, 0x4]
- strh r0, [r6, 0x34]
-_080D2EF6:
- ldrh r0, [r6, 0x2E]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r6, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r6, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r6, 0x30]
- movs r2, 0x2E
- ldrsh r0, [r6, r2]
- lsls r4, r0, 1
- adds r4, r0
- ldrh r0, [r6, 0x34]
- adds r4, r0
- movs r2, 0xFF
- ldrh r0, [r6, 0x3A]
- adds r0, 0xA
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r6, 0x3A]
- ands r4, r2
- adds r0, r4, 0
- movs r1, 0x64
- bl Cos
- strh r0, [r6, 0x24]
- adds r0, r4, 0
- movs r1, 0xA
- bl Sin
- adds r4, r0, 0
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- movs r1, 0x4
- bl Cos
- ldrh r2, [r6, 0x30]
- adds r4, r2
- adds r0, r4
- strh r0, [r6, 0x26]
- movs r0, 0x2E
- ldrsh r1, [r6, r0]
- movs r2, 0x38
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _080D2F72
- ldr r0, _080D2F7C
- str r0, [r6, 0x1C]
- strh r5, [r6, 0x2E]
- adds r0, r6, 0
- bl oamt_add_pos2_onto_pos1
- movs r0, 0x5
- strh r0, [r6, 0x32]
- strh r5, [r6, 0x36]
- strh r5, [r6, 0x34]
- adds r0, r6, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080D2F72:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D2F78: .4byte gUnknown_03004B00
-_080D2F7C: .4byte sub_80D2F80
- thumb_func_end sub_80D2EC8
-
- thumb_func_start sub_80D2F80
-sub_80D2F80: @ 80D2F80
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- ble _080D2F9A
- movs r0, 0
- strh r0, [r1, 0x2E]
- ldr r0, _080D2FA0
- str r0, [r1, 0x1C]
-_080D2F9A:
- pop {r0}
- bx r0
- .align 2, 0
-_080D2FA0: .4byte sub_80D2FA4
- thumb_func_end sub_80D2F80
-
- thumb_func_start sub_80D2FA4
-sub_80D2FA4: @ 80D2FA4
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x32]
- ldrh r2, [r4, 0x34]
- adds r0, r1, r2
- strh r0, [r4, 0x34]
- strh r0, [r4, 0x26]
- adds r1, 0x1
- strh r1, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x30
- ble _080D2FCE
- lsls r0, r1, 16
- cmp r0, 0
- ble _080D2FCE
- ldrh r0, [r4, 0x36]
- subs r1, r0, 0x5
- strh r1, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x36]
-_080D2FCE:
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _080D3000
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- adds r0, r4, 0
- bl move_anim_8072740
-_080D3000:
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bne _080D300E
- adds r0, r4, 0
- bl move_anim_8072740
-_080D300E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D2FA4
-
- thumb_func_start sub_80D3014
-sub_80D3014: @ 80D3014
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080D3058
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D3060
- ldr r4, _080D305C
- ldrb r1, [r4]
- movs r0, 0x2
- eors r0, r1
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080D3060
- ldrb r0, [r4]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- movs r1, 0
- bl sub_807A3FC
- ldrh r0, [r5, 0x22]
- adds r0, 0x28
- strh r0, [r5, 0x22]
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _080D3080
- .align 2, 0
-_080D3058: .4byte gUnknown_020239F8
-_080D305C: .4byte gUnknown_0202F7C8
-_080D3060:
- ldr r4, _080D30A0
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x28
- strh r0, [r5, 0x22]
-_080D3080:
- movs r0, 0xD
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- subs r0, 0x48
- strh r0, [r5, 0x36]
- ldr r0, _080D30A4
- str r0, [r5, 0x1C]
- ldr r1, _080D30A8
- adds r0, r5, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D30A0: .4byte gUnknown_0202F7C8
-_080D30A4: .4byte sub_8078B34
-_080D30A8: .4byte move_anim_8072740
- thumb_func_end sub_80D3014
-
- thumb_func_start sub_80D30AC
-sub_80D30AC: @ 80D30AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080D30C8
- ldr r1, _080D30CC
- ldr r1, [r1]
- ldrb r2, [r1, 0x10]
- movs r1, 0x1
- ands r1, r2
- strh r1, [r3, 0xE]
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_080D30C8: .4byte gUnknown_03004B00
-_080D30CC: .4byte gUnknown_0202F7B4
- thumb_func_end sub_80D30AC
-
- thumb_func_start update_fury_cutter_counter_copy
-update_fury_cutter_counter_copy: @ 80D30D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080D30E8
- ldr r1, _080D30EC
- ldr r1, [r1]
- ldrb r1, [r1, 0x10]
- strh r1, [r2, 0xE]
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_080D30E8: .4byte gUnknown_03004B00
-_080D30EC: .4byte gUnknown_0202F7B4
- thumb_func_end update_fury_cutter_counter_copy
-
- thumb_func_start sub_80D30F0
-sub_80D30F0: @ 80D30F0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, _080D3178
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080D3118
- ldr r1, _080D317C
- ldrh r0, [r1]
- strh r0, [r5, 0xA]
- ldrh r0, [r1, 0x2]
- strh r0, [r5, 0xC]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0xE]
-_080D3118:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- movs r2, 0x8
- ldrsh r0, [r5, r2]
- movs r2, 0xC
- ldrsh r1, [r5, r2]
- bl __modsi3
- cmp r0, 0x1
- bne _080D3160
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF0
- bl __umodsi3
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x50
- bl __umodsi3
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- ldr r0, _080D3180
- adds r1, r4, 0
- movs r3, 0x4
- bl CreateSprite
-_080D3160:
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bne _080D3172
- adds r0, r6, 0
- bl move_anim_task_del
-_080D3172:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D3178: .4byte gTasks
-_080D317C: .4byte gUnknown_03004B00
-_080D3180: .4byte gSpriteTemplate_83D9130
- thumb_func_end sub_80D30F0
-
- thumb_func_start sub_80D3184
-sub_80D3184: @ 80D3184
- ldr r1, _080D318C
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080D318C: .4byte sub_80D3190
- thumb_func_end sub_80D3184
-
- thumb_func_start sub_80D3190
-sub_80D3190: @ 80D3190
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD
- bgt _080D31AE
- ldrh r0, [r2, 0x24]
- adds r0, 0x1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x26]
- adds r0, 0x4
- strh r0, [r2, 0x26]
-_080D31AE:
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080D31C2
- adds r0, r2, 0
- bl DestroySprite
-_080D31C2:
- pop {r0}
- bx r0
- thumb_func_end sub_80D3190
-
- thumb_func_start sub_80D31C8
-sub_80D31C8: @ 80D31C8
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r5, _080D31F0
- ldrb r0, [r5]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D31F8
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080D31F4
- ldrh r1, [r4]
- subs r0, r1
- b _080D320A
- .align 2, 0
-_080D31F0: .4byte gUnknown_0202F7C8
-_080D31F4: .4byte gUnknown_03004B00
-_080D31F8:
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- ldr r4, _080D32D0
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
-_080D320A:
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
- strh r0, [r6, 0x22]
- adds r2, r6, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080D32D4
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D3240
- ldr r1, _080D32D0
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080D3240:
- ldr r5, _080D32D0
- ldrh r0, [r5, 0xC]
- strh r0, [r6, 0x2E]
- ldrh r0, [r6, 0x20]
- strh r0, [r6, 0x30]
- ldr r4, _080D32D8
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x32]
- ldrh r0, [r6, 0x22]
- strh r0, [r6, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r0, _080D32DC
- bl object_new_hidden_with_callback
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- strh r4, [r6, 0x38]
- ldrb r0, [r5, 0x8]
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- bl Sin
- ldrh r1, [r6, 0x20]
- subs r1, r0
- strh r1, [r6, 0x20]
- ldrb r0, [r5, 0x8]
- movs r2, 0x6
- ldrsh r1, [r5, r2]
- bl Cos
- ldrh r1, [r6, 0x22]
- subs r1, r0
- strh r1, [r6, 0x22]
- ldr r0, _080D32E0
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r5, 0x4]
- strh r0, [r1, 0x2E]
- ldrh r0, [r5, 0x6]
- strh r0, [r1, 0x30]
- ldrh r0, [r5, 0xA]
- strh r0, [r1, 0x32]
- ldrb r0, [r5, 0x8]
- lsls r0, 8
- strh r0, [r1, 0x34]
- ldrh r0, [r5, 0xC]
- strh r0, [r1, 0x36]
- ldr r1, _080D32E4
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D32D0: .4byte gUnknown_03004B00
-_080D32D4: .4byte gUnknown_0202F7C8
-_080D32D8: .4byte gUnknown_0202F7C9
-_080D32DC: .4byte SpriteCallbackDummy
-_080D32E0: .4byte gSprites
-_080D32E4: .4byte sub_80D32E8
- thumb_func_end sub_80D31C8
-
- thumb_func_start sub_80D32E8
-sub_80D32E8: @ 80D32E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r1, [r5, 0x38]
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _080D3350
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r7, r0, r2
- ldrh r4, [r7, 0x36]
- lsls r4, 24
- lsrs r4, 24
- ldrh r0, [r7, 0x34]
- mov r8, r0
- movs r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- bl sub_8078B5C
- mov r1, r8
- lsrs r6, r1, 8
- movs r0, 0x2E
- ldrsh r1, [r7, r0]
- adds r0, r6, 0
- bl Sin
- ldrh r1, [r5, 0x24]
- adds r0, r1
- strh r0, [r5, 0x24]
- movs r0, 0x30
- ldrsh r1, [r7, r0]
- adds r0, r6, 0
- bl Cos
- ldrh r1, [r5, 0x26]
- adds r0, r1
- strh r0, [r5, 0x26]
- ldrh r0, [r7, 0x32]
- mov r1, r8
- adds r1, r0
- strh r1, [r7, 0x34]
- subs r4, 0x1
- lsls r4, 24
- lsrs r4, 24
- cmp r4, 0
- beq _080D3354
- strh r4, [r7, 0x36]
- b _080D335E
- .align 2, 0
-_080D3350: .4byte gSprites
-_080D3354:
- ldr r0, _080D336C
- str r0, [r5, 0x1C]
- adds r0, r7, 0
- bl DestroySprite
-_080D335E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D336C: .4byte sub_80D3370
- thumb_func_end sub_80D32E8
-
- thumb_func_start sub_80D3370
-sub_80D3370: @ 80D3370
- push {lr}
- adds r3, r0, 0
- adds r3, 0x2C
- ldrb r2, [r3]
- movs r1, 0x41
- negs r1, r1
- ands r1, r2
- strb r1, [r3]
- ldr r1, _080D3390
- str r1, [r0, 0x1C]
- ldr r1, _080D3394
- bl oamt_set_x3A_32
- pop {r0}
- bx r0
- .align 2, 0
-_080D3390: .4byte sub_8078600
-_080D3394: .4byte sub_80D3398
- thumb_func_end sub_80D3370
-
- thumb_func_start sub_80D3398
-sub_80D3398: @ 80D3398
- push {lr}
- movs r1, 0xA
- strh r1, [r0, 0x2E]
- ldr r1, _080D33AC
- str r1, [r0, 0x1C]
- ldr r1, _080D33B0
- bl oamt_set_x3A_32
- pop {r0}
- bx r0
- .align 2, 0
-_080D33AC: .4byte sub_80782D8
-_080D33B0: .4byte move_anim_8074EE0
- thumb_func_end sub_80D3398
-
- thumb_func_start sub_80D33B4
-sub_80D33B4: @ 80D33B4
- push {r4-r7,lr}
- adds r5, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r0, _080D33DC
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D33E4
- ldr r1, _080D33E0
- ldrh r0, [r1, 0x4]
- negs r0, r0
- lsls r0, 16
- lsrs r6, r0, 16
- adds r7, r1, 0
- b _080D33EA
- .align 2, 0
-_080D33DC: .4byte gUnknown_0202F7C8
-_080D33E0: .4byte gUnknown_03004B00
-_080D33E4:
- ldr r0, _080D3440
- ldrh r6, [r0, 0x4]
- adds r7, r0, 0
-_080D33EA:
- ldrh r0, [r7, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldr r4, _080D3444
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r7, [r7, 0x6]
- adds r0, r7
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r0, _080D3448
- str r0, [r5, 0x1C]
- adds r2, r5, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- ldr r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D3440: .4byte gUnknown_03004B00
-_080D3444: .4byte gUnknown_0202F7C9
-_080D3448: .4byte sub_80D344C
- thumb_func_end sub_80D33B4
-
- thumb_func_start sub_80D344C
-sub_80D344C: @ 80D344C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080D3488
- ldrh r1, [r0, 0xE]
- ldr r0, _080D348C
- cmp r1, r0
- bne _080D346E
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2]
-_080D346E:
- adds r0, r4, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- beq _080D3480
- adds r0, r4, 0
- bl move_anim_8072740
-_080D3480:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D3488: .4byte gUnknown_03004B00
-_080D348C: .4byte 0x0000ffff
- thumb_func_end sub_80D344C
-
- thumb_func_start sub_80D3490
-sub_80D3490: @ 80D3490
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080D34C4
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r0, _080D34C8
- ldrh r0, [r0]
- strh r0, [r4, 0x8]
- ldr r0, _080D34CC
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r4, 0xC]
- ldr r0, _080D34D0
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D34C4: .4byte gTasks
-_080D34C8: .4byte gUnknown_03004B00
-_080D34CC: .4byte 0x0000279c
-_080D34D0: .4byte sub_80D34D4
- thumb_func_end sub_80D3490
-
- thumb_func_start sub_80D34D4
-sub_80D34D4: @ 80D34D4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080D354C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0x1C]
- adds r0, 0x1
- strh r0, [r2, 0x1C]
- lsls r0, 16
- asrs r0, 16
- mov r12, r1
- cmp r0, 0x3
- bne _080D3526
- movs r0, 0
- strh r0, [r2, 0x1C]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _080D3550
- lsls r0, r5, 1
- adds r0, r1
- ldrh r6, [r0]
- adds r7, r1, 0
- adds r3, r0, 0x2
- movs r1, 0x6
- adds r2, r0, 0
-_080D3510:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080D3510
- adds r0, r5, 0x7
- lsls r0, 1
- adds r0, r7
- strh r6, [r0]
-_080D3526:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r12
- ldrh r1, [r0, 0x1E]
- adds r1, 0x1
- strh r1, [r0, 0x1E]
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- cmp r1, r0
- bne _080D3546
- adds r0, r4, 0
- bl move_anim_task_del
-_080D3546:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D354C: .4byte gTasks
-_080D3550: .4byte gPlttBufferFaded
- thumb_func_end sub_80D34D4
-
- thumb_func_start sub_80D3554
-sub_80D3554: @ 80D3554
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- movs r0, 0x1E
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldr r4, _080D35BC
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- movs r0, 0xD2
- lsls r0, 8
- bl __divsi3
- strh r0, [r5, 0x38]
- ldr r0, _080D35C0
- ldrh r2, [r0, 0x6]
- strh r2, [r5, 0x3C]
- ldrh r1, [r0, 0xE]
- movs r3, 0xE
- ldrsh r0, [r0, r3]
- cmp r0, 0x7F
- ble _080D35C4
- adds r0, r1, 0
- subs r0, 0x7F
- lsls r0, 8
- strh r0, [r5, 0x3A]
- negs r0, r2
- strh r0, [r5, 0x3C]
- b _080D35C8
- .align 2, 0
-_080D35BC: .4byte gUnknown_0202F7C9
-_080D35C0: .4byte gUnknown_03004B00
-_080D35C4:
- lsls r0, r1, 8
- strh r0, [r5, 0x3A]
-_080D35C8:
- ldr r1, _080D35D8
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D35D8: .4byte sub_80D35DC
- thumb_func_end sub_80D3554
-
- thumb_func_start sub_80D35DC
-sub_80D35DC: @ 80D35DC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- beq _080D35F0
- adds r0, r4, 0
- bl move_anim_8072740
-_080D35F0:
- ldrh r0, [r4, 0x3A]
- lsls r0, 16
- asrs r0, 24
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- adds r0, r1
- asrs r0, 8
- cmp r0, 0x7F
- ble _080D3620
- movs r0, 0
- strh r0, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- negs r0, r0
- strh r0, [r4, 0x3C]
- b _080D3628
-_080D3620:
- ldrh r0, [r4, 0x38]
- ldrh r1, [r4, 0x3A]
- adds r0, r1
- strh r0, [r4, 0x3A]
-_080D3628:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D35DC
-
- thumb_func_start sub_80D3630
-sub_80D3630: @ 80D3630
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080D3650
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r3, _080D3654
- ldrh r0, [r3]
- movs r2, 0
- strh r0, [r1, 0x8]
- strh r2, [r3, 0xE]
- ldr r0, _080D3658
- str r0, [r1]
- bx lr
- .align 2, 0
-_080D3650: .4byte gTasks
-_080D3654: .4byte gUnknown_03004B00
-_080D3658: .4byte sub_80D365C
- thumb_func_end sub_80D3630
-
- thumb_func_start sub_80D365C
-sub_80D365C: @ 80D365C
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080D3690
- ldrh r0, [r2, 0xE]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r2, 0xE]
- ldr r1, _080D3694
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- ldrh r1, [r0, 0x8]
- subs r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- cmp r1, 0
- bne _080D368A
- adds r0, r3, 0
- bl move_anim_task_del
-_080D368A:
- pop {r0}
- bx r0
- .align 2, 0
-_080D3690: .4byte gUnknown_03004B00
-_080D3694: .4byte gTasks
- thumb_func_end sub_80D365C
-
- thumb_func_start sub_80D3698
-sub_80D3698: @ 80D3698
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r7, _080D36E4
- ldrb r0, [r7]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r7]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r6, _080D36E8
- strh r6, [r4, 0x26]
- ldrb r0, [r7]
- bl sub_8079E90
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080D36F2
- ldrb r0, [r7]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D36EC
- movs r0, 0xA
- strh r0, [r4, 0x24]
- b _080D36F4
- .align 2, 0
-_080D36E4: .4byte gUnknown_0202F7C8
-_080D36E8: .4byte 0x0000fff6
-_080D36EC:
- strh r6, [r4, 0x24]
- subs r0, r5, 0x2
- b _080D36F6
-_080D36F2:
- strh r6, [r4, 0x24]
-_080D36F4:
- adds r0, r5, 0x2
-_080D36F6:
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- ldr r0, _080D3708
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D3708: .4byte sub_80D370C
- thumb_func_end sub_80D3698
-
- thumb_func_start sub_80D370C
-sub_80D370C: @ 80D370C
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080D3722
- adds r0, r2, 0
- bl move_anim_8072740
-_080D3722:
- pop {r0}
- bx r0
- thumb_func_end sub_80D370C
-
- thumb_func_start sub_80D3728
-sub_80D3728: @ 80D3728
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r5, _080D37E8
- ldrb r0, [r5]
- bl battle_side_get_owner
- adds r4, r0, 0
- ldr r0, _080D37EC
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080D3772
- ldr r4, _080D37F0
- movs r1, 0
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4]
- ldrb r0, [r5]
- bl battle_get_per_side_status
- lsls r0, 24
- cmp r0, 0
- beq _080D376A
- ldrb r0, [r5]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D3772
-_080D376A:
- movs r1, 0
- ldrsh r0, [r4, r1]
- negs r0, r0
- strh r0, [r4]
-_080D3772:
- ldr r5, _080D37F0
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0
- cmp r0, 0
- bne _080D3786
- movs r1, 0x1
-_080D3786:
- ldrb r0, [r5, 0xA]
- movs r7, 0x1
- cmp r0, 0
- bne _080D3790
- movs r7, 0x3
-_080D3790:
- adds r0, r6, 0
- bl sub_80787B0
- ldr r0, _080D37E8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D37AA
- ldrh r0, [r5, 0x4]
- negs r0, r0
- strh r0, [r5, 0x4]
-_080D37AA:
- ldrh r0, [r5, 0x8]
- strh r0, [r6, 0x2E]
- ldr r4, _080D37EC
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r4]
- adds r1, r7, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x6]
- adds r0, r5
- strh r0, [r6, 0x36]
- ldr r0, _080D37F4
- str r0, [r6, 0x1C]
- ldr r1, _080D37F8
- adds r0, r6, 0
- bl oamt_set_x3A_32
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D37E8: .4byte gUnknown_0202F7C8
-_080D37EC: .4byte gUnknown_0202F7C9
-_080D37F0: .4byte gUnknown_03004B00
-_080D37F4: .4byte sub_8078B34
-_080D37F8: .4byte move_anim_8072740
- thumb_func_end sub_80D3728
-
- thumb_func_start sub_80D37FC
-sub_80D37FC: @ 80D37FC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r0, _080D382C
- ldrh r1, [r0, 0x8]
- strh r1, [r4, 0x2E]
- ldrh r0, [r0, 0x4]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- adds r1, r0
- strh r1, [r4, 0x36]
- ldr r0, _080D3830
- str r0, [r4, 0x1C]
- ldr r1, _080D3834
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D382C: .4byte gUnknown_03004B00
-_080D3830: .4byte sub_8078B34
-_080D3834: .4byte move_anim_8072740
- thumb_func_end sub_80D37FC
-
- thumb_func_start sub_80D3838
-sub_80D3838: @ 80D3838
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080D3850
- movs r1, 0x6
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080D3854
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8078764
- b _080D385C
- .align 2, 0
-_080D3850: .4byte gUnknown_03004B00
-_080D3854:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80787B0
-_080D385C:
- ldr r0, _080D386C
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x3C]
- ldr r0, _080D3870
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D386C: .4byte gUnknown_03004B00
-_080D3870: .4byte sub_80D3874
- thumb_func_end sub_80D3838
-
- thumb_func_start sub_80D3874
-sub_80D3874: @ 80D3874
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0xB
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x4
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r0, 0x30
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080D38B4
- adds r0, r4, 0
- bl move_anim_8072740
-_080D38B4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D3874
-
- thumb_func_start sub_80D38BC
-sub_80D38BC: @ 80D38BC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r1, _080D398C
- ldr r2, _080D3990
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r3, 0x80
- lsls r3, 5
- adds r0, r3, 0
- strh r0, [r1]
- ldr r2, _080D3994
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2, 0x1]
- mov r0, sp
- bl sub_8078914
- ldr r2, [sp]
- movs r3, 0x80
- lsls r3, 6
- add r6, sp, 0x10
- add r0, sp, 0xC
- mov r12, r0
- movs r5, 0
- ldr r1, _080D3998
- movs r4, 0x80
- lsls r4, 5
- mov r8, r6
- ldr r7, _080D399C
- movs r0, 0x85
- lsls r0, 24
- mov r9, r0
-_080D3920:
- str r5, [sp, 0x10]
- mov r0, r8
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080D3920
- str r5, [sp, 0x10]
- str r6, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r9
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0
- mov r3, r12
- strb r0, [r3]
- strb r0, [r3]
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x10]
- ldr r0, _080D3998
- str r6, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080D399C
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080D39B8
- ldr r2, _080D3994
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080D39A0
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D39A8
- ldr r0, _080D39A4
- b _080D39AA
- .align 2, 0
-_080D398C: .4byte REG_BLDCNT
-_080D3990: .4byte 0x00003f42
-_080D3994: .4byte REG_BG1CNT
-_080D3998: .4byte 0x040000d4
-_080D399C: .4byte 0x85000400
-_080D39A0: .4byte gUnknown_0202F7C8
-_080D39A4: .4byte gUnknown_08E70968
-_080D39A8:
- ldr r0, _080D39B4
-_080D39AA:
- ldr r1, [sp, 0x4]
- bl LZDecompressVram
- b _080D39CE
- .align 2, 0
-_080D39B4: .4byte gUnknown_08E70C38
-_080D39B8:
- ldr r0, _080D39F0
- ldr r1, [sp, 0x4]
- bl LZDecompressVram
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0x1
- bl sub_80763FC
-_080D39CE:
- ldr r0, _080D39F4
- ldr r1, [sp]
- bl LZDecompressVram
- ldr r0, _080D39F8
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D3A00
- ldr r0, _080D39FC
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- b _080D3A0E
- .align 2, 0
-_080D39F0: .4byte gUnknown_08E70F0C
-_080D39F4: .4byte gBattleAnimBackgroundImage_Surf
-_080D39F8: .4byte gUnknown_03004B00
-_080D39FC: .4byte gBattleAnimBackgroundPalette_Surf
-_080D3A00:
- ldr r0, _080D3A78
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
-_080D3A0E:
- ldr r0, _080D3A7C
- ldr r4, _080D3A80
- mov r2, r10
- lsls r5, r2, 2
- adds r1, r5, r2
- lsls r1, 3
- adds r6, r1, r4
- ldrb r1, [r6, 0x7]
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r3, 0
- mov r9, r3
- mov r0, r8
- strh r0, [r6, 0x26]
- mov r1, r8
- lsls r0, r1, 2
- add r0, r8
- lsls r0, 3
- adds r7, r0, r4
- mov r2, r9
- strh r2, [r7, 0x8]
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r7, 0xA]
- strh r0, [r7, 0xC]
- bl sub_8076BE0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080D3A94
- ldr r3, _080D3A84
- adds r0, r3, 0
- ldr r1, _080D3A88
- strh r0, [r1]
- ldr r2, _080D3A8C
- adds r0, r2, 0
- ldr r3, _080D3A90
- strh r0, [r3]
- movs r0, 0x2
- strh r0, [r6, 0x8]
- movs r0, 0x1
- strh r0, [r6, 0xA]
- mov r0, r9
- strh r0, [r7, 0xE]
- b _080D3AEE
- .align 2, 0
-_080D3A78: .4byte gBattleAnimBackgroundImageMuddyWater_Pal
-_080D3A7C: .4byte sub_80D3D68
-_080D3A80: .4byte gTasks
-_080D3A84: .4byte 0x0000ffb0
-_080D3A88: .4byte gUnknown_030042C0
-_080D3A8C: .4byte 0x0000ffd0
-_080D3A90: .4byte gUnknown_030041B4
-_080D3A94:
- ldr r0, _080D3AC4
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bne _080D3AD8
- ldr r2, _080D3AC8
- adds r0, r2, 0
- ldr r3, _080D3ACC
- strh r0, [r3]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ldr r3, _080D3AD0
- strh r0, [r3]
- movs r0, 0x2
- strh r0, [r6, 0x8]
- ldr r0, _080D3AD4
- strh r0, [r6, 0xA]
- strh r1, [r7, 0xE]
- b _080D3AEE
- .align 2, 0
-_080D3AC4: .4byte gUnknown_0202F7C8
-_080D3AC8: .4byte 0x0000ff20
-_080D3ACC: .4byte gUnknown_030042C0
-_080D3AD0: .4byte gUnknown_030041B4
-_080D3AD4: .4byte 0x0000ffff
-_080D3AD8:
- ldr r0, _080D3B1C
- strh r4, [r0]
- ldr r1, _080D3B20
- adds r0, r1, 0
- ldr r2, _080D3B24
- strh r0, [r2]
- ldr r0, _080D3B28
- strh r0, [r6, 0x8]
- movs r0, 0x1
- strh r0, [r6, 0xA]
- strh r4, [r7, 0xE]
-_080D3AEE:
- ldr r1, _080D3B2C
- ldr r3, _080D3B1C
- ldrh r0, [r3]
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080D3B24
- ldrh r0, [r2]
- strh r0, [r1]
- ldr r1, _080D3B30
- mov r3, r8
- lsls r0, r3, 2
- add r0, r8
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080D3B34
- movs r0, 0x30
- strh r0, [r2, 0x10]
- movs r0, 0x70
- b _080D3B38
- .align 2, 0
-_080D3B1C: .4byte gUnknown_030042C0
-_080D3B20: .4byte 0x0000ffd0
-_080D3B24: .4byte gUnknown_030041B4
-_080D3B28: .4byte 0x0000fffe
-_080D3B2C: .4byte REG_BG1HOFS
-_080D3B30: .4byte gTasks
-_080D3B34:
- movs r0, 0
- strh r0, [r2, 0x10]
-_080D3B38:
- strh r0, [r2, 0x12]
- mov r2, r10
- adds r0, r5, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0, 0x14]
- ldr r1, _080D3B5C
- str r1, [r0]
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D3B5C: .4byte sub_80D3B60
- thumb_func_end sub_80D38BC
-
- thumb_func_start sub_80D3B60
-sub_80D3B60: @ 80D3B60
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080D3D44
- lsls r4, r7, 2
- adds r4, r7
- lsls r4, 3
- adds r4, r0
- ldrh r0, [r4, 0x8]
- ldr r1, _080D3D48
- ldrh r1, [r1]
- adds r0, r1
- ldr r2, _080D3D48
- strh r0, [r2]
- ldrh r0, [r4, 0xA]
- ldr r3, _080D3D4C
- ldrh r3, [r3]
- adds r0, r3
- ldr r1, _080D3D4C
- strh r0, [r1]
- add r5, sp, 0x4
- adds r0, r5, 0
- bl sub_8078914
- ldrh r0, [r4, 0xA]
- ldrh r2, [r4, 0xC]
- adds r0, r2
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- mov r10, r5
- cmp r0, 0x4
- bne _080D3C02
- ldr r1, _080D3D50
- ldrb r0, [r5, 0x8]
- lsls r0, 4
- adds r0, 0x7
- lsls r0, 1
- adds r0, r1
- ldrh r6, [r0]
- movs r2, 0x6
- adds r5, r1, 0
- adds r3, r5, 0
- mov r4, r10
-_080D3BC8:
- ldrb r0, [r4, 0x8]
- lsls r0, 4
- adds r1, r2, 0x1
- adds r0, r1
- lsls r1, r0, 1
- adds r1, r3
- subs r0, 0x1
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- subs r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080D3BC8
- mov r3, r10
- ldrb r0, [r3, 0x8]
- lsls r0, 4
- adds r0, 0x1
- lsls r0, 1
- adds r0, r5
- strh r6, [r0]
- ldr r1, _080D3D44
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x12]
-_080D3C02:
- ldr r1, _080D3D44
- lsls r2, r7, 2
- adds r0, r2, r7
- lsls r0, 3
- adds r3, r0, r1
- ldrh r0, [r3, 0x14]
- adds r0, 0x1
- strh r0, [r3, 0x14]
- lsls r0, 16
- asrs r0, 16
- adds r4, r1, 0
- str r2, [sp, 0x14]
- cmp r0, 0x1
- ble _080D3C70
- movs r0, 0
- strh r0, [r3, 0x14]
- ldrh r0, [r3, 0xE]
- adds r2, r0, 0x1
- strh r2, [r3, 0xE]
- lsls r0, r2, 16
- asrs r0, 16
- cmp r0, 0xD
- bgt _080D3C4C
- movs r1, 0x26
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x10
- subs r0, r2
- lsls r0, 8
- orrs r2, r0
- strh r2, [r1, 0xA]
- ldrh r0, [r3, 0x10]
- adds r0, 0x1
- strh r0, [r3, 0x10]
-_080D3C4C:
- movs r2, 0xE
- ldrsh r0, [r3, r2]
- cmp r0, 0x36
- ble _080D3C70
- ldrh r2, [r3, 0x10]
- subs r2, 0x1
- strh r2, [r3, 0x10]
- movs r1, 0x26
- ldrsh r0, [r3, r1]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r4
- movs r0, 0x10
- subs r0, r2
- lsls r0, 8
- orrs r2, r0
- strh r2, [r1, 0xA]
-_080D3C70:
- ldr r2, [sp, 0x14]
- adds r0, r2, r7
- lsls r0, 3
- adds r0, r4
- movs r3, 0x26
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r4
- ldrh r1, [r0, 0xA]
- movs r0, 0x1F
- ands r0, r1
- cmp r0, 0
- bne _080D3D32
- ldr r2, [sp, 0x4]
- movs r3, 0x80
- lsls r3, 6
- add r6, sp, 0x10
- movs r5, 0
- ldr r1, _080D3D54
- movs r4, 0x80
- lsls r4, 5
- mov r8, r6
- ldr r0, _080D3D58
- mov r12, r0
- movs r0, 0x85
- lsls r0, 24
- mov r9, r0
-_080D3CAA:
- str r5, [sp, 0x10]
- mov r0, r8
- str r0, [r1]
- str r2, [r1, 0x4]
- mov r0, r12
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080D3CAA
- str r5, [sp, 0x10]
- str r6, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r9
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- mov r0, sp
- movs r1, 0
- strb r1, [r0]
- strb r1, [r0]
- mov r3, r10
- ldr r1, [r3, 0x4]
- movs r4, 0
- str r4, [sp, 0x10]
- ldr r0, _080D3D54
- str r6, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080D3D58
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080D3D02
- ldr r2, _080D3D5C
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080D3D02:
- ldr r0, _080D3D48
- strh r4, [r0]
- ldr r1, _080D3D4C
- strh r4, [r1]
- ldr r0, _080D3D60
- strh r4, [r0]
- adds r0, 0x2
- strh r4, [r0]
- ldr r2, _080D3D44
- ldr r3, [sp, 0x14]
- adds r0, r3, r7
- lsls r0, 3
- adds r0, r2
- movs r3, 0x26
- ldrsh r1, [r0, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldr r1, _080D3D64
- strh r1, [r0, 0x26]
- adds r0, r7, 0
- bl move_anim_task_del
-_080D3D32:
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D3D44: .4byte gTasks
-_080D3D48: .4byte gUnknown_030042C0
-_080D3D4C: .4byte gUnknown_030041B4
-_080D3D50: .4byte gPlttBufferFaded
-_080D3D54: .4byte 0x040000d4
-_080D3D58: .4byte 0x85000400
-_080D3D5C: .4byte REG_BG1CNT
-_080D3D60: .4byte REG_BLDCNT
-_080D3D64: .4byte 0x0000ffff
- thumb_func_end sub_80D3B60
-
- thumb_func_start sub_80D3D68
-sub_80D3D68: @ 80D3D68
- push {r4-r7,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _080D3D90
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080D3D84
- b _080D3EBC
-_080D3D84:
- cmp r0, 0x1
- bgt _080D3D94
- cmp r0, 0
- beq _080D3D9C
- b _080D4032
- .align 2, 0
-_080D3D90: .4byte gTasks
-_080D3D94:
- cmp r0, 0x2
- bne _080D3D9A
- b _080D3F88
-_080D3D9A:
- b _080D4032
-_080D3D9C:
- movs r3, 0
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- ldr r1, _080D3E6C
- mov r12, r1
- cmp r3, r0
- bge _080D3DDA
- mov r7, r12
- movs r5, 0xF0
- lsls r5, 3
- add r5, r12
- ldr r6, _080D3E70
-_080D3DB4:
- lsls r2, r3, 16
- asrs r2, 16
- lsls r1, r2, 1
- adds r3, r1, r7
- adds r1, r5
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- ldrh r1, [r4, 0xC]
- adds r0, r6, 0
- ands r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- lsrs r3, r2, 16
- asrs r2, 16
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r2, r0
- blt _080D3DB4
-_080D3DDA:
- ldrh r3, [r4, 0x10]
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _080D3E14
- ldr r5, _080D3E6C
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
- ldr r7, _080D3E70
-_080D3DF2:
- asrs r2, 16
- lsls r1, r2, 1
- adds r3, r1, r5
- adds r1, r6
- ldrh r0, [r4, 0xA]
- strh r0, [r1]
- ldrh r1, [r4, 0xA]
- adds r0, r7, 0
- ands r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- blt _080D3DF2
-_080D3E14:
- ldrh r3, [r4, 0x12]
- lsls r2, r3, 16
- asrs r0, r2, 16
- cmp r0, 0x9F
- bgt _080D3E4A
- ldr r5, _080D3E6C
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
- ldr r7, _080D3E70
-_080D3E28:
- asrs r2, 16
- lsls r1, r2, 1
- adds r3, r1, r5
- adds r1, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- ldrh r1, [r4, 0xC]
- adds r0, r7, 0
- ands r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- lsrs r3, r2, 16
- lsls r2, r3, 16
- asrs r0, r2, 16
- cmp r0, 0x9F
- ble _080D3E28
-_080D3E4A:
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D3E74
- lsls r0, r3, 16
- asrs r0, 15
- mov r3, r12
- adds r2, r0, r3
- movs r1, 0xF0
- lsls r1, 3
- add r1, r12
- adds r0, r1
- ldrh r1, [r4, 0xA]
- strh r1, [r0]
- ldrh r0, [r4, 0xA]
- b _080D3E8A
- .align 2, 0
-_080D3E6C: .4byte gUnknown_03004DE0
-_080D3E70: .4byte 0x0000ffff
-_080D3E74:
- lsls r0, r3, 16
- asrs r0, 15
- mov r1, r12
- adds r2, r0, r1
- movs r1, 0xF0
- lsls r1, 3
- add r1, r12
- adds r0, r1
- ldrh r1, [r4, 0xC]
- strh r1, [r0]
- ldrh r0, [r4, 0xC]
-_080D3E8A:
- strh r0, [r2]
- ldr r0, _080D3EB4
- str r0, [sp]
- ldr r0, _080D3EB8
- str r0, [sp, 0x4]
- mov r1, sp
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r2, [r0, 0x9]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl sub_80895F8
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080D4032
- .align 2, 0
-_080D3EB4: .4byte REG_BLDALPHA
-_080D3EB8: .4byte 0xa2600001
-_080D3EBC:
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- cmp r1, 0
- bne _080D3ED4
- ldrh r0, [r4, 0x10]
- subs r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bgt _080D3EE8
- strh r1, [r4, 0x10]
- b _080D3EE2
-_080D3ED4:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6F
- ble _080D3EE8
-_080D3EE2:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080D3EE8:
- movs r3, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _080D3F1C
- ldr r6, _080D3F80
- ldr r5, _080D3F84
-_080D3EF6:
- lsls r1, r3, 16
- asrs r1, 16
- lsls r3, r1, 1
- ldrb r2, [r5, 0x14]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 7
- adds r3, r0
- adds r3, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r3]
- adds r1, 0x1
- lsls r1, 16
- lsrs r3, r1, 16
- asrs r1, 16
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r1, r0
- blt _080D3EF6
-_080D3F1C:
- ldrh r3, [r4, 0x10]
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _080D3F50
- ldr r6, _080D3F80
- ldr r5, _080D3F84
-_080D3F2E:
- asrs r3, r2, 16
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- ldrh r0, [r4, 0xA]
- strh r0, [r2]
- adds r3, 0x1
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- blt _080D3F2E
-_080D3F50:
- ldrh r3, [r4, 0x12]
- lsls r1, r3, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- bgt _080D4032
- ldr r6, _080D3F80
- ldr r5, _080D3F84
-_080D3F5E:
- asrs r3, r1, 16
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- lsls r1, r3, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- ble _080D3F5E
- b _080D4032
- .align 2, 0
-_080D3F80: .4byte gUnknown_03004DE0
-_080D3F84: .4byte gUnknown_03004DC0
-_080D3F88:
- movs r3, 0
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bge _080D3FBC
- ldr r6, _080D403C
- ldr r5, _080D4040
-_080D3F96:
- lsls r1, r3, 16
- asrs r1, 16
- lsls r3, r1, 1
- ldrb r2, [r5, 0x14]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 7
- adds r3, r0
- adds r3, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r3]
- adds r1, 0x1
- lsls r1, 16
- lsrs r3, r1, 16
- asrs r1, 16
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r1, r0
- blt _080D3F96
-_080D3FBC:
- ldrh r3, [r4, 0x10]
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _080D3FF0
- ldr r6, _080D403C
- ldr r5, _080D4040
-_080D3FCE:
- asrs r3, r2, 16
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- ldrh r0, [r4, 0xA]
- strh r0, [r2]
- adds r3, 0x1
- lsls r2, r3, 16
- asrs r1, r2, 16
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r1, r0
- blt _080D3FCE
-_080D3FF0:
- ldrh r3, [r4, 0x12]
- lsls r1, r3, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- bgt _080D401C
- ldr r6, _080D403C
- ldr r5, _080D4040
-_080D3FFE:
- asrs r3, r1, 16
- lsls r2, r3, 1
- ldrb r1, [r5, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- lsls r1, r3, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- ble _080D3FFE
-_080D401C:
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080D4032
- bl remove_some_task
- adds r0, r7, 0
- bl DestroyTask
-_080D4032:
- add sp, 0xC
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D403C: .4byte gUnknown_03004DE0
-_080D4040: .4byte gUnknown_03004DC0
- thumb_func_end sub_80D3D68
-
- thumb_func_start sub_80D4044
-sub_80D4044: @ 80D4044
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x8
- ldr r3, _080D4098
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080D409C
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8078764
- bl Random
- movs r5, 0xFF
- ands r5, r0
- movs r0, 0x80
- lsls r0, 1
- adds r6, r0, 0
- orrs r5, r6
- bl Random
- ldr r1, _080D40A0
- ands r1, r0
- adds r0, r1, 0
- cmp r0, 0xFF
- ble _080D408A
- subs r0, r6, r0
- lsls r0, 16
- lsrs r1, r0, 16
-_080D408A:
- strh r5, [r4, 0x30]
- strh r1, [r4, 0x32]
- ldr r0, _080D40A4
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D4098: .4byte 0x000003ff
-_080D409C: .4byte 0xfffffc00
-_080D40A0: .4byte 0x000001ff
-_080D40A4: .4byte sub_80D40A8
- thumb_func_end sub_80D4044
-
- thumb_func_start sub_80D40A8
-sub_80D40A8: @ 80D40A8
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x34]
- adds r3, r0, r1
- strh r3, [r2, 0x34]
- ldrh r1, [r2, 0x32]
- ldrh r4, [r2, 0x36]
- adds r1, r4
- strh r1, [r2, 0x36]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080D40CC
- lsls r0, r3, 16
- asrs r0, 24
- negs r0, r0
- b _080D40D0
-_080D40CC:
- lsls r0, r3, 16
- asrs r0, 24
-_080D40D0:
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _080D40EE
- adds r0, r2, 0
- bl move_anim_8072740
-_080D40EE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D40A8
-
- thumb_func_start sub_80D40F4
-sub_80D40F4: @ 80D40F4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080D4144
- adds r4, r0
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldr r2, _080D4148
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x12]
- bl sub_80D4394
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8078E70
- ldr r0, _080D414C
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D4144: .4byte gTasks
-_080D4148: .4byte gSprites
-_080D414C: .4byte sub_80D4150
- thumb_func_end sub_80D40F4
-
- thumb_func_start sub_80D4150
-sub_80D4150: @ 80D4150
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080D4178
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x7
- bls _080D416C
- b _080D438A
-_080D416C:
- lsls r0, 2
- ldr r1, _080D417C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080D4178: .4byte gTasks
-_080D417C: .4byte _080D4180
- .align 2, 0
-_080D4180:
- .4byte _080D41A0
- .4byte _080D41C6
- .4byte _080D4258
- .4byte _080D428E
- .4byte _080D42A2
- .4byte _080D42B0
- .4byte _080D4330
- .4byte _080D437C
-_080D41A0:
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0x80
- lsls r3, 1
- movs r0, 0xE0
- str r0, [sp]
- movs r0, 0x80
- lsls r0, 2
- str r0, [sp, 0x4]
- movs r0, 0x20
- str r0, [sp, 0x8]
- adds r0, r4, 0
- adds r2, r3, 0
- bl sub_8079C08
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080D41C6:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D4222
- movs r0, 0
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D4210
- ldr r2, _080D420C
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- strh r1, [r0, 0x24]
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x1
- strh r1, [r0, 0x22]
- b _080D4222
- .align 2, 0
-_080D420C: .4byte gSprites
-_080D4210:
- ldr r2, _080D4250
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _080D4254
- strh r1, [r0, 0x24]
-_080D4222:
- adds r0, r4, 0
- bl sub_8079C74
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080D4232
- b _080D438A
-_080D4232:
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8079A64
- ldr r2, _080D4250
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x24]
- strh r5, [r4, 0xE]
- b _080D436C
- .align 2, 0
-_080D4250: .4byte gSprites
-_080D4254: .4byte 0x0000fffd
-_080D4258:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bgt _080D4268
- b _080D438A
-_080D4268:
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0x80
- lsls r3, 2
- movs r0, 0xC0
- lsls r0, 1
- str r0, [sp]
- movs r0, 0xE0
- str r0, [sp, 0x4]
- movs r0, 0x8
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r2, 0xE0
- bl sub_8079C08
- movs r0, 0
- strh r0, [r4, 0xE]
- b _080D436E
-_080D428E:
- adds r0, r4, 0
- bl sub_8079C74
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080D438A
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- b _080D436E
-_080D42A2:
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80D4418
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080D42B0:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D438A
- movs r0, 0
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D42E8
- ldr r2, _080D42E4
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x2
- b _080D42FA
- .align 2, 0
-_080D42E4: .4byte gSprites
-_080D42E8:
- ldr r2, _080D432C
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x2
-_080D42FA:
- strh r1, [r0, 0x26]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0xA
- bne _080D438A
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0xC0
- lsls r2, 1
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x8
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r3, 0xE0
- bl sub_8079C08
- movs r0, 0
- strh r0, [r4, 0xE]
- strh r0, [r4, 0x10]
- b _080D436E
- .align 2, 0
-_080D432C: .4byte gSprites
-_080D4330:
- ldr r6, _080D4378
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r0, 0x22]
- subs r1, 0x1
- strh r1, [r0, 0x22]
- adds r0, r4, 0
- bl sub_8079C74
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080D438A
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8078F40
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r4, 0x12]
- strh r1, [r0, 0x22]
-_080D436C:
- strh r5, [r4, 0x10]
-_080D436E:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080D438A
- .align 2, 0
-_080D4378: .4byte gSprites
-_080D437C:
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D438A
- adds r0, r2, 0
- bl move_anim_task_del
-_080D438A:
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D4150
-
- thumb_func_start sub_80D4394
-sub_80D4394: @ 80D4394
- push {r4,r5,lr}
- ldr r4, _080D43B8
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D43C8
- ldr r1, _080D43BC
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _080D43C0
- b _080D43D8
- .align 2, 0
-_080D43B8: .4byte gUnknown_0202F7C8
-_080D43BC: .4byte gUnknown_02024A6A
-_080D43C0: .4byte gPlayerParty
-_080D43C4:
- adds r0, r2, 0
- b _080D440A
-_080D43C8:
- ldr r1, _080D4410
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r1, r0
- ldr r0, _080D4414
-_080D43D8:
- adds r5, r1, r0
- adds r0, r5, 0
- movs r1, 0x3A
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- adds r0, r5, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r3, r0, 16
- lsrs r4, 18
- movs r2, 0
-_080D43F6:
- adds r1, r2, 0x1
- adds r0, r4, 0
- muls r0, r1
- cmp r3, r0
- blt _080D43C4
- lsls r0, r1, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _080D43F6
- movs r0, 0x3
-_080D440A:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080D4410: .4byte gUnknown_02024A6A
-_080D4414: .4byte gEnemyParty
- thumb_func_end sub_80D4394
-
- thumb_func_start sub_80D4418
-sub_80D4418: @ 80D4418
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r7, r0, 0
- lsls r1, 24
- lsrs r1, 24
- str r1, [sp]
- ldr r4, _080D4520
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0xAC
- ldrb r0, [r4]
- bl sub_8079E90
- subs r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- ldrh r1, [r7, 0xA]
- movs r0, 0x4
- subs r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r0, 0
- bgt _080D4468
- movs r1, 0x1
-_080D4468:
- movs r0, 0
- str r0, [sp, 0x4]
- lsls r0, r1, 16
- mov r10, r8
- mov r9, r6
- mov r1, r10
- lsls r1, 4
- str r1, [sp, 0xC]
- mov r1, r9
- lsls r1, 4
- str r1, [sp, 0x10]
- asrs r0, 16
- mov r8, r0
-_080D4482:
- ldr r0, _080D4524
- mov r1, r10
- mov r2, r9
- ldr r3, [sp, 0x8]
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r6, r5, 16
- cmp r2, 0x40
- beq _080D44EA
- ldr r1, _080D4528
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r1
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0x30]
- mov r1, sp
- ldrh r1, [r1, 0xC]
- strh r1, [r5, 0x32]
- mov r0, sp
- ldrh r0, [r0, 0x10]
- strh r0, [r5, 0x34]
- asrs r4, r6, 16
- adds r0, r4, 0
- movs r1, 0x40
- bl Cos
- strh r0, [r5, 0x36]
- adds r0, r4, 0
- movs r1, 0x40
- bl Sin
- strh r0, [r5, 0x38]
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r5, 0x3A]
- movs r0, 0x2
- strh r0, [r5, 0x3C]
- ldrh r1, [r7, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D44E4
- adds r0, r5, 0
- bl sub_80D452C
-_080D44E4:
- ldrh r0, [r7, 0xC]
- adds r0, 0x1
- strh r0, [r7, 0xC]
-_080D44EA:
- mov r1, r8
- lsls r0, r1, 1
- asrs r1, r6, 16
- adds r1, r0
- lsls r1, 16
- movs r0, 0xFF
- lsls r0, 16
- ands r0, r1
- lsrs r5, r0, 16
- ldr r1, [sp, 0x4]
- lsls r0, r1, 16
- asrs r0, 16
- add r0, r8
- lsls r0, 16
- lsrs r1, r0, 16
- str r1, [sp, 0x4]
- asrs r0, 16
- cmp r0, 0x13
- ble _080D4482
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D4520: .4byte gUnknown_0202F7C8
-_080D4524: .4byte gSpriteTemplate_83D9378
-_080D4528: .4byte gSprites
- thumb_func_end sub_80D4418
-
- thumb_func_start sub_80D452C
-sub_80D452C: @ 80D452C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D453E
- cmp r0, 0x1
- beq _080D4574
- b _080D45CE
-_080D453E:
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- movs r1, 0x6
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 1
- adds r1, r0
- ldrh r0, [r4, 0x36]
- adds r1, r0
- strh r1, [r4, 0x36]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- lsls r1, r0, 1
- adds r1, r0
- ldrh r2, [r4, 0x38]
- adds r1, r2
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_080D4574:
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x38]
- ldrh r2, [r4, 0x34]
- adds r1, r2
- strh r1, [r4, 0x34]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r4, 0x20]
- lsls r1, 16
- asrs r2, r1, 20
- strh r2, [r4, 0x22]
- adds r0, 0x8
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 17
- cmp r0, r1
- bhi _080D45AA
- adds r1, r2, 0
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _080D45AA
- cmp r1, 0x78
- ble _080D45CE
-_080D45AA:
- ldr r3, _080D45D4
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroySprite
-_080D45CE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D45D4: .4byte gTasks
- thumb_func_end sub_80D452C
-
- thumb_func_start sub_80D45D8
-sub_80D45D8: @ 80D45D8
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080D4608
- adds r4, r1, r0
- bl sub_80D4394
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xA]
- ldr r0, _080D460C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D4610
- movs r0, 0x88
- strh r0, [r4, 0x10]
- movs r0, 0x28
- b _080D4616
- .align 2, 0
-_080D4608: .4byte gTasks
-_080D460C: .4byte gUnknown_0202F7C8
-_080D4610:
- movs r0, 0x10
- strh r0, [r4, 0x10]
- movs r0, 0x50
-_080D4616:
- strh r0, [r4, 0x14]
- movs r0, 0x62
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0x10]
- adds r0, 0x31
- strh r0, [r4, 0x16]
- movs r0, 0xA
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- adds r0, 0x5
- strh r0, [r4, 0x20]
- ldr r0, _080D4638
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D4638: .4byte sub_80D463C
- thumb_func_end sub_80D45D8
-
- thumb_func_start sub_80D463C
-sub_80D463C: @ 80D463C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r1, r0, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r7, _080D4660
- adds r4, r0, r7
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- cmp r2, 0
- beq _080D4664
- cmp r2, 0x1
- beq _080D4714
- b _080D4722
- .align 2, 0
-_080D4660: .4byte gTasks
-_080D4664:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080D467A
- strh r2, [r4, 0xC]
- adds r0, r4, 0
- bl sub_80D472C
-_080D467A:
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D46F4
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080D46F4
- ldr r5, _080D4708
- movs r1, 0x1
- mov r8, r1
- mov r2, r8
- strh r2, [r5]
- strh r0, [r5, 0x2]
- movs r0, 0xC
- strh r0, [r5, 0x4]
- ldr r6, _080D470C
- adds r0, r6, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080D46C4
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r7
- ldr r1, [r0]
- adds r0, r2, 0
- bl _call_via_r1
- ldr r1, _080D4710
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080D46C4:
- movs r0, 0x3
- strh r0, [r5]
- adds r0, r6, 0
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080D46F0
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r7
- ldr r1, [r0]
- adds r0, r2, 0
- bl _call_via_r1
- ldr r1, _080D4710
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080D46F0:
- mov r0, r8
- strh r0, [r4, 0x22]
-_080D46F4:
- movs r2, 0x1E
- ldrsh r1, [r4, r2]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r1, r0
- blt _080D4722
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080D4722
- .align 2, 0
-_080D4708: .4byte gUnknown_03004B00
-_080D470C: .4byte sub_80E1864
-_080D4710: .4byte gUnknown_0202F7B2
-_080D4714:
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080D4722
- adds r0, r1, 0
- bl move_anim_task_del
-_080D4722:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D463C
-
- thumb_func_start sub_80D472C
-sub_80D472C: @ 80D472C
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r1, _080D47B8
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r0, 0x3
- asrs r0, 4
- ldrh r2, [r4, 0x14]
- adds r0, r2
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _080D47BC
- movs r2, 0x16
- ldrsh r1, [r4, r2]
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080D4786
- ldr r3, _080D47C0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, _080D47C4
- str r2, [r1]
- adds r0, r3
- strh r5, [r0, 0x38]
- strh r6, [r0, 0x3A]
- movs r1, 0x9
- strh r1, [r0, 0x3C]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
-_080D4786:
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- ldrh r0, [r4, 0x18]
- adds r0, 0x27
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x18]
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- ldr r0, _080D47C8
- muls r0, r1
- ldr r1, _080D47CC
- adds r0, r1
- movs r2, 0x12
- ldrsh r1, [r4, r2]
- bl __modsi3
- ldrh r1, [r4, 0x10]
- adds r1, r0
- strh r1, [r4, 0x16]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D47B8: .4byte gSineTable
-_080D47BC: .4byte gSpriteTemplate_83D9378
-_080D47C0: .4byte gSprites
-_080D47C4: .4byte sub_80D47D0
-_080D47C8: .4byte 0x41c64e6d
-_080D47CC: .4byte 0x00003039
- thumb_func_end sub_80D472C
-
- thumb_func_start sub_80D47D0
-sub_80D47D0: @ 80D47D0
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080D4866
- ldrh r0, [r5, 0x22]
- adds r0, 0x8
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x38
- ldrsh r1, [r5, r2]
- cmp r0, r1
- blt _080D4866
- ldr r2, _080D486C
- movs r3, 0x3A
- ldrsh r1, [r5, r3]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x1
- strh r1, [r0, 0x1C]
- ldr r0, _080D4870
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- movs r3, 0x22
- ldrsh r2, [r5, r3]
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x30]
- cmp r0, 0x40
- beq _080D4860
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _080D4874
- adds r0, r4
- movs r1, 0x3
- bl StartSpriteAffineAnim
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r5, 0x3A]
- strh r1, [r0, 0x3A]
- movs r3, 0x30
- ldrsh r1, [r5, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrh r1, [r5, 0x3C]
- strh r1, [r0, 0x3C]
- movs r0, 0x30
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _080D4878
- str r1, [r0]
-_080D4860:
- adds r0, r5, 0
- bl DestroySprite
-_080D4866:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D486C: .4byte gTasks
-_080D4870: .4byte gBattleAnimSpriteTemplate_83DB4D8
-_080D4874: .4byte gSprites
-_080D4878: .4byte sub_80D487C
- thumb_func_end sub_80D47D0
-
- thumb_func_start sub_80D487C
-sub_80D487C: @ 80D487C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D48E8
- movs r0, 0
- strh r0, [r4, 0x30]
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _080D48E8
- ldr r3, _080D48F0
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_080D48E8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D48F0: .4byte gTasks
- thumb_func_end sub_80D487C
-
- thumb_func_start sub_80D48F4
-sub_80D48F4: @ 80D48F4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080D4978
- adds r5, r1, r0
- ldr r4, _080D497C
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- strh r0, [r5, 0xE]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x10]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _080D4938
- movs r1, 0x1
-_080D4938:
- strh r1, [r5, 0x16]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080D494C
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- negs r0, r0
- strh r0, [r5, 0x16]
-_080D494C:
- movs r2, 0x16
- ldrsh r0, [r5, r2]
- lsls r0, 3
- ldrh r1, [r5, 0xE]
- adds r0, r1
- strh r0, [r5, 0x12]
- movs r2, 0x16
- ldrsh r1, [r5, r2]
- lsls r1, 3
- ldrh r0, [r5, 0x10]
- subs r0, r1
- strh r0, [r5, 0x14]
- ldr r0, _080D4980
- strh r0, [r5, 0x1A]
- strh r6, [r5, 0xA]
- strh r6, [r5, 0x8]
- ldr r0, _080D4984
- str r0, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D4978: .4byte gTasks
-_080D497C: .4byte gUnknown_0202F7C8
-_080D4980: .4byte 0x0000ffe0
-_080D4984: .4byte sub_80D4988
- thumb_func_end sub_80D48F4
-
- thumb_func_start sub_80D4988
-sub_80D4988: @ 80D4988
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080D49AC
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bls _080D49A2
- b _080D4AC2
-_080D49A2:
- lsls r0, 2
- ldr r1, _080D49B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080D49AC: .4byte gTasks
-_080D49B0: .4byte _080D49B4
- .align 2, 0
-_080D49B4:
- .4byte _080D49D0
- .4byte _080D49E0
- .4byte _080D49FA
- .4byte _080D4A3C
- .4byte _080D4A5E
- .4byte _080D4A8C
- .4byte _080D4AB2
-_080D49D0:
- adds r0, r4, 0
- bl sub_80D4AD0
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D4AC8
- b _080D4ABA
-_080D49E0:
- adds r0, r4, 0
- bl sub_80D4AD0
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080D4AC8
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080D4ABA
-_080D49FA:
- adds r0, r4, 0
- bl sub_80D4AD0
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- ldrh r0, [r4, 0x12]
- adds r1, r0
- movs r2, 0
- strh r1, [r4, 0x12]
- adds r1, 0x10
- lsls r1, 16
- movs r0, 0x88
- lsls r0, 17
- cmp r1, r0
- bls _080D4AC8
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080D4A38
- movs r0, 0x1
- strh r0, [r4, 0x22]
- movs r0, 0x6
- strh r0, [r4, 0x8]
- strh r2, [r4, 0xA]
- b _080D4AC8
-_080D4A38:
- strh r2, [r4, 0xA]
- b _080D4ABA
-_080D4A3C:
- adds r0, r4, 0
- bl sub_80D4AD0
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- lsls r1, 1
- ldrh r0, [r4, 0x14]
- subs r0, r1
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080D4AC8
- b _080D4ABA
-_080D4A5E:
- adds r0, r4, 0
- bl sub_80D4AD0
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 1
- ldrh r0, [r4, 0x12]
- subs r0, r1
- strh r0, [r4, 0x12]
- adds r0, 0x10
- lsls r0, 16
- movs r1, 0x88
- lsls r1, 17
- cmp r0, r1
- bls _080D4AC8
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080D4ABA
-_080D4A8C:
- adds r0, r4, 0
- bl sub_80D4AD0
- movs r0, 0x16
- ldrsh r1, [r4, r0]
- lsls r1, 1
- ldrh r0, [r4, 0x14]
- subs r0, r1
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080D4AC8
- movs r0, 0x2
- strh r0, [r4, 0x8]
- b _080D4AC8
-_080D4AB2:
- movs r1, 0x18
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D4AC8
-_080D4ABA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080D4AC8
-_080D4AC2:
- adds r0, r2, 0
- bl move_anim_task_del
-_080D4AC8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D4988
-
- thumb_func_start sub_80D4AD0
-sub_80D4AD0: @ 80D4AD0
- push {r4-r6,lr}
- adds r6, r0, 0
- ldrh r0, [r6, 0xC]
- adds r0, 0x1
- strh r0, [r6, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D4B2A
- movs r0, 0
- strh r0, [r6, 0xC]
- ldr r0, _080D4B30
- movs r2, 0xE
- ldrsh r1, [r6, r2]
- movs r3, 0x10
- ldrsh r2, [r6, r3]
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080D4B2A
- ldr r5, _080D4B34
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r0, r4, r5
- movs r1, 0x10
- strh r1, [r0, 0x2E]
- ldrh r1, [r6, 0x12]
- strh r1, [r0, 0x32]
- ldrh r1, [r6, 0x14]
- strh r1, [r0, 0x36]
- ldrh r1, [r6, 0x1A]
- strh r1, [r0, 0x38]
- bl sub_80786EC
- adds r5, 0x1C
- adds r4, r5
- ldr r0, _080D4B38
- str r0, [r4]
- ldrh r0, [r6, 0x18]
- adds r0, 0x1
- strh r0, [r6, 0x18]
-_080D4B2A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D4B30: .4byte gSpriteTemplate_83D9378
-_080D4B34: .4byte gSprites
-_080D4B38: .4byte sub_80D4B3C
- thumb_func_end sub_80D4AD0
-
- thumb_func_start sub_80D4B3C
-sub_80D4B3C: @ 80D4B3C
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080D4B96
- ldrh r0, [r6, 0x24]
- ldrh r1, [r6, 0x20]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrh r0, [r6, 0x26]
- ldrh r1, [r6, 0x22]
- adds r0, r1
- strh r0, [r6, 0x22]
- movs r0, 0x6
- strh r0, [r6, 0x2E]
- bl Random
- movs r4, 0x1F
- adds r1, r4, 0
- ands r1, r0
- ldr r5, _080D4B9C
- adds r1, r5
- ldrh r0, [r6, 0x20]
- adds r1, r0
- strh r1, [r6, 0x32]
- bl Random
- ands r4, r0
- adds r4, r5
- ldrh r1, [r6, 0x22]
- adds r4, r1
- strh r4, [r6, 0x36]
- bl Random
- movs r1, 0x7
- ands r1, r0
- mvns r1, r1
- strh r1, [r6, 0x38]
- adds r0, r6, 0
- bl sub_80786EC
- ldr r0, _080D4BA0
- str r0, [r6, 0x1C]
-_080D4B96:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D4B9C: .4byte 0x0000fff0
-_080D4BA0: .4byte sub_80D4BA4
- thumb_func_end sub_80D4B3C
-
- thumb_func_start sub_80D4BA4
-sub_80D4BA4: @ 80D4BA4
- push {r4-r6,lr}
- adds r5, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080D4BE0
- movs r4, 0
- ldr r6, _080D4BE8
-_080D4BB6:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r6
- ldr r1, [r2]
- ldr r0, _080D4BEC
- cmp r1, r0
- bne _080D4BD6
- movs r0, 0x1
- strh r0, [r2, 0x1C]
- ldrh r0, [r2, 0x18]
- subs r0, 0x1
- strh r0, [r2, 0x18]
- adds r0, r5, 0
- bl DestroySprite
-_080D4BD6:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _080D4BB6
-_080D4BE0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D4BE8: .4byte gTasks
-_080D4BEC: .4byte sub_80D4988
- thumb_func_end sub_80D4BA4
-
- thumb_func_start sub_80D4BF0
-sub_80D4BF0: @ 80D4BF0
- ldr r2, _080D4C10
- ldrh r1, [r2]
- strh r1, [r0, 0x20]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x22]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0x2E]
- ldrh r1, [r2, 0x6]
- strh r1, [r0, 0x30]
- ldrh r1, [r2, 0x8]
- strh r1, [r0, 0x32]
- ldrh r1, [r2, 0xA]
- strh r1, [r0, 0x34]
- ldr r1, _080D4C14
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080D4C10: .4byte gUnknown_03004B00
-_080D4C14: .4byte sub_80D4C18
- thumb_func_end sub_80D4BF0
-
- thumb_func_start sub_80D4C18
-sub_80D4C18: @ 80D4C18
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x36]
- ldrh r1, [r4, 0x2E]
- subs r0, r1
- strh r0, [r4, 0x36]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x38]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- cmp r0, 0
- bne _080D4C5C
- adds r0, r4, 0
- bl move_anim_8072740
-_080D4C5C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D4C18
-
- thumb_func_start sub_80D4C64
-sub_80D4C64: @ 80D4C64
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r1, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r1, r2
- strh r1, [r4, 0x36]
- lsls r0, 16
- asrs r0, 23
- strh r0, [r4, 0x24]
- lsls r1, 16
- asrs r1, 23
- strh r1, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _080D4C9C
- adds r0, r4, 0
- bl FreeSpriteOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_080D4C9C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D4C64
-
- thumb_func_start sub_80D4CA4
-sub_80D4CA4: @ 80D4CA4
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r5, _080D4CE0
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x30]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldr r1, _080D4CE4
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x34]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x36]
- ldr r0, _080D4CE8
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D4CE0: .4byte gUnknown_0202F7C9
-_080D4CE4: .4byte gUnknown_03004B00
-_080D4CE8: .4byte sub_80D4CEC
- thumb_func_end sub_80D4CA4
-
- thumb_func_start sub_80D4CEC
-sub_80D4CEC: @ 80D4CEC
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- subs r6, r1, r0
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- subs r5, r1, r0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- muls r0, r6
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- muls r0, r5
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl __divsi3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _080D4D44
- movs r0, 0
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl sub_80D4D64
-_080D4D44:
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080D4D56
- adds r0, r4, 0
- bl move_anim_8072740
-_080D4D56:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D4CEC
-
- thumb_func_start sub_80D4D64
-sub_80D4D64: @ 80D4D64
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- adds r4, r1, 0
- adds r5, r2, 0
- movs r2, 0x2E
- ldrsh r1, [r0, r2]
- lsrs r2, r1, 31
- adds r1, r2
- lsls r1, 15
- lsrs r1, 16
- str r1, [sp]
- ldrh r1, [r0, 0x24]
- ldrh r3, [r0, 0x20]
- adds r1, r3
- lsls r1, 16
- lsrs r1, 16
- mov r8, r1
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r0, r5, r0
- subs r0, 0x5
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- bl Random
- negs r4, r4
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- adds r4, r0
- subs r4, 0x5
- lsls r4, 16
- lsrs r7, r4, 16
- movs r6, 0
- mov r0, r8
- lsls r0, 16
- mov r8, r0
- mov r1, r10
- lsls r1, 16
- str r1, [sp, 0xC]
- ldr r2, [sp]
- lsls r2, 16
- str r2, [sp, 0x10]
- asrs r1, 16
- lsls r0, r7, 16
- asrs r5, r0, 16
- str r0, [sp, 0x14]
- negs r3, r5
- str r3, [sp, 0x4]
- asrs r0, r2, 16
- adds r1, r0
- lsls r1, 16
- mov r10, r1
-_080D4DF2:
- ldr r0, _080D4E34
- mov r2, r8
- asrs r1, r2, 16
- mov r3, r10
- asrs r2, r3, 16
- movs r3, 0x82
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080D4E38
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r1
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- mov r0, r9
- strh r0, [r4, 0x30]
- ldr r0, _080D4E3C
- ldrb r0, [r0]
- bl sub_8079E90
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- cmp r5, 0
- bge _080D4E40
- mov r1, sp
- ldrh r1, [r1, 0x4]
- strh r1, [r4, 0x32]
- b _080D4E42
- .align 2, 0
-_080D4E34: .4byte gSpriteTemplate_83D9420
-_080D4E38: .4byte gSprites
-_080D4E3C: .4byte gUnknown_0202F7C8
-_080D4E40:
- strh r7, [r4, 0x32]
-_080D4E42:
- lsls r0, r6, 16
- movs r2, 0x80
- lsls r2, 9
- adds r0, r2
- lsrs r6, r0, 16
- cmp r0, 0
- ble _080D4DF2
- movs r6, 0
- ldr r3, [sp, 0xC]
- asrs r1, r3, 16
- ldr r0, [sp, 0x14]
- asrs r5, r0, 16
- negs r2, r5
- str r2, [sp, 0x8]
- ldr r3, [sp, 0x10]
- asrs r0, r3, 16
- subs r1, r0
- lsls r1, 16
- mov r10, r1
-_080D4E68:
- ldr r0, _080D4EAC
- mov r2, r8
- asrs r1, r2, 16
- mov r3, r10
- asrs r2, r3, 16
- movs r3, 0x82
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080D4EB0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r1
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- mov r0, r9
- strh r0, [r4, 0x30]
- ldr r0, _080D4EB4
- ldrb r0, [r0]
- bl sub_8079E90
- subs r0, 0x1
- adds r1, r4, 0
- adds r1, 0x43
- strb r0, [r1]
- cmp r5, 0
- ble _080D4EB8
- mov r1, sp
- ldrh r1, [r1, 0x8]
- strh r1, [r4, 0x32]
- b _080D4EBA
- .align 2, 0
-_080D4EAC: .4byte gSpriteTemplate_83D9420
-_080D4EB0: .4byte gSprites
-_080D4EB4: .4byte gUnknown_0202F7C8
-_080D4EB8:
- strh r7, [r4, 0x32]
-_080D4EBA:
- lsls r0, r6, 16
- movs r2, 0x80
- lsls r2, 9
- adds r0, r2
- lsrs r6, r0, 16
- cmp r0, 0
- ble _080D4E68
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D4D64
-
- thumb_func_start sub_80D4ED8
-sub_80D4ED8: @ 80D4ED8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080D4F0C
- ldrh r0, [r0]
- strh r0, [r4, 0x2E]
- movs r0, 0x3C
- strh r0, [r4, 0x30]
- movs r0, 0x9
- strh r0, [r4, 0x32]
- movs r0, 0x1E
- strh r0, [r4, 0x34]
- movs r0, 0xFE
- lsls r0, 8
- strh r0, [r4, 0x36]
- ldr r1, _080D4F10
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r1, _080D4F14
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D4F0C: .4byte gUnknown_03004B00
-_080D4F10: .4byte move_anim_8072740
-_080D4F14: .4byte sub_8078174
- thumb_func_end sub_80D4ED8
-
- thumb_func_start sub_80D4F18
-sub_80D4F18: @ 80D4F18
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080D4F50
- movs r0, 0
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_807867C
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x32]
- ldr r0, _080D4F54
- str r0, [r4, 0x1C]
- ldr r1, _080D4F58
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D4F50: .4byte gUnknown_03004B00
-_080D4F54: .4byte sub_8078394
-_080D4F58: .4byte move_anim_8072740
- thumb_func_end sub_80D4F18
-
- thumb_func_start sub_80D4F5C
-sub_80D4F5C: @ 80D4F5C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078650
- ldr r0, _080D4F90
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D4F98
- ldr r2, _080D4F94
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r2, 0x8]
- negs r0, r0
- strh r0, [r4, 0x32]
- adds r1, r2, 0
- b _080D4FAE
- .align 2, 0
-_080D4F90: .4byte gUnknown_0202F7C8
-_080D4F94: .4byte gUnknown_03004B00
-_080D4F98:
- ldr r1, _080D4FC4
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x32]
-_080D4FAE:
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x36]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x34]
- ldr r0, _080D4FC8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D4FC4: .4byte gUnknown_03004B00
-_080D4FC8: .4byte sub_80D5038
- thumb_func_end sub_80D4F5C
-
- thumb_func_start sub_80D4FCC
-sub_80D4FCC: @ 80D4FCC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080D4FF8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D5000
- ldr r2, _080D4FFC
- ldrh r0, [r4, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r2, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r2, 0x8]
- strh r0, [r4, 0x32]
- adds r1, r2, 0
- b _080D5018
- .align 2, 0
-_080D4FF8: .4byte gUnknown_0202F7C8
-_080D4FFC: .4byte gUnknown_03004B00
-_080D5000:
- ldr r1, _080D5030
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x8]
- negs r0, r0
- strh r0, [r4, 0x32]
-_080D5018:
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x36]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x34]
- ldr r0, _080D5034
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D5030: .4byte gUnknown_03004B00
-_080D5034: .4byte sub_80D5038
- thumb_func_end sub_80D4FCC
-
- thumb_func_start sub_80D5038
-sub_80D5038: @ 80D5038
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x36
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bge _080D505E
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x34]
- ldrh r3, [r2, 0x26]
- adds r0, r3
- strh r0, [r2, 0x26]
-_080D505E:
- movs r0, 0x2E
- ldrsh r1, [r2, r0]
- movs r3, 0x30
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bne _080D5070
- adds r0, r2, 0
- bl move_anim_8074EE0
-_080D5070:
- pop {r0}
- bx r0
- thumb_func_end sub_80D5038
-
- thumb_func_start sub_80D5074
-sub_80D5074: @ 80D5074
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078650
- ldr r0, _080D5098
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D50A0
- ldr r0, _080D509C
- ldrh r1, [r4, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r4, 0x20]
- b _080D50B2
- .align 2, 0
-_080D5098: .4byte gUnknown_0202F7C8
-_080D509C: .4byte gUnknown_03004B00
-_080D50A0:
- ldr r0, _080D50E0
- ldrh r1, [r0]
- ldrh r2, [r4, 0x20]
- adds r1, r2
- strh r1, [r4, 0x20]
- adds r2, r4, 0
- adds r2, 0x43
- movs r1, 0x8
- strb r1, [r2]
-_080D50B2:
- adds r2, r0, 0
- ldrh r0, [r2, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x22]
- ldrh r0, [r2, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r2, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r2, 0x8]
- strh r0, [r4, 0x32]
- ldrh r0, [r2, 0xA]
- strh r0, [r4, 0x34]
- ldrh r0, [r2, 0xC]
- strh r0, [r4, 0x36]
- strh r1, [r4, 0x38]
- ldr r0, _080D50E4
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D50E0: .4byte gUnknown_03004B00
-_080D50E4: .4byte sub_80D50E8
- thumb_func_end sub_80D5074
-
- thumb_func_start sub_80D50E8
-sub_80D50E8: @ 80D50E8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D5170
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- ldr r0, _080D5154
- cmp r1, r0
- ble _080D5106
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1
- strb r0, [r1]
-_080D5106:
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x38]
- lsls r1, 16
- asrs r1, 24
- ldrh r2, [r4, 0x30]
- adds r1, r2
- lsls r1, 16
- asrs r1, 16
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x2E]
- adds r1, r0, r2
- strh r1, [r4, 0x2E]
- ldrh r0, [r4, 0x36]
- ldrh r2, [r4, 0x38]
- adds r0, r2
- strh r0, [r4, 0x38]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080D515C
- ldr r2, _080D5158
- b _080D5164
- .align 2, 0
-_080D5154: .4byte 0x00002710
-_080D5158: .4byte 0xffffff00
-_080D515C:
- cmp r0, 0
- bge _080D5168
- movs r2, 0x80
- lsls r2, 1
-_080D5164:
- adds r0, r1, r2
- strh r0, [r4, 0x2E]
-_080D5168:
- ldrh r0, [r4, 0x34]
- subs r0, 0x1
- strh r0, [r4, 0x34]
- b _080D5176
-_080D5170:
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080D5176:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D50E8
-
- thumb_func_start sub_80D517C
-sub_80D517C: @ 80D517C
- push {lr}
- movs r1, 0
- strh r1, [r0, 0x20]
- strh r1, [r0, 0x22]
- movs r1, 0x3C
- strh r1, [r0, 0x2E]
- movs r1, 0x8C
- strh r1, [r0, 0x32]
- movs r1, 0x50
- strh r1, [r0, 0x36]
- ldr r1, _080D51A0
- str r1, [r0, 0x1C]
- ldr r1, _080D51A4
- bl oamt_set_x3A_32
- pop {r0}
- bx r0
- .align 2, 0
-_080D51A0: .4byte sub_8078B34
-_080D51A4: .4byte move_anim_8072740
- thumb_func_end sub_80D517C
-
- thumb_func_start sub_80D51A8
-sub_80D51A8: @ 80D51A8
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r5, _080D5200
- ldrb r0, [r5]
- bl battle_side_get_owner
- adds r4, r0, 0
- ldr r0, _080D5204
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080D51EE
- movs r0, 0x2
- bl battle_get_side_with_given_state
- ldrb r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- beq _080D51E6
- movs r0, 0x3
- bl battle_get_side_with_given_state
- ldrb r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _080D51EE
-_080D51E6:
- ldr r1, _080D5208
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080D51EE:
- ldr r1, _080D520C
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D5200: .4byte gUnknown_0202F7C8
-_080D5204: .4byte gUnknown_0202F7C9
-_080D5208: .4byte gUnknown_03004B00
-_080D520C: .4byte sub_8079534
- thumb_func_end sub_80D51A8
-
- thumb_func_start sub_80D5210
-sub_80D5210: @ 80D5210
- ldr r2, _080D5224
- ldrh r1, [r2]
- negs r1, r1
- strh r1, [r2]
- ldrh r1, [r2, 0x4]
- negs r1, r1
- strh r1, [r2, 0x4]
- ldr r1, _080D5228
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080D5224: .4byte gUnknown_03004B00
-_080D5228: .4byte sub_8079534
- thumb_func_end sub_80D5210
-
- thumb_func_start sub_80D522C
-sub_80D522C: @ 80D522C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r0, _080D524C
- ldrh r0, [r0, 0x4]
- movs r1, 0
- strh r0, [r4, 0x3C]
- strh r1, [r4, 0x2E]
- ldr r0, _080D5250
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D524C: .4byte gUnknown_03004B00
-_080D5250: .4byte sub_80D5254
- thumb_func_end sub_80D522C
-
- thumb_func_start sub_80D5254
-sub_80D5254: @ 80D5254
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_80D5348
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x12
- bne _080D529E
- movs r0, 0x19
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldr r4, _080D52A4
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r0, _080D52A8
- str r0, [r5, 0x1C]
-_080D529E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D52A4: .4byte gUnknown_0202F7C9
-_080D52A8: .4byte sub_80D52AC
- thumb_func_end sub_80D5254
-
- thumb_func_start sub_80D52AC
-sub_80D52AC: @ 80D52AC
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- beq _080D52F4
- movs r4, 0
- strh r4, [r6, 0x2E]
- ldr r5, _080D52EC
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x22]
- strh r4, [r6, 0x26]
- strh r4, [r6, 0x24]
- ldr r1, _080D52F0
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- b _080D531E
- .align 2, 0
-_080D52EC: .4byte gUnknown_0202F7C9
-_080D52F0: .4byte sub_80D5324
-_080D52F4:
- movs r1, 0x3C
- ldrsh r0, [r6, r1]
- movs r1, 0x1C
- bl Sin
- ldrh r1, [r6, 0x24]
- adds r0, r1
- strh r0, [r6, 0x24]
- movs r1, 0x3C
- ldrsh r0, [r6, r1]
- movs r1, 0x1C
- bl Cos
- ldrh r1, [r6, 0x26]
- adds r0, r1
- strh r0, [r6, 0x26]
- ldrh r0, [r6, 0x3C]
- adds r0, 0x14
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r6, 0x3C]
-_080D531E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D52AC
-
- thumb_func_start sub_80D5324
-sub_80D5324: @ 80D5324
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80D5348
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _080D5340
- adds r0, r4, 0
- bl move_anim_8072740
-_080D5340:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D5324
-
- thumb_func_start sub_80D5348
-sub_80D5348: @ 80D5348
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x1C
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x1C
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x14
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3C]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D5348
-
- thumb_func_start sub_80D5374
-sub_80D5374: @ 80D5374
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _080D53A8
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x32]
- ldr r1, _080D53AC
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080D53B0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D53A8: .4byte gUnknown_03004B00
-_080D53AC: .4byte move_anim_8072740
-_080D53B0: .4byte sub_8078364
- thumb_func_end sub_80D5374
-
- thumb_func_start sub_80D53B4
-sub_80D53B4: @ 80D53B4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r1, _080D53E8
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x2E]
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080D53EC
- str r0, [r4, 0x1C]
- ldr r1, _080D53F0
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D53E8: .4byte gUnknown_03004B00
-_080D53EC: .4byte sub_80782D8
-_080D53F0: .4byte sub_80D53F4
- thumb_func_end sub_80D53B4
-
- thumb_func_start sub_80D53F4
-sub_80D53F4: @ 80D53F4
- push {lr}
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r3]
- ldrh r1, [r0, 0x30]
- movs r2, 0
- strh r1, [r0, 0x2E]
- strh r2, [r0, 0x30]
- ldr r1, _080D5418
- str r1, [r0, 0x1C]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080D5418: .4byte sub_80D541C
- thumb_func_end sub_80D53F4
-
- thumb_func_start sub_80D541C
-sub_80D541C: @ 80D541C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0xA
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- adds r0, 0xD0
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080D5468
- adds r0, r4, 0
- bl move_anim_8072740
-_080D5468:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D541C
-
- thumb_func_start sub_80D5470
-sub_80D5470: @ 80D5470
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080D54D0
- adds r4, r0
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r4, 0x26]
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- ldr r2, _080D54D4
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x22]
- strh r0, [r4, 0x10]
- ldr r0, _080D54D8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x12]
- strh r5, [r4, 0x14]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_8078E70
- ldr r0, _080D54DC
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D54D0: .4byte gTasks
-_080D54D4: .4byte gSprites
-_080D54D8: .4byte gUnknown_0202F7C8
-_080D54DC: .4byte sub_80D54E0
- thumb_func_end sub_80D5470
-
- thumb_func_start sub_80D54E0
-sub_80D54E0: @ 80D54E0
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080D5508
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x6
- bls _080D54FC
- b _080D57BA
-_080D54FC:
- lsls r0, 2
- ldr r1, _080D550C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080D5508: .4byte gTasks
-_080D550C: .4byte _080D5510
- .align 2, 0
-_080D5510:
- .4byte _080D552C
- .4byte _080D5552
- .4byte _080D5604
- .4byte _080D5664
- .4byte _080D5682
- .4byte _080D5758
- .4byte _080D57AC
-_080D552C:
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0x80
- lsls r3, 1
- movs r0, 0xE0
- str r0, [sp]
- movs r0, 0x80
- lsls r0, 2
- str r0, [sp, 0x4]
- movs r0, 0x20
- str r0, [sp, 0x8]
- adds r0, r4, 0
- adds r2, r3, 0
- bl sub_8079C08
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080D5552:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D559A
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D5588
- ldr r2, _080D5584
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3
- b _080D5598
- .align 2, 0
-_080D5584: .4byte gSprites
-_080D5588:
- ldr r2, _080D55FC
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _080D5600
-_080D5598:
- strh r1, [r0, 0x24]
-_080D559A:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D55C8
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080D55C8
- movs r0, 0
- strh r0, [r4, 0xE]
- ldr r2, _080D55FC
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x1
- strh r1, [r0, 0x22]
-_080D55C8:
- adds r0, r4, 0
- bl sub_8079C74
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080D55D8
- b _080D57BA
-_080D55D8:
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8079A64
- ldr r2, _080D55FC
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r5, [r0, 0x24]
- strh r5, [r4, 0xA]
- strh r5, [r4, 0xC]
- strh r5, [r4, 0xE]
- b _080D57A0
- .align 2, 0
-_080D55FC: .4byte gSprites
-_080D5600: .4byte 0x0000fffd
-_080D5604:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bgt _080D5614
- b _080D57BA
-_080D5614:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D563E
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0x80
- lsls r3, 2
- movs r0, 0xC0
- lsls r0, 1
- str r0, [sp]
- movs r0, 0xF0
- str r0, [sp, 0x4]
- movs r0, 0x6
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r2, 0xE0
- bl sub_8079C08
- b _080D565E
-_080D563E:
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r3, 0x80
- lsls r3, 2
- movs r0, 0xC0
- lsls r0, 1
- str r0, [sp]
- movs r0, 0xC0
- str r0, [sp, 0x4]
- movs r0, 0x6
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r2, 0xE0
- bl sub_8079C08
-_080D565E:
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080D57A0
-_080D5664:
- adds r0, r4, 0
- bl sub_8079C74
- lsls r0, 24
- cmp r0, 0
- beq _080D5672
- b _080D57BA
-_080D5672:
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- adds r1, r5, 0
- movs r2, 0x6
- bl sub_80D57C4
- b _080D57A0
-_080D5682:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D56D0
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D56BC
- ldr r2, _080D56B8
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- adds r1, 0x3
- b _080D56CE
- .align 2, 0
-_080D56B8: .4byte gSprites
-_080D56BC:
- ldr r2, _080D5708
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
-_080D56CE:
- strh r1, [r0, 0x26]
-_080D56D0:
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x18
- ble _080D57BA
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D570C
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0xC0
- lsls r2, 1
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x8
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r3, 0xF0
- bl sub_8079C08
- b _080D572A
- .align 2, 0
-_080D5708: .4byte gSprites
-_080D570C:
- ldrh r1, [r4, 0x26]
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0xC0
- lsls r2, 1
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0x8
- str r0, [sp, 0x8]
- adds r0, r4, 0
- movs r3, 0xC0
- bl sub_8079C08
-_080D572A:
- ldrh r1, [r4, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D5748
- ldr r2, _080D5754
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x3
- strh r1, [r0, 0x26]
-_080D5748:
- movs r0, 0
- strh r0, [r4, 0xA]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xE]
- b _080D57A0
- .align 2, 0
-_080D5754: .4byte gSprites
-_080D5758:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D5774
- ldr r2, _080D57A8
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x1
- strh r1, [r0, 0x22]
-_080D5774:
- adds r0, r4, 0
- bl sub_8079C74
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080D57BA
- ldr r2, _080D57A8
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x10]
- strh r1, [r0, 0x22]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8078F40
- strh r5, [r4, 0xC]
-_080D57A0:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080D57BA
- .align 2, 0
-_080D57A8: .4byte gSprites
-_080D57AC:
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D57BA
- adds r0, r5, 0
- bl move_anim_task_del
-_080D57BA:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D54E0
-
- thumb_func_start sub_80D57C4
-sub_80D57C4: @ 80D57C4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r2, 24
- lsrs r2, 24
- mov r8, r2
- adds r0, r4, 0
- bl sub_80D5940
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- ldr r1, _080D5814
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- ldrh r4, [r0, 0x20]
- ldr r0, _080D5818
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D581C
- adds r0, r4, 0
- subs r0, 0xC
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0x1
- b _080D5826
- .align 2, 0
-_080D5814: .4byte gSprites
-_080D5818: .4byte gUnknown_0202F7C8
-_080D581C:
- adds r0, r4, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0xFF
-_080D5826:
- movs r6, 0
- movs r5, 0
- lsls r4, 16
- str r4, [sp, 0x8]
- mov r1, r9
- lsls r1, 16
- str r1, [sp, 0x4]
- ldr r2, _080D58E0
- mov r9, r2
- lsls r0, 24
- asrs r0, 24
- str r0, [sp]
- mov r3, r8
- lsls r3, 1
- mov r10, r3
-_080D5844:
- ldr r0, _080D58E4
- ldr r2, [sp, 0x8]
- asrs r1, r2, 16
- ldr r3, [sp, 0x4]
- asrs r2, r3, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080D58C6
- ldr r1, _080D58E8
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r4, r0, r1
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- lsls r0, r5, 2
- adds r0, 0x40
- adds r1, r0
- ldr r3, _080D58EC
- adds r0, r3, 0
- ands r1, r0
- ldr r3, _080D58F0
- adds r0, r3, 0
- ands r2, r0
- orrs r2, r1
- strh r2, [r4, 0x4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _080D588E
- movs r5, 0
-_080D588E:
- lsls r2, r6, 2
- mov r1, r9
- adds r0, r2, r1
- ldrh r0, [r0]
- ldr r3, [sp]
- adds r1, r0, 0
- muls r1, r3
- lsls r1, 16
- asrs r1, 16
- ldr r0, _080D58F4
- adds r2, r0
- movs r3, 0
- ldrsh r2, [r2, r3]
- adds r0, r4, 0
- bl sub_80D5994
- strh r7, [r4, 0x3A]
- mov r0, r8
- strh r0, [r4, 0x3C]
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- add r0, r10
- ldr r1, _080D58F8
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
-_080D58C6:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x6
- bls _080D5844
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D58E0: .4byte gUnknown_083D96DC
-_080D58E4: .4byte gSpriteTemplate_83D96C4
-_080D58E8: .4byte gSprites
-_080D58EC: .4byte 0x000003ff
-_080D58F0: .4byte 0xfffffc00
-_080D58F4: .4byte gUnknown_083D96DC + 0x2
-_080D58F8: .4byte gUnknown_03004B28
- thumb_func_end sub_80D57C4
-
- thumb_func_start sub_80D58FC
-sub_80D58FC: @ 80D58FC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80D59B0
- adds r0, r4, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080D5936
- ldr r3, _080D593C
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroySprite
-_080D5936:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D593C: .4byte gTasks
- thumb_func_end sub_80D58FC
-
- thumb_func_start sub_80D5940
-sub_80D5940: @ 80D5940
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080D5978
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r1, 0x26]
- ldrh r0, [r1, 0x22]
- adds r2, r0
- adds r1, 0x29
- movs r0, 0
- ldrsb r0, [r1, r0]
- adds r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _080D597C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D5980
- lsls r0, r4, 16
- movs r1, 0x94
- lsls r1, 15
- b _080D5986
- .align 2, 0
-_080D5978: .4byte gSprites
-_080D597C: .4byte gUnknown_0202F7C8
-_080D5980:
- lsls r0, r4, 16
- movs r1, 0xB0
- lsls r1, 14
-_080D5986:
- adds r0, r1
- lsrs r4, r0, 16
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80D5940
-
- thumb_func_start sub_80D5994
-sub_80D5994: @ 80D5994
- movs r3, 0
- strh r3, [r0, 0x2E]
- strh r3, [r0, 0x30]
- ldrh r3, [r0, 0x20]
- lsls r3, 3
- strh r3, [r0, 0x32]
- ldrh r3, [r0, 0x22]
- lsls r3, 3
- strh r3, [r0, 0x34]
- lsls r1, 3
- strh r1, [r0, 0x36]
- lsls r2, 3
- strh r2, [r0, 0x38]
- bx lr
- thumb_func_end sub_80D5994
-
- thumb_func_start sub_80D59B0
-sub_80D59B0: @ 80D59B0
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080D59DA
- movs r0, 0
- strh r0, [r2, 0x2E]
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x30]
- adds r1, r0, 0
- muls r1, r0
- adds r0, r1, 0
- ldrh r3, [r2, 0x34]
- adds r0, r3
- strh r0, [r2, 0x34]
-_080D59DA:
- ldrh r0, [r2, 0x36]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r2, 0x20]
- ldrh r1, [r2, 0x38]
- ldrh r3, [r2, 0x34]
- adds r1, r3
- strh r1, [r2, 0x34]
- lsls r1, 16
- asrs r3, r1, 19
- strh r3, [r2, 0x22]
- adds r0, 0x8
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 17
- cmp r0, r1
- bhi _080D5A10
- adds r1, r3, 0
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _080D5A10
- cmp r1, 0x78
- ble _080D5A1C
-_080D5A10:
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080D5A1C:
- pop {r0}
- bx r0
- thumb_func_end sub_80D59B0
-
- thumb_func_start sub_80D5A20
-sub_80D5A20: @ 80D5A20
- push {r4,r5,lr}
- ldr r3, _080D5A64
- ldrh r1, [r3]
- movs r2, 0
- strh r1, [r0, 0x20]
- ldrh r1, [r3, 0x2]
- strh r1, [r0, 0x22]
- strh r2, [r0, 0x2E]
- strh r2, [r0, 0x30]
- strh r2, [r0, 0x32]
- ldrh r1, [r3, 0x4]
- strh r1, [r0, 0x3A]
- ldrh r1, [r3, 0x6]
- strh r1, [r0, 0x3C]
- ldrh r4, [r0, 0x4]
- lsls r2, r4, 22
- lsrs r2, 22
- movs r5, 0x8
- ldrsh r1, [r3, r5]
- lsls r1, 4
- adds r2, r1
- ldr r3, _080D5A68
- adds r1, r3, 0
- ands r2, r1
- ldr r1, _080D5A6C
- ands r1, r4
- orrs r1, r2
- strh r1, [r0, 0x4]
- ldr r1, _080D5A70
- str r1, [r0, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D5A64: .4byte gUnknown_03004B00
-_080D5A68: .4byte 0x000003ff
-_080D5A6C: .4byte 0xfffffc00
-_080D5A70: .4byte sub_80D5A74
- thumb_func_end sub_80D5A20
-
- thumb_func_start sub_80D5A74
-sub_80D5A74: @ 80D5A74
- push {r4,lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _080D5AA6
- cmp r0, 0x1
- bgt _080D5A8A
- cmp r0, 0
- beq _080D5A90
- b _080D5B04
-_080D5A8A:
- cmp r0, 0x2
- beq _080D5AC4
- b _080D5B04
-_080D5A90:
- ldrh r1, [r2, 0x3A]
- movs r3, 0x3A
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080D5AA0
- subs r0, r1, 0x1
- strh r0, [r2, 0x3A]
- b _080D5B04
-_080D5AA0:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
-_080D5AA6:
- ldrh r0, [r2, 0x22]
- adds r0, 0x8
- strh r0, [r2, 0x22]
- lsls r0, 16
- asrs r0, 16
- ldrh r3, [r2, 0x3C]
- movs r4, 0x3C
- ldrsh r1, [r2, r4]
- cmp r0, r1
- blt _080D5B04
- strh r3, [r2, 0x22]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- b _080D5B04
-_080D5AC4:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D5AF0
- movs r0, 0
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x32]
- adds r0, 0x1
- strh r0, [r2, 0x32]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D5AEC
- ldr r0, _080D5AE8
- b _080D5AEE
- .align 2, 0
-_080D5AE8: .4byte 0x0000fffd
-_080D5AEC:
- movs r0, 0x3
-_080D5AEE:
- strh r0, [r2, 0x26]
-_080D5AF0:
- ldrh r0, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080D5B04
- adds r0, r2, 0
- bl move_anim_8072740
-_080D5B04:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D5A74
-
- thumb_func_start sub_80D5B0C
-sub_80D5B0C: @ 80D5B0C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080D5B80
- cmp r0, 0x1
- bgt _080D5B22
- cmp r0, 0
- beq _080D5B28
- b _080D5C4E
-_080D5B22:
- cmp r0, 0x2
- beq _080D5BDE
- b _080D5C4E
-_080D5B28:
- adds r0, r5, 0
- movs r1, 0
- bl sub_80787B0
- ldr r4, _080D5B50
- ldrb r1, [r4, 0x4]
- adds r0, r5, 0
- bl StartSpriteAnim
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x3C]
- ldr r0, _080D5B54
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D5B58
- movs r0, 0x4
- b _080D5B5A
- .align 2, 0
-_080D5B50: .4byte gUnknown_03004B00
-_080D5B54: .4byte gUnknown_0202F7C8
-_080D5B58:
- ldr r0, _080D5B78
-_080D5B5A:
- strh r0, [r5, 0x36]
- ldr r0, _080D5B7C
- ldrb r0, [r0]
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080D5BD6
- .align 2, 0
-_080D5B78: .4byte 0x0000fffc
-_080D5B7C: .4byte gUnknown_0202F7C9
-_080D5B80:
- ldrh r0, [r5, 0x30]
- adds r0, 0xC0
- strh r0, [r5, 0x30]
- ldr r0, _080D5BA0
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D5BA4
- ldrh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- b _080D5BAA
- .align 2, 0
-_080D5BA0: .4byte gUnknown_0202F7C8
-_080D5BA4:
- ldrh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 24
-_080D5BAA:
- strh r0, [r5, 0x26]
- movs r2, 0x32
- ldrsh r0, [r5, r2]
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- bl Sin
- strh r0, [r5, 0x24]
- ldrh r0, [r5, 0x32]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080D5C4E
- movs r0, 0
- strh r0, [r5, 0x34]
-_080D5BD6:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080D5C4E
-_080D5BDE:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r2, 0x36
- ldrsh r1, [r5, r2]
- bl Sin
- adds r2, r0, 0
- movs r3, 0
- strh r2, [r5, 0x24]
- ldrh r0, [r5, 0x32]
- adds r0, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x34]
- adds r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _080D5C4E
- ldrh r0, [r5, 0x20]
- adds r1, r2, r0
- strh r1, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r3, [r5, 0x26]
- strh r3, [r5, 0x24]
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r5, 0x2E]
- strh r1, [r5, 0x30]
- ldr r4, _080D5C54
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_8078BD4
- ldr r0, _080D5C58
- str r0, [r5, 0x1C]
-_080D5C4E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D5C54: .4byte gUnknown_0202F7C9
-_080D5C58: .4byte sub_80D5C5C
- thumb_func_end sub_80D5B0C
-
- thumb_func_start sub_80D5C5C
-sub_80D5C5C: @ 80D5C5C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- bne _080D5CB4
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0x10
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- ldrh r2, [r4, 0x38]
- adds r0, r2, 0x4
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x38]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _080D5C92
- cmp r2, 0xC4
- ble _080D5CBA
-_080D5C92:
- lsls r0, 16
- cmp r0, 0
- ble _080D5CBA
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D5CBA
- ldr r0, _080D5CB0
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x90
- bl PlaySE12WithPanning
- b _080D5CBA
- .align 2, 0
-_080D5CB0: .4byte gUnknown_0202F7D2
-_080D5CB4:
- adds r0, r4, 0
- bl move_anim_8072740
-_080D5CBA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D5C5C
-
- thumb_func_start sub_80D5CC0
-sub_80D5CC0: @ 80D5CC0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080D5CD8
- ldr r0, _080D5D4C
- ldrh r0, [r0]
- strh r0, [r4, 0x30]
- adds r0, r1, 0x1
- strh r0, [r4, 0x2E]
-_080D5CD8:
- movs r0, 0xC0
- lsls r0, 1
- adds r1, r0, 0
- ldrh r2, [r4, 0x34]
- adds r1, r2
- strh r1, [r4, 0x34]
- ldrh r0, [r4, 0x36]
- adds r0, 0xA0
- strh r0, [r4, 0x36]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- lsls r1, 16
- asrs r1, 24
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- ldrh r1, [r4, 0x36]
- lsls r1, 16
- asrs r1, 24
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r2, r0, 0x7
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r4, 0x30]
- ldr r0, _080D5D50
- ldr r1, _080D5D54
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D5D84
- adds r0, r2, 0
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x83
- bls _080D5D5C
- ldr r0, _080D5D58
- ldrb r0, [r0]
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- b _080D5DA0
- .align 2, 0
-_080D5D4C: .4byte gUnknown_03004B00
-_080D5D50: .4byte gMain
-_080D5D54: .4byte 0x0000043d
-_080D5D58: .4byte gUnknown_0202F7C9
-_080D5D5C:
- ldr r0, _080D5D80
- ldrb r0, [r0]
- bl sub_8079ED4
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
- b _080D5DA0
- .align 2, 0
-_080D5D80: .4byte gUnknown_0202F7C9
-_080D5D84:
- adds r0, r2, 0
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x83
- bls _080D5D98
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1D
- b _080D5D9E
-_080D5D98:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x1F
-_080D5D9E:
- strb r0, [r1]
-_080D5DA0:
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080D5DC8
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080D5DC8:
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r0, 0x1E
- bne _080D5DD6
- adds r0, r4, 0
- bl move_anim_8072740
-_080D5DD6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D5CC0
-
- thumb_func_start sub_80D5DDC
-sub_80D5DDC: @ 80D5DDC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080D5E3C
- adds r4, r1, r0
- ldr r0, _080D5E40
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _080D5E02
- movs r1, 0x1
-_080D5E02:
- strh r1, [r4, 0x20]
- ldr r0, _080D5E44
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- strh r0, [r4, 0x22]
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x24]
- movs r0, 0x3
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x26]
- ldr r0, _080D5E48
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D5E3C: .4byte gTasks
-_080D5E40: .4byte gUnknown_0202F7C8
-_080D5E44: .4byte gUnknown_0202F7C9
-_080D5E48: .4byte sub_80D5E4C
- thumb_func_end sub_80D5DDC
-
- thumb_func_start sub_80D5E4C
-sub_80D5E4C: @ 80D5E4C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080D5E70
- adds r2, r0, r1
- movs r0, 0x8
- ldrsh r3, [r2, r0]
- cmp r3, 0x1
- beq _080D5F14
- cmp r3, 0x1
- bgt _080D5E74
- cmp r3, 0
- beq _080D5E82
- b _080D6074
- .align 2, 0
-_080D5E70: .4byte gTasks
-_080D5E74:
- cmp r3, 0x2
- bne _080D5E7A
- b _080D5F9C
-_080D5E7A:
- cmp r3, 0x3
- bne _080D5E80
- b _080D6030
-_080D5E80:
- b _080D6074
-_080D5E82:
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- lsls r0, 1
- ldrh r5, [r2, 0x1C]
- adds r0, r5
- strh r0, [r2, 0x1C]
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D5EB4
- strh r3, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D5EB0
- movs r0, 0x2
- b _080D5EB2
-_080D5EB0:
- ldr r0, _080D5F0C
-_080D5EB2:
- strh r0, [r2, 0x1E]
-_080D5EB4:
- movs r1, 0
- strh r1, [r2, 0xE]
- movs r7, 0x22
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _080D5EF6
- ldr r4, _080D5F10
- adds r3, r2, 0
- adds r3, 0x8
-_080D5EC6:
- movs r1, 0xE
- ldrsh r0, [r2, r1]
- adds r0, 0xE
- lsls r0, 1
- adds r0, r3, r0
- movs r5, 0
- ldrsh r0, [r0, r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r2, 0x1E]
- ldrh r7, [r2, 0x1C]
- adds r0, r7
- strh r0, [r1, 0x24]
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r5, 0x22
- ldrsh r1, [r2, r5]
- cmp r0, r1
- blt _080D5EC6
-_080D5EF6:
- ldrh r0, [r2, 0x1A]
- adds r0, 0x1
- strh r0, [r2, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- beq _080D5F06
- b _080D6074
-_080D5F06:
- movs r0, 0
- strh r0, [r2, 0x1A]
- b _080D6020
- .align 2, 0
-_080D5F0C: .4byte 0x0000fffe
-_080D5F10: .4byte gSprites
-_080D5F14:
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080D5F3C
- movs r0, 0
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- ands r0, r3
- lsls r0, 16
- cmp r0, 0
- beq _080D5F38
- movs r0, 0x2
- b _080D5F3A
-_080D5F38:
- ldr r0, _080D5F94
-_080D5F3A:
- strh r0, [r2, 0x1E]
-_080D5F3C:
- movs r1, 0
- strh r1, [r2, 0xE]
- movs r7, 0x22
- ldrsh r0, [r2, r7]
- cmp r1, r0
- bge _080D5F7E
- ldr r4, _080D5F98
- adds r3, r2, 0
- adds r3, 0x8
-_080D5F4E:
- movs r1, 0xE
- ldrsh r0, [r2, r1]
- adds r0, 0xE
- lsls r0, 1
- adds r0, r3, r0
- movs r5, 0
- ldrsh r0, [r0, r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r2, 0x1E]
- ldrh r7, [r2, 0x1C]
- adds r0, r7
- strh r0, [r1, 0x24]
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r5, 0x22
- ldrsh r1, [r2, r5]
- cmp r0, r1
- blt _080D5F4E
-_080D5F7E:
- ldrh r0, [r2, 0x1A]
- adds r0, 0x1
- strh r0, [r2, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x60
- bne _080D6074
- movs r0, 0
- strh r0, [r2, 0x1A]
- b _080D6020
- .align 2, 0
-_080D5F94: .4byte 0x0000fffe
-_080D5F98: .4byte gSprites
-_080D5F9C:
- movs r7, 0x20
- ldrsh r1, [r2, r7]
- lsls r1, 1
- ldrh r0, [r2, 0x1C]
- subs r0, r1
- strh r0, [r2, 0x1C]
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D5FD0
- movs r0, 0
- strh r0, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D5FCC
- strh r3, [r2, 0x1E]
- b _080D5FD0
-_080D5FCC:
- ldr r0, _080D6028
- strh r0, [r2, 0x1E]
-_080D5FD0:
- movs r1, 0
- strh r1, [r2, 0xE]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bge _080D6012
- ldr r4, _080D602C
- adds r3, r2, 0
- adds r3, 0x8
-_080D5FE2:
- movs r5, 0xE
- ldrsh r0, [r2, r5]
- adds r0, 0xE
- lsls r0, 1
- adds r0, r3, r0
- movs r7, 0
- ldrsh r0, [r0, r7]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r0, [r2, 0x1E]
- ldrh r5, [r2, 0x1C]
- adds r0, r5
- strh r0, [r1, 0x24]
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r7, 0x22
- ldrsh r1, [r2, r7]
- cmp r0, r1
- blt _080D5FE2
-_080D6012:
- ldrh r0, [r2, 0x1A]
- adds r0, 0x1
- strh r0, [r2, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bne _080D6074
-_080D6020:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _080D6074
- .align 2, 0
-_080D6028: .4byte 0x0000fffe
-_080D602C: .4byte gSprites
-_080D6030:
- movs r1, 0
- strh r1, [r2, 0xE]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bge _080D606E
- ldr r6, _080D607C
- adds r3, r2, 0
- adds r3, 0x8
- movs r5, 0
-_080D6044:
- movs r7, 0xE
- ldrsh r0, [r2, r7]
- adds r0, 0xE
- lsls r0, 1
- adds r0, r3, r0
- movs r7, 0
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r5, [r0, 0x24]
- ldrh r0, [r2, 0xE]
- adds r0, 0x1
- strh r0, [r2, 0xE]
- lsls r0, 16
- asrs r0, 16
- movs r7, 0x22
- ldrsh r1, [r2, r7]
- cmp r0, r1
- blt _080D6044
-_080D606E:
- adds r0, r4, 0
- bl move_anim_task_del
-_080D6074:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D607C: .4byte gSprites
- thumb_func_end sub_80D5E4C
-
- thumb_func_start sub_80D6080
-sub_80D6080: @ 80D6080
- push {r4,lr}
- sub sp, 0xC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r0, sp
- bl sub_8078914
- mov r0, sp
- ldrb r0, [r0, 0x8]
- lsls r0, 4
- ldr r1, _080D60B0
- ldrb r2, [r1]
- ldrh r3, [r1, 0x2]
- movs r1, 0x10
- bl BlendPalette
- adds r0, r4, 0
- bl move_anim_task_del
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D60B0: .4byte gUnknown_03004B00
- thumb_func_end sub_80D6080
-
- thumb_func_start sub_80D60B4
-sub_80D60B4: @ 80D60B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _080D610C
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x8
- ldrsh r0, [r2, r3]
- mov r9, r1
- ldr r4, _080D6110
- mov r8, r4
- cmp r0, 0
- bne _080D60EA
- ldrh r0, [r4]
- strh r0, [r2, 0xA]
- ldrh r0, [r4, 0x2]
- strh r0, [r2, 0xC]
- ldrh r0, [r4, 0x4]
- strh r0, [r2, 0xE]
- ldrh r0, [r4, 0x6]
- strh r0, [r2, 0x10]
-_080D60EA:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- ldr r1, _080D6114
- ldr r0, _080D6118
- ldrb r0, [r0]
- adds r0, r1
- ldrb r6, [r0]
- movs r5, 0x10
- ldrsh r0, [r2, r5]
- cmp r0, 0
- bne _080D6120
- ldr r4, _080D611C
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- b _080D6126
- .align 2, 0
-_080D610C: .4byte gTasks
-_080D6110: .4byte gUnknown_03004B00
-_080D6114: .4byte gUnknown_02024BE0
-_080D6118: .4byte gUnknown_0202F7C9
-_080D611C: .4byte gUnknown_083D9794
-_080D6120:
- ldr r4, _080D616C
- movs r3, 0x8
- ldrsh r0, [r2, r3]
-_080D6126:
- movs r1, 0xA
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- adds r0, r4
- ldrb r5, [r0]
- lsls r0, r7, 2
- adds r1, r0, r7
- lsls r1, 3
- add r1, r9
- movs r4, 0xE
- ldrsh r1, [r1, r4]
- mov r12, r0
- cmp r1, 0x1
- bne _080D6174
- ldr r2, _080D6170
- lsls r3, r6, 4
- adds r0, r3, r6
- lsls r0, 2
- adds r0, r2
- mov r10, r0
- mov r0, r8
- movs r4, 0x2
- ldrsh r1, [r0, r4]
- lsls r0, r5, 24
- asrs r0, 24
- muls r0, r1
- cmp r0, 0
- bge _080D6164
- negs r0, r0
-_080D6164:
- mov r5, r10
- strh r0, [r5, 0x26]
- b _080D618E
- .align 2, 0
-_080D616C: .4byte gUnknown_083D97A4
-_080D6170: .4byte gSprites
-_080D6174:
- ldr r3, _080D61C4
- lsls r4, r6, 4
- adds r2, r4, r6
- lsls r2, 2
- adds r2, r3
- lsls r0, r5, 24
- asrs r0, 24
- mov r5, r8
- ldrh r1, [r5, 0x2]
- muls r0, r1
- strh r0, [r2, 0x24]
- adds r2, r3, 0
- adds r3, r4, 0
-_080D618E:
- mov r1, r12
- adds r0, r1, r7
- lsls r0, 3
- add r0, r9
- movs r4, 0x8
- ldrsh r1, [r0, r4]
- movs r5, 0xA
- ldrsh r0, [r0, r5]
- cmp r1, r0
- bne _080D61B4
- adds r0, r3, r6
- lsls r0, 2
- adds r0, r2
- movs r1, 0
- strh r1, [r0, 0x24]
- strh r1, [r0, 0x26]
- adds r0, r7, 0
- bl move_anim_task_del
-_080D61B4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D61C4: .4byte gSprites
- thumb_func_end sub_80D60B4
-
- thumb_func_start sub_80D61C8
-sub_80D61C8: @ 80D61C8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080D61E8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D61F0
- ldr r0, _080D61EC
- ldrh r1, [r4, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r4, 0x20]
- b _080D61FC
- .align 2, 0
-_080D61E8: .4byte gUnknown_0202F7C8
-_080D61EC: .4byte gUnknown_03004B00
-_080D61F0:
- ldr r1, _080D6210
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- adds r0, r1, 0
-_080D61FC:
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, _080D6214
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6210: .4byte gUnknown_03004B00
-_080D6214: .4byte sub_80D6218
- thumb_func_end sub_80D61C8
-
- thumb_func_start sub_80D6218
-sub_80D6218: @ 80D6218
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080D622E
- adds r0, r2, 0
- bl move_anim_8072740
-_080D622E:
- pop {r0}
- bx r0
- thumb_func_end sub_80D6218
-
- thumb_func_start sub_80D6234
-sub_80D6234: @ 80D6234
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080D6254
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D625C
- ldr r0, _080D6258
- ldrh r1, [r4, 0x20]
- ldrh r0, [r0]
- subs r1, r0
- strh r1, [r4, 0x20]
- b _080D6266
- .align 2, 0
-_080D6254: .4byte gUnknown_0202F7C8
-_080D6258: .4byte gUnknown_03004B00
-_080D625C:
- ldr r0, _080D6270
- ldrh r0, [r0]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
-_080D6266:
- ldr r0, _080D6274
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6270: .4byte gUnknown_03004B00
-_080D6274: .4byte sub_80D6278
- thumb_func_end sub_80D6234
-
- thumb_func_start sub_80D6278
-sub_80D6278: @ 80D6278
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080D628E
- adds r0, r2, 0
- bl move_anim_8074EE0
-_080D628E:
- pop {r0}
- bx r0
- thumb_func_end sub_80D6278
-
- thumb_func_start sub_80D6294
-sub_80D6294: @ 80D6294
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080D62D8
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r0, _080D62DC
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D62E4
- ldr r2, _080D62E0
- ldrh r0, [r5, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- ldrh r1, [r2, 0x2]
- subs r0, r1
- strh r0, [r5, 0x22]
- b _080D62F8
- .align 2, 0
-_080D62D8: .4byte gUnknown_0202F7C9
-_080D62DC: .4byte gUnknown_0202F7C8
-_080D62E0: .4byte gUnknown_03004B00
-_080D62E4:
- ldr r0, _080D631C
- ldrh r1, [r0]
- ldrh r2, [r5, 0x20]
- adds r1, r2
- strh r1, [r5, 0x20]
- ldrh r1, [r0, 0x2]
- ldrh r2, [r5, 0x22]
- adds r1, r2
- strh r1, [r5, 0x22]
- adds r2, r0, 0
-_080D62F8:
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldrh r0, [r2, 0x4]
- strh r0, [r5, 0x30]
- ldrh r0, [r2, 0x6]
- strh r0, [r5, 0x32]
- ldrh r0, [r2, 0x8]
- strh r0, [r5, 0x34]
- ldr r1, _080D6320
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080D6324
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D631C: .4byte gUnknown_03004B00
-_080D6320: .4byte move_anim_8074EE0
-_080D6324: .4byte sub_8078114
- thumb_func_end sub_80D6294
-
- thumb_func_start sub_80D6328
-sub_80D6328: @ 80D6328
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r0, _080D6340
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- beq _080D63A0
- cmp r0, 0x1
- bgt _080D6344
- cmp r0, 0
- beq _080D634E
- b _080D63A0
- .align 2, 0
-_080D6340: .4byte gUnknown_03004B00
-_080D6344:
- cmp r0, 0x2
- beq _080D6358
- cmp r0, 0x3
- beq _080D637C
- b _080D63A0
-_080D634E:
- ldr r0, _080D6354
- b _080D63A2
- .align 2, 0
-_080D6354: .4byte gUnknown_0202F7C8
-_080D6358:
- ldr r4, _080D6370
- ldrb r0, [r4]
- movs r6, 0x2
- eors r0, r6
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- bne _080D6374
- ldrb r4, [r4]
- b _080D63A4
- .align 2, 0
-_080D6370: .4byte gUnknown_0202F7C8
-_080D6374:
- ldrb r0, [r4]
- adds r4, r6, 0
- eors r4, r0
- b _080D63A4
-_080D637C:
- ldr r0, _080D6398
- ldrb r0, [r0]
- movs r4, 0x2
- eors r0, r4
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080D63A0
- ldr r0, _080D639C
- ldrb r0, [r0]
- eors r4, r0
- b _080D63A4
- .align 2, 0
-_080D6398: .4byte gUnknown_0202F7C8
-_080D639C: .4byte gUnknown_0202F7C9
-_080D63A0:
- ldr r0, _080D63C4
-_080D63A2:
- ldrb r4, [r0]
-_080D63A4:
- ldr r0, _080D63C8
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080D63CC
- adds r0, r4, 0
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- adds r0, r4, 0
- movs r1, 0x1
- b _080D63DE
- .align 2, 0
-_080D63C4: .4byte gUnknown_0202F7C9
-_080D63C8: .4byte gUnknown_03004B00
-_080D63CC:
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- adds r0, r4, 0
- movs r1, 0x3
-_080D63DE:
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r7, _080D647C
- ldr r6, _080D6480
- movs r1, 0
- ldrsh r0, [r6, r1]
- lsls r0, 1
- adds r0, r7
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- muls r0, r1
- asrs r0, 8
- strh r0, [r5, 0x24]
- movs r1, 0
- ldrsh r0, [r6, r1]
- adds r0, 0x40
- lsls r0, 1
- adds r0, r7
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r2, 0x2
- ldrsh r0, [r6, r2]
- muls r0, r1
- asrs r0, 8
- strh r0, [r5, 0x26]
- ldrh r1, [r6, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D6442
- adds r0, r4, 0
- bl sub_8079ED4
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r5, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r5, 0x5]
-_080D6442:
- ldrb r2, [r5, 0x3]
- lsls r2, 26
- lsrs r2, 27
- movs r0, 0x4
- ldrsh r1, [r6, r0]
- lsls r0, r1, 1
- adds r0, r7
- ldrh r0, [r0]
- ldr r3, _080D6484
- lsls r2, 3
- adds r2, r3
- adds r1, 0x40
- lsls r1, 1
- adds r1, r7
- ldrh r1, [r1]
- strh r1, [r2, 0x6]
- strh r1, [r2]
- strh r0, [r2, 0x2]
- lsls r0, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r2, 0x4]
- ldrh r0, [r6, 0x6]
- strh r0, [r5, 0x2E]
- ldr r0, _080D6488
- str r0, [r5, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D647C: .4byte gSineTable
-_080D6480: .4byte gUnknown_03004B00
-_080D6484: .4byte gOamMatrices
-_080D6488: .4byte sub_80DA48C
- thumb_func_end sub_80D6328
-
- thumb_func_start sub_80D648C
-sub_80D648C: @ 80D648C
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r5, _080D6500
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldr r6, _080D6504
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrb r0, [r6]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x38]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x3A]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x3C]
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- movs r3, 0xC
- ldrsh r0, [r5, r3]
- lsls r0, 2
- adds r1, r0
- ldr r3, _080D6508
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080D650C
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- ldr r1, _080D6510
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6500: .4byte gUnknown_03004B00
-_080D6504: .4byte gUnknown_0202F7C9
-_080D6508: .4byte 0x000003ff
-_080D650C: .4byte 0xfffffc00
-_080D6510: .4byte sub_80D6514
- thumb_func_end sub_80D648C
-
- thumb_func_start sub_80D6514
-sub_80D6514: @ 80D6514
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- bne _080D657E
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3A]
- ldrh r2, [r4, 0x3C]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r1, 0x3
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _080D6584
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _080D6584
-_080D657E:
- adds r0, r4, 0
- bl move_anim_8072740
-_080D6584:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D6514
-
- thumb_func_start sub_80D658C
-sub_80D658C: @ 80D658C
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x38]
- subs r0, 0x1
- strh r0, [r3, 0x38]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080D65C4
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x36]
- strh r0, [r3, 0x38]
-_080D65C4:
- ldrh r0, [r3, 0x34]
- subs r1, r0, 0x1
- strh r1, [r3, 0x34]
- lsls r0, 16
- cmp r0, 0
- bgt _080D65D6
- adds r0, r3, 0
- bl move_anim_8072740
-_080D65D6:
- pop {r0}
- bx r0
- thumb_func_end sub_80D658C
-
- thumb_func_start sub_80D65DC
-sub_80D65DC: @ 80D65DC
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, _080D6644
- ldr r1, _080D6648
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D65FE
- ldr r0, _080D664C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D6606
-_080D65FE:
- ldr r1, _080D6650
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080D6606:
- ldr r5, _080D664C
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- ldr r4, _080D6650
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x22]
- ldrh r0, [r4]
- strh r0, [r6, 0x34]
- ldrh r0, [r4, 0x6]
- strh r0, [r6, 0x36]
- strh r0, [r6, 0x38]
- ldr r0, _080D6654
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6644: .4byte gMain
-_080D6648: .4byte 0x0000043d
-_080D664C: .4byte gUnknown_0202F7C9
-_080D6650: .4byte gUnknown_03004B00
-_080D6654: .4byte sub_80D658C
- thumb_func_end sub_80D65DC
-
- thumb_func_start sub_80D6658
-sub_80D6658: @ 80D6658
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r1, _080D6674
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x2E]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _080D667C
- ldr r0, _080D6678
- b _080D667E
- .align 2, 0
-_080D6674: .4byte gUnknown_03004B00
-_080D6678: .4byte gUnknown_0202F7C9
-_080D667C:
- ldr r0, _080D670C
-_080D667E:
- ldrb r6, [r0]
- ldr r0, _080D6710
- ldr r3, _080D6714
- adds r0, r3
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D669C
- adds r0, r6, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D66A4
-_080D669C:
- ldr r1, _080D6718
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_080D66A4:
- adds r0, r6, 0
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- ldr r4, _080D6718
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r5, 0x20]
- adds r0, r6, 0
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r4, 0x2]
- adds r0, r2
- strh r0, [r5, 0x22]
- ldrh r1, [r4, 0xE]
- ldr r0, _080D671C
- ands r0, r1
- strh r0, [r5, 0x36]
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x38]
- ldrh r0, [r4, 0xA]
- strh r0, [r5, 0x3A]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x3C]
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- lsls r0, 2
- adds r1, r0
- ldr r3, _080D6720
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080D6724
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r1, _080D6728
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D670C: .4byte gUnknown_0202F7C8
-_080D6710: .4byte gMain
-_080D6714: .4byte 0x0000043d
-_080D6718: .4byte gUnknown_03004B00
-_080D671C: .4byte 0x00007fff
-_080D6720: .4byte 0x000003ff
-_080D6724: .4byte 0xfffffc00
-_080D6728: .4byte sub_80D672C
- thumb_func_end sub_80D6658
-
- thumb_func_start sub_80D672C
-sub_80D672C: @ 80D672C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- bl __modsi3
- cmp r0, 0
- bne _080D6782
- adds r3, r4, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080D6782:
- ldrh r0, [r4, 0x2E]
- subs r1, r0, 0x1
- strh r1, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bgt _080D6794
- adds r0, r4, 0
- bl move_anim_8072740
-_080D6794:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D672C
-
- thumb_func_start sub_80D679C
-sub_80D679C: @ 80D679C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_8078764
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- ldr r3, _080D67D8
- movs r5, 0x6
- ldrsh r0, [r3, r5]
- lsls r0, 2
- adds r1, r0
- ldr r5, _080D67DC
- adds r0, r5, 0
- ands r1, r0
- ldr r0, _080D67E0
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- movs r1, 0x6
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- bne _080D67E4
- ldrb r0, [r4, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- b _080D67F2
- .align 2, 0
-_080D67D8: .4byte gUnknown_03004B00
-_080D67DC: .4byte 0x000003ff
-_080D67E0: .4byte 0xfffffc00
-_080D67E4:
- cmp r0, 0x2
- bne _080D67F6
- ldrb r0, [r4, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x20
-_080D67F2:
- orrs r1, r0
- strb r1, [r4, 0x3]
-_080D67F6:
- ldr r0, _080D6810
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldr r0, _080D6814
- str r0, [r4, 0x1C]
- ldr r1, _080D6818
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6810: .4byte gUnknown_03004B00
-_080D6814: .4byte sub_80782D8
-_080D6818: .4byte move_anim_8072740
- thumb_func_end sub_80D679C
-
- thumb_func_start sub_80D681C
-sub_80D681C: @ 80D681C
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r6, _080D6864
- ldrb r0, [r6]
- movs r1, 0
- bl sub_8077ABC
- ldr r1, _080D6868
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r1
- lsls r0, 24
- ldr r5, _080D686C
- lsrs r0, 24
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r4, 0x8]
- ldrb r0, [r6]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r5, 0x2]
- adds r0, r1
- strh r0, [r4, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0xC]
- ldr r0, _080D6870
- str r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6864: .4byte gUnknown_0202F7C9
-_080D6868: .4byte gTasks
-_080D686C: .4byte gUnknown_03004B00
-_080D6870: .4byte sub_80D6874
- thumb_func_end sub_80D681C
-
- thumb_func_start sub_80D6874
-sub_80D6874: @ 80D6874
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r5, 0
- movs r7, 0
- ldr r1, _080D68B4
- lsls r0, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- ldrb r2, [r0, 0xC]
- str r2, [sp]
- ldrh r4, [r0, 0x8]
- ldrh r6, [r0, 0xA]
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- mov r10, r1
- cmp r0, 0
- bne _080D68B8
- movs r0, 0
- mov r8, r0
- movs r2, 0x1
- movs r1, 0x10
- mov r12, r1
- b _080D68C2
- .align 2, 0
-_080D68B4: .4byte gTasks
-_080D68B8:
- movs r2, 0x10
- mov r12, r2
- movs r3, 0x8
- mov r8, r3
- movs r2, 0x4
-_080D68C2:
- mov r0, r9
- lsls r1, r0, 2
- adds r0, r1, r0
- lsls r0, 3
- add r0, r10
- movs r3, 0x1C
- ldrsh r0, [r0, r3]
- mov r10, r1
- cmp r0, 0xA
- bhi _080D69B8
- lsls r0, 2
- ldr r1, _080D68E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080D68E0: .4byte _080D68E4
- .align 2, 0
-_080D68E4:
- .4byte _080D6910
- .4byte _080D69B8
- .4byte _080D6924
- .4byte _080D69B8
- .4byte _080D6944
- .4byte _080D69B8
- .4byte _080D695A
- .4byte _080D69B8
- .4byte _080D697C
- .4byte _080D69B8
- .4byte _080D69B0
-_080D6910:
- ldr r0, _080D6920
- lsls r1, r4, 16
- asrs r1, 16
- lsls r2, r6, 16
- asrs r2, 16
- mov r4, r12
- lsls r3, r4, 16
- b _080D6992
- .align 2, 0
-_080D6920: .4byte gSpriteTemplate_83D9938
-_080D6924:
- mov r0, r12
- lsls r3, r0, 17
- mov r1, r8
- adds r0, r1, r2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, _080D6940
- lsls r1, r4, 16
- asrs r1, 16
- lsls r2, r6, 16
- asrs r2, 16
- b _080D6992
- .align 2, 0
-_080D6940: .4byte gSpriteTemplate_83D9938
-_080D6944:
- mov r3, r12
- lsls r0, r3, 16
- asrs r0, 16
- lsls r3, r0, 1
- adds r3, r0
- lsls r0, r2, 1
- add r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- b _080D6986
-_080D695A:
- mov r0, r12
- lsls r3, r0, 18
- lsls r0, r2, 1
- adds r0, r2
- add r0, r8
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r0, _080D6978
- lsls r1, r4, 16
- asrs r1, 16
- lsls r2, r6, 16
- asrs r2, 16
- b _080D6992
- .align 2, 0
-_080D6978: .4byte gSpriteTemplate_83D9938
-_080D697C:
- mov r1, r12
- lsls r0, r1, 16
- asrs r0, 16
- lsls r3, r0, 2
- adds r3, r0
-_080D6986:
- ldr r0, _080D69AC
- lsls r1, r4, 16
- asrs r1, 16
- lsls r2, r6, 16
- asrs r2, 16
- lsls r3, 16
-_080D6992:
- asrs r3, 16
- adds r2, r3
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- b _080D69B8
- .align 2, 0
-_080D69AC: .4byte gSpriteTemplate_83D9938
-_080D69B0:
- mov r0, r9
- bl move_anim_task_del
- b _080D69FC
-_080D69B8:
- cmp r7, 0
- beq _080D69EC
- ldr r4, _080D6A0C
- lsls r3, r5, 4
- adds r3, r5
- lsls r3, 2
- adds r0, r3, r4
- ldrh r5, [r0, 0x4]
- lsls r2, r5, 22
- lsrs r2, 22
- add r2, r8
- ldr r6, _080D6A10
- adds r1, r6, 0
- ands r2, r1
- ldr r1, _080D6A14
- ands r1, r5
- orrs r1, r2
- strh r1, [r0, 0x4]
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r0, 0x2E]
- adds r4, 0x1C
- adds r3, r4
- ldr r1, [r3]
- bl _call_via_r1
-_080D69EC:
- ldr r0, _080D6A18
- mov r1, r10
- add r1, r9
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x1C]
- adds r0, 0x1
- strh r0, [r1, 0x1C]
-_080D69FC:
- 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
-_080D6A0C: .4byte gSprites
-_080D6A10: .4byte 0x000003ff
-_080D6A14: .4byte 0xfffffc00
-_080D6A18: .4byte gTasks
- thumb_func_end sub_80D6874
-
- thumb_func_start sub_80D6A1C
-sub_80D6A1C: @ 80D6A1C
- push {lr}
- adds r3, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080D6A3E
- ldrb r1, [r3, 0x1]
- movs r2, 0x3F
- adds r0, r2, 0
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r3, 0x1]
- ldrb r0, [r3, 0x3]
- ands r2, r0
- strb r2, [r3, 0x3]
- b _080D6A52
-_080D6A3E:
- ldrb r2, [r3, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r2
- strb r0, [r3, 0x1]
- ldrb r0, [r3, 0x3]
- ands r1, r0
- movs r0, 0x40
- orrs r1, r0
- strb r1, [r3, 0x3]
-_080D6A52:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bne _080D6A66
- adds r0, r3, 0
- bl DestroySprite
-_080D6A66:
- pop {r0}
- bx r0
- thumb_func_end sub_80D6A1C
-
- thumb_func_start sub_80D6A6C
-sub_80D6A6C: @ 80D6A6C
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, _080D6AD4
- ldrh r1, [r0]
- ldrh r2, [r4, 0x20]
- adds r1, r2
- strh r1, [r4, 0x20]
- ldrh r0, [r0, 0x2]
- ldrh r3, [r4, 0x22]
- adds r0, r3
- strh r0, [r4, 0x22]
- ldr r0, _080D6AD8
- adds r1, 0x20
- lsls r1, 16
- asrs r1, 16
- movs r7, 0x22
- ldrsh r2, [r4, r7]
- adds r3, r4, 0
- adds r3, 0x43
- ldrb r3, [r3]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080D6ADC
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r6, r2, r3
- ldrh r5, [r6, 0x4]
- lsls r1, r5, 22
- lsrs r1, 22
- adds r1, 0x8
- ldr r7, _080D6AE0
- adds r0, r7, 0
- ands r1, r0
- ldr r0, _080D6AE4
- ands r0, r5
- orrs r0, r1
- strh r0, [r6, 0x4]
- ldr r1, _080D6AE8
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- adds r3, 0x1C
- adds r2, r3
- ldr r0, _080D6AEC
- str r0, [r2]
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6AD4: .4byte gUnknown_03004B00
-_080D6AD8: .4byte gBattleAnimSpriteTemplate_83D9950
-_080D6ADC: .4byte gSprites
-_080D6AE0: .4byte 0x000003ff
-_080D6AE4: .4byte 0xfffffc00
-_080D6AE8: .4byte gUnknown_0202F7B2
-_080D6AEC: .4byte sub_80D6AF0
- thumb_func_end sub_80D6A6C
-
- thumb_func_start sub_80D6AF0
-sub_80D6AF0: @ 80D6AF0
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080D6B24
- movs r0, 0
- strh r0, [r3, 0x2E]
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
-_080D6B24:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x33
- bne _080D6B38
- adds r0, r3, 0
- bl move_anim_8072740
-_080D6B38:
- pop {r0}
- bx r0
- thumb_func_end sub_80D6AF0
-
- thumb_func_start sub_80D6B3C
-sub_80D6B3C: @ 80D6B3C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080D6B5C
- adds r5, r1, r0
- ldr r0, _080D6B60
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D6B68
- ldr r4, _080D6B64
- b _080D6B6A
- .align 2, 0
-_080D6B5C: .4byte gTasks
-_080D6B60: .4byte gUnknown_03004B00
-_080D6B64: .4byte gUnknown_0202F7C8
-_080D6B68:
- ldr r4, _080D6BAC
-_080D6B6A:
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x24]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x26]
- ldr r2, _080D6BB0
- ldrh r0, [r2, 0x2]
- movs r1, 0
- strh r0, [r5, 0x14]
- strh r1, [r5, 0x16]
- strh r1, [r5, 0x18]
- strh r1, [r5, 0x1A]
- strh r1, [r5, 0x1C]
- ldrh r0, [r2, 0x6]
- strh r0, [r5, 0x1E]
- strh r1, [r5, 0x20]
- ldrh r0, [r2, 0x4]
- strh r0, [r5, 0x22]
- ldr r0, _080D6BB4
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6BAC: .4byte gUnknown_0202F7C9
-_080D6BB0: .4byte gUnknown_03004B00
-_080D6BB4: .4byte sub_80D6BB8
- thumb_func_end sub_80D6B3C
-
- thumb_func_start sub_80D6BB8
-sub_80D6BB8: @ 80D6BB8
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r2, r6, 0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _080D6CA0
- adds r5, r0, r1
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080D6CB8
- ldrh r0, [r5, 0x20]
- adds r0, 0x1
- movs r7, 0
- strh r0, [r5, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- cmp r0, r1
- ble _080D6CC6
- strh r7, [r5, 0x20]
- ldr r0, _080D6CA4
- movs r3, 0x24
- ldrsh r1, [r5, r3]
- movs r3, 0x26
- ldrsh r2, [r5, r3]
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080D6CC6
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _080D6CA8
- adds r4, r0
- ldr r1, _080D6CAC
- movs r2, 0x1A
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- movs r3, 0
- ldrsb r3, [r0, r3]
- ldrh r0, [r4, 0x20]
- adds r3, r0
- strh r3, [r4, 0x20]
- movs r2, 0x1A
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r1, 0x1
- adds r0, r1
- movs r2, 0
- ldrsb r2, [r0, r2]
- ldrh r0, [r4, 0x22]
- adds r2, r0
- strh r2, [r4, 0x22]
- movs r1, 0x18
- ldrsh r0, [r5, r1]
- lsls r1, r0, 2
- adds r1, r0
- movs r0, 0x28
- subs r0, r1
- strh r0, [r4, 0x2E]
- strh r3, [r4, 0x30]
- ldrh r0, [r5, 0x24]
- strh r0, [r4, 0x32]
- strh r2, [r4, 0x34]
- ldrh r0, [r5, 0x26]
- strh r0, [r4, 0x36]
- strh r6, [r4, 0x38]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, _080D6CB0
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080D6CB4
- str r0, [r4, 0x1C]
- ldrh r0, [r5, 0x1A]
- adds r0, 0x1
- strh r0, [r5, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _080D6C70
- strh r7, [r5, 0x1A]
-_080D6C70:
- ldrh r0, [r5, 0x1C]
- adds r0, 0x1
- strh r0, [r5, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1E
- ldrsh r1, [r5, r2]
- cmp r0, r1
- blt _080D6C92
- strh r7, [r5, 0x1C]
- ldrh r1, [r5, 0x18]
- movs r3, 0x18
- ldrsh r0, [r5, r3]
- cmp r0, 0x5
- bgt _080D6C92
- adds r0, r1, 0x1
- strh r0, [r5, 0x18]
-_080D6C92:
- ldrh r0, [r5, 0x16]
- adds r0, 0x1
- strh r0, [r5, 0x16]
- ldrh r0, [r5, 0x14]
- subs r0, 0x1
- strh r0, [r5, 0x14]
- b _080D6CC6
- .align 2, 0
-_080D6CA0: .4byte gTasks
-_080D6CA4: .4byte gSpriteTemplate_83D99B8
-_080D6CA8: .4byte gSprites
-_080D6CAC: .4byte gUnknown_083D9968
-_080D6CB0: .4byte sub_80D6D00
-_080D6CB4: .4byte sub_8078600
-_080D6CB8:
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080D6CC6
- adds r0, r2, 0
- bl move_anim_task_del
-_080D6CC6:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80D6BB8
-
- thumb_func_start sub_80D6CCC
-sub_80D6CCC: @ 80D6CCC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- beq _080D6CF4
- ldr r2, _080D6CFC
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x16]
- subs r1, 0x1
- strh r1, [r0, 0x16]
- adds r0, r4, 0
- bl DestroySprite
-_080D6CF4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6CFC: .4byte gTasks
- thumb_func_end sub_80D6CCC
-
- thumb_func_start sub_80D6D00
-sub_80D6D00: @ 80D6D00
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, _080D6D14
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6D14: .4byte sub_80D6CCC
- thumb_func_end sub_80D6D00
-
- thumb_func_start sub_80D6D18
-sub_80D6D18: @ 80D6D18
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080D6D2C
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D6D34
- ldr r4, _080D6D30
- b _080D6D36
- .align 2, 0
-_080D6D2C: .4byte gUnknown_03004B00
-_080D6D30: .4byte gUnknown_0202F7C8
-_080D6D34:
- ldr r4, _080D6D64
-_080D6D36:
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r1, _080D6D68
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080D6D6C
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6D64: .4byte gUnknown_0202F7C9
-_080D6D68: .4byte move_anim_8074EE0
-_080D6D6C: .4byte sub_80785E4
- thumb_func_end sub_80D6D18
-
- thumb_func_start sub_80D6D70
-sub_80D6D70: @ 80D6D70
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080D6D84
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D6D8C
- ldr r4, _080D6D88
- b _080D6D8E
- .align 2, 0
-_080D6D84: .4byte gUnknown_03004B00
-_080D6D88: .4byte gUnknown_0202F7C8
-_080D6D8C:
- ldr r4, _080D6DC8
-_080D6D8E:
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r1, _080D6DCC
- ldrh r0, [r1, 0x2]
- strh r0, [r5, 0x24]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x26]
- ldr r1, _080D6DD0
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080D6DD4
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6DC8: .4byte gUnknown_0202F7C9
-_080D6DCC: .4byte gUnknown_03004B00
-_080D6DD0: .4byte move_anim_8072740
-_080D6DD4: .4byte sub_8078600
- thumb_func_end sub_80D6D70
-
- thumb_func_start sub_80D6DD8
-sub_80D6DD8: @ 80D6DD8
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r4, _080D6E30
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x3A]
- movs r0, 0x10
- strh r0, [r5, 0x3C]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080D6E26
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- negs r0, r0
- strh r0, [r5, 0x3C]
-_080D6E26:
- ldr r0, _080D6E34
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6E30: .4byte gUnknown_0202F7C8
-_080D6E34: .4byte sub_80D6E38
- thumb_func_end sub_80D6DD8
-
- thumb_func_start sub_80D6E38
-sub_80D6E38: @ 80D6E38
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D6E4A
- cmp r0, 0x1
- beq _080D6E60
- b _080D6E90
-_080D6E4A:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- ble _080D6E90
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080D6E90
-_080D6E60:
- ldrh r2, [r4, 0x3C]
- ldrh r1, [r4, 0x20]
- adds r0, r2, r1
- strh r0, [r4, 0x20]
- ldr r3, _080D6E98
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x24]
- adds r2, r1
- strh r2, [r0, 0x24]
- ldrh r0, [r4, 0x20]
- adds r0, 0x50
- lsls r0, 16
- movs r1, 0xC8
- lsls r1, 17
- cmp r0, r1
- bls _080D6E90
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080D6E90:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D6E98: .4byte gSprites
- thumb_func_end sub_80D6E38
-
- thumb_func_start sub_80D6E9C
-sub_80D6E9C: @ 80D6E9C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, _080D6EC0
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080D6F30
- cmp r0, 0x1
- bgt _080D6EC4
- cmp r0, 0
- beq _080D6ED0
- b _080D7000
- .align 2, 0
-_080D6EC0: .4byte gTasks
-_080D6EC4:
- cmp r0, 0x2
- beq _080D6F8C
- cmp r0, 0x3
- bne _080D6ECE
- b _080D6FE0
-_080D6ECE:
- b _080D7000
-_080D6ED0:
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0
- strh r0, [r5, 0x26]
- ldr r4, _080D6F04
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x24]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D6F0C
- ldr r0, _080D6F08
- strh r0, [r5, 0x24]
- movs r0, 0x2
- b _080D6F12
- .align 2, 0
-_080D6F04: .4byte gUnknown_0202F7C8
-_080D6F08: .4byte 0x0000ffe0
-_080D6F0C:
- movs r0, 0x20
- strh r0, [r5, 0x24]
- ldr r0, _080D6F28
-_080D6F12:
- strh r0, [r5, 0x22]
- ldr r2, _080D6F2C
- movs r0, 0x26
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r5, 0x24]
- strh r1, [r0, 0x24]
- b _080D6FD2
- .align 2, 0
-_080D6F28: .4byte 0x0000fffe
-_080D6F2C: .4byte gSprites
-_080D6F30:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D7000
- movs r0, 0
- strh r0, [r5, 0xA]
- ldr r4, _080D6F88
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r4
- adds r2, 0x3E
- ldrb r3, [r2]
- lsls r0, r3, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrh r1, [r5, 0x24]
- movs r2, 0x24
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080D6FD2
- ldrh r2, [r5, 0x22]
- adds r2, r1, r2
- strh r2, [r5, 0x24]
- movs r0, 0x26
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x24]
- b _080D7000
- .align 2, 0
-_080D6F88: .4byte gSprites
-_080D6F8C:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D7000
- movs r0, 0
- strh r0, [r5, 0xA]
- ldr r1, _080D6FDC
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- adds r2, 0x3E
- ldrb r3, [r2]
- lsls r0, r3, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- bne _080D7000
-_080D6FD2:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080D7000
- .align 2, 0
-_080D6FDC: .4byte gSprites
-_080D6FE0:
- ldr r2, _080D7008
- movs r0, 0x26
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- adds r0, r3, 0
- bl move_anim_task_del
-_080D7000:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D7008: .4byte gSprites
- thumb_func_end sub_80D6E9C
-
- thumb_func_start sub_80D700C
-sub_80D700C: @ 80D700C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080D7030
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080D7026
- b _080D714C
-_080D7026:
- cmp r0, 0x1
- bgt _080D7034
- cmp r0, 0
- beq _080D703C
- b _080D718E
- .align 2, 0
-_080D7030: .4byte gTasks
-_080D7034:
- cmp r0, 0x2
- bne _080D703A
- b _080D7180
-_080D703A:
- b _080D718E
-_080D703C:
- ldr r4, _080D707C
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- bne _080D7052
- movs r1, 0x1
-_080D7052:
- movs r6, 0
- strh r1, [r5, 0xA]
- ldr r0, _080D7080
- movs r1, 0
- ldrsh r2, [r0, r1]
- adds r3, r0, 0
- cmp r2, 0
- beq _080D7088
- cmp r2, 0x4
- beq _080D70B0
- ldrh r1, [r3]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D70E8
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r5, 0xE]
- ldr r0, _080D7084
- b _080D70F0
- .align 2, 0
-_080D707C: .4byte gUnknown_0202F7C8
-_080D7080: .4byte gUnknown_03004B00
-_080D7084: .4byte 0x0000fff0
-_080D7088:
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x12]
- movs r2, 0xA
- ldrsh r0, [r5, r2]
- lsls r0, 7
- adds r0, 0x78
- strh r0, [r5, 0x10]
- b _080D7126
-_080D70B0:
- movs r0, 0xA
- ldrsh r1, [r5, r0]
- lsls r1, 7
- movs r0, 0x78
- subs r0, r1
- strh r0, [r5, 0xE]
- ldr r4, _080D70E4
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x12]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0xA
- ldrsh r1, [r5, r2]
- lsls r1, 5
- subs r0, r1
- strh r0, [r5, 0x10]
- b _080D7126
- .align 2, 0
-_080D70E4: .4byte gUnknown_0202F7C9
-_080D70E8:
- ldr r0, _080D710C
- strh r0, [r5, 0xE]
- movs r0, 0x80
- lsls r0, 1
-_080D70F0:
- strh r0, [r5, 0x10]
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080D7110
- movs r2, 0
- ldrsh r0, [r3, r2]
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 1
- movs r0, 0x50
- subs r0, r1
- strh r0, [r5, 0x12]
- b _080D7126
- .align 2, 0
-_080D710C: .4byte 0x0000fff0
-_080D7110:
- movs r0, 0
- ldrsh r1, [r3, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 1
- adds r0, 0x28
- strh r0, [r5, 0x12]
- ldrh r1, [r5, 0xE]
- ldrh r0, [r5, 0x10]
- strh r0, [r5, 0xE]
- strh r1, [r5, 0x10]
-_080D7126:
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bge _080D713C
- movs r1, 0
- movs r0, 0x1
- strh r0, [r5, 0xA]
- strh r1, [r5, 0x14]
- b _080D7178
-_080D713C:
- ldr r0, _080D7148
- strh r0, [r5, 0xA]
- movs r0, 0x3
- strh r0, [r5, 0x14]
- b _080D7178
- .align 2, 0
-_080D7148: .4byte 0x0000ffff
-_080D714C:
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- ble _080D718E
- movs r0, 0
- strh r0, [r5, 0xC]
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80D7194
- lsls r0, 24
- cmp r0, 0
- bne _080D7178
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80D7194
- lsls r0, 24
- cmp r0, 0
- beq _080D718E
-_080D7178:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080D718E
-_080D7180:
- movs r1, 0x16
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080D718E
- adds r0, r4, 0
- bl move_anim_task_del
-_080D718E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80D700C
-
- thumb_func_start sub_80D7194
-sub_80D7194: @ 80D7194
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _080D7220
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- movs r3, 0x12
- ldrsh r2, [r4, r3]
- movs r3, 0x23
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080D71CA
- ldr r1, _080D7224
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- strh r5, [r0, 0x3A]
- movs r1, 0x7
- strh r1, [r0, 0x3C]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
-_080D71CA:
- ldrh r1, [r4, 0xA]
- ldrh r5, [r4, 0x14]
- adds r0, r1, r5
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- bge _080D71DC
- movs r0, 0x3
- strh r0, [r4, 0x14]
-_080D71DC:
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0x3
- ble _080D71E8
- movs r0, 0
- strh r0, [r4, 0x14]
-_080D71E8:
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- lsls r0, 4
- ldrh r5, [r4, 0xE]
- adds r2, r0, r5
- strh r2, [r4, 0xE]
- lsls r0, r1, 16
- asrs r3, r0, 16
- cmp r3, 0x1
- bne _080D7208
- lsls r0, r2, 16
- asrs r0, 16
- movs r5, 0x10
- ldrsh r1, [r4, r5]
- cmp r0, r1
- bge _080D721C
-_080D7208:
- movs r0, 0x1
- negs r0, r0
- cmp r3, r0
- bne _080D7228
- lsls r0, r2, 16
- asrs r0, 16
- movs r2, 0x10
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bgt _080D7228
-_080D721C:
- movs r0, 0x1
- b _080D722A
- .align 2, 0
-_080D7220: .4byte gSpriteTemplate_83D9B10
-_080D7224: .4byte gSprites
-_080D7228:
- movs r0, 0
-_080D722A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80D7194
-
- thumb_func_start sub_80D7230
-sub_80D7230: @ 80D7230
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- ble _080D7270
- ldr r3, _080D7278
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_080D7270:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D7278: .4byte gTasks
- thumb_func_end sub_80D7230
-
- thumb_func_start sub_80D727C
-sub_80D727C: @ 80D727C
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080D728E
- cmp r0, 0x1
- beq _080D72C0
- b _080D72D4
-_080D728E:
- ldr r4, _080D72BC
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- adds r0, r5, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080D72D4
- .align 2, 0
-_080D72BC: .4byte gUnknown_0202F7C8
-_080D72C0:
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080D72D4
- adds r0, r5, 0
- bl move_anim_8074EE0
-_080D72D4:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D727C
-
- thumb_func_start sub_80D72DC
-sub_80D72DC: @ 80D72DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080D7300
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bls _080D72F6
- b _080D7468
-_080D72F6:
- lsls r0, 2
- ldr r1, _080D7304
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080D7300: .4byte gTasks
-_080D7304: .4byte _080D7308
- .align 2, 0
-_080D7308:
- .4byte _080D731C
- .4byte _080D73AC
- .4byte _080D73E8
- .4byte _080D7444
- .4byte _080D7454
-_080D731C:
- ldr r4, _080D73A0
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x14]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x16]
- movs r0, 0x4
- strh r0, [r5, 0x18]
- ldr r0, _080D73A4
- ldrb r0, [r0]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1C]
- movs r2, 0x1C
- ldrsh r0, [r5, r2]
- movs r2, 0x14
- ldrsh r1, [r5, r2]
- subs r0, r1
- movs r1, 0x5
- bl __divsi3
- strh r0, [r5, 0x1A]
- movs r0, 0x7
- strh r0, [r5, 0x10]
- ldr r0, _080D73A8
- strh r0, [r5, 0x12]
- movs r0, 0xC
- strh r0, [r5, 0x1E]
- subs r0, 0x4C
- bl sub_8076F98
- lsls r0, 24
- asrs r0, 24
- strh r0, [r5, 0x20]
- movs r0, 0x3F
- bl sub_8076F98
- lsls r0, 24
- asrs r0, 24
- strh r0, [r5, 0x22]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x24]
- movs r1, 0x22
- ldrsh r0, [r5, r1]
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- subs r0, r1
- movs r1, 0x3
- bl __divsi3
- strh r0, [r5, 0x26]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- b _080D7466
- .align 2, 0
-_080D73A0: .4byte gUnknown_0202F7C8
-_080D73A4: .4byte gUnknown_0202F7C9
-_080D73A8: .4byte 0x0000ffff
-_080D73AC:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- cmp r0, 0
- ble _080D73DC
- movs r0, 0
- strh r0, [r5, 0xA]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80D7470
- lsls r0, 24
- cmp r0, 0
- beq _080D73DC
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0x5
- bne _080D73D6
- movs r0, 0x3
- b _080D73DA
-_080D73D6:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
-_080D73DA:
- strh r0, [r5, 0x8]
-_080D73DC:
- ldrh r1, [r5, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080D7468
- b _080D745E
-_080D73E8:
- ldrh r1, [r5, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080D73F6
- subs r0, r1, 0x1
- strh r0, [r5, 0x1E]
-_080D73F6:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- movs r3, 0
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080D7468
- strh r3, [r5, 0xA]
- ldrh r1, [r5, 0xC]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080D7422
- movs r0, 0x4
- strh r0, [r5, 0x16]
- movs r0, 0x44
- strh r0, [r5, 0x18]
- strh r3, [r5, 0x10]
- strh r2, [r5, 0x12]
- b _080D7432
-_080D7422:
- movs r0, 0x44
- strh r0, [r5, 0x16]
- movs r0, 0x4
- strh r0, [r5, 0x18]
- movs r0, 0x7
- strh r0, [r5, 0x10]
- ldr r0, _080D7440
- strh r0, [r5, 0x12]
-_080D7432:
- movs r1, 0x1E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080D7464
- movs r0, 0x4
- b _080D7466
- .align 2, 0
-_080D7440: .4byte 0x0000ffff
-_080D7444:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080D7468
- adds r0, r2, 0
- bl move_anim_task_del
- b _080D7468
-_080D7454:
- ldrh r1, [r5, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- beq _080D7464
-_080D745E:
- subs r0, r1, 0x1
- strh r0, [r5, 0x1E]
- b _080D7468
-_080D7464:
- movs r0, 0x1
-_080D7466:
- strh r0, [r5, 0x8]
-_080D7468:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D72DC
-
- thumb_func_start sub_80D7470
-sub_80D7470: @ 80D7470
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _080D7538
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- movs r3, 0x16
- ldrsh r2, [r4, r3]
- movs r3, 0x23
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080D74DC
- ldr r1, _080D753C
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r3, r0, r1
- ldrh r2, [r3, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- ldrh r6, [r4, 0x10]
- adds r1, r6
- ldr r6, _080D7540
- adds r0, r6, 0
- ands r1, r0
- ldr r0, _080D7544
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0x10]
- adds r0, r1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bge _080D74C4
- movs r0, 0x7
- strh r0, [r4, 0x10]
-_080D74C4:
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0x7
- ble _080D74D0
- movs r0, 0
- strh r0, [r4, 0x10]
-_080D74D0:
- strh r5, [r3, 0x3A]
- movs r0, 0x3
- strh r0, [r3, 0x3C]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
-_080D74DC:
- movs r3, 0x10
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _080D74FE
- movs r5, 0x12
- ldrsh r0, [r4, r5]
- cmp r0, 0
- ble _080D74FE
- ldrh r1, [r4, 0x26]
- ldrh r6, [r4, 0x24]
- adds r1, r6
- strh r1, [r4, 0x24]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0x76
- bl PlaySE12WithPanning
-_080D74FE:
- movs r0, 0x12
- ldrsh r3, [r4, r0]
- ldrh r2, [r4, 0x16]
- cmp r3, 0
- bge _080D7514
- lsls r0, r2, 16
- asrs r0, 16
- movs r5, 0x18
- ldrsh r1, [r4, r5]
- cmp r0, r1
- ble _080D7524
-_080D7514:
- cmp r3, 0
- ble _080D7548
- lsls r0, r2, 16
- asrs r0, 16
- movs r6, 0x18
- ldrsh r1, [r4, r6]
- cmp r0, r1
- blt _080D7548
-_080D7524:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x1A]
- ldrh r1, [r4, 0x14]
- adds r0, r1
- strh r0, [r4, 0x14]
- movs r0, 0x1
- b _080D7554
- .align 2, 0
-_080D7538: .4byte gSpriteTemplate_83D9B40
-_080D753C: .4byte gSprites
-_080D7540: .4byte 0x000003ff
-_080D7544: .4byte 0xfffffc00
-_080D7548:
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- lsls r0, 3
- adds r0, r2, r0
- strh r0, [r4, 0x16]
- movs r0, 0
-_080D7554:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80D7470
-
- thumb_func_start sub_80D755C
-sub_80D755C: @ 80D755C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- ble _080D7592
- ldr r3, _080D7598
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroySprite
-_080D7592:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D7598: .4byte gTasks
- thumb_func_end sub_80D755C
-
- thumb_func_start sub_80D759C
-sub_80D759C: @ 80D759C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080D75C0
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080D7618
- cmp r0, 0x1
- bgt _080D75C4
- cmp r0, 0
- beq _080D75CA
- b _080D764E
- .align 2, 0
-_080D75C0: .4byte gTasks
-_080D75C4:
- cmp r0, 0x2
- beq _080D7640
- b _080D764E
-_080D75CA:
- ldr r0, _080D7614
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x20
- strh r0, [r5, 0x26]
- strh r0, [r5, 0x24]
- cmp r0, 0x10
- ble _080D75F4
- adds r2, r0, 0
-_080D75E4:
- adds r1, r2, 0
- subs r1, 0x20
- adds r2, r1, 0
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0x10
- bgt _080D75E4
- strh r1, [r5, 0x24]
-_080D75F4:
- ldr r4, _080D7614
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl sub_8079E90
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x2
- strh r0, [r5, 0x20]
- b _080D7638
- .align 2, 0
-_080D7614: .4byte gUnknown_0202F7C9
-_080D7618:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D764E
- movs r0, 0
- strh r0, [r5, 0xA]
- adds r0, r5, 0
- adds r1, r2, 0
- bl sub_80D7654
- lsls r0, 24
- cmp r0, 0
- beq _080D764E
-_080D7638:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080D764E
-_080D7640:
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080D764E
- adds r0, r2, 0
- bl move_anim_task_del
-_080D764E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D759C
-
- thumb_func_start sub_80D7654
-sub_80D7654: @ 80D7654
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r1, 24
- lsrs r5, r1, 24
- ldr r0, _080D76B0
- movs r2, 0x22
- ldrsh r1, [r4, r2]
- movs r3, 0x24
- ldrsh r2, [r4, r3]
- ldrh r3, [r4, 0x20]
- lsls r3, 24
- lsrs r3, 24
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080D7698
- ldr r3, _080D76B4
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r3, 0
- adds r1, 0x1C
- adds r1, r0, r1
- ldr r2, _080D76B8
- str r2, [r1]
- adds r0, r3
- strh r5, [r0, 0x3A]
- movs r1, 0xA
- strh r1, [r0, 0x3C]
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
-_080D7698:
- ldrh r2, [r4, 0x24]
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- movs r3, 0x26
- ldrsh r0, [r4, r3]
- cmp r1, r0
- bge _080D76BC
- adds r0, r2, 0
- adds r0, 0x20
- strh r0, [r4, 0x24]
- movs r0, 0
- b _080D76BE
- .align 2, 0
-_080D76B0: .4byte gBattleAnimSpriteTemplate_83D97D0
-_080D76B4: .4byte gSprites
-_080D76B8: .4byte sub_80D76C4
-_080D76BC:
- movs r0, 0x1
-_080D76BE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80D7654
-
- thumb_func_start sub_80D76C4
-sub_80D76C4: @ 80D76C4
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080D76F8
- ldr r3, _080D7700
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroySprite
-_080D76F8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D7700: .4byte gTasks
- thumb_func_end sub_80D76C4
-
- thumb_func_start sub_80D7704
-sub_80D7704: @ 80D7704
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x7
- ldr r3, _080D780C
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080D7810
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r4, _080D7814
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, _080D7818
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r3, r0, 24
- ldrb r0, [r4]
- movs r1, 0x3
- str r3, [sp]
- bl sub_8077ABC
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080D781C
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r1]
- ldr r3, [sp]
- adds r0, r3
- strh r0, [r5, 0x30]
- ldrh r0, [r1, 0x4]
- mov r4, r9
- adds r0, r4, r0
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x2]
- adds r0, r6
- strh r0, [r5, 0x34]
- ldrh r0, [r1, 0x6]
- mov r7, r8
- adds r0, r7, r0
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_8078314
- adds r4, 0x20
- movs r0, 0x98
- lsls r0, 1
- mov r12, r0
- ldr r3, [sp]
- cmp r4, r12
- bhi _080D77DE
- adds r0, r7, 0
- adds r0, 0x20
- ldrh r1, [r5, 0x30]
- ldrh r2, [r5, 0x32]
- cmp r0, 0xE0
- bhi _080D77DE
- adds r4, r1, 0
- mov r10, r12
-_080D77AA:
- mov r7, r9
- lsls r1, r7, 16
- asrs r1, 16
- adds r1, r4
- lsls r1, 16
- mov r7, r8
- lsls r0, r7, 16
- asrs r0, 16
- adds r0, r2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsrs r0, r1, 16
- mov r9, r0
- movs r7, 0x80
- lsls r7, 14
- adds r1, r7
- lsrs r1, 16
- cmp r1, r10
- bhi _080D77DE
- mov r1, r8
- lsls r0, r1, 16
- adds r0, r7
- lsrs r0, 16
- cmp r0, 0xE0
- bls _080D77AA
-_080D77DE:
- ldrh r0, [r5, 0x30]
- negs r7, r0
- strh r7, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- negs r4, r0
- strh r4, [r5, 0x32]
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 14
- adds r0, r1
- lsrs r0, 16
- movs r2, 0x98
- lsls r2, 1
- mov r12, r2
- ldr r1, _080D781C
- mov r10, r1
- cmp r0, r12
- bhi _080D784A
- lsls r1, r6, 16
- movs r2, 0x80
- lsls r2, 14
- adds r0, r1, r2
- b _080D7842
- .align 2, 0
-_080D780C: .4byte 0x000003ff
-_080D7810: .4byte 0xfffffc00
-_080D7814: .4byte gUnknown_0202F7C9
-_080D7818: .4byte gUnknown_0202F7C8
-_080D781C: .4byte gUnknown_03004B00
-_080D7820:
- lsls r1, r3, 16
- asrs r1, 16
- adds r1, r7
- lsls r1, 16
- asrs r0, r2, 16
- adds r0, r4
- lsls r0, 16
- lsrs r6, r0, 16
- lsrs r3, r1, 16
- movs r0, 0x80
- lsls r0, 14
- adds r1, r0
- lsrs r1, 16
- cmp r1, r12
- bhi _080D784A
- lsls r1, r6, 16
- adds r0, r1, r0
-_080D7842:
- lsrs r0, 16
- adds r2, r1, 0
- cmp r0, 0xE0
- bls _080D7820
-_080D784A:
- strh r3, [r5, 0x20]
- strh r6, [r5, 0x22]
- mov r1, r10
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x2E]
- strh r3, [r5, 0x30]
- mov r2, r9
- strh r2, [r5, 0x32]
- strh r6, [r5, 0x34]
- mov r3, r8
- strh r3, [r5, 0x36]
- adds r0, r5, 0
- bl sub_8078314
- mov r7, r10
- ldrh r0, [r7, 0xA]
- strh r0, [r5, 0x34]
- ldrh r0, [r7, 0xC]
- strh r0, [r5, 0x36]
- ldr r0, _080D7884
- str r0, [r5, 0x1C]
- 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
-_080D7884: .4byte sub_80D7888
- thumb_func_end sub_80D7704
-
- thumb_func_start sub_80D7888
-sub_80D7888: @ 80D7888
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D78E0
- ldrh r1, [r4, 0x30]
- ldrh r2, [r4, 0x38]
- adds r1, r2
- strh r1, [r4, 0x38]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x3A]
- adds r0, r2
- strh r0, [r4, 0x3A]
- strh r1, [r4, 0x24]
- strh r0, [r4, 0x26]
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x36]
- ldrh r2, [r4, 0x3C]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3C]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- b _080D78E6
-_080D78E0:
- adds r0, r4, 0
- bl move_anim_8072740
-_080D78E6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D7888
-
- thumb_func_start sub_80D78EC
-sub_80D78EC: @ 80D78EC
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080D7920
- ldrh r0, [r0]
- strh r0, [r4, 0x2E]
- movs r0, 0x3C
- strh r0, [r4, 0x30]
- movs r0, 0x9
- strh r0, [r4, 0x32]
- movs r0, 0x1E
- strh r0, [r4, 0x34]
- movs r0, 0xFE
- lsls r0, 8
- strh r0, [r4, 0x36]
- ldr r1, _080D7924
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r1, _080D7928
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D7920: .4byte gUnknown_03004B00
-_080D7924: .4byte move_anim_8072740
-_080D7928: .4byte sub_8078174
- thumb_func_end sub_80D78EC
-
- thumb_func_start sub_80D792C
-sub_80D792C: @ 80D792C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r0, _080D7960
- ldrb r0, [r0]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldr r0, _080D7964
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D796C
- ldr r0, _080D7968
- ldrh r1, [r4, 0x32]
- ldrh r0, [r0, 0x4]
- subs r1, r0
- strh r1, [r4, 0x32]
- b _080D7976
- .align 2, 0
-_080D7960: .4byte gUnknown_0202F7C9
-_080D7964: .4byte gUnknown_0202F7C8
-_080D7968: .4byte gUnknown_03004B00
-_080D796C:
- ldr r0, _080D79A4
- ldrh r0, [r0, 0x4]
- ldrh r1, [r4, 0x32]
- adds r0, r1
- strh r0, [r4, 0x32]
-_080D7976:
- ldr r0, _080D79A8
- ldrb r0, [r0]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- ldr r1, _080D79A4
- lsrs r0, 24
- ldrh r2, [r1, 0x6]
- adds r0, r2
- strh r0, [r4, 0x36]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x2E]
- ldr r1, _080D79AC
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080D79B0
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D79A4: .4byte gUnknown_03004B00
-_080D79A8: .4byte gUnknown_0202F7C9
-_080D79AC: .4byte move_anim_8072740
-_080D79B0: .4byte sub_8078B34
- thumb_func_end sub_80D792C
-
- thumb_func_start sub_80D79B4
-sub_80D79B4: @ 80D79B4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080D79CC
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080D79D0
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8078764
- b _080D7A06
- .align 2, 0
-_080D79CC: .4byte gUnknown_03004B00
-_080D79D0:
- ldr r0, _080D7A18
- ldrb r0, [r0]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r1, 0x1
- bl sub_807A3FC
- ldr r0, _080D7A1C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D79F6
- ldrh r0, [r5]
- negs r0, r0
- strh r0, [r5]
-_080D79F6:
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_080D7A06:
- ldr r1, _080D7A20
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080D7A24
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D7A18: .4byte gUnknown_0202F7C9
-_080D7A1C: .4byte gUnknown_0202F7C8
-_080D7A20: .4byte sub_80D7A28
-_080D7A24: .4byte sub_80785E4
- thumb_func_end sub_80D79B4
-
- thumb_func_start sub_80D7A28
-sub_80D7A28: @ 80D7A28
- push {lr}
- adds r3, r0, 0
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _080D7A5E
- adds r0, r3, 0
- bl move_anim_8074EE0
-_080D7A5E:
- pop {r0}
- bx r0
- thumb_func_end sub_80D7A28
-
- thumb_func_start sub_80D7A64
-sub_80D7A64: @ 80D7A64
- push {r4-r7,lr}
- sub sp, 0x10
- adds r5, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r6, _080D7AAC
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080D7AB4
- ldr r4, _080D7AB0
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x6]
- adds r0, r6
- strh r0, [r5, 0x36]
- b _080D7AC6
- .align 2, 0
-_080D7AAC: .4byte gUnknown_03004B00
-_080D7AB0: .4byte gUnknown_0202F7C9
-_080D7AB4:
- ldr r0, _080D7AE0
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x32
- adds r3, r5, 0
- adds r3, 0x36
- movs r1, 0x1
- bl sub_807A3FC
-_080D7AC6:
- ldr r0, _080D7AE4
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D7AEC
- ldr r0, _080D7AE8
- ldrh r1, [r5, 0x32]
- ldrh r0, [r0, 0x4]
- subs r1, r0
- strh r1, [r5, 0x32]
- b _080D7AF6
- .align 2, 0
-_080D7AE0: .4byte gUnknown_0202F7C9
-_080D7AE4: .4byte gUnknown_0202F7C8
-_080D7AE8: .4byte gUnknown_03004B00
-_080D7AEC:
- ldr r0, _080D7B94
- ldrh r0, [r0, 0x4]
- ldrh r2, [r5, 0x32]
- adds r0, r2
- strh r0, [r5, 0x32]
-_080D7AF6:
- adds r7, r5, 0
- adds r7, 0x2E
- adds r2, r7, 0
- mov r1, sp
- movs r4, 0x7
-_080D7B00:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080D7B00
- adds r0, r5, 0
- bl sub_8078D60
- ldrh r0, [r5, 0x30]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- eors r0, r1
- strh r0, [r5, 0x32]
-_080D7B22:
- movs r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- bl sub_8078CE8
- movs r0, 0x20
- ldrsh r1, [r5, r0]
- movs r2, 0x24
- ldrsh r0, [r5, r2]
- adds r1, r0
- adds r1, 0x10
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- bhi _080D7B56
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- cmp r1, 0xA0
- bgt _080D7B56
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _080D7B22
-_080D7B56:
- ldrh r0, [r5, 0x24]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- ldr r6, _080D7B98
- ldr r1, _080D7B9C
- mov r3, sp
- adds r2, r7, 0
- movs r4, 0x7
-_080D7B76:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080D7B76
- str r6, [r5, 0x1C]
- adds r0, r5, 0
- bl oamt_set_x3A_32
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D7B94: .4byte gUnknown_03004B00
-_080D7B98: .4byte sub_8078D8C
-_080D7B9C: .4byte sub_80D7BA0
- thumb_func_end sub_80D7A64
-
- thumb_func_start sub_80D7BA0
-sub_80D7BA0: @ 80D7BA0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- movs r5, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r5, [r4, 0x26]
- strh r5, [r4, 0x24]
- movs r0, 0x80
- strh r0, [r4, 0x2E]
- ldr r0, _080D7BFC
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- ldr r1, _080D7C00
- cmp r0, 0
- beq _080D7BD0
- movs r1, 0x14
-_080D7BD0:
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- lsls r1, 16
- asrs r1, 16
- bl Sin
- strh r0, [r4, 0x34]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- strh r0, [r4, 0x36]
- strh r5, [r4, 0x38]
- ldr r1, _080D7C04
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D7BFC: .4byte gUnknown_0202F7C8
-_080D7C00: .4byte 0x0000ffec
-_080D7C04: .4byte sub_80D7C08
- thumb_func_end sub_80D7BA0
-
- thumb_func_start sub_80D7C08
-sub_80D7C08: @ 80D7C08
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080D7C5C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- ldr r1, _080D7C60
- cmp r0, 0
- beq _080D7C1E
- movs r1, 0x14
-_080D7C1E:
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0x1F
- bgt _080D7C64
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- lsls r1, 16
- asrs r1, 16
- bl Sin
- ldrh r1, [r4, 0x34]
- subs r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- ldrh r1, [r4, 0x36]
- subs r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x10
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- b _080D7C82
- .align 2, 0
-_080D7C5C: .4byte gUnknown_0202F7C8
-_080D7C60: .4byte 0x0000ffec
-_080D7C64:
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- movs r1, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- strh r1, [r4, 0x26]
- strh r1, [r4, 0x24]
- strh r1, [r4, 0x36]
- strh r1, [r4, 0x34]
- ldr r0, _080D7C88
- str r0, [r4, 0x1C]
-_080D7C82:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D7C88: .4byte sub_80D7C8C
- thumb_func_end sub_80D7C08
-
- thumb_func_start sub_80D7C8C
-sub_80D7C8C: @ 80D7C8C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_8078CE8
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- adds r0, r1
- adds r0, 0x10
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- bhi _080D7CC8
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r1, r0, r1
- movs r0, 0x80
- lsls r0, 1
- cmp r1, r0
- bgt _080D7CC8
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _080D7CCE
-_080D7CC8:
- adds r0, r4, 0
- bl move_anim_8072740
-_080D7CCE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D7C8C
-
- thumb_func_start sub_80D7CD4
-sub_80D7CD4: @ 80D7CD4
- push {r4-r7,lr}
- sub sp, 0x10
- adds r5, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r1, _080D7D18
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- movs r2, 0xE
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080D7D20
- ldr r4, _080D7D1C
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- b _080D7D32
- .align 2, 0
-_080D7D18: .4byte gUnknown_03004B00
-_080D7D1C: .4byte gUnknown_0202F7C9
-_080D7D20:
- ldr r0, _080D7D50
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x32
- adds r3, r5, 0
- adds r3, 0x36
- movs r1, 0x1
- bl sub_807A3FC
-_080D7D32:
- ldr r0, _080D7D54
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D7D5C
- ldr r0, _080D7D58
- ldrh r1, [r5, 0x32]
- ldrh r2, [r0, 0x4]
- subs r1, r2
- strh r1, [r5, 0x32]
- adds r1, r0, 0
- b _080D7D66
- .align 2, 0
-_080D7D50: .4byte gUnknown_0202F7C9
-_080D7D54: .4byte gUnknown_0202F7C8
-_080D7D58: .4byte gUnknown_03004B00
-_080D7D5C:
- ldr r1, _080D7E10
- ldrh r0, [r1, 0x4]
- ldrh r2, [r5, 0x32]
- adds r0, r2
- strh r0, [r5, 0x32]
-_080D7D66:
- ldrh r0, [r1, 0x6]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl sub_8078D60
- adds r7, r5, 0
- adds r7, 0x2E
- adds r2, r7, 0
- mov r1, sp
- movs r4, 0x7
-_080D7D7E:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080D7D7E
- ldrh r0, [r5, 0x30]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- eors r0, r1
- strh r0, [r5, 0x32]
-_080D7D9A:
- movs r0, 0x1
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- bl sub_8078CE8
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- movs r2, 0x24
- ldrsh r0, [r5, r2]
- adds r1, r0
- adds r1, 0x10
- movs r0, 0x88
- lsls r0, 1
- cmp r1, r0
- bhi _080D7DCE
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- cmp r1, 0xA0
- bgt _080D7DCE
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _080D7D9A
-_080D7DCE:
- ldrh r0, [r5, 0x24]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- ldr r1, _080D7E10
- ldr r6, _080D7E14
- mov r3, sp
- adds r2, r7, 0
- movs r4, 0x7
-_080D7DEE:
- ldrh r0, [r3]
- strh r0, [r2]
- adds r3, 0x2
- adds r2, 0x2
- subs r4, 0x1
- cmp r4, 0
- bge _080D7DEE
- ldrh r0, [r1, 0xA]
- strh r0, [r5, 0x38]
- ldrh r0, [r1, 0xC]
- strh r0, [r5, 0x3A]
- str r6, [r5, 0x1C]
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D7E10: .4byte gUnknown_03004B00
-_080D7E14: .4byte sub_80D7E18
- thumb_func_end sub_80D7CD4
-
- thumb_func_start sub_80D7E18
-sub_80D7E18: @ 80D7E18
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078CE8
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D7E2C
- movs r0, 0x1
- strh r0, [r4, 0x2E]
-_080D7E2C:
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3A]
- ldrh r2, [r4, 0x3C]
- adds r0, r2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3C]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080D7E82
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- adds r0, r1
- adds r0, 0x10
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- bhi _080D7E7C
- movs r0, 0x22
- ldrsh r1, [r4, r0]
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- adds r1, r0
- cmp r1, 0xA0
- bgt _080D7E7C
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- bge _080D7E82
-_080D7E7C:
- adds r0, r4, 0
- bl move_anim_8072740
-_080D7E82:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D7E18
-
- thumb_func_start sub_80D7E88
-sub_80D7E88: @ 80D7E88
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D7EF4
- ldr r5, _080D7EA8
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080D7EAC
- adds r0, r4, 0
- movs r1, 0
- bl sub_8078764
- b _080D7EE2
- .align 2, 0
-_080D7EA8: .4byte gUnknown_03004B00
-_080D7EAC:
- ldr r0, _080D7EEC
- ldrb r0, [r0]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r1, 0
- bl sub_807A3FC
- ldr r0, _080D7EF0
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D7ED2
- ldrh r0, [r5]
- negs r0, r0
- strh r0, [r5]
-_080D7ED2:
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_080D7EE2:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080D7F08
- .align 2, 0
-_080D7EEC: .4byte gUnknown_0202F7C9
-_080D7EF0: .4byte gUnknown_0202F7C8
-_080D7EF4:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080D7F08
- adds r0, r4, 0
- bl move_anim_8072740
-_080D7F08:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D7E88
-
- thumb_func_start sub_80D7F10
-sub_80D7F10: @ 80D7F10
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080D7F30
- movs r1, 0x8
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080D7F80
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080D7F34
- adds r0, r5, 0
- movs r1, 0
- bl sub_80787B0
- b _080D7F72
- .align 2, 0
-_080D7F30: .4byte gUnknown_03004B00
-_080D7F34:
- ldr r4, _080D7F5C
- ldrb r0, [r4]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- movs r1, 0
- bl sub_807A3FC
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D7F60
- ldrh r0, [r5, 0x20]
- ldrh r1, [r6]
- subs r0, r1
- b _080D7F66
- .align 2, 0
-_080D7F5C: .4byte gUnknown_0202F7C8
-_080D7F60:
- ldrh r0, [r6]
- ldrh r1, [r5, 0x20]
- adds r0, r1
-_080D7F66:
- strh r0, [r5, 0x20]
- ldr r0, _080D7F78
- ldrh r0, [r0, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
-_080D7F72:
- ldr r0, _080D7F7C
- b _080D7FD0
- .align 2, 0
-_080D7F78: .4byte gUnknown_03004B00
-_080D7F7C: .4byte gUnknown_0202F7C8
-_080D7F80:
- movs r1, 0xA
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080D7F92
- adds r0, r5, 0
- movs r1, 0
- bl sub_8078764
- b _080D7FCE
-_080D7F92:
- ldr r4, _080D7FB8
- ldrb r0, [r4]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- movs r1, 0
- bl sub_807A3FC
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D7FBC
- ldrh r0, [r5, 0x20]
- ldrh r1, [r6]
- subs r0, r1
- b _080D7FC2
- .align 2, 0
-_080D7FB8: .4byte gUnknown_0202F7C9
-_080D7FBC:
- ldrh r0, [r6]
- ldrh r1, [r5, 0x20]
- adds r0, r1
-_080D7FC2:
- strh r0, [r5, 0x20]
- ldr r0, _080D7FEC
- ldrh r0, [r0, 0x2]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
-_080D7FCE:
- ldr r0, _080D7FF0
-_080D7FD0:
- ldrb r0, [r0]
- strh r0, [r5, 0x3C]
- ldr r0, _080D7FEC
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080D7FE8
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- bne _080D7FF4
-_080D7FE8:
- movs r0, 0x20
- b _080D7FF6
- .align 2, 0
-_080D7FEC: .4byte gUnknown_03004B00
-_080D7FF0: .4byte gUnknown_0202F7C9
-_080D7FF4:
- movs r0, 0x40
-_080D7FF6:
- strh r0, [r5, 0x3A]
- ldr r0, _080D803C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D800C
- ldrh r0, [r5, 0x22]
- adds r0, 0x8
- strh r0, [r5, 0x22]
-_080D800C:
- ldr r1, _080D8040
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrh r1, [r1, 0x4]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
- movs r0, 0x40
- strh r0, [r5, 0x38]
- ldr r1, _080D8044
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D803C: .4byte gUnknown_0202F7C9
-_080D8040: .4byte gUnknown_03004B00
-_080D8044: .4byte sub_80D8048
- thumb_func_end sub_80D7F10
-
- thumb_func_start sub_80D8048
-sub_80D8048: @ 80D8048
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- bne _080D80D2
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r1, 0x6
- negs r1, r1
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7F
- bhi _080D80A4
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- b _080D80C6
-_080D80A4:
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bl sub_8079ED4
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
-_080D80C6:
- ldrh r0, [r4, 0x38]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- b _080D80D8
-_080D80D2:
- adds r0, r4, 0
- bl move_anim_8072740
-_080D80D8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D8048
-
- thumb_func_start sub_80D80E0
-sub_80D80E0: @ 80D80E0
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080D81A8
- ldr r2, _080D81AC
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, _080D81B0
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4, 0x1]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080D812A
- ldrb r0, [r4]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4]
-_080D812A:
- ldr r0, _080D81B4
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080D81B8
- strh r1, [r0]
- ldr r0, _080D81BC
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- mov r0, sp
- bl sub_8078914
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r0, _080D81C0
- add r2, sp, 0xC
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r2, _080D81C4
- str r2, [r0, 0x8]
- ldr r2, [r0, 0x8]
- ldr r2, _080D81C8
- ldr r3, [sp]
- str r2, [r0]
- str r3, [r0, 0x4]
- ldr r2, _080D81CC
- str r2, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _080D81D0
- bl LZDecompressVram
- ldr r0, _080D81D4
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080D8190
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80763FC
-_080D8190:
- ldr r0, _080D81D8
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r0, _080D81DC
- str r0, [r1]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D81A8: .4byte REG_BLDCNT
-_080D81AC: .4byte 0x00003f42
-_080D81B0: .4byte REG_BG1CNT
-_080D81B4: .4byte gUnknown_030042C0
-_080D81B8: .4byte gUnknown_030041B4
-_080D81BC: .4byte REG_BG1HOFS
-_080D81C0: .4byte 0x040000d4
-_080D81C4: .4byte 0x85000400
-_080D81C8: .4byte gWeatherFog1Tiles
-_080D81CC: .4byte 0x80000400
-_080D81D0: .4byte gWeatherFog1Tilemap
-_080D81D4: .4byte gUnknown_083970E8
-_080D81D8: .4byte gTasks
-_080D81DC: .4byte sub_80D81E0
- thumb_func_end sub_80D80E0
-
- thumb_func_start sub_80D81E0
-sub_80D81E0: @ 80D81E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, _080D8220
- ldr r1, _080D8224
- adds r0, r1, 0
- ldrh r4, [r2]
- adds r0, r4
- strh r0, [r2]
- ldr r1, _080D8228
- ldr r3, _080D822C
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r0, r3
- movs r4, 0x20
- ldrsh r0, [r0, r4]
- adds r4, r1, 0
- cmp r0, 0x4
- bls _080D8214
- b _080D83B0
-_080D8214:
- lsls r0, 2
- ldr r1, _080D8230
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080D8220: .4byte gUnknown_030042C0
-_080D8224: .4byte 0x0000ffff
-_080D8228: .4byte gUnknown_030041B4
-_080D822C: .4byte gTasks
-_080D8230: .4byte _080D8234
- .align 2, 0
-_080D8234:
- .4byte _080D8248
- .4byte _080D82A0
- .4byte _080D82C2
- .4byte _080D8304
- .4byte _080D838C
-_080D8248:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r3
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- movs r4, 0
- strh r0, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- beq _080D8262
- b _080D83B0
-_080D8262:
- strh r4, [r3, 0x1C]
- ldrh r0, [r3, 0x1A]
- adds r0, 0x1
- strh r0, [r3, 0x1A]
- ldr r1, _080D8298
- movs r2, 0x1A
- ldrsh r0, [r3, r2]
- adds r0, r1
- ldrb r1, [r0]
- strh r1, [r3, 0x1E]
- ldr r2, _080D829C
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r1, 0x1E
- ldrsh r0, [r3, r1]
- cmp r0, 0x9
- beq _080D828C
- b _080D83B0
-_080D828C:
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
- strh r4, [r3, 0x1E]
- b _080D83B0
- .align 2, 0
-_080D8298: .4byte gUnknown_083D9D6C
-_080D829C: .4byte REG_BLDALPHA
-_080D82A0:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r3
- ldrh r0, [r3, 0x1E]
- adds r0, 0x1
- strh r0, [r3, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bne _080D83B0
- movs r0, 0x9
- strh r0, [r3, 0x1E]
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
- b _080D83B0
-_080D82C2:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r3
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- strh r0, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080D83B0
- movs r0, 0
- strh r0, [r3, 0x1C]
- ldrh r1, [r3, 0x1E]
- subs r1, 0x1
- strh r1, [r3, 0x1E]
- ldr r2, _080D8300
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r2, 0x1E
- ldrsh r1, [r3, r2]
- cmp r1, 0
- bne _080D83B0
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
- strh r1, [r3, 0x1E]
- b _080D83B0
- .align 2, 0
-_080D8300: .4byte REG_BLDALPHA
-_080D8304:
- mov r0, sp
- bl sub_8078914
- ldr r2, [sp]
- movs r3, 0x80
- lsls r3, 6
- lsls r4, r6, 2
- mov r10, r4
- add r5, sp, 0xC
- movs r7, 0
- ldr r1, _080D83C0
- movs r4, 0x80
- lsls r4, 5
- mov r8, r5
- ldr r0, _080D83C4
- mov r12, r0
- movs r0, 0x85
- lsls r0, 24
- mov r9, r0
-_080D832A:
- str r7, [sp, 0xC]
- mov r0, r8
- str r0, [r1]
- str r2, [r1, 0x4]
- mov r0, r12
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080D832A
- str r7, [sp, 0xC]
- str r5, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r9
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r0, _080D83C0
- str r5, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080D83C8
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080D8378
- ldr r2, _080D83CC
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080D8378:
- ldr r0, _080D83D0
- mov r4, r10
- adds r1, r4, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldr r2, _080D83D4
- ldr r4, _080D83D8
-_080D838C:
- movs r1, 0
- strh r1, [r2]
- strh r1, [r4]
- ldr r0, _080D83DC
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r2, _080D83CC
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- adds r0, r6, 0
- bl move_anim_task_del
-_080D83B0:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D83C0: .4byte 0x040000d4
-_080D83C4: .4byte 0x85000400
-_080D83C8: .4byte 0x85000200
-_080D83CC: .4byte REG_BG1CNT
-_080D83D0: .4byte gTasks
-_080D83D4: .4byte gUnknown_030042C0
-_080D83D8: .4byte gUnknown_030041B4
-_080D83DC: .4byte REG_BLDCNT
- thumb_func_end sub_80D81E0
-
- thumb_func_start sub_80D83E0
-sub_80D83E0: @ 80D83E0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080D840C
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r0, _080D8410
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D840C: .4byte gUnknown_0202F7C8
-_080D8410: .4byte sub_807941C
- thumb_func_end sub_80D83E0
-
- thumb_func_start sub_80D8414
-sub_80D8414: @ 80D8414
- push {r4,r5,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080D84E0
- ldr r2, _080D84E4
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, _080D84E8
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4, 0x1]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080D845E
- ldrb r0, [r4]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4]
-_080D845E:
- ldr r0, _080D84EC
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080D84F0
- strh r1, [r0]
- ldr r0, _080D84F4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- mov r0, sp
- bl sub_8078914
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r0, _080D84F8
- add r2, sp, 0xC
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r2, _080D84FC
- str r2, [r0, 0x8]
- ldr r2, [r0, 0x8]
- ldr r2, _080D8500
- ldr r3, [sp]
- str r2, [r0]
- str r3, [r0, 0x4]
- ldr r2, _080D8504
- str r2, [r0, 0x8]
- ldr r0, [r0, 0x8]
- ldr r0, _080D8508
- bl LZDecompressVram
- ldr r0, _080D850C
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadPalette
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080D84C4
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80763FC
-_080D84C4:
- ldr r1, _080D8510
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080D8514
- strh r1, [r0, 0x26]
- ldr r1, _080D8518
- str r1, [r0]
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D84E0: .4byte REG_BLDCNT
-_080D84E4: .4byte 0x00003f42
-_080D84E8: .4byte REG_BG1CNT
-_080D84EC: .4byte gUnknown_030042C0
-_080D84F0: .4byte gUnknown_030041B4
-_080D84F4: .4byte REG_BG1HOFS
-_080D84F8: .4byte 0x040000d4
-_080D84FC: .4byte 0x85000400
-_080D8500: .4byte gWeatherFog1Tiles
-_080D8504: .4byte 0x80000400
-_080D8508: .4byte gWeatherFog1Tilemap
-_080D850C: .4byte gUnknown_083970E8
-_080D8510: .4byte gTasks
-_080D8514: .4byte 0x0000ffff
-_080D8518: .4byte sub_80D851C
- thumb_func_end sub_80D8414
-
- thumb_func_start sub_80D851C
-sub_80D851C: @ 80D851C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r3, _080D8558
- ldr r4, _080D855C
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r4
- ldrh r0, [r1, 0x26]
- ldrh r2, [r3]
- adds r0, r2
- strh r0, [r3]
- ldr r2, _080D8560
- movs r5, 0x20
- ldrsh r0, [r1, r5]
- cmp r0, 0x4
- bls _080D854C
- b _080D86D0
-_080D854C:
- lsls r0, 2
- ldr r1, _080D8564
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080D8558: .4byte gUnknown_030042C0
-_080D855C: .4byte gTasks
-_080D8560: .4byte gUnknown_030041B4
-_080D8564: .4byte _080D8568
- .align 2, 0
-_080D8568:
- .4byte _080D857C
- .4byte _080D85C0
- .4byte _080D85E2
- .4byte _080D8624
- .4byte _080D86AC
-_080D857C:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r4
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- ldr r1, _080D85B8
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- adds r0, r1
- ldrb r1, [r0]
- strh r1, [r4, 0x1E]
- ldr r2, _080D85BC
- movs r0, 0x11
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r5, 0x1E
- ldrsh r0, [r4, r5]
- cmp r0, 0x5
- beq _080D85AC
- b _080D86D0
-_080D85AC:
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- movs r0, 0
- strh r0, [r4, 0x1E]
- b _080D86D0
- .align 2, 0
-_080D85B8: .4byte gUnknown_083D9D98
-_080D85BC: .4byte REG_BLDALPHA
-_080D85C0:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r1, r0, r4
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- strh r0, [r1, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x51
- bne _080D86D0
- movs r0, 0x5
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _080D86D0
-_080D85E2:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r4
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080D86D0
- movs r0, 0
- strh r0, [r4, 0x1C]
- ldrh r1, [r4, 0x1E]
- subs r1, 0x1
- strh r1, [r4, 0x1E]
- ldr r2, _080D8620
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r0, 0x1E
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _080D86D0
- ldrh r0, [r4, 0x20]
- adds r0, 0x1
- strh r0, [r4, 0x20]
- strh r1, [r4, 0x1E]
- b _080D86D0
- .align 2, 0
-_080D8620: .4byte REG_BLDALPHA
-_080D8624:
- mov r0, sp
- bl sub_8078914
- ldr r2, [sp]
- movs r3, 0x80
- lsls r3, 6
- lsls r1, r6, 2
- mov r10, r1
- add r5, sp, 0xC
- movs r7, 0
- ldr r1, _080D86E0
- movs r4, 0x80
- lsls r4, 5
- mov r8, r5
- ldr r0, _080D86E4
- mov r12, r0
- movs r0, 0x85
- lsls r0, 24
- mov r9, r0
-_080D864A:
- str r7, [sp, 0xC]
- mov r0, r8
- str r0, [r1]
- str r2, [r1, 0x4]
- mov r0, r12
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080D864A
- str r7, [sp, 0xC]
- str r5, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r9
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r0, _080D86E0
- str r5, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080D86E8
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080D8698
- ldr r2, _080D86EC
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080D8698:
- ldr r0, _080D86F0
- mov r5, r10
- adds r1, r5, r6
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldr r3, _080D86F4
- ldr r2, _080D86F8
-_080D86AC:
- movs r1, 0
- strh r1, [r3]
- strh r1, [r2]
- ldr r0, _080D86FC
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r2, _080D86EC
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- adds r0, r6, 0
- bl move_anim_task_del
-_080D86D0:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D86E0: .4byte 0x040000d4
-_080D86E4: .4byte 0x85000400
-_080D86E8: .4byte 0x85000200
-_080D86EC: .4byte REG_BG1CNT
-_080D86F0: .4byte gTasks
-_080D86F4: .4byte gUnknown_030042C0
-_080D86F8: .4byte gUnknown_030041B4
-_080D86FC: .4byte REG_BLDCNT
- thumb_func_end sub_80D851C
-
- thumb_func_start sub_80D8700
-sub_80D8700: @ 80D8700
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldr r6, _080D87E8
- ldrh r0, [r6]
- strh r0, [r5, 0x2E]
- ldr r0, _080D87EC
- mov r8, r0
- ldrb r0, [r0]
- movs r1, 0x2
- bl sub_8077ABC
- adds r4, r0, 0
- ldr r7, _080D87F0
- ldrb r0, [r7]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bcs _080D8734
- movs r0, 0x80
- lsls r0, 8
- strh r0, [r5, 0x3C]
-_080D8734:
- ldr r3, _080D87F4
- ldrb r0, [r7]
- adds r0, r3
- ldrb r1, [r0]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080D8794
- ldrh r0, [r6, 0x2]
- negs r0, r0
- strh r0, [r6, 0x2]
- ldrh r0, [r6, 0x6]
- negs r0, r0
- strh r0, [r6, 0x6]
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _080D8790
- mov r1, r8
- ldrb r0, [r1]
- adds r0, r3
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080D8790
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- ldr r2, _080D87F8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0x1
- adds r1, r5, 0
- adds r1, 0x43
- strb r0, [r1]
-_080D8790:
- movs r0, 0x1
- strh r0, [r5, 0x3A]
-_080D8794:
- ldr r4, _080D87EC
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r6, _080D87E8
- movs r1, 0xE
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080D87FC
- ldrh r0, [r6, 0x2]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- strh r0, [r5, 0x30]
- ldr r4, _080D87F0
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x6]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r6, 0x4]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- b _080D8824
- .align 2, 0
-_080D87E8: .4byte gUnknown_03004B00
-_080D87EC: .4byte gUnknown_0202F7C8
-_080D87F0: .4byte gUnknown_0202F7C9
-_080D87F4: .4byte gUnknown_02024A72
-_080D87F8: .4byte gSprites
-_080D87FC:
- ldrh r0, [r6, 0x2]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- strh r0, [r5, 0x30]
- ldr r4, _080D886C
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x6]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r6, 0x4]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x1
-_080D8824:
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x8]
- adds r0, r6
- strh r0, [r5, 0x36]
- ldrb r0, [r4]
- bl sub_8079ED4
- lsls r0, 24
- lsrs r0, 16
- ldrh r1, [r5, 0x3C]
- orrs r0, r1
- strh r0, [r5, 0x3C]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080D8858
- movs r0, 0x1
- strh r0, [r5, 0x3A]
- adds r1, r5, 0
- adds r1, 0x43
- movs r0, 0x80
- strb r0, [r1]
-_080D8858:
- adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r0, _080D8870
- str r0, [r5, 0x1C]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D886C: .4byte gUnknown_0202F7C9
-_080D8870: .4byte sub_80D8874
- thumb_func_end sub_80D8700
-
- thumb_func_start sub_80D8874
-sub_80D8874: @ 80D8874
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x3C]
- movs r5, 0xFF
- movs r1, 0xFF
- ands r1, r0
- cmp r1, 0x1
- beq _080D8968
- cmp r1, 0x1
- bgt _080D888E
- cmp r1, 0
- beq _080D8896
- b _080D8AD0
-_080D888E:
- cmp r1, 0x2
- bne _080D8894
- b _080D8A94
-_080D8894:
- b _080D8AD0
-_080D8896:
- adds r0, r4, 0
- bl sub_8078B5C
- ldr r1, _080D88C0
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- asrs r0, 4
- ldrh r2, [r4, 0x24]
- adds r0, r2
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080D88C4
- ldrh r0, [r4, 0x38]
- subs r0, 0x8
- b _080D88C8
- .align 2, 0
-_080D88C0: .4byte gSineTable
-_080D88C4:
- ldrh r0, [r4, 0x38]
- adds r0, 0x8
-_080D88C8:
- ands r0, r5
- strh r0, [r4, 0x38]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080D88D6
- b _080D8AD0
-_080D88D6:
- movs r5, 0x50
- strh r5, [r4, 0x2E]
- ldr r6, _080D8928
- ldrb r0, [r6]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, 0x1D
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- ldr r0, _080D892C
- ldr r2, _080D8930
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D8938
- ldr r1, _080D8934
- ldrb r0, [r6]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D8938
- movs r0, 0xCC
- strh r0, [r4, 0x38]
- b _080D893A
- .align 2, 0
-_080D8928: .4byte gUnknown_0202F7C9
-_080D892C: .4byte gMain
-_080D8930: .4byte 0x0000043d
-_080D8934: .4byte gUnknown_02024A72
-_080D8938:
- strh r5, [r4, 0x38]
-_080D893A:
- movs r0, 0
- strh r0, [r4, 0x26]
- ldr r1, _080D8964
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- asrs r0, 3
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x38]
- adds r0, 0x2
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- b _080D8AD0
- .align 2, 0
-_080D8964: .4byte gSineTable
-_080D8968:
- adds r0, r4, 0
- bl sub_8078B5C
- ldr r1, _080D89C8
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- asrs r0, 3
- ldrh r2, [r4, 0x24]
- adds r0, r2
- strh r0, [r4, 0x24]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- lsls r0, 1
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 1
- adds r0, r1
- negs r0, r0
- asrs r0, 8
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldr r0, _080D89CC
- ldr r2, _080D89D0
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D89F2
- ldrh r1, [r4, 0x38]
- adds r0, r1, 0
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- adds r3, r1, 0
- cmp r0, 0x7F
- bhi _080D89D4
- ldrh r1, [r4, 0x3C]
- lsls r1, 16
- asrs r1, 24
- b _080D89DC
- .align 2, 0
-_080D89C8: .4byte gSineTable
-_080D89CC: .4byte gMain
-_080D89D0: .4byte 0x0000043d
-_080D89D4:
- ldrh r1, [r4, 0x3C]
- lsls r1, 16
- asrs r1, 24
- adds r1, 0x1
-_080D89DC:
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- adds r0, r3, 0x4
- b _080D8A12
-_080D89F2:
- ldrh r0, [r4, 0x38]
- subs r0, 0x40
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7F
- bhi _080D8A06
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x80
- b _080D8A0C
-_080D8A06:
- adds r1, r4, 0
- adds r1, 0x43
- movs r0, 0x8C
-_080D8A0C:
- strb r0, [r1]
- ldrh r0, [r4, 0x38]
- subs r0, 0x4
-_080D8A12:
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bgt _080D8AD0
- movs r2, 0
- movs r0, 0xC0
- lsls r0, 2
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x26]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- adds r0, 0x4
- strh r0, [r4, 0x36]
- ldr r0, _080D8A68
- ldr r1, _080D8A6C
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080D8A78
- ldr r1, _080D8A70
- ldr r0, _080D8A74
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D8A78
- movs r0, 0x80
- lsls r0, 1
- b _080D8A7A
- .align 2, 0
-_080D8A68: .4byte gMain
-_080D8A6C: .4byte 0x0000043d
-_080D8A70: .4byte gUnknown_02024A72
-_080D8A74: .4byte gUnknown_0202F7C9
-_080D8A78:
- ldr r0, _080D8A90
-_080D8A7A:
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x3C]
- strh r1, [r4, 0x26]
- strh r1, [r4, 0x24]
- adds r0, r4, 0
- bl sub_8078BD4
- b _080D8AD0
- .align 2, 0
-_080D8A90: .4byte 0x0000fff0
-_080D8A94:
- adds r0, r4, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- beq _080D8AD0
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- lsrs r0, 30
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080D8AC2
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
-_080D8AC2:
- adds r0, r4, 0
- bl DestroySprite
- ldr r1, _080D8AD8
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_080D8AD0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D8AD8: .4byte gUnknown_0202F7B2
- thumb_func_end sub_80D8874
-
- thumb_func_start sub_80D8ADC
-sub_80D8ADC: @ 80D8ADC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080D8AF0
- adds r1, r0
- ldr r0, _080D8AF4
- str r0, [r1]
- bx lr
- .align 2, 0
-_080D8AF0: .4byte gTasks
-_080D8AF4: .4byte sub_80D8AF8
- thumb_func_end sub_80D8ADC
-
- thumb_func_start sub_80D8AF8
-sub_80D8AF8: @ 80D8AF8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080D8B1C
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _080D8B3C
- cmp r5, 0x1
- bgt _080D8B20
- cmp r5, 0
- beq _080D8B26
- b _080D8BA0
- .align 2, 0
-_080D8B1C: .4byte gTasks
-_080D8B20:
- cmp r5, 0x2
- beq _080D8B92
- b _080D8BA0
-_080D8B26:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080D8BA0
- strh r5, [r4, 0x10]
- strh r5, [r4, 0x12]
- strh r5, [r4, 0xC]
- b _080D8B78
-_080D8B3C:
- ldrh r1, [r4, 0x12]
- movs r3, 0x12
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _080D8B8C
- ldrb r0, [r4, 0xE]
- ldrb r1, [r4, 0xC]
- movs r3, 0x1
- bl sub_80D8BA8
- lsls r0, 24
- cmp r0, 0
- beq _080D8B5C
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
-_080D8B5C:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080D8B88
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080D8B80
-_080D8B78:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080D8BA0
-_080D8B80:
- ldrh r0, [r4, 0x8]
- subs r0, 0x1
- strh r0, [r4, 0x8]
- b _080D8BA0
-_080D8B88:
- strh r5, [r4, 0x12]
- b _080D8BA0
-_080D8B8C:
- subs r0, r1, 0x1
- strh r0, [r4, 0x12]
- b _080D8BA0
-_080D8B92:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D8BA0
- adds r0, r2, 0
- bl move_anim_task_del
-_080D8BA0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D8AF8
-
- thumb_func_start sub_80D8BA8
-sub_80D8BA8: @ 80D8BA8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp]
- lsls r3, 24
- lsrs r3, 24
- mov r10, r3
- movs r1, 0
- str r1, [sp, 0x4]
- ldr r1, _080D8C20
- lsrs r0, 22
- adds r4, r0, r1
- ldrb r0, [r4, 0x3]
- lsls r0, 24
- asrs r0, 28
- mov r8, r0
- cmp r0, 0x2
- beq _080D8C94
- ldrh r0, [r4, 0x2]
- lsls r0, 20
- lsrs r0, 24
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080D8C94
- movs r0, 0x1
- str r0, [sp, 0x4]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, r8
- cmp r1, 0
- beq _080D8C24
- cmp r1, 0x1
- beq _080D8C5A
- b _080D8CA6
- .align 2, 0
-_080D8C20: .4byte gUnknown_083D9DC4
-_080D8C24:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_807A100
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl __divsi3
- lsls r1, r7, 16
- asrs r1, 16
- subs r1, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r0, r5, 0
- movs r1, 0
- bl sub_807A100
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl __divsi3
- lsls r1, r6, 16
- asrs r1, 16
- subs r1, r0
- b _080D8C8E
-_080D8C5A:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_807A100
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl __divsi3
- lsls r1, r7, 16
- asrs r1, 16
- adds r1, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r0, r5, 0
- movs r1, 0
- bl sub_807A100
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x6
- bl __divsi3
- lsls r1, r6, 16
- asrs r1, 16
- adds r1, r0
-_080D8C8E:
- lsls r1, 16
- lsrs r6, r1, 16
- b _080D8CA6
-_080D8C94:
- ldrh r0, [r4]
- lsls r0, 22
- asrs r0, 6
- lsrs r7, r0, 16
- ldr r0, [r4]
- lsls r0, 12
- asrs r0, 22
- lsls r0, 16
- lsrs r6, r0, 16
-_080D8CA6:
- lsls r0, r6, 16
- asrs r0, 16
- adds r0, 0x8
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- lsls r1, r7, 16
- asrs r1, 16
- subs r1, r0
- ldr r0, _080D8D00
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x8
- negs r2, r2
- movs r3, 0x12
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _080D8D08
- lsls r4, r5, 4
- adds r4, r5
- lsls r4, 2
- ldr r0, _080D8D04
- adds r4, r0
- adds r0, r4, 0
- mov r1, r9
- bl StartSpriteAffineAnim
- mov r0, sp
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- strh r7, [r4, 0x34]
- strh r6, [r4, 0x36]
- mov r1, r9
- strh r1, [r4, 0x38]
- mov r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x3A]
- mov r1, r10
- strh r1, [r4, 0x3C]
- movs r0, 0x1
- b _080D8D0A
- .align 2, 0
-_080D8D00: .4byte gSpriteTemplate_83D9E3C
-_080D8D04: .4byte gSprites
-_080D8D08:
- movs r0, 0
-_080D8D0A:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80D8BA8
-
- thumb_func_start sub_80D8D1C
-sub_80D8D1C: @ 80D8D1C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- adds r0, 0x4
- strh r0, [r4, 0x20]
- ldrh r1, [r4, 0x22]
- adds r2, r1, 0
- adds r2, 0x8
- strh r2, [r4, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x34
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bge _080D8D46
- lsls r0, r2, 16
- asrs r0, 16
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _080D8DF6
-_080D8D46:
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _080D8DC8
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D8DC8
- ldr r0, _080D8DBC
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- movs r3, 0x36
- ldrsh r2, [r4, r3]
- adds r3, r4, 0
- adds r3, 0x43
- ldrb r3, [r3]
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- cmp r0, 0x40
- beq _080D8DAA
- ldr r2, _080D8DC0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r2, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _080D8DC4
- str r1, [r0]
- movs r3, 0x2E
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x3A]
- strh r1, [r0, 0x3A]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r4, 0x3C]
- strh r1, [r0, 0x3C]
-_080D8DAA:
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- b _080D8DF6
- .align 2, 0
-_080D8DBC: .4byte gBattleAnimSpriteTemplate_83D9C78
-_080D8DC0: .4byte gSprites
-_080D8DC4: .4byte sub_80D8E00
-_080D8DC8:
- ldr r3, _080D8DFC
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_080D8DF6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D8DFC: .4byte gTasks
- thumb_func_end sub_80D8D1C
-
- thumb_func_start sub_80D8E00
-sub_80D8E00: @ 80D8E00
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- bne _080D8E40
- ldr r3, _080D8E48
- movs r0, 0x3C
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x3A
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_080D8E40:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D8E48: .4byte gTasks
- thumb_func_end sub_80D8E00
-
- thumb_func_start unc_080B06FC
-unc_080B06FC: @ 80D8E4C
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _080D8ECC
- ldr r0, [r0]
- ldrb r1, [r0, 0x11]
- lsrs r0, r1, 4
- lsls r1, 28
- lsrs r1, 28
- subs r0, r1
- subs r0, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _080D8E6A
- movs r1, 0x4
-_080D8E6A:
- adds r0, r5, 0
- bl StartSpriteAffineAnim
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r6, _080D8ED0
- ldrh r0, [r6, 0x8]
- strh r0, [r5, 0x2E]
- ldr r0, _080D8ED4
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D8E92
- ldrh r0, [r6, 0x4]
- negs r0, r0
- strh r0, [r6, 0x4]
-_080D8E92:
- ldr r4, _080D8ED8
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x6]
- adds r0, r1
- strh r0, [r5, 0x36]
- ldrh r0, [r6, 0xA]
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl sub_80786EC
- ldr r0, _080D8EDC
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D8ECC: .4byte gUnknown_0202F7B4
-_080D8ED0: .4byte gUnknown_03004B00
-_080D8ED4: .4byte gUnknown_0202F7C8
-_080D8ED8: .4byte gUnknown_0202F7C9
-_080D8EDC: .4byte sub_80D8EE0
- thumb_func_end unc_080B06FC
-
- thumb_func_start sub_80D8EE0
-sub_80D8EE0: @ 80D8EE0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080D8F02
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r0, _080D8F08
- str r0, [r4, 0x1C]
- ldr r1, _080D8F0C
- adds r0, r4, 0
- bl oamt_set_x3A_32
-_080D8F02:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D8F08: .4byte sub_8078600
-_080D8F0C: .4byte move_anim_8072740
- thumb_func_end sub_80D8EE0
-
- thumb_func_start sub_80D8F10
-sub_80D8F10: @ 80D8F10
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x8
- ldr r3, _080D8F64
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080D8F68
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8078764
- bl Random
- movs r5, 0xFF
- ands r5, r0
- movs r0, 0x80
- lsls r0, 1
- adds r6, r0, 0
- orrs r5, r6
- bl Random
- ldr r1, _080D8F6C
- ands r1, r0
- adds r0, r1, 0
- cmp r0, 0xFF
- ble _080D8F56
- subs r0, r6, r0
- lsls r0, 16
- lsrs r1, r0, 16
-_080D8F56:
- strh r5, [r4, 0x30]
- strh r1, [r4, 0x32]
- ldr r0, _080D8F70
- str r0, [r4, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D8F64: .4byte 0x000003ff
-_080D8F68: .4byte 0xfffffc00
-_080D8F6C: .4byte 0x000001ff
-_080D8F70: .4byte sub_80D8F74
- thumb_func_end sub_80D8F10
-
- thumb_func_start sub_80D8F74
-sub_80D8F74: @ 80D8F74
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x34]
- adds r3, r0, r1
- strh r3, [r2, 0x34]
- ldrh r1, [r2, 0x32]
- ldrh r4, [r2, 0x36]
- adds r1, r4
- strh r1, [r2, 0x36]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080D8F98
- lsls r0, r3, 16
- asrs r0, 24
- negs r0, r0
- b _080D8F9C
-_080D8F98:
- lsls r0, r3, 16
- asrs r0, 24
-_080D8F9C:
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x15
- bne _080D8FBA
- adds r0, r2, 0
- bl move_anim_8072740
-_080D8FBA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D8F74
-
- thumb_func_start sub_80D8FC0
-sub_80D8FC0: @ 80D8FC0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080D8FE8
- ldrb r3, [r1]
- lsls r3, 1
- adds r3, r1
- ldr r1, _080D8FEC
- ldr r1, [r1]
- ldrb r1, [r1, 0x11]
- lsrs r2, r1, 4
- lsls r1, 28
- lsrs r1, 28
- subs r2, r1
- subs r2, 0x1
- strh r2, [r3]
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_080D8FE8: .4byte gUnknown_03004B00
-_080D8FEC: .4byte gUnknown_0202F7B4
- thumb_func_end sub_80D8FC0
-
- thumb_func_start unc_080B08A0
-unc_080B08A0: @ 80D8FF0
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080D9020
- movs r0, 0
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl sub_807867C
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- movs r0, 0xF
- strh r0, [r4, 0x2E]
- ldr r0, _080D9024
- str r0, [r4, 0x1C]
- ldr r1, _080D9028
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9020: .4byte gUnknown_03004B00
-_080D9024: .4byte sub_80782D8
-_080D9028: .4byte move_anim_8072740
- thumb_func_end unc_080B08A0
-
- thumb_func_start sub_80D902C
-sub_80D902C: @ 80D902C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080D9070
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080D9054
- ldr r0, _080D9074
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D9054
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
- ldrh r0, [r4, 0x6]
- negs r0, r0
- strh r0, [r4, 0x6]
-_080D9054:
- ldr r4, _080D9070
- ldrb r1, [r4, 0xC]
- adds r0, r5, 0
- bl StartSpriteAnim
- movs r0, 0
- strh r0, [r4, 0xC]
- adds r0, r5, 0
- bl sub_8079534
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9070: .4byte gUnknown_03004B00
-_080D9074: .4byte gUnknown_0202F7C8
- thumb_func_end sub_80D902C
-
- thumb_func_start sub_80D9078
-sub_80D9078: @ 80D9078
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080D9094
- ldr r0, _080D90A0
- ldrh r1, [r0, 0x2]
- negs r1, r1
- strh r1, [r0, 0x2]
- ldrh r1, [r0, 0x6]
- negs r1, r1
- strh r1, [r0, 0x6]
-_080D9094:
- adds r0, r4, 0
- bl sub_80D902C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D90A0: .4byte gUnknown_03004B00
- thumb_func_end sub_80D9078
-
- thumb_func_start sub_80D90A4
-sub_80D90A4: @ 80D90A4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080D90C4
- ldrb r1, [r4, 0x8]
- bl StartSpriteAnim
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D90C8
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80787B0
- b _080D90D0
- .align 2, 0
-_080D90C4: .4byte gUnknown_03004B00
-_080D90C8:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8078764
-_080D90D0:
- ldr r0, _080D90E8
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0x2E]
- ldr r0, _080D90EC
- str r0, [r5, 0x1C]
- ldr r1, _080D90F0
- adds r0, r5, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D90E8: .4byte gUnknown_03004B00
-_080D90EC: .4byte sub_80782D8
-_080D90F0: .4byte move_anim_8072740
- thumb_func_end sub_80D90A4
-
- thumb_func_start sub_80D90F4
-sub_80D90F4: @ 80D90F4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- ldr r0, _080D9110
- movs r2, 0
- ldrsh r1, [r0, r2]
- mov r9, r0
- cmp r1, 0
- bne _080D9118
- ldr r0, _080D9114
- b _080D911A
- .align 2, 0
-_080D9110: .4byte gUnknown_03004B00
-_080D9114: .4byte gUnknown_0202F7C8
-_080D9118:
- ldr r0, _080D9260
-_080D911A:
- ldrb r0, [r0]
- mov r8, r0
- mov r4, r9
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bge _080D9138
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x5
- bl __umodsi3
- strh r0, [r4, 0x4]
-_080D9138:
- ldrb r1, [r4, 0x4]
- adds r0, r5, 0
- bl StartSpriteAnim
- mov r0, r8
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- mov r0, r8
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- mov r0, r8
- movs r1, 0x1
- bl sub_807A100
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- lsls r1, 15
- lsrs r6, r1, 16
- mov r0, r8
- movs r1, 0
- bl sub_807A100
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080D9182
- adds r0, 0x3
-_080D9182:
- lsls r4, r0, 14
- lsrs r4, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- lsls r1, r6, 16
- asrs r1, 16
- bl __modsi3
- lsls r0, 16
- lsrs r6, r0, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- lsls r4, 16
- asrs r4, 16
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 16
- lsrs r4, r0, 16
- bl Random
- movs r7, 0x1
- adds r1, r7, 0
- ands r1, r0
- cmp r1, 0
- beq _080D91C4
- lsls r0, r6, 16
- negs r0, r0
- lsrs r6, r0, 16
-_080D91C4:
- bl Random
- adds r1, r7, 0
- ands r1, r0
- cmp r1, 0
- beq _080D91D6
- lsls r0, r4, 16
- negs r0, r0
- lsrs r4, r0, 16
-_080D91D6:
- ldr r0, _080D9264
- add r0, r8
- ldrb r1, [r0]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- bne _080D91EC
- lsls r0, r4, 16
- ldr r1, _080D9268
- adds r0, r1
- lsrs r4, r0, 16
-_080D91EC:
- lsls r0, r6, 16
- asrs r0, 16
- ldrh r2, [r5, 0x20]
- adds r0, r2
- strh r0, [r5, 0x20]
- lsls r0, r4, 16
- asrs r0, 16
- ldrh r3, [r5, 0x22]
- adds r0, r3
- strh r0, [r5, 0x22]
- mov r1, r9
- ldrh r0, [r1, 0x2]
- strh r0, [r5, 0x2E]
- ldr r0, _080D926C
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- movs r3, 0x22
- ldrsh r2, [r5, r3]
- adds r3, r5, 0
- adds r3, 0x43
- ldrb r3, [r3]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x3C]
- cmp r0, 0x40
- beq _080D9250
- movs r0, 0x3C
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _080D9270
- adds r0, r4
- movs r1, 0
- bl StartSpriteAffineAnim
- movs r2, 0x3C
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _080D9274
- str r1, [r0]
-_080D9250:
- ldr r0, _080D9278
- str r0, [r5, 0x1C]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9260: .4byte gUnknown_0202F7C9
-_080D9264: .4byte gUnknown_02024A72
-_080D9268: .4byte 0xfff00000
-_080D926C: .4byte gBattleAnimSpriteTemplate_83DB4A8
-_080D9270: .4byte gSprites
-_080D9274: .4byte SpriteCallbackDummy
-_080D9278: .4byte sub_80D927C
- thumb_func_end sub_80D90F4
-
- thumb_func_start sub_80D927C
-sub_80D927C: @ 80D927C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r1, [r5, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _080D92C4
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- cmp r0, 0x40
- beq _080D92B8
- ldr r4, _080D92C0
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- movs r0, 0x3C
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- bl DestroySprite
-_080D92B8:
- adds r0, r5, 0
- bl move_anim_8072740
- b _080D92C8
- .align 2, 0
-_080D92C0: .4byte gSprites
-_080D92C4:
- subs r0, r1, 0x1
- strh r0, [r5, 0x2E]
-_080D92C8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80D927C
-
- thumb_func_start sub_80D92D0
-sub_80D92D0: @ 80D92D0
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8078764
- movs r0, 0x1E
- strh r0, [r4, 0x2E]
- ldr r0, _080D92F0
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D92F4
- ldrh r0, [r4, 0x20]
- subs r0, 0x14
- strh r0, [r4, 0x32]
- b _080D9306
- .align 2, 0
-_080D92F0: .4byte gUnknown_03004B00
-_080D92F4:
- ldrh r0, [r4, 0x20]
- adds r0, 0x14
- strh r0, [r4, 0x32]
- adds r2, r4, 0
- adds r2, 0x3F
- ldrb r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
-_080D9306:
- ldrh r0, [r4, 0x22]
- subs r0, 0x14
- strh r0, [r4, 0x36]
- ldr r0, _080D9320
- str r0, [r4, 0x1C]
- ldr r1, _080D9324
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9320: .4byte sub_8078B34
-_080D9324: .4byte sub_80D9328
- thumb_func_end sub_80D92D0
-
- thumb_func_start sub_80D9328
-sub_80D9328: @ 80D9328
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x38]
- adds r0, 0x1
- movs r6, 0
- strh r0, [r5, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- bne _080D9368
- ldrh r2, [r5, 0x20]
- ldrh r4, [r5, 0x24]
- subs r0, r2, r4
- strh r0, [r5, 0x32]
- ldrh r1, [r5, 0x22]
- ldrh r3, [r5, 0x26]
- subs r0, r1, r3
- strh r0, [r5, 0x36]
- movs r0, 0x8
- strh r0, [r5, 0x2E]
- adds r2, r4
- strh r2, [r5, 0x20]
- adds r1, r3
- strh r1, [r5, 0x22]
- strh r6, [r5, 0x26]
- strh r6, [r5, 0x24]
- ldr r0, _080D9370
- str r0, [r5, 0x1C]
- ldr r1, _080D9374
- adds r0, r5, 0
- bl oamt_set_x3A_32
-_080D9368:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9370: .4byte sub_8078B34
-_080D9374: .4byte move_anim_8072740
- thumb_func_end sub_80D9328
-
- thumb_func_start sub_80D9378
-sub_80D9378: @ 80D9378
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, _080D93F4
- ldrb r1, [r0]
- movs r0, 0x2
- ldr r2, _080D93F8
- eors r0, r1
- ldrb r1, [r2]
- cmp r0, r1
- bne _080D93A4
- ldrb r0, [r2]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080D93A4
- ldr r1, _080D93FC
- movs r2, 0
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1]
-_080D93A4:
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r0, _080D93F4
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D93C2
- ldr r1, _080D93FC
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080D93C2:
- ldr r4, _080D93FC
- ldrh r0, [r4, 0x6]
- movs r5, 0
- strh r0, [r6, 0x2E]
- ldrh r0, [r6, 0x20]
- strh r0, [r6, 0x30]
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrh r0, [r6, 0x22]
- strh r0, [r6, 0x34]
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldrh r0, [r4, 0xA]
- strh r0, [r6, 0x38]
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x3A]
- strh r5, [r6, 0x3C]
- ldr r0, _080D9400
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D93F4: .4byte gUnknown_0202F7C8
-_080D93F8: .4byte gUnknown_0202F7C9
-_080D93FC: .4byte gUnknown_03004B00
-_080D9400: .4byte sub_80D9404
- thumb_func_end sub_80D9378
-
- thumb_func_start sub_80D9404
-sub_80D9404: @ 80D9404
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- bne _080D9430
- ldrh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 24
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3A]
- ldrh r2, [r4, 0x3C]
- adds r0, r2
- strh r0, [r4, 0x3C]
- b _080D9436
-_080D9430:
- adds r0, r4, 0
- bl move_anim_8072740
-_080D9436:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D9404
-
- thumb_func_start sub_80D943C
-sub_80D943C: @ 80D943C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r5, _080D9468
- ldrb r1, [r5, 0x4]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldr r0, _080D946C
- str r0, [r4, 0x1C]
- ldr r1, _080D9470
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9468: .4byte gUnknown_03004B00
-_080D946C: .4byte sub_80782D8
-_080D9470: .4byte sub_80D9474
- thumb_func_end sub_80D943C
-
- thumb_func_start sub_80D9474
-sub_80D9474: @ 80D9474
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl StartSpriteAffineAnim
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- ldr r0, _080D94A0
- str r0, [r4, 0x1C]
- ldr r1, _080D94A4
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D94A0: .4byte sub_80782D8
-_080D94A4: .4byte move_anim_8072740
- thumb_func_end sub_80D9474
-
- thumb_func_start sub_80D94A8
-sub_80D94A8: @ 80D94A8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r0, _080D94C4
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldr r0, _080D94C8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D94C4: .4byte gUnknown_03004B00
-_080D94C8: .4byte sub_80D94CC
- thumb_func_end sub_80D94A8
-
- thumb_func_start sub_80D94CC
-sub_80D94CC: @ 80D94CC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- subs r0, 0x1
- strh r0, [r5, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080D9510
- movs r0, 0x6
- strh r0, [r5, 0x2E]
- ldr r4, _080D9518
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- ldr r0, _080D951C
- str r0, [r5, 0x1C]
- ldr r1, _080D9520
- adds r0, r5, 0
- bl oamt_set_x3A_32
-_080D9510:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9518: .4byte gUnknown_0202F7C9
-_080D951C: .4byte sub_8078B34
-_080D9520: .4byte sub_80D9524
- thumb_func_end sub_80D94CC
-
- thumb_func_start sub_80D9524
-sub_80D9524: @ 80D9524
- push {lr}
- movs r1, 0xF
- strh r1, [r0, 0x2E]
- ldr r1, _080D9538
- str r1, [r0, 0x1C]
- ldr r1, _080D953C
- bl oamt_set_x3A_32
- pop {r0}
- bx r0
- .align 2, 0
-_080D9538: .4byte sub_80782D8
-_080D953C: .4byte move_anim_8072740
- thumb_func_end sub_80D9524
-
- thumb_func_start sub_80D9540
-sub_80D9540: @ 80D9540
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D956C
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r1, _080D9568
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080D95C8
- .align 2, 0
-_080D9568: .4byte gUnknown_03004B00
-_080D956C:
- ldrh r0, [r4, 0x30]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r2, 0x32
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x34]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
- cmp r0, 0x64
- ble _080D95BA
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- lsrs r0, r1, 31
- adds r0, r1, r0
- asrs r0, 1
- lsls r0, 1
- subs r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- movs r0, 0x1
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080D95BA:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x78
- ble _080D95C8
- adds r0, r4, 0
- bl move_anim_8072740
-_080D95C8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D9540
-
- thumb_func_start sub_80D95D0
-sub_80D95D0: @ 80D95D0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080D95E4
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D95EC
- ldr r4, _080D95E8
- b _080D95EE
- .align 2, 0
-_080D95E4: .4byte gUnknown_03004B00
-_080D95E8: .4byte gUnknown_0202F7C8
-_080D95EC:
- ldr r4, _080D9634
-_080D95EE:
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r1, _080D9638
- ldrh r0, [r1, 0x2]
- ldrh r2, [r5, 0x20]
- adds r0, r2
- movs r2, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r1, 0x4]
- ldrh r3, [r5, 0x22]
- adds r0, r3
- strh r0, [r5, 0x22]
- strh r2, [r5, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x32]
- strh r2, [r5, 0x34]
- ldr r0, _080D963C
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9634: .4byte gUnknown_0202F7C9
-_080D9638: .4byte gUnknown_03004B00
-_080D963C: .4byte sub_80D9640
- thumb_func_end sub_80D95D0
-
- thumb_func_start sub_80D9640
-sub_80D9640: @ 80D9640
- push {lr}
- adds r1, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r1, r0]
- cmp r2, 0
- beq _080D9652
- cmp r2, 0x1
- beq _080D9676
- b _080D96B0
-_080D9652:
- ldrh r0, [r1, 0x30]
- subs r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080D96B0
- movs r2, 0x32
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080D966E
- adds r0, r1, 0
- bl move_anim_8072740
- b _080D96B0
-_080D966E:
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- b _080D96B0
-_080D9676:
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080D969E
- movs r0, 0
- strh r0, [r1, 0x30]
- ldrh r0, [r1, 0x34]
- adds r0, 0x1
- strh r0, [r1, 0x34]
- ands r0, r2
- lsls r0, 16
- cmp r0, 0
- beq _080D969A
- movs r0, 0x2
- b _080D969C
-_080D969A:
- ldr r0, _080D96B4
-_080D969C:
- strh r0, [r1, 0x24]
-_080D969E:
- ldrh r0, [r1, 0x32]
- subs r0, 0x1
- strh r0, [r1, 0x32]
- lsls r0, 16
- cmp r0, 0
- bne _080D96B0
- adds r0, r1, 0
- bl move_anim_8072740
-_080D96B0:
- pop {r0}
- bx r0
- .align 2, 0
-_080D96B4: .4byte 0x0000fffe
- thumb_func_end sub_80D9640
-
- thumb_func_start sub_80D96B8
-sub_80D96B8: @ 80D96B8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080D96DC
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080D96E4
- ldr r4, _080D96E0
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r6, 0x4]
- adds r0, r2
- b _080D96F6
- .align 2, 0
-_080D96DC: .4byte gUnknown_03004B00
-_080D96E0: .4byte gUnknown_0202F7C8
-_080D96E4:
- ldr r4, _080D9740
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r6, 0x4]
- adds r0, r1
-_080D96F6:
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r6, [r6, 0x6]
- adds r0, r6
- strh r0, [r5, 0x22]
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- ldr r3, _080D9744
- movs r4, 0x2
- ldrsh r0, [r3, r4]
- lsls r0, 4
- adds r1, r0
- ldr r4, _080D9748
- adds r0, r4, 0
- ands r1, r0
- ldr r0, _080D974C
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- movs r1, 0
- movs r0, 0
- strh r0, [r5, 0x2E]
- movs r2, 0x2
- ldrsh r0, [r3, r2]
- cmp r0, 0x1
- beq _080D9764
- cmp r0, 0x1
- bgt _080D9750
- cmp r0, 0
- beq _080D975A
- b _080D978A
- .align 2, 0
-_080D9740: .4byte gUnknown_0202F7C9
-_080D9744: .4byte gUnknown_03004B00
-_080D9748: .4byte 0x000003ff
-_080D974C: .4byte 0xfffffc00
-_080D9750:
- cmp r0, 0x2
- beq _080D9774
- cmp r0, 0x3
- beq _080D9784
- b _080D978A
-_080D975A:
- ldr r0, _080D9760
- b _080D9784
- .align 2, 0
-_080D9760: .4byte 0x0000fffd
-_080D9764:
- movs r0, 0x3
- strh r0, [r5, 0x3A]
- ldr r0, _080D9770
- strh r0, [r5, 0x3C]
- b _080D9792
- .align 2, 0
-_080D9770: .4byte 0x0000fffd
-_080D9774:
- ldr r0, _080D9780
- strh r0, [r5, 0x3A]
- movs r0, 0x3
- strh r0, [r5, 0x3C]
- b _080D9792
- .align 2, 0
-_080D9780: .4byte 0x0000fffd
-_080D9784:
- strh r0, [r5, 0x3A]
- strh r0, [r5, 0x3C]
- b _080D9792
-_080D978A:
- adds r0, r5, 0
- bl move_anim_8072740
- b _080D9796
-_080D9792:
- ldr r0, _080D979C
- str r0, [r5, 0x1C]
-_080D9796:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D979C: .4byte sub_80D97A0
- thumb_func_end sub_80D96B8
-
- thumb_func_start sub_80D97A0
-sub_80D97A0: @ 80D97A0
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x3A]
- ldrh r2, [r1, 0x20]
- adds r0, r2
- strh r0, [r1, 0x20]
- ldrh r0, [r1, 0x3C]
- ldrh r2, [r1, 0x22]
- adds r0, r2
- strh r0, [r1, 0x22]
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- ble _080D97C8
- adds r0, r1, 0
- bl move_anim_8072740
-_080D97C8:
- pop {r0}
- bx r0
- thumb_func_end sub_80D97A0
-
- thumb_func_start sub_80D97CC
-sub_80D97CC: @ 80D97CC
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080D9818
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D9828
- ldr r4, _080D981C
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r0, _080D9820
- ldrb r0, [r0]
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- ldr r0, _080D9824
- b _080D9844
- .align 2, 0
-_080D9818: .4byte gUnknown_03004B00
-_080D981C: .4byte gUnknown_02024C07
-_080D9820: .4byte gUnknown_0202F7C8
-_080D9824: .4byte gUnknown_0202F7C9
-_080D9828:
- ldr r0, _080D9860
- ldrb r0, [r0]
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- ldr r0, _080D9864
-_080D9844:
- ldrb r0, [r0]
- strh r0, [r5, 0x3C]
- movs r0, 0
- strh r0, [r5, 0x2E]
- movs r0, 0xC
- strh r0, [r5, 0x30]
- movs r0, 0x8
- strh r0, [r5, 0x32]
- ldr r0, _080D9868
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9860: .4byte gUnknown_0202F7C9
-_080D9864: .4byte gUnknown_0202F7C8
-_080D9868: .4byte sub_80D986C
- thumb_func_end sub_80D97CC
-
- thumb_func_start sub_80D986C
-sub_80D986C: @ 80D986C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB4
- bne _080D98C6
- ldr r1, _080D98CC
- movs r0, 0
- strh r0, [r1]
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, _080D98D0
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080D98D4
- str r0, [r4, 0x1C]
-_080D98C6:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D98CC: .4byte REG_BLDCNT
-_080D98D0: .4byte move_anim_8074EE0
-_080D98D4: .4byte sub_8078BB8
- thumb_func_end sub_80D986C
-
- thumb_func_start sub_80D98D8
-sub_80D98D8: @ 80D98D8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080D9924
- ldrh r0, [r4]
- strh r0, [r5, 0x20]
- movs r2, 0x78
- strh r2, [r5, 0x22]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x2E]
- adds r0, r5, 0
- adds r0, 0x36
- adds r1, r5, 0
- adds r1, 0x38
- lsls r2, 8
- bl sub_8079BF4
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x3A]
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- movs r3, 0x4
- ldrsh r0, [r4, r3]
- lsls r0, 2
- adds r1, r0
- ldr r3, _080D9928
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080D992C
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r0, _080D9930
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9924: .4byte gUnknown_03004B00
-_080D9928: .4byte 0x000003ff
-_080D992C: .4byte 0xfffffc00
-_080D9930: .4byte sub_80D9934
- thumb_func_end sub_80D98D8
-
- thumb_func_start sub_80D9934
-sub_80D9934: @ 80D9934
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r7, r1]
- cmp r0, 0
- beq _080D9986
- movs r2, 0x36
- ldrsh r0, [r7, r2]
- movs r2, 0x38
- ldrsh r1, [r7, r2]
- bl sub_8079BFC
- adds r4, r0, 0
- movs r1, 0x3A
- ldrsh r0, [r7, r1]
- subs r4, r0
- adds r0, r7, 0
- adds r0, 0x36
- adds r1, r7, 0
- adds r1, 0x38
- adds r2, r4, 0
- bl sub_8079BF4
- asrs r4, 8
- strh r4, [r7, 0x22]
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x8
- negs r0, r0
- cmp r4, r0
- bge _080D997E
- adds r0, r7, 0
- bl move_anim_8072740
- b _080D99DC
-_080D997E:
- ldrh r0, [r7, 0x2E]
- subs r0, 0x1
- strh r0, [r7, 0x2E]
- b _080D99DC
-_080D9986:
- ldr r4, _080D99E8
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r2, _080D99EC
- mov r8, r2
- ldrb r0, [r2]
- movs r1, 0x2
- bl sub_8077ABC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- subs r4, r6
- strh r4, [r7, 0x2E]
- lsrs r0, 24
- subs r0, r5
- strh r0, [r7, 0x30]
- ldrh r0, [r7, 0x20]
- lsls r0, 4
- strh r0, [r7, 0x32]
- ldrh r0, [r7, 0x22]
- lsls r0, 4
- strh r0, [r7, 0x34]
- ldr r0, _080D99F0
- str r0, [r7, 0x1C]
-_080D99DC:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D99E8: .4byte gUnknown_0202F7C8
-_080D99EC: .4byte gUnknown_0202F7C9
-_080D99F0: .4byte sub_80D99F4
- thumb_func_end sub_80D9934
-
- thumb_func_start sub_80D99F4
-sub_80D99F4: @ 80D99F4
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- ldrh r1, [r2, 0x30]
- ldrh r3, [r2, 0x34]
- adds r1, r3
- strh r1, [r2, 0x34]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r3, r1, 20
- strh r3, [r2, 0x22]
- adds r0, 0x8
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 17
- cmp r0, r1
- bhi _080D9A2E
- adds r1, r3, 0
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- blt _080D9A2E
- cmp r1, 0x78
- ble _080D9A34
-_080D9A2E:
- adds r0, r2, 0
- bl move_anim_8072740
-_080D9A34:
- pop {r0}
- bx r0
- thumb_func_end sub_80D99F4
-
- thumb_func_start sub_80D9A38
-sub_80D9A38: @ 80D9A38
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080D9A6C
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D9A7C
- ldr r4, _080D9A70
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r0, _080D9A74
- ldrb r4, [r0]
- ldr r0, _080D9A78
- b _080D9A82
- .align 2, 0
-_080D9A6C: .4byte gUnknown_03004B00
-_080D9A70: .4byte gUnknown_02024C07
-_080D9A74: .4byte gUnknown_0202F7C9
-_080D9A78: .4byte gUnknown_0202F7C8
-_080D9A7C:
- ldr r0, _080D9AB4
- ldrb r4, [r0]
- ldr r0, _080D9AB8
-_080D9A82:
- ldrb r0, [r0]
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r5, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080D9ABC
- ldrb r2, [r5, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- movs r0, 0x8
- orrs r1, r0
- lsls r1, 1
- subs r0, 0x47
- b _080D9AD6
- .align 2, 0
-_080D9AB4: .4byte gUnknown_0202F7C8
-_080D9AB8: .4byte gUnknown_0202F7C9
-_080D9ABC:
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D9ADC
- ldrb r2, [r5, 0x3]
- lsls r1, r2, 26
- lsrs r1, 27
- movs r0, 0x18
- orrs r1, r0
- lsls r1, 1
- subs r0, 0x57
-_080D9AD6:
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x3]
-_080D9ADC:
- movs r0, 0x10
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r1, _080D9B1C
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080D9B20
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9B1C: .4byte move_anim_8072740
-_080D9B20: .4byte sub_8078BB8
- thumb_func_end sub_80D9A38
-
- thumb_func_start sub_80D9B24
-sub_80D9B24: @ 80D9B24
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- movs r2, 0x36
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080D9B3A
- adds r0, r4, 0
- bl move_anim_8072740
-_080D9B3A:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D9B24
-
- thumb_func_start sub_80D9B48
-sub_80D9B48: @ 80D9B48
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _080D9BC4
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r1, _080D9BC8
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- ldrh r0, [r1]
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x2]
- strh r0, [r5, 0x34]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x36]
- ldr r0, _080D9BCC
- ldrb r6, [r0]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D9B92
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_080D9B92:
- movs r0, 0x1
- ands r6, r0
- cmp r6, 0
- beq _080D9BA6
- ldrh r0, [r5, 0x32]
- negs r0, r0
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
-_080D9BA6:
- ldrh r1, [r5, 0x30]
- lsls r1, 24
- lsrs r1, 24
- adds r0, r5, 0
- bl StartSpriteAnim
- ldrh r0, [r5, 0x32]
- strh r0, [r5, 0x24]
- ldrh r0, [r5, 0x34]
- strh r0, [r5, 0x26]
- ldr r0, _080D9BD0
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9BC4: .4byte gUnknown_0202F7C9
-_080D9BC8: .4byte gUnknown_03004B00
-_080D9BCC: .4byte gUnknown_0202F7C4
-_080D9BD0: .4byte sub_80D9B24
- thumb_func_end sub_80D9B48
-
- thumb_func_start sub_80D9BD4
-sub_80D9BD4: @ 80D9BD4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080D9BEC
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080D9BF0
- adds r0, r4, 0
- movs r1, 0
- bl sub_80787B0
- b _080D9BF8
- .align 2, 0
-_080D9BEC: .4byte gUnknown_03004B00
-_080D9BF0:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8078764
-_080D9BF8:
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080D9C0C
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
- b _080D9C22
-_080D9C0C:
- ldr r0, _080D9C34
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D9C22
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080D9C22:
- ldr r0, _080D9C38
- str r0, [r4, 0x1C]
- ldr r1, _080D9C3C
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9C34: .4byte gUnknown_0202F7C8
-_080D9C38: .4byte sub_8078600
-_080D9C3C: .4byte move_anim_8072740
- thumb_func_end sub_80D9BD4
-
- thumb_func_start sub_80D9C40
-sub_80D9C40: @ 80D9C40
- push {r4,lr}
- adds r4, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080D9C7A
- ldrh r0, [r4, 0x30]
- adds r0, 0x28
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x2
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x28
- ble _080D9C7A
- adds r0, r4, 0
- bl move_anim_8072740
-_080D9C7A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D9C40
-
- thumb_func_start sub_80D9C80
-sub_80D9C80: @ 80D9C80
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _080D9CB0
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080D9CB8
- cmp r0, 0x1
- bgt _080D9CD2
- cmp r0, 0
- bne _080D9CD2
- movs r0, 0
- bl sub_80789D4
- ldr r0, _080D9CB4
- ldrh r0, [r0]
- strh r0, [r4, 0x18]
- b _080D9CCA
- .align 2, 0
-_080D9CB0: .4byte gTasks
-_080D9CB4: .4byte gUnknown_03004B00
-_080D9CB8:
- ldrh r0, [r4, 0x18]
- subs r0, 0x1
- strh r0, [r4, 0x18]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080D9CDE
-_080D9CCA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080D9CDE
-_080D9CD2:
- movs r2, 0xA0
- lsls r2, 3
- adds r0, r2, 0
- ldrh r1, [r4, 0x1A]
- adds r0, r1
- strh r0, [r4, 0x1A]
-_080D9CDE:
- movs r2, 0xB0
- lsls r2, 4
- adds r0, r2, 0
- ldrh r1, [r4, 0x1C]
- adds r0, r1
- strh r0, [r4, 0x1C]
- ldr r0, _080D9D0C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080D9D14
- ldr r1, _080D9D10
- ldrh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 24
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- adds r7, r1, 0
- b _080D9D24
- .align 2, 0
-_080D9D0C: .4byte gUnknown_0202F7C9
-_080D9D10: .4byte gUnknown_030041B0
-_080D9D14:
- ldr r2, _080D9D64
- ldrh r1, [r4, 0x1A]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r2]
- adds r7, r2, 0
-_080D9D24:
- ldr r3, _080D9D68
- ldrh r2, [r4, 0x1C]
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r1, [r3]
- adds r0, r1
- strh r0, [r3]
- movs r0, 0xFF
- ldrb r1, [r4, 0x1A]
- movs r5, 0
- strh r1, [r4, 0x1A]
- ands r0, r2
- strh r0, [r4, 0x1C]
- ldr r0, _080D9D6C
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080D9D5C
- strh r5, [r7]
- strh r5, [r3]
- movs r0, 0x1
- bl sub_80789D4
- adds r0, r6, 0
- bl move_anim_task_del
-_080D9D5C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9D64: .4byte gUnknown_030041B0
-_080D9D68: .4byte gUnknown_030041B8
-_080D9D6C: .4byte gUnknown_03004B00
- thumb_func_end sub_80D9C80
-
- thumb_func_start sub_80D9D70
-sub_80D9D70: @ 80D9D70
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080D9DC4
- movs r1, 0x6
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D9D86
- adds r0, r5, 0
- movs r1, 0x2
- bl StartSpriteAnim
-_080D9D86:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80787B0
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x2E]
- ldr r4, _080D9DC8
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- ldr r0, _080D9DCC
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl sub_80786EC
- ldr r0, _080D9DD0
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9DC4: .4byte gUnknown_03004B00
-_080D9DC8: .4byte gUnknown_0202F7C9
-_080D9DCC: .4byte 0x0000ffe2
-_080D9DD0: .4byte sub_80D9DD4
- thumb_func_end sub_80D9D70
-
- thumb_func_start sub_80D9DD4
-sub_80D9DD4: @ 80D9DD4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080D9DE8
- adds r0, r4, 0
- bl move_anim_8072740
-_080D9DE8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D9DD4
-
- thumb_func_start sub_80D9DF0
-sub_80D9DF0: @ 80D9DF0
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r5, _080D9E64
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080D9E08
- adds r0, r4, 0
- movs r1, 0x2
- bl StartSpriteAnim
-_080D9E08:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r0, _080D9E68
- ldrb r0, [r0]
- mov r6, sp
- adds r6, 0x2
- movs r1, 0x1
- mov r2, sp
- adds r3, r6, 0
- bl sub_807A3FC
- ldr r0, _080D9E6C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D9E36
- ldrh r0, [r5, 0x8]
- negs r0, r0
- strh r0, [r5, 0x8]
-_080D9E36:
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- mov r1, sp
- ldrh r0, [r5, 0x8]
- ldrh r1, [r1]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0xA]
- ldrh r6, [r6]
- adds r0, r6
- strh r0, [r4, 0x36]
- ldr r0, _080D9E70
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80786EC
- ldr r0, _080D9E74
- str r0, [r4, 0x1C]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9E64: .4byte gUnknown_03004B00
-_080D9E68: .4byte gUnknown_0202F7C9
-_080D9E6C: .4byte gUnknown_0202F7C8
-_080D9E70: .4byte 0x0000ffe2
-_080D9E74: .4byte sub_80D9E78
- thumb_func_end sub_80D9DF0
-
- thumb_func_start sub_80D9E78
-sub_80D9E78: @ 80D9E78
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080D9E8C
- adds r0, r4, 0
- bl move_anim_8072740
-_080D9E8C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D9E78
-
- thumb_func_start sub_80D9E94
-sub_80D9E94: @ 80D9E94
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080D9EE0
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldrh r1, [r5]
- adds r0, r1
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrh r1, [r5, 0x2]
- adds r0, r1
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_8078A5C
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r4, 0x38]
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r4, 0x3A]
- ldr r0, _080D9EE4
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9EE0: .4byte gUnknown_03004B00
-_080D9EE4: .4byte sub_80D9EE8
- thumb_func_end sub_80D9E94
-
- thumb_func_start sub_80D9EE8
-sub_80D9EE8: @ 80D9EE8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078394
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x38]
- subs r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x32]
- ldrh r1, [r4, 0x3A]
- subs r0, r1
- strh r0, [r4, 0x32]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080D9F0E
- adds r0, r4, 0
- bl move_anim_8072740
-_080D9F0E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D9EE8
-
- thumb_func_start sub_80D9F14
-sub_80D9F14: @ 80D9F14
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080D9F74
- ldrb r0, [r0]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r1, 0x1
- bl sub_807A3FC
- ldr r0, _080D9F78
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D9F40
- ldr r1, _080D9F7C
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_080D9F40:
- ldr r0, _080D9F7C
- ldrh r2, [r0]
- ldrh r1, [r4, 0x20]
- adds r2, r1
- strh r2, [r4, 0x20]
- ldrh r1, [r0, 0x2]
- ldrh r3, [r4, 0x22]
- adds r1, r3
- strh r1, [r4, 0x22]
- ldrh r3, [r0, 0x8]
- strh r3, [r4, 0x2E]
- ldrh r0, [r0, 0x4]
- adds r2, r0
- strh r2, [r4, 0x32]
- adds r1, r3
- strh r1, [r4, 0x36]
- ldr r0, _080D9F80
- str r0, [r4, 0x1C]
- ldr r1, _080D9F84
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9F74: .4byte gUnknown_0202F7C9
-_080D9F78: .4byte gUnknown_0202F7C8
-_080D9F7C: .4byte gUnknown_03004B00
-_080D9F80: .4byte sub_8078B34
-_080D9F84: .4byte move_anim_8072740
- thumb_func_end sub_80D9F14
-
- thumb_func_start sub_80D9F88
-sub_80D9F88: @ 80D9F88
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080D9FA0
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080D9FA4
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8078764
- b _080D9FDA
- .align 2, 0
-_080D9FA0: .4byte gUnknown_03004B00
-_080D9FA4:
- ldr r0, _080D9FE4
- ldrb r0, [r0]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r1, 0x1
- bl sub_807A3FC
- ldr r0, _080D9FE8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080D9FCA
- ldrh r0, [r5]
- negs r0, r0
- strh r0, [r5]
-_080D9FCA:
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
-_080D9FDA:
- ldr r0, _080D9FEC
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080D9FE4: .4byte gUnknown_0202F7C9
-_080D9FE8: .4byte gUnknown_0202F7C8
-_080D9FEC: .4byte sub_80D9FF0
- thumb_func_end sub_80D9F88
-
- thumb_func_start sub_80D9FF0
-sub_80D9FF0: @ 80D9FF0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0xB
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x4
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x30]
- adds r0, 0x30
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080DA02C
- adds r0, r4, 0
- bl move_anim_8072740
-_080DA02C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80D9FF0
-
- thumb_func_start sub_80DA034
-sub_80DA034: @ 80DA034
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0
- bl sub_8078764
- ldrh r0, [r4, 0x22]
- adds r0, 0x14
- strh r0, [r4, 0x22]
- movs r0, 0xBF
- strh r0, [r4, 0x30]
- ldr r1, _080DA058
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DA058: .4byte sub_80DA05C
- thumb_func_end sub_80DA034
-
- thumb_func_start sub_80DA05C
-sub_80DA05C: @ 80DA05C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x30]
- adds r0, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x47
- bne _080DA096
- adds r0, r4, 0
- bl move_anim_8072740
-_080DA096:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DA05C
-
- thumb_func_start sub_80DA09C
-sub_80DA09C: @ 80DA09C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080DA0CC
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r1, _080DA0D0
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x8]
- ldrh r0, [r1]
- strh r0, [r4, 0xA]
- ldr r0, _080DA0D4
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xC]
- ldr r0, _080DA0D8
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DA0CC: .4byte gTasks
-_080DA0D0: .4byte gUnknown_03004B00
-_080DA0D4: .4byte 0x00002719
-_080DA0D8: .4byte sub_80DA0DC
- thumb_func_end sub_80DA09C
-
- thumb_func_start sub_80DA0DC
-sub_80DA0DC: @ 80DA0DC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r2, _080DA15C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1C]
- adds r1, r0, 0x1
- strh r1, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r4, 0xA
- ldrsh r1, [r3, r4]
- adds r7, r2, 0
- cmp r0, r1
- bne _080DA13A
- movs r0, 0
- strh r0, [r3, 0x1C]
- ldrb r0, [r3, 0xC]
- ldr r2, _080DA160
- lsls r0, 4
- movs r3, 0x84
- lsls r3, 1
- adds r1, r0, r3
- lsls r1, 1
- adds r1, r2
- ldrh r6, [r1]
- movs r4, 0x7
- mov r12, r0
- ldr r0, _080DA164
- add r0, r12
- lsls r0, 1
- adds r3, r0, r2
-_080DA122:
- ldrh r0, [r3]
- strh r0, [r1]
- subs r3, 0x2
- subs r1, 0x2
- subs r4, 0x1
- cmp r4, 0
- bgt _080DA122
- ldr r0, _080DA168
- add r0, r12
- lsls r0, 1
- adds r0, r2
- strh r6, [r0]
-_080DA13A:
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r7
- ldrh r1, [r0, 0x8]
- subs r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- cmp r1, 0
- bne _080DA154
- adds r0, r5, 0
- bl move_anim_task_del
-_080DA154:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DA15C: .4byte gTasks
-_080DA160: .4byte gPlttBufferFaded
-_080DA164: .4byte 0x00000107
-_080DA168: .4byte 0x00000101
- thumb_func_end sub_80DA0DC
-
- thumb_func_start sub_80DA16C
-sub_80DA16C: @ 80DA16C
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r0, _080DA1D8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DA18C
- ldr r1, _080DA1DC
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080DA18C:
- ldr r4, _080DA1DC
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldrh r0, [r6, 0x20]
- strh r0, [r6, 0x30]
- ldr r5, _080DA1E0
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrh r0, [r6, 0x22]
- strh r0, [r6, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r6, 0x36]
- adds r0, r6, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r0, _080DA1E4
- str r0, [r6, 0x1C]
- ldr r1, _080DA1E8
- adds r0, r6, 0
- bl oamt_set_x3A_32
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DA1D8: .4byte gUnknown_0202F7C8
-_080DA1DC: .4byte gUnknown_03004B00
-_080DA1E0: .4byte gUnknown_0202F7C9
-_080DA1E4: .4byte sub_80785E4
-_080DA1E8: .4byte sub_80DA1EC
- thumb_func_end sub_80DA16C
-
- thumb_func_start sub_80DA1EC
-sub_80DA1EC: @ 80DA1EC
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- beq _080DA200
- adds r0, r4, 0
- bl move_anim_8072740
-_080DA200:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DA1EC
-
- thumb_func_start sub_80DA208
-sub_80DA208: @ 80DA208
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080DA2A4
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DA234
- ldr r1, _080DA2A8
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r1, 0x6]
-_080DA234:
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080DA24C
- ldr r0, _080DA2A8
- ldrh r1, [r0, 0x2]
- negs r1, r1
- strh r1, [r0, 0x2]
- ldrh r1, [r0, 0x6]
- negs r1, r1
- strh r1, [r0, 0x6]
-_080DA24C:
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- ldr r2, _080DA2A8
- ldrh r1, [r2]
- ldrh r3, [r5, 0x20]
- adds r1, r3
- strh r1, [r5, 0x20]
- lsrs r0, 24
- ldrh r1, [r2, 0x2]
- adds r0, r1
- strh r0, [r5, 0x22]
- ldrh r0, [r2, 0x8]
- strh r0, [r5, 0x2E]
- movs r3, 0xC
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080DA2B0
- ldr r4, _080DA2AC
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- b _080DA2C2
- .align 2, 0
-_080DA2A4: .4byte gUnknown_0202F7C8
-_080DA2A8: .4byte gUnknown_03004B00
-_080DA2AC: .4byte gUnknown_0202F7C9
-_080DA2B0:
- ldr r0, _080DA2F0
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x32
- adds r3, r5, 0
- adds r3, 0x36
- movs r1, 0x1
- bl sub_807A3FC
-_080DA2C2:
- ldr r4, _080DA2F4
- ldrh r0, [r4, 0x4]
- ldrh r1, [r5, 0x32]
- adds r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r4, 0x6]
- ldrh r3, [r5, 0x36]
- adds r0, r3
- strh r0, [r5, 0x36]
- ldr r0, _080DA2F8
- str r0, [r5, 0x1C]
- ldr r1, _080DA2FC
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldrb r1, [r4, 0xA]
- adds r0, r5, 0
- bl SeekSpriteAnim
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DA2F0: .4byte gUnknown_0202F7C9
-_080DA2F4: .4byte gUnknown_03004B00
-_080DA2F8: .4byte sub_8078B34
-_080DA2FC: .4byte move_anim_8072740
- thumb_func_end sub_80DA208
-
- thumb_func_start sub_80DA300
-sub_80DA300: @ 80DA300
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r1, _080DA33C
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, _080DA340
- str r0, [r4, 0x1C]
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- ldr r2, _080DA344
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DA33C: .4byte gUnknown_03004B00
-_080DA340: .4byte sub_80DA348
-_080DA344: .4byte gSprites
- thumb_func_end sub_80DA300
-
- thumb_func_start sub_80DA348
-sub_80DA348: @ 80DA348
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _080DA35C
- subs r0, r1, 0x1
- strh r0, [r2, 0x2E]
- b _080DA36E
-_080DA35C:
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r2, 0x26]
- subs r1, r0
- strh r1, [r2, 0x26]
-_080DA36E:
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080DA386
- adds r0, r2, 0
- bl move_anim_8072740
-_080DA386:
- pop {r0}
- bx r0
- thumb_func_end sub_80DA348
-
- thumb_func_start sub_80DA38C
-sub_80DA38C: @ 80DA38C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080DA3B4
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DA3BC
- movs r0, 0x88
- lsls r0, 1
- strh r0, [r5, 0x20]
- ldr r0, _080DA3B8
- strh r0, [r5, 0x22]
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- b _080DA3C2
- .align 2, 0
-_080DA3B4: .4byte gUnknown_0202F7C8
-_080DA3B8: .4byte 0x0000ffe0
-_080DA3BC:
- ldr r0, _080DA400
- strh r0, [r5, 0x20]
- strh r0, [r5, 0x22]
-_080DA3C2:
- ldr r0, _080DA404
- ldrh r0, [r0]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldr r4, _080DA408
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- bl obj_translate_based_on_private_1_2_3_4
- ldr r0, _080DA40C
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DA400: .4byte 0x0000ffe0
-_080DA404: .4byte gUnknown_03004B00
-_080DA408: .4byte gUnknown_0202F7C9
-_080DA40C: .4byte sub_80DA410
- thumb_func_end sub_80DA38C
-
- thumb_func_start sub_80DA410
-sub_80DA410: @ 80DA410
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_8078B5C
- ldrh r1, [r4, 0x34]
- lsrs r0, r1, 8
- cmp r0, 0xC8
- bls _080DA438
- ldrh r0, [r4, 0x24]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- movs r0, 0
- strh r0, [r4, 0x24]
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r4, 0x34]
-_080DA438:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- adds r0, r1
- adds r0, 0x20
- movs r1, 0x98
- lsls r1, 1
- cmp r0, r1
- bhi _080DA45A
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r0, r1
- cmp r0, 0xA0
- ble _080DA480
-_080DA45A:
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- ldr r2, _080DA488
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl move_anim_8072740
-_080DA480:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DA488: .4byte gSprites
- thumb_func_end sub_80DA410
-
- thumb_func_start sub_80DA48C
-sub_80DA48C: @ 80DA48C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- subs r1, r0, 0x1
- strh r1, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bgt _080DA4CC
- ldrb r0, [r4, 0x1]
- lsls r0, 30
- lsrs r0, 30
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DA4BE
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
-_080DA4BE:
- adds r0, r4, 0
- bl DestroySprite
- ldr r1, _080DA4D4
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_080DA4CC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DA4D4: .4byte gUnknown_0202F7B2
- thumb_func_end sub_80DA48C
-
- thumb_func_start sub_80DA4D8
-sub_80DA4D8: @ 80DA4D8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r7, r0, 0
- adds r5, r7, 0
- adds r5, 0x2E
- ldr r0, _080DA4F8
- ldrh r1, [r0, 0xE]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080DA500
- ldr r0, _080DA4FC
- b _080DA502
- .align 2, 0
-_080DA4F8: .4byte gUnknown_03004B00
-_080DA4FC: .4byte gUnknown_0202F7C8
-_080DA500:
- ldr r0, _080DA5B0
-_080DA502:
- ldrb r6, [r0]
- adds r0, r6, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080DA518
- ldr r1, _080DA5B4
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_080DA518:
- adds r0, r6, 0
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- ldr r4, _080DA5B4
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r7, 0x20]
- adds r0, r6, 0
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- ldrh r1, [r4, 0x2]
- lsrs r0, 24
- adds r1, r0, r1
- strh r1, [r7, 0x22]
- lsls r1, 8
- strh r1, [r5, 0x8]
- ldrh r1, [r4, 0xC]
- adds r0, r1
- lsls r0, 1
- ldrh r2, [r5, 0xE]
- movs r1, 0x1
- ands r1, r2
- orrs r1, r0
- strh r1, [r5, 0xE]
- ldrb r0, [r5]
- movs r2, 0x4
- mov r8, r2
- mov r1, r8
- orrs r0, r1
- strb r0, [r5]
- ldrh r0, [r4, 0x4]
- ldrb r1, [r4, 0x4]
- strh r1, [r5, 0x2]
- lsls r0, 16
- lsrs r0, 24
- strh r0, [r5, 0xA]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x4]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x6]
- ldrh r0, [r4, 0xA]
- strh r0, [r5, 0xC]
- subs r1, 0x40
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x7F
- bhi _080DA618
- ldr r0, _080DA5B8
- ldr r2, _080DA5BC
- adds r0, r2
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080DA5C0
- adds r0, r6, 0
- bl sub_8079ED4
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r7, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r7, 0x5]
- b _080DA5D8
- .align 2, 0
-_080DA5B0: .4byte gUnknown_0202F7C9
-_080DA5B4: .4byte gUnknown_03004B00
-_080DA5B8: .4byte gMain
-_080DA5BC: .4byte 0x0000043d
-_080DA5C0:
- adds r0, r6, 0
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0x5]
-_080DA5D8:
- ldrb r1, [r5, 0xE]
- movs r4, 0x2
- negs r4, r4
- adds r0, r4, 0
- ands r0, r1
- strb r0, [r5, 0xE]
- movs r1, 0x4
- ldrsh r0, [r5, r1]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- bne _080DA678
- adds r3, r7, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r0, r2, 31
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- adds r0, r4, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r7, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- b _080DA66E
-_080DA618:
- adds r0, r6, 0
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r7, 0x5]
- ldrb r0, [r5, 0xE]
- movs r4, 0x1
- orrs r0, r4
- strb r0, [r5, 0xE]
- movs r2, 0x4
- ldrsh r0, [r5, r2]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _080DA678
- adds r3, r7, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r0, 0x1
- eors r1, r0
- ands r1, r4
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r7, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- mov r1, r8
-_080DA66E:
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
-_080DA678:
- ldrh r1, [r5, 0x2]
- lsrs r1, 6
- lsls r1, 4
- ldrb r2, [r5]
- movs r0, 0xF
- ands r0, r2
- orrs r0, r1
- strb r0, [r5]
- ldr r3, _080DA6E4
- ldrh r0, [r5, 0x2]
- lsls r0, 1
- adds r0, r3
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldrb r0, [r5, 0xC]
- muls r0, r1
- asrs r0, 8
- strh r0, [r7, 0x24]
- ldrb r2, [r7, 0x3]
- lsls r2, 26
- lsrs r2, 27
- movs r1, 0x24
- ldrsh r0, [r7, r1]
- negs r0, r0
- asrs r0, 1
- ldrb r5, [r5, 0xA]
- adds r0, r5
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r3
- ldrh r4, [r1]
- ldr r1, _080DA6E8
- lsls r2, 3
- adds r2, r1
- adds r0, 0x40
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r2, 0x6]
- strh r0, [r2]
- strh r4, [r2, 0x2]
- lsls r0, r4, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r2, 0x4]
- ldr r0, _080DA6EC
- str r0, [r7, 0x1C]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DA6E4: .4byte gSineTable
-_080DA6E8: .4byte gOamMatrices
-_080DA6EC: .4byte sub_80DA6F0
- thumb_func_end sub_80DA4D8
-
- thumb_func_start sub_80DA6F0
-sub_80DA6F0: @ 80DA6F0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r5, r0, 0
- movs r6, 0
- movs r0, 0x2E
- adds r0, r5
- mov r12, r0
- ldrb r2, [r0]
- movs r7, 0x1
- movs r1, 0x1
- mov r9, r1
- mov r0, r9
- ands r0, r2
- cmp r0, 0
- beq _080DA730
- mov r3, r12
- ldrb r0, [r3, 0x1]
- adds r1, r0, 0
- adds r1, 0xFF
- strb r1, [r3, 0x1]
- lsls r0, 24
- cmp r0, 0
- beq _080DA724
- b _080DAD1A
-_080DA724:
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- strb r0, [r3]
- strb r6, [r3, 0x1]
- b _080DAD1A
-_080DA730:
- mov r4, r12
- ldrh r0, [r4, 0x2]
- lsrs r4, r0, 6
- mov r8, r0
- cmp r4, 0x1
- bne _080DA73E
- b _080DA896
-_080DA73E:
- cmp r4, 0x1
- bgt _080DA748
- cmp r4, 0
- beq _080DA756
- b _080DAC52
-_080DA748:
- cmp r4, 0x2
- bne _080DA74E
- b _080DA9C8
-_080DA74E:
- cmp r4, 0x3
- bne _080DA754
- b _080DAB0E
-_080DA754:
- b _080DAC52
-_080DA756:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0x1
- bne _080DA76C
- movs r0, 0x8
- orrs r0, r2
- orrs r0, r7
- mov r1, r12
- strb r0, [r1]
- strb r6, [r1, 0x1]
- b _080DA88A
-_080DA76C:
- lsrs r0, r1, 28
- cmp r0, 0x3
- bne _080DA790
- lsls r0, r2, 30
- lsrs r0, 31
- movs r1, 0x1
- eors r0, r1
- ands r0, r7
- lsls r0, 1
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- orrs r1, r7
- mov r2, r12
- strb r1, [r2]
- strb r6, [r2, 0x1]
- b _080DA88A
-_080DA790:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _080DA88A
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r4, 0x1
- eors r1, r4
- ands r1, r7
- movs r6, 0x2
- negs r6, r6
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- mov r3, r12
- ldrb r1, [r3]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080DA87A
- ldr r0, _080DA80C
- ldr r1, _080DA810
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080DA82E
- ldrb r1, [r3, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080DA814
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080DA868
- .align 2, 0
-_080DA80C: .4byte gMain
-_080DA810: .4byte 0x0000043d
-_080DA814:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080DA866
-_080DA82E:
- mov r0, r12
- ldrb r1, [r0, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080DA85C
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- strb r0, [r1]
- mov r1, r12
- ldrb r2, [r1, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r4
- ands r0, r7
- adds r1, r6, 0
- ands r1, r2
- orrs r1, r0
- mov r2, r12
- strb r1, [r2, 0xE]
- b _080DA87A
-_080DA85C:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
- strb r0, [r1]
-_080DA866:
- mov r3, r12
-_080DA868:
- ldrb r2, [r3, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r4
- ands r0, r7
- adds r1, r6, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xE]
-_080DA87A:
- mov r4, r12
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r0, [r4, 0x2]
- mov r8, r0
-_080DA88A:
- mov r2, r12
- ldrb r1, [r2]
- movs r0, 0xF
- ands r0, r1
- strb r0, [r2]
- b _080DAC52
-_080DA896:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0
- bne _080DA8AC
- movs r0, 0x8
- orrs r0, r2
- orrs r0, r7
- mov r3, r12
- strb r0, [r3]
- strb r6, [r3, 0x1]
- b _080DA9BC
-_080DA8AC:
- lsrs r0, r1, 28
- cmp r0, 0x2
- bne _080DA8BE
- adds r0, r2, 0
- orrs r0, r7
- mov r4, r12
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _080DA9BC
-_080DA8BE:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _080DA9BC
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r4, 0x1
- eors r1, r4
- ands r1, r7
- movs r6, 0x2
- negs r6, r6
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- mov r0, r12
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080DA9AC
- ldr r0, _080DA940
- ldr r1, _080DA944
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080DA962
- mov r2, r12
- ldrb r1, [r2, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080DA948
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- mov r3, r12
- b _080DA978
- .align 2, 0
-_080DA940: .4byte gMain
-_080DA944: .4byte 0x0000043d
-_080DA948:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080DA996
-_080DA962:
- mov r3, r12
- ldrb r1, [r3, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080DA98C
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- strb r0, [r1]
-_080DA978:
- ldrb r2, [r3, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r4
- ands r0, r7
- adds r1, r6, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xE]
- b _080DA9AC
-_080DA98C:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
- strb r0, [r1]
-_080DA996:
- mov r0, r12
- ldrb r2, [r0, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r4
- ands r0, r7
- adds r1, r6, 0
- ands r1, r2
- orrs r1, r0
- mov r2, r12
- strb r1, [r2, 0xE]
-_080DA9AC:
- mov r3, r12
- ldrb r1, [r3]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldrh r4, [r3, 0x2]
- mov r8, r4
-_080DA9BC:
- mov r1, r12
- ldrb r0, [r1]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x10
- b _080DAC4C
-_080DA9C8:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0x3
- bne _080DA9DE
- movs r0, 0x8
- orrs r0, r2
- orrs r0, r7
- mov r3, r12
- strb r0, [r3]
- strb r6, [r3, 0x1]
- b _080DAAFE
-_080DA9DE:
- lsrs r0, r1, 28
- cmp r0, 0x1
- bne _080DA9F0
- adds r0, r2, 0
- orrs r0, r7
- mov r4, r12
- strb r0, [r4]
- strb r6, [r4, 0x1]
- b _080DAAFE
-_080DA9F0:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- bne _080DA9FA
- b _080DAAFE
-_080DA9FA:
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r6, 0x1
- eors r1, r6
- ands r1, r7
- movs r0, 0x2
- negs r0, r0
- mov r8, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- mov r2, r12
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080DAAEC
- ldr r0, _080DAA6C
- ldr r3, _080DAA70
- adds r0, r3
- ldrb r0, [r0]
- ands r4, r0
- cmp r4, 0
- beq _080DAAA4
- ldrb r1, [r2, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080DAA74
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080DAAD8
- .align 2, 0
-_080DAA6C: .4byte gMain
-_080DAA70: .4byte 0x0000043d
-_080DAA74:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- mov r0, r12
- ldrb r2, [r0, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- mov r2, r12
- strb r1, [r2, 0xE]
- b _080DAAEC
-_080DAAA4:
- mov r3, r12
- ldrb r1, [r3, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080DAACE
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- strb r0, [r1]
- ldrb r2, [r3, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xE]
- b _080DAAEC
-_080DAACE:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
- strb r0, [r1]
-_080DAAD8:
- mov r4, r12
- ldrb r2, [r4, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r6
- ands r0, r7
- mov r1, r8
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0xE]
-_080DAAEC:
- mov r0, r12
- ldrb r1, [r0]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r2, [r1, 0x2]
- mov r8, r2
-_080DAAFE:
- mov r3, r12
- ldrb r0, [r3]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x20
- orrs r1, r0
- strb r1, [r3]
- b _080DAC52
-_080DAB0E:
- lsls r1, r2, 24
- lsrs r0, r1, 28
- cmp r0, 0x2
- bne _080DAB20
- movs r0, 0x8
- orrs r0, r2
- mov r4, r12
- strb r0, [r4]
- b _080DAC42
-_080DAB20:
- lsrs r0, r1, 28
- cmp r0, 0
- bne _080DAB44
- lsls r0, r2, 30
- lsrs r0, 31
- movs r1, 0x1
- eors r0, r1
- ands r0, r7
- lsls r0, 1
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- orrs r1, r7
- mov r0, r12
- strb r1, [r0]
- strb r6, [r0, 0x1]
- b _080DAC42
-_080DAB44:
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _080DAC42
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r1, r2, 31
- lsrs r1, 31
- movs r4, 0x1
- eors r1, r4
- ands r1, r7
- movs r6, 0x2
- negs r6, r6
- adds r0, r6, 0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- lsls r0, 31
- lsrs r0, 31
- adds r1, r5, 0
- adds r1, 0x2A
- strb r0, [r1]
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- mov r2, r12
- ldrb r1, [r2]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080DAC32
- ldr r0, _080DABC4
- ldr r3, _080DABC8
- adds r0, r3
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080DABE6
- ldrb r1, [r2, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080DABCC
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- mov r0, r12
- ldrb r2, [r0, 0xE]
- b _080DAC00
- .align 2, 0
-_080DABC4: .4byte gMain
-_080DABC8: .4byte 0x0000043d
-_080DABCC:
- ldrb r2, [r5, 0x5]
- lsls r1, r2, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r5, 0x5]
- b _080DAC1E
-_080DABE6:
- mov r0, r12
- ldrb r1, [r0, 0xE]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080DAC14
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- subs r0, 0xC
- strb r0, [r1]
- mov r1, r12
- ldrb r2, [r1, 0xE]
-_080DAC00:
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r4
- ands r0, r7
- adds r1, r6, 0
- ands r1, r2
- orrs r1, r0
- mov r2, r12
- strb r1, [r2, 0xE]
- b _080DAC32
-_080DAC14:
- adds r1, r5, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0xC
- strb r0, [r1]
-_080DAC1E:
- mov r3, r12
- ldrb r2, [r3, 0xE]
- lsls r0, r2, 31
- lsrs r0, 31
- eors r0, r4
- ands r0, r7
- adds r1, r6, 0
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0xE]
-_080DAC32:
- mov r4, r12
- ldrb r1, [r4]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrh r0, [r4, 0x2]
- mov r8, r0
-_080DAC42:
- mov r1, r12
- ldrb r0, [r1]
- movs r1, 0xF
- ands r1, r0
- movs r0, 0x30
-_080DAC4C:
- orrs r1, r0
- mov r2, r12
- strb r1, [r2]
-_080DAC52:
- mov r3, r12
- ldrb r1, [r3]
- lsls r1, 30
- lsrs r1, 31
- mov r0, r12
- adds r0, 0xC
- adds r0, r1
- ldrb r1, [r0]
- ldr r3, _080DACE0
- mov r4, r8
- lsls r0, r4, 1
- adds r0, r3
- movs r2, 0
- ldrsh r0, [r0, r2]
- muls r0, r1
- asrs r0, 8
- strh r0, [r5, 0x24]
- ldrb r2, [r5, 0x3]
- lsls r2, 26
- lsrs r2, 27
- movs r4, 0x24
- ldrsh r0, [r5, r4]
- negs r0, r0
- asrs r0, 1
- mov r1, r12
- ldrb r1, [r1, 0xA]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 1
- adds r1, r3
- ldrh r6, [r1]
- ldr r1, _080DACE4
- lsls r2, 3
- adds r2, r1
- adds r0, 0x40
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r2, 0x6]
- strh r0, [r2]
- strh r6, [r2, 0x2]
- lsls r0, r6, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r2, 0x4]
- mov r2, r12
- ldrh r0, [r2, 0x6]
- ldrh r3, [r2, 0x8]
- adds r0, r3
- strh r0, [r2, 0x8]
- lsls r0, 16
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r4, 0x4
- ldrsh r0, [r2, r4]
- movs r1, 0x80
- lsls r1, 8
- ands r0, r1
- cmp r0, 0
- beq _080DACE8
- ldrh r0, [r2, 0x4]
- subs r1, 0x1
- ands r1, r0
- ldrh r0, [r2, 0x2]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r2, 0x2]
- b _080DACFE
- .align 2, 0
-_080DACE0: .4byte gSineTable
-_080DACE4: .4byte gOamMatrices
-_080DACE8:
- mov r1, r12
- ldrh r0, [r1, 0x4]
- ldr r1, _080DAD28
- ands r1, r0
- mov r2, r12
- ldrh r2, [r2, 0x2]
- adds r1, r2
- movs r0, 0xFF
- ands r1, r0
- mov r3, r12
- strh r1, [r3, 0x2]
-_080DACFE:
- movs r4, 0x22
- ldrsh r1, [r5, r4]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- adds r1, r0
- mov r3, r12
- ldrh r0, [r3, 0xE]
- lsrs r0, 1
- cmp r1, r0
- blt _080DAD1A
- movs r0, 0
- strh r0, [r5, 0x2E]
- ldr r0, _080DAD2C
- str r0, [r5, 0x1C]
-_080DAD1A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DAD28: .4byte 0x00007fff
-_080DAD2C: .4byte sub_80DA48C
- thumb_func_end sub_80DA6F0
-
- thumb_func_start sub_80DAD30
-sub_80DAD30: @ 80DAD30
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, _080DAD78
- ldrb r0, [r0]
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- ldr r5, _080DAD7C
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- ldr r0, _080DAD80
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DAD78: .4byte gUnknown_0202F7C9
-_080DAD7C: .4byte gUnknown_0202F7C8
-_080DAD80: .4byte sub_807941C
- thumb_func_end sub_80DAD30
-
- thumb_func_start sub_80DAD84
-sub_80DAD84: @ 80DAD84
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r5, _080DADCC
- ldrh r0, [r5]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x34]
- ldr r0, _080DADD0
- ldr r1, _080DADD4
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080DAE44
- ldr r0, _080DADD8
- ldr r1, _080DADDC
- ldrb r2, [r1]
- adds r0, r2, r0
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DADE0
- adds r0, r2, 0
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x6]
- adds r0, r5
- b _080DADEE
- .align 2, 0
-_080DADCC: .4byte gUnknown_03004B00
-_080DADD0: .4byte gMain
-_080DADD4: .4byte 0x0000043d
-_080DADD8: .4byte gUnknown_02024A72
-_080DADDC: .4byte gUnknown_0202F7C9
-_080DADE0:
- adds r0, r2, 0
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x28
-_080DADEE:
- strh r0, [r4, 0x3C]
- ldr r0, _080DAE1C
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080DAE24
- ldr r0, _080DAE20
- ldrb r0, [r0]
- bl sub_8079ED4
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1
- movs r1, 0x3
- ands r0, r1
- lsls r0, 2
- ldrb r2, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
- b _080DAE58
- .align 2, 0
-_080DAE1C: .4byte gUnknown_03004B00
-_080DAE20: .4byte gUnknown_0202F7C9
-_080DAE24:
- ldr r0, _080DAE40
- ldrb r0, [r0]
- bl sub_8079ED4
- movs r1, 0x3
- ands r1, r0
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- b _080DAE58
- .align 2, 0
-_080DAE40: .4byte gUnknown_0202F7C9
-_080DAE44:
- ldr r0, _080DAEFC
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r5, [r5, 0x6]
- adds r0, r5
- strh r0, [r4, 0x3C]
-_080DAE58:
- ldr r5, _080DAF00
- ldrh r3, [r4, 0x30]
- movs r1, 0xFF
- ands r1, r3
- lsls r0, r1, 1
- adds r0, r5
- ldrh r0, [r0]
- movs r2, 0
- strh r0, [r4, 0x36]
- adds r1, 0x40
- lsls r1, 1
- adds r1, r5
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r4, 0x38]
- strh r2, [r4, 0x3A]
- strh r2, [r4, 0x26]
- strh r2, [r4, 0x24]
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r6, r0, 27
- lsls r3, 16
- lsrs r3, 24
- strh r3, [r4, 0x30]
- bl Random
- lsls r0, 16
- asrs r7, r0, 16
- movs r0, 0x80
- lsls r0, 8
- ands r0, r7
- cmp r0, 0
- beq _080DAEA2
- ldrh r1, [r4, 0x30]
- movs r0, 0xFF
- subs r0, r1
- strh r0, [r4, 0x30]
-_080DAEA2:
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- lsls r0, r1, 1
- adds r0, r5
- ldrh r0, [r0]
- ldr r3, _080DAF04
- lsls r2, r6, 3
- adds r2, r3
- adds r1, 0x40
- lsls r1, 1
- adds r1, r5
- ldrh r1, [r1]
- strh r1, [r2, 0x6]
- strh r1, [r2]
- strh r0, [r2, 0x2]
- lsls r0, 16
- asrs r0, 16
- negs r0, r0
- strh r0, [r2, 0x4]
- adds r3, r4, 0
- adds r3, 0x3F
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- movs r1, 0x11
- negs r1, r1
- ands r0, r1
- strb r0, [r3]
- movs r0, 0x1
- ands r0, r7
- cmp r0, 0
- beq _080DAEF2
- adds r2, r4, 0
- adds r2, 0x2A
- movs r1, 0x1
- movs r0, 0x1
- strb r0, [r2]
- ldrb r0, [r3]
- orrs r0, r1
- strb r0, [r3]
-_080DAEF2:
- ldr r0, _080DAF08
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DAEFC: .4byte gUnknown_0202F7C9
-_080DAF00: .4byte gSineTable
-_080DAF04: .4byte gOamMatrices
-_080DAF08: .4byte sub_80DAF0C
- thumb_func_end sub_80DAD84
-
- thumb_func_start sub_80DAF0C
-sub_80DAF0C: @ 80DAF0C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- adds r4, r0, 0
- adds r5, r4, 0
- adds r5, 0x2E
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- movs r1, 0
- mov r8, r1
- movs r7, 0
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080DAFF0
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- muls r0, r1
- asrs r6, r0, 8
- strh r6, [r4, 0x24]
- movs r0, 0x38
- ldrsh r1, [r4, r0]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- muls r0, r1
- asrs r3, r0, 8
- strh r3, [r4, 0x26]
- ldrh r2, [r4, 0x34]
- movs r1, 0xFF
- adds r0, r1, 0
- ands r0, r2
- ldrh r2, [r4, 0x3A]
- adds r0, r2
- strh r0, [r4, 0x3A]
- ldrh r2, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- ands r1, r2
- cmp r0, r1
- blt _080DAFF0
- ldrh r0, [r4, 0x20]
- adds r0, r6
- strh r0, [r4, 0x20]
- ldrh r0, [r4, 0x22]
- adds r0, r3
- strh r0, [r4, 0x22]
- strh r7, [r4, 0x24]
- strh r7, [r4, 0x26]
- mov r0, sp
- adds r1, r5, 0
- movs r2, 0x10
- bl memcpy
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x10
- bl memset
- ldrh r0, [r4, 0x22]
- lsls r0, 8
- strh r0, [r5, 0x8]
- mov r0, sp
- ldrh r0, [r0, 0x6]
- lsrs r1, r0, 8
- strh r1, [r5, 0x6]
- strh r7, [r5, 0x2]
- mov r0, sp
- ldrh r0, [r0, 0x2]
- strh r0, [r5, 0xA]
- adds r0, r4, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0
- beq _080DAFC0
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _080DAFB8
- ldr r0, _080DAFB4
- b _080DAFCE
- .align 2, 0
-_080DAFB4: .4byte 0x00008001
-_080DAFB8:
- ldr r0, _080DAFBC
- b _080DAFCE
- .align 2, 0
-_080DAFBC: .4byte 0x00008002
-_080DAFC0:
- movs r0, 0x8
- ands r1, r0
- cmp r1, 0
- beq _080DAFCC
- movs r0, 0x1
- b _080DAFCE
-_080DAFCC:
- movs r0, 0x2
-_080DAFCE:
- strh r0, [r5, 0x4]
- mov r0, sp
- ldrh r0, [r0, 0x4]
- lsrs r0, 8
- strb r0, [r5, 0xC]
- subs r0, 0x2
- strb r0, [r5, 0xD]
- mov r0, sp
- ldrh r1, [r0, 0xE]
- lsls r1, 1
- ldrh r2, [r5, 0xE]
- movs r0, 0x1
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0xE]
- ldr r0, _080DAFFC
- str r0, [r4, 0x1C]
-_080DAFF0:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DAFFC: .4byte sub_80DA6F0
- thumb_func_end sub_80DAF0C
-
- thumb_func_start sub_80DB000
-sub_80DB000: @ 80DB000
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080DB018
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080DB01C
- adds r0, r5, 0
- movs r1, 0
- bl sub_80787B0
- b _080DB024
- .align 2, 0
-_080DB018: .4byte gUnknown_03004B00
-_080DB01C:
- adds r0, r5, 0
- movs r1, 0
- bl sub_8078764
-_080DB024:
- ldr r4, _080DB08C
- movs r2, 0x4
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080DB03C
- ldr r0, _080DB090
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DB052
-_080DB03C:
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080DB058
- ldr r0, _080DB094
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080DB058
-_080DB052:
- ldrh r0, [r5, 0x20]
- adds r0, 0x8
- strh r0, [r5, 0x20]
-_080DB058:
- ldr r4, _080DB08C
- ldrb r1, [r4, 0x8]
- adds r0, r5, 0
- bl SeekSpriteAnim
- ldrh r0, [r5, 0x20]
- subs r0, 0x20
- strh r0, [r5, 0x20]
- ldr r0, _080DB098
- strh r0, [r5, 0x30]
- ldrh r1, [r4, 0x8]
- movs r0, 0xC
- adds r2, r0, 0
- muls r2, r1
- adds r0, r2, 0
- ldrh r2, [r5, 0x24]
- adds r0, r2
- strh r0, [r5, 0x24]
- strh r1, [r5, 0x2E]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x3C]
- ldr r0, _080DB09C
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB08C: .4byte gUnknown_03004B00
-_080DB090: .4byte gUnknown_0202F7C8
-_080DB094: .4byte gUnknown_0202F7C9
-_080DB098: .4byte 0x00000ccc
-_080DB09C: .4byte sub_80DB0A0
- thumb_func_end sub_80DB000
-
- thumb_func_start sub_80DB0A0
-sub_80DB0A0: @ 80DB0A0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x24]
- adds r0, r1
- movs r1, 0
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- bne _080DB0CA
- strh r1, [r4, 0x2E]
- strh r1, [r4, 0x24]
- adds r0, r4, 0
- bl StartSpriteAnim
-_080DB0CA:
- ldrh r0, [r4, 0x3C]
- subs r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080DB0E2
- adds r0, r4, 0
- bl move_anim_8072740
-_080DB0E2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DB0A0
-
- thumb_func_start sub_80DB0E8
-sub_80DB0E8: @ 80DB0E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- ldr r1, _080DB180
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r7, r0, r1
- ldrh r0, [r7, 0x8]
- movs r1, 0x1F
- ands r0, r1
- cmp r0, 0
- bne _080DB162
- ldr r1, _080DB184
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- movs r5, 0xD
- negs r5, r5
- adds r1, r5, 0
- bl Sin
- ldr r4, _080DB188
- strh r0, [r4]
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- adds r1, r5, 0
- bl Cos
- strh r0, [r4, 0x2]
- movs r0, 0x1
- strh r0, [r4, 0x4]
- movs r0, 0x3
- strh r0, [r4, 0x6]
- ldr r0, _080DB18C
- mov r8, r0
- ldr r5, _080DB190
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- mov r0, r8
- adds r1, r4, 0
- movs r3, 0x3
- bl CreateSpriteAndAnimate
-_080DB162:
- ldrh r0, [r7, 0x8]
- adds r0, 0x8
- strh r0, [r7, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080DB176
- adds r0, r6, 0
- bl move_anim_task_del
-_080DB176:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB180: .4byte gTasks
-_080DB184: .4byte gUnknown_0202F7B2
-_080DB188: .4byte gUnknown_03004B00
-_080DB18C: .4byte gBattleAnimSpriteTemplate_83DB538
-_080DB190: .4byte gUnknown_0202F7C9
- thumb_func_end sub_80DB0E8
-
- thumb_func_start sub_80DB194
-sub_80DB194: @ 80DB194
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080DB1A6
- cmp r0, 0x1
- beq _080DB1D8
- b _080DB1EC
-_080DB1A6:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80787B0
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- ldr r2, _080DB1D4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080DB1EC
- .align 2, 0
-_080DB1D4: .4byte gSprites
-_080DB1D8:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080DB1EC
- adds r0, r4, 0
- bl move_anim_8072740
-_080DB1EC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DB194
-
- thumb_func_start sub_80DB1F4
-sub_80DB1F4: @ 80DB1F4
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080DB22C
- cmp r0, 0x1
- bgt _080DB20A
- cmp r0, 0
- beq _080DB210
- b _080DB27E
-_080DB20A:
- cmp r0, 0x2
- beq _080DB240
- b _080DB27E
-_080DB210:
- ldr r0, _080DB228
- ldrb r0, [r0]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- negs r0, r0
- subs r0, 0x20
- strh r0, [r4, 0x26]
- b _080DB238
- .align 2, 0
-_080DB228: .4byte gUnknown_0202F7C9
-_080DB22C:
- ldrh r0, [r4, 0x26]
- adds r0, 0xA
- strh r0, [r4, 0x26]
- lsls r0, 16
- cmp r0, 0
- blt _080DB27E
-_080DB238:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080DB27E
-_080DB240:
- ldrh r0, [r4, 0x26]
- subs r0, 0xA
- strh r0, [r4, 0x26]
- movs r2, 0x22
- ldrsh r0, [r4, r2]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080DB27E
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- ldr r2, _080DB284
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0
- bl move_anim_8072740
-_080DB27E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB284: .4byte gSprites
- thumb_func_end sub_80DB1F4
-
- thumb_func_start sub_80DB288
-sub_80DB288: @ 80DB288
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r1, _080DB2C4
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, _080DB2C8
- str r0, [r4, 0x1C]
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- ldr r2, _080DB2CC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB2C4: .4byte gUnknown_03004B00
-_080DB2C8: .4byte sub_80DB2D0
-_080DB2CC: .4byte gSprites
- thumb_func_end sub_80DB288
-
- thumb_func_start sub_80DB2D0
-sub_80DB2D0: @ 80DB2D0
- push {lr}
- adds r2, r0, 0
- ldrh r1, [r2, 0x2E]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r0, 0
- ble _080DB2E4
- subs r0, r1, 0x1
- strh r0, [r2, 0x2E]
- b _080DB328
-_080DB2E4:
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- ble _080DB30A
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x32]
- adds r0, r1
- strh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r2, 0x26]
- subs r1, r0
- strh r1, [r2, 0x26]
- b _080DB328
-_080DB30A:
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x34]
- adds r1, r0, 0x1
- strh r1, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080DB328
- ldr r0, _080DB32C
- str r0, [r2, 0x1C]
-_080DB328:
- pop {r0}
- bx r0
- .align 2, 0
-_080DB32C: .4byte sub_80DB330
- thumb_func_end sub_80DB2D0
-
- thumb_func_start sub_80DB330
-sub_80DB330: @ 80DB330
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r2, 0x26]
- adds r0, r1
- strh r0, [r2, 0x26]
- movs r3, 0x22
- ldrsh r0, [r2, r3]
- movs r3, 0x26
- ldrsh r1, [r2, r3]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- ble _080DB360
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
-_080DB360:
- movs r1, 0x26
- ldrsh r0, [r2, r1]
- cmp r0, 0
- ble _080DB36E
- adds r0, r2, 0
- bl move_anim_8072740
-_080DB36E:
- pop {r0}
- bx r0
- thumb_func_end sub_80DB330
-
- thumb_func_start sub_80DB374
-sub_80DB374: @ 80DB374
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _080DB388
- cmp r0, 0x1
- beq _080DB3E0
- b _080DB44C
-_080DB388:
- ldr r0, _080DB398
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080DB3A0
- ldr r4, _080DB39C
- b _080DB3A2
- .align 2, 0
-_080DB398: .4byte gUnknown_03004B00
-_080DB39C: .4byte gUnknown_0202F7C8
-_080DB3A0:
- ldr r4, _080DB3DC
-_080DB3A2:
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r0, 0
- movs r3, 0x80
- lsls r3, 2
- strh r3, [r5, 0x30]
- movs r2, 0x80
- lsls r2, 1
- str r0, [sp]
- adds r0, r5, 0
- movs r1, 0
- bl sub_8078FDC
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080DB44C
- .align 2, 0
-_080DB3DC: .4byte gUnknown_0202F7C9
-_080DB3E0:
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0xB
- bgt _080DB3EE
- ldrh r0, [r5, 0x30]
- subs r0, 0x28
- b _080DB3F2
-_080DB3EE:
- ldrh r0, [r5, 0x30]
- adds r0, 0x28
-_080DB3F2:
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x32]
- movs r2, 0x80
- lsls r2, 1
- movs r0, 0x30
- ldrsh r3, [r5, r0]
- str r1, [sp]
- adds r0, r5, 0
- bl sub_8078FDC
- ldrb r1, [r5, 0x3]
- lsls r1, 26
- lsrs r1, 27
- movs r0, 0xF4
- lsls r0, 6
- ldr r2, _080DB454
- lsls r1, 3
- adds r1, r2
- movs r2, 0x6
- ldrsh r1, [r1, r2]
- bl __divsi3
- adds r1, r0, 0x1
- cmp r1, 0x80
- ble _080DB42C
- movs r1, 0x80
-_080DB42C:
- movs r0, 0x40
- subs r0, r1
- lsrs r1, r0, 31
- adds r0, r1
- asrs r1, r0, 1
- strh r1, [r5, 0x26]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0x18
- bne _080DB44C
- adds r0, r5, 0
- bl sub_8079098
- adds r0, r5, 0
- bl move_anim_8072740
-_080DB44C:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB454: .4byte gOamMatrices
- thumb_func_end sub_80DB374
-
- thumb_func_start sub_80DB458
-sub_80DB458: @ 80DB458
- push {r4,r5,lr}
- adds r5, r0, 0
- bl Random
- ldr r4, _080DB47C
- ands r4, r0
- bl Random
- movs r1, 0x7F
- ands r1, r0
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _080DB480
- movs r2, 0xB8
- lsls r2, 2
- adds r0, r4, r2
- b _080DB488
- .align 2, 0
-_080DB47C: .4byte 0x000001ff
-_080DB480:
- movs r2, 0xB8
- lsls r2, 2
- adds r0, r2, 0
- subs r0, r4
-_080DB488:
- strh r0, [r5, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DB49C
- movs r2, 0xE0
- lsls r2, 2
- adds r0, r2, 0
- adds r0, r1, r0
- b _080DB4A4
-_080DB49C:
- movs r2, 0xE0
- lsls r2, 2
- adds r0, r2, 0
- subs r0, r1
-_080DB4A4:
- strh r0, [r5, 0x30]
- ldr r2, _080DB4CC
- ldrh r0, [r2]
- strh r0, [r5, 0x32]
- lsls r0, 16
- cmp r0, 0
- beq _080DB4C0
- ldrb r0, [r5, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r5, 0x3]
-_080DB4C0:
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080DB4D4
- ldr r4, _080DB4D0
- b _080DB4D6
- .align 2, 0
-_080DB4CC: .4byte gUnknown_03004B00
-_080DB4D0: .4byte gUnknown_0202F7C8
-_080DB4D4:
- ldr r4, _080DB500
-_080DB4D6:
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x20
- strh r0, [r5, 0x22]
- ldr r0, _080DB504
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB500: .4byte gUnknown_0202F7C9
-_080DB504: .4byte sub_80DB508
- thumb_func_end sub_80DB458
-
- thumb_func_start sub_80DB508
-sub_80DB508: @ 80DB508
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080DB520
- ldrh r3, [r4, 0x2E]
- lsls r0, r3, 16
- asrs r0, 24
- ldrh r1, [r4, 0x24]
- adds r0, r1
- b _080DB52A
-_080DB520:
- ldrh r3, [r4, 0x2E]
- lsls r1, r3, 16
- asrs r1, 24
- ldrh r0, [r4, 0x24]
- subs r0, r1
-_080DB52A:
- strh r0, [r4, 0x24]
- ldrh r2, [r4, 0x30]
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r4, 0x26]
- subs r0, r1
- strh r0, [r4, 0x26]
- strh r3, [r4, 0x2E]
- adds r0, r2, 0
- subs r0, 0x20
- strh r0, [r4, 0x30]
- lsls r0, r3, 16
- cmp r0, 0
- bge _080DB54A
- movs r0, 0
- strh r0, [r4, 0x2E]
-_080DB54A:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- bne _080DB55E
- adds r0, r4, 0
- bl move_anim_8072740
-_080DB55E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DB508
-
- thumb_func_start sub_80DB564
-sub_80DB564: @ 80DB564
- movs r1, 0
- strh r1, [r0, 0x3A]
- movs r1, 0x40
- strh r1, [r0, 0x3C]
- ldr r1, _080DB574
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080DB574: .4byte sub_80DB578
- thumb_func_end sub_80DB564
-
- thumb_func_start sub_80DB578
-sub_80DB578: @ 80DB578
- push {lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- cmp r1, 0
- beq _080DB58A
- cmp r1, 0x1
- beq _080DB5D8
- b _080DB5DE
-_080DB58A:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080DB5DE
- strh r1, [r3, 0x30]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r2, [r1]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080DB5DE
- ldrb r1, [r1]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080DB5DE
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _080DB5DE
-_080DB5D8:
- adds r0, r3, 0
- bl move_anim_8072740
-_080DB5DE:
- pop {r0}
- bx r0
- thumb_func_end sub_80DB578
-
- thumb_func_start sub_80DB5E4
-sub_80DB5E4: @ 80DB5E4
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- mov r8, r0
- ldrh r4, [r0, 0x20]
- ldrh r5, [r0, 0x22]
- ldr r6, _080DB698
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- mov r1, r8
- strh r0, [r1, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl sub_8077ABC
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- mov r2, r8
- strh r6, [r2, 0x22]
- ldrh r0, [r2, 0x20]
- mov r9, r0
- mov r1, r9
- lsls r0, r1, 4
- strh r0, [r2, 0x36]
- lsls r0, r6, 4
- strh r0, [r2, 0x38]
- lsls r4, 16
- asrs r4, 16
- movs r1, 0x20
- ldrsh r0, [r2, r1]
- subs r0, r4, r0
- lsls r0, 4
- movs r1, 0xC
- bl __divsi3
- mov r2, r8
- strh r0, [r2, 0x3A]
- lsls r5, 16
- asrs r5, 16
- movs r1, 0x22
- ldrsh r0, [r2, r1]
- subs r0, r5, r0
- lsls r0, 4
- movs r1, 0xC
- bl __divsi3
- mov r2, r8
- strh r0, [r2, 0x3C]
- mov r0, r9
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- subs r5, r6
- lsls r5, 16
- asrs r5, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80790F0
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- mov r0, r8
- movs r1, 0x1
- adds r2, r3, 0
- bl sub_8078FDC
- ldr r0, _080DB69C
- mov r2, r8
- str r0, [r2, 0x1C]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB698: .4byte gUnknown_0202F7C8
-_080DB69C: .4byte sub_80DB6A0
- thumb_func_end sub_80DB5E4
-
- thumb_func_start sub_80DB6A0
-sub_80DB6A0: @ 80DB6A0
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x3A]
- ldrh r1, [r2, 0x36]
- adds r0, r1
- strh r0, [r2, 0x36]
- ldrh r1, [r2, 0x3C]
- ldrh r3, [r2, 0x38]
- adds r1, r3
- strh r1, [r2, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r3, r1, 20
- strh r3, [r2, 0x22]
- adds r0, 0x2D
- lsls r0, 16
- movs r1, 0xA5
- lsls r1, 17
- cmp r0, r1
- bhi _080DB6DA
- adds r1, r3, 0
- cmp r1, 0x9D
- bgt _080DB6DA
- movs r0, 0x2D
- negs r0, r0
- cmp r1, r0
- bge _080DB6E0
-_080DB6DA:
- adds r0, r2, 0
- bl move_anim_8074EE0
-_080DB6E0:
- pop {r0}
- bx r0
- thumb_func_end sub_80DB6A0
-
- thumb_func_start unref_sub_80DB6E4
-unref_sub_80DB6E4: @ 80DB6E4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080DB714
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080DB71C
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080DB718
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
- b _080DB73A
- .align 2, 0
-_080DB714: .4byte gUnknown_03004B00
-_080DB718: .4byte gSprites
-_080DB71C:
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080DB748
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
-_080DB73A:
- strb r0, [r1]
- adds r0, r4, 0
- bl move_anim_task_del
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB748: .4byte gSprites
- thumb_func_end unref_sub_80DB6E4
-
- thumb_func_start sub_80DB74C
-sub_80DB74C: @ 80DB74C
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r0, _080DB804
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DB768
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080DB77E
-_080DB768:
- ldrb r1, [r6, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r6, 0x5]
- adds r1, r6, 0
- adds r1, 0x43
- movs r0, 0xC8
- strb r0, [r1]
-_080DB77E:
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080DB7DA
- movs r0, 0x1
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- adds r0, r4, 0
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080DB7BC
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8076034
-_080DB7BC:
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r7
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080DB7DA
- movs r0, 0x1
- eors r5, r0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8076034
-_080DB7DA:
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080DB810
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _080DB810
- ldr r0, _080DB804
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080DB808
- movs r0, 0x48
- strh r0, [r6, 0x20]
- movs r0, 0x50
- b _080DB84A
- .align 2, 0
-_080DB804: .4byte gUnknown_0202F7C8
-_080DB808:
- movs r0, 0xB0
- strh r0, [r6, 0x20]
- movs r0, 0x28
- b _080DB84A
-_080DB810:
- ldr r5, _080DB880
- ldrb r0, [r5]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DB826
- ldr r1, _080DB884
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_080DB826:
- ldrb r0, [r5]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- ldr r4, _080DB884
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x2]
- adds r0, r4
-_080DB84A:
- strh r0, [r6, 0x22]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080DB85C
- ldrh r0, [r6, 0x22]
- adds r0, 0x9
- strh r0, [r6, 0x22]
-_080DB85C:
- ldr r0, _080DB884
- ldrh r0, [r0, 0x4]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 20
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r6, 0x2E]
- ldr r1, _080DB888
- str r1, [r6, 0x1C]
- adds r0, r6, 0
- bl _call_via_r1
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB880: .4byte gUnknown_0202F7C8
-_080DB884: .4byte gUnknown_03004B00
-_080DB888: .4byte sub_80DB88C
- thumb_func_end sub_80DB74C
-
- thumb_func_start sub_80DB88C
-sub_80DB88C: @ 80DB88C
- push {lr}
- adds r3, r0, 0
- ldr r2, _080DB8B0
- ldrh r1, [r3, 0x34]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r0, r1
- strh r0, [r2]
- ldrh r1, [r3, 0x34]
- movs r2, 0x34
- ldrsh r0, [r3, r2]
- cmp r0, 0xD
- bne _080DB8B8
- ldr r0, _080DB8B4
- str r0, [r3, 0x1C]
- b _080DB8BC
- .align 2, 0
-_080DB8B0: .4byte REG_BLDALPHA
-_080DB8B4: .4byte sub_80DB8C0
-_080DB8B8:
- adds r0, r1, 0x1
- strh r0, [r3, 0x34]
-_080DB8BC:
- pop {r0}
- bx r0
- thumb_func_end sub_80DB88C
-
- thumb_func_start sub_80DB8C0
-sub_80DB8C0: @ 80DB8C0
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080DB91E
- movs r0, 0
- strh r0, [r3, 0x30]
- ldrh r4, [r3, 0x2E]
- ldr r1, _080DB924
- adds r0, r4, 0
- adds r0, 0x8
- lsls r0, 1
- adds r0, r1
- ldrh r7, [r0]
- movs r5, 0x8
- adds r6, r1, 0
- adds r1, r4, 0x7
- lsls r0, r4, 1
- adds r0, r6
- adds r2, r0, 0
- adds r2, 0x10
- lsls r1, 1
- adds r1, r6
-_080DB8F6:
- ldrh r0, [r1]
- strh r0, [r2]
- subs r1, 0x2
- subs r2, 0x2
- subs r5, 0x1
- cmp r5, 0
- bgt _080DB8F6
- adds r0, r4, 0x1
- lsls r0, 1
- adds r0, r6
- strh r7, [r0]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- bne _080DB91E
- ldr r0, _080DB928
- str r0, [r3, 0x1C]
-_080DB91E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB924: .4byte gPlttBufferFaded
-_080DB928: .4byte sub_80DB92C
- thumb_func_end sub_80DB8C0
-
- thumb_func_start sub_80DB92C
-sub_80DB92C: @ 80DB92C
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r2, _080DB9D4
- ldrh r1, [r5, 0x34]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r5, 0x34]
- subs r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080DB9CC
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080DB9BC
- movs r0, 0x1
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080DB98E
- ldr r2, _080DB9D8
- ldr r0, _080DB9DC
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_080DB98E:
- movs r0, 0x2
- adds r4, r0, 0
- eors r4, r6
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080DB9BC
- ldr r2, _080DB9D8
- ldr r0, _080DB9DC
- adds r0, r4, r0
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
-_080DB9BC:
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080DB9E0
- str r0, [r5, 0x1C]
-_080DB9CC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DB9D4: .4byte REG_BLDALPHA
-_080DB9D8: .4byte gSprites
-_080DB9DC: .4byte gUnknown_02024BE0
-_080DB9E0: .4byte sub_80DB9E4
- thumb_func_end sub_80DB92C
-
- thumb_func_start sub_80DB9E4
-sub_80DB9E4: @ 80DB9E4
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080DBA3C
- movs r0, 0x1
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080DBA22
- adds r0, r5, 0
- bl sub_8076464
-_080DBA22:
- movs r0, 0x2
- eors r4, r0
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080DBA3C
- movs r0, 0x1
- eors r5, r0
- adds r0, r5, 0
- bl sub_8076464
-_080DBA3C:
- ldr r0, _080DBA48
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBA48: .4byte move_anim_8072740
- thumb_func_end sub_80DB9E4
-
- thumb_func_start sub_80DBA4C
-sub_80DBA4C: @ 80DBA4C
- push {r4-r6,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080DBAD8
- ldr r5, _080DBA98
- movs r1, 0x6
- ldrsh r0, [r5, r1]
- movs r6, 0
- cmp r0, 0
- bne _080DBA66
- movs r6, 0x1
-_080DBA66:
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080DBAAE
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _080DBAAE
- ldr r0, _080DBA9C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080DBAA0
- ldrh r0, [r5]
- movs r1, 0x48
- subs r1, r0
- strh r1, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- adds r0, 0x50
- strh r0, [r4, 0x22]
- b _080DBAD0
- .align 2, 0
-_080DBA98: .4byte gUnknown_03004B00
-_080DBA9C: .4byte gUnknown_0202F7C8
-_080DBAA0:
- ldrh r0, [r5]
- adds r0, 0xB0
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- adds r0, 0x28
- strh r0, [r4, 0x22]
- b _080DBAD0
-_080DBAAE:
- ldr r0, _080DBAC4
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080DBAC8
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80787B0
- b _080DBAD0
- .align 2, 0
-_080DBAC4: .4byte gUnknown_03004B00
-_080DBAC8:
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_8078764
-_080DBAD0:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080DBAEC
-_080DBAD8:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x30
- ands r0, r1
- cmp r0, 0
- beq _080DBAEC
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080DBAEC:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80DBA4C
-
- thumb_func_start sub_80DBAF4
-sub_80DBAF4: @ 80DBAF4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080DBB3C
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DBB44
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldrh r0, [r5, 0x20]
- subs r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r0, 0xA
- strh r0, [r5, 0x22]
- ldr r0, _080DBB40
- b _080DBB52
- .align 2, 0
-_080DBB3C: .4byte gUnknown_0202F7C8
-_080DBB40: .4byte 0x0000ffff
-_080DBB44:
- ldrh r0, [r5, 0x20]
- adds r0, 0x28
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- subs r0, 0xA
- strh r0, [r5, 0x22]
- movs r0, 0x1
-_080DBB52:
- strh r0, [r5, 0x30]
- ldr r1, _080DBB68
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080DBB6C
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBB68: .4byte move_anim_8072740
-_080DBB6C: .4byte sub_8078600
- thumb_func_end sub_80DBAF4
-
- thumb_func_start sub_80DBB70
-sub_80DBB70: @ 80DBB70
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r6, _080DBBF4
- ldrb r0, [r6]
- movs r1, 0x1
- bl sub_807A100
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- lsls r1, 15
- lsrs r4, r1, 16
- ldrb r0, [r6]
- movs r1, 0
- bl sub_807A100
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- asrs r1, 1
- negs r1, r1
- lsls r1, 16
- lsrs r7, r1, 16
- ldrb r0, [r6]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080DBBB6
- lsls r0, r4, 16
- negs r0, r0
- lsrs r4, r0, 16
-_080DBBB6:
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, r4
- strh r0, [r5, 0x20]
- ldrb r0, [r6]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, r7
- strh r0, [r5, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- bgt _080DBBE2
- movs r0, 0x10
- strh r0, [r5, 0x22]
-_080DBBE2:
- ldr r1, _080DBBF8
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080DBBFC
- str r0, [r5, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBBF4: .4byte gUnknown_0202F7C8
-_080DBBF8: .4byte sub_80DBC00
-_080DBBFC: .4byte sub_8078600
- thumb_func_end sub_80DBB70
-
- thumb_func_start sub_80DBC00
-sub_80DBC00: @ 80DBC00
- push {r4,lr}
- adds r4, r0, 0
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080DBC2C
- str r0, [r4, 0x10]
- movs r0, 0
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- ldr r0, _080DBC30
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBC2C: .4byte gUnknown_083DA888
-_080DBC30: .4byte sub_80DBC34
- thumb_func_end sub_80DBC00
-
- thumb_func_start sub_80DBC34
-sub_80DBC34: @ 80DBC34
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080DBC46
- cmp r0, 0x1
- beq _080DBC74
- b _080DBC8C
-_080DBC46:
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080DBC8C
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldrb r1, [r4, 0x1]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x12
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080DBC8C
-_080DBC74:
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080DBC8C
- adds r0, r4, 0
- bl move_anim_8072740
-_080DBC8C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DBC34
-
- thumb_func_start sub_80DBC94
-sub_80DBC94: @ 80DBC94
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080DBCC4
- adds r4, r0
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- strh r1, [r4, 0x8]
- ldr r2, _080DBCC8
- adds r0, r4, 0
- bl sub_80798F4
- ldr r0, _080DBCCC
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBCC4: .4byte gTasks
-_080DBCC8: .4byte gUnknown_083DA8A4
-_080DBCCC: .4byte sub_80DBCD0
- thumb_func_end sub_80DBC94
-
- thumb_func_start sub_80DBCD0
-sub_80DBCD0: @ 80DBCD0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080DBCF8
- adds r0, r1
- bl sub_807992C
- lsls r0, 24
- cmp r0, 0
- bne _080DBCF0
- adds r0, r4, 0
- bl move_anim_task_del
-_080DBCF0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBCF8: .4byte gTasks
- thumb_func_end sub_80DBCD0
-
- thumb_func_start sub_80DBCFC
-sub_80DBCFC: @ 80DBCFC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080DBD48
- adds r4, r1, r0
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xA]
- strh r1, [r4, 0xC]
- ldr r0, _080DBD4C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- movs r1, 0x8
- cmp r0, 0
- beq _080DBD30
- movs r1, 0x4
-_080DBD30:
- strh r1, [r4, 0xE]
- ldrb r1, [r4, 0x8]
- ldr r2, _080DBD50
- adds r0, r4, 0
- bl sub_80798F4
- ldr r0, _080DBD54
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBD48: .4byte gTasks
-_080DBD4C: .4byte gUnknown_0202F7C8
-_080DBD50: .4byte gUnknown_083DA8C4
-_080DBD54: .4byte sub_80DBD58
- thumb_func_end sub_80DBCFC
-
- thumb_func_start sub_80DBD58
-sub_80DBD58: @ 80DBD58
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080DBD78
- adds r4, r0, r1
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080DBD7C
- cmp r0, 0x1
- beq _080DBD98
- b _080DBDF6
- .align 2, 0
-_080DBD78: .4byte gTasks
-_080DBD7C:
- adds r0, r4, 0
- bl sub_807992C
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _080DBDF6
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- b _080DBDF6
-_080DBD98:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080DBDC0
- ldr r2, _080DBDBC
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x8
- strh r1, [r0, 0x26]
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _080DBDF6
- .align 2, 0
-_080DBDBC: .4byte gSprites
-_080DBDC0:
- ldr r3, _080DBDFC
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x88
- lsls r1, 1
- strh r1, [r0, 0x20]
- ldrb r0, [r4, 0x8]
- bl sub_8078F40
- adds r0, r5, 0
- bl move_anim_task_del
-_080DBDF6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBDFC: .4byte gSprites
- thumb_func_end sub_80DBD58
-
- thumb_func_start sub_80DBE00
-sub_80DBE00: @ 80DBE00
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080DBE84
- adds r5, r1, r0
- movs r0, 0
- movs r7, 0x10
- strh r7, [r5, 0xE]
- strh r0, [r5, 0x10]
- ldr r4, _080DBE88
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x24]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_807A100
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldrb r0, [r4]
- movs r1, 0
- bl sub_807A100
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- adds r1, r0, 0
- cmp r0, r6
- bcs _080DBE6A
- adds r1, r6, 0
-_080DBE6A:
- strh r1, [r5, 0x20]
- ldr r1, _080DBE8C
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080DBE90
- strh r7, [r0]
- ldr r0, _080DBE94
- str r0, [r5]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DBE84: .4byte gTasks
-_080DBE88: .4byte gUnknown_0202F7C8
-_080DBE8C: .4byte REG_BLDCNT
-_080DBE90: .4byte REG_BLDALPHA
-_080DBE94: .4byte sub_80DBE98
- thumb_func_end sub_80DBE00
-
- thumb_func_start sub_80DBE98
-sub_80DBE98: @ 80DBE98
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080DBEBC
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _080DBF98
- cmp r1, 0x1
- bgt _080DBEC0
- cmp r1, 0
- beq _080DBECE
- b _080DC014
- .align 2, 0
-_080DBEBC: .4byte gTasks
-_080DBEC0:
- cmp r1, 0x2
- bne _080DBEC6
- b _080DBFF4
-_080DBEC6:
- cmp r1, 0x3
- bne _080DBECC
- b _080DC004
-_080DBECC:
- b _080DC014
-_080DBECE:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- bgt _080DBEDE
- b _080DC014
-_080DBEDE:
- strh r1, [r4, 0xA]
- ldr r0, _080DBF1C
- movs r2, 0x22
- ldrsh r1, [r4, r2]
- movs r3, 0x24
- ldrsh r2, [r4, r3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- adds r1, 0x8
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0x8
- adds r0, r1
- strh r2, [r0]
- cmp r2, 0x40
- beq _080DBF82
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080DBF3C
- cmp r0, 0x1
- bgt _080DBF20
- cmp r0, 0
- beq _080DBF2A
- b _080DBF82
- .align 2, 0
-_080DBF1C: .4byte gSpriteTemplate_83DA8DC
-_080DBF20:
- cmp r0, 0x2
- beq _080DBF54
- cmp r0, 0x3
- beq _080DBF6C
- b _080DBF82
-_080DBF2A:
- ldr r0, _080DBF38
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- b _080DBF7A
- .align 2, 0
-_080DBF38: .4byte gSprites
-_080DBF3C:
- ldr r0, _080DBF50
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x20]
- b _080DBF80
- .align 2, 0
-_080DBF50: .4byte gSprites
-_080DBF54:
- ldr r1, _080DBF68
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrh r1, [r4, 0x20]
- strh r1, [r0, 0x24]
- ldrh r1, [r4, 0x20]
- strh r1, [r0, 0x26]
- b _080DBF82
- .align 2, 0
-_080DBF68: .4byte gSprites
-_080DBF6C:
- ldr r0, _080DBF94
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r4, 0x20]
- negs r0, r0
-_080DBF7A:
- strh r0, [r1, 0x24]
- ldrh r0, [r4, 0x20]
- negs r0, r0
-_080DBF80:
- strh r0, [r1, 0x26]
-_080DBF82:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _080DC014
- b _080DBFF4
- .align 2, 0
-_080DBF94: .4byte gSprites
-_080DBF98:
- ldrh r0, [r4, 0xA]
- ands r1, r0
- cmp r1, 0
- beq _080DBFA8
- ldrh r0, [r4, 0xE]
- subs r0, 0x1
- strh r0, [r4, 0xE]
- b _080DBFAE
-_080DBFA8:
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
-_080DBFAE:
- ldr r2, _080DBFFC
- ldrh r0, [r4, 0x10]
- lsls r0, 8
- ldrh r1, [r4, 0xE]
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- bne _080DC014
- movs r5, 0x8
- adds r6, r4, 0
- adds r6, 0x8
-_080DBFCE:
- lsls r0, r5, 1
- adds r1, r6, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x40
- beq _080DBFEA
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DC000
- adds r0, r1
- bl DestroySprite
-_080DBFEA:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xC
- bls _080DBFCE
-_080DBFF4:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080DC014
- .align 2, 0
-_080DBFFC: .4byte REG_BLDALPHA
-_080DC000: .4byte gSprites
-_080DC004:
- ldr r0, _080DC01C
- movs r1, 0
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, r2, 0
- bl move_anim_task_del
-_080DC014:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC01C: .4byte REG_BLDALPHA
- thumb_func_end sub_80DBE98
-
- thumb_func_start sub_80DC020
-sub_80DC020: @ 80DC020
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- subs r0, 0xA
- cmp r1, r0
- ble _080DC04A
- ldrh r0, [r4, 0x30]
- movs r1, 0x1
- ands r1, r0
- adds r3, r4, 0
- adds r3, 0x3E
- lsls r1, 2
- ldrb r2, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080DC04A:
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080DC05C
- adds r0, r4, 0
- bl move_anim_8072740
-_080DC05C:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC020
-
- thumb_func_start sub_80DC068
-sub_80DC068: @ 80DC068
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080DC0A4
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080DC094
- ldr r4, _080DC0A8
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
-_080DC094:
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x2E]
- ldr r0, _080DC0AC
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC0A4: .4byte gUnknown_03004B00
-_080DC0A8: .4byte gUnknown_0202F7C8
-_080DC0AC: .4byte sub_80DC020
- thumb_func_end sub_80DC068
-
- thumb_func_start sub_80DC0B0
-sub_80DC0B0: @ 80DC0B0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080DC10C
- adds r5, r1, r0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080DC154
- ldr r0, _080DC110
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _080DC120
- ldr r0, _080DC114
- strh r0, [r5, 0x1C]
- ldr r4, _080DC118
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, _080DC11C
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0x8
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x8
- b _080DC1DE
- .align 2, 0
-_080DC10C: .4byte gTasks
-_080DC110: .4byte gUnknown_03004B00
-_080DC114: .4byte 0x0000fff6
-_080DC118: .4byte gUnknown_0202F7C9
-_080DC11C: .4byte gUnknown_0202F7C8
-_080DC120:
- movs r0, 0xA
- strh r0, [r5, 0x1C]
- ldr r4, _080DC14C
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_807A100
- subs r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, _080DC150
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0x8
- b _080DC1D2
- .align 2, 0
-_080DC14C: .4byte gUnknown_0202F7C8
-_080DC150: .4byte gUnknown_0202F7C9
-_080DC154:
- ldr r0, _080DC198
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x1
- bne _080DC1A8
- ldr r0, _080DC19C
- strh r0, [r5, 0x1C]
- ldr r4, _080DC1A0
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, _080DC1A4
- ldrb r0, [r4]
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x8
- b _080DC1DE
- .align 2, 0
-_080DC198: .4byte gUnknown_03004B00
-_080DC19C: .4byte 0x0000fff6
-_080DC1A0: .4byte gUnknown_0202F7C9
-_080DC1A4: .4byte gUnknown_0202F7C8
-_080DC1A8:
- movs r0, 0xA
- strh r0, [r5, 0x1C]
- ldr r4, _080DC1F0
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0x8
- strh r0, [r5, 0x1E]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_807A100
- subs r0, 0x8
- strh r0, [r5, 0x20]
- ldr r4, _080DC1F4
- ldrb r0, [r4]
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0x8
-_080DC1D2:
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_807A100
- subs r0, 0x8
-_080DC1DE:
- strh r0, [r5, 0x24]
- movs r0, 0x6
- strh r0, [r5, 0xA]
- ldr r0, _080DC1F8
- str r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC1F0: .4byte gUnknown_0202F7C8
-_080DC1F4: .4byte gUnknown_0202F7C9
-_080DC1F8: .4byte sub_80DC1FC
- thumb_func_end sub_80DC0B0
-
- thumb_func_start sub_80DC1FC
-sub_80DC1FC: @ 80DC1FC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080DC21C
- adds r5, r0, r1
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- cmp r1, 0
- beq _080DC220
- cmp r1, 0x1
- beq _080DC294
- b _080DC2A8
- .align 2, 0
-_080DC21C: .4byte gTasks
-_080DC220:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _080DC2A8
- strh r1, [r5, 0xA]
- ldr r0, _080DC28C
- movs r2, 0x1E
- ldrsh r1, [r5, r2]
- movs r3, 0x20
- ldrsh r2, [r5, r3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080DC274
- ldr r0, _080DC290
- lsls r4, r1, 4
- adds r4, r1
- lsls r4, 2
- adds r4, r0
- movs r0, 0x10
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x22]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0x24]
- strh r0, [r4, 0x36]
- ldrh r0, [r5, 0x1C]
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80786EC
- ldrb r0, [r5, 0xC]
- movs r1, 0x3
- ands r1, r0
- adds r0, r4, 0
- bl StartSpriteAffineAnim
-_080DC274:
- ldrh r0, [r5, 0xC]
- adds r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- bne _080DC2A8
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080DC2A8
- .align 2, 0
-_080DC28C: .4byte gSpriteTemplate_83DA9AC
-_080DC290: .4byte gSprites
-_080DC294:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x11
- ble _080DC2A8
- adds r0, r2, 0
- bl move_anim_task_del
-_080DC2A8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC1FC
-
- thumb_func_start sub_80DC2B0
-sub_80DC2B0: @ 80DC2B0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080DC2CE
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
-_080DC2CE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC2B0
-
- thumb_func_start sub_80DC2D4
-sub_80DC2D4: @ 80DC2D4
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080DC30C
- adds r4, r1, r0
- ldr r0, _080DC310
- ldrb r0, [r0]
- bl sub_8077FC0
- lsls r0, 24
- lsrs r1, r0, 24
- adds r0, r1, 0
- subs r0, 0x20
- strh r0, [r4, 0x24]
- ldr r0, _080DC314
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0x1
- beq _080DC32A
- cmp r0, 0x1
- bgt _080DC318
- cmp r0, 0
- beq _080DC31E
- b _080DC346
- .align 2, 0
-_080DC30C: .4byte gTasks
-_080DC310: .4byte gUnknown_0202F7C9
-_080DC314: .4byte gUnknown_03004B00
-_080DC318:
- cmp r0, 0x2
- beq _080DC336
- b _080DC346
-_080DC31E:
- movs r0, 0x2
- strh r0, [r4, 0x1E]
- movs r0, 0x5
- strh r0, [r4, 0x20]
- movs r0, 0x40
- b _080DC33E
-_080DC32A:
- movs r0, 0x2
- strh r0, [r4, 0x1E]
- movs r0, 0x5
- strh r0, [r4, 0x20]
- movs r0, 0xC0
- b _080DC33E
-_080DC336:
- movs r0, 0x4
- strh r0, [r4, 0x1E]
- strh r0, [r4, 0x20]
- movs r0, 0
-_080DC33E:
- strh r0, [r4, 0x22]
- adds r0, r1, 0
- adds r0, 0x20
- strh r0, [r4, 0x26]
-_080DC346:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bge _080DC352
- movs r0, 0
- strh r0, [r4, 0x24]
-_080DC352:
- ldr r0, _080DC36C
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080DC378
- ldr r0, _080DC370
- ldrh r0, [r0]
- strh r0, [r4, 0x1C]
- ldr r0, _080DC374
- b _080DC380
- .align 2, 0
-_080DC36C: .4byte gUnknown_0202F7C9
-_080DC370: .4byte gUnknown_030042C0
-_080DC374: .4byte REG_BG1HOFS
-_080DC378:
- ldr r0, _080DC3E0
- ldrh r0, [r0]
- strh r0, [r4, 0x1C]
- ldr r0, _080DC3E4
-_080DC380:
- str r0, [sp]
- ldrh r1, [r4, 0x24]
- lsls r3, r1, 16
- asrs r1, r3, 16
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- cmp r1, r0
- bgt _080DC3BA
- ldr r5, _080DC3E8
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
-_080DC39A:
- asrs r3, 16
- lsls r1, r3, 1
- adds r2, r1, r5
- ldrh r0, [r4, 0x1C]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r4, 0x1C]
- strh r0, [r1]
- adds r3, 0x1
- lsls r3, 16
- asrs r1, r3, 16
- movs r2, 0x24
- ldrsh r0, [r4, r2]
- adds r0, 0x40
- cmp r1, r0
- ble _080DC39A
-_080DC3BA:
- ldr r0, _080DC3EC
- str r0, [sp, 0x4]
- mov r1, sp
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r2, [r0, 0x9]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl sub_80895F8
- ldr r0, _080DC3F0
- str r0, [r4]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC3E0: .4byte gUnknown_03004288
-_080DC3E4: .4byte REG_BG2HOFS
-_080DC3E8: .4byte gUnknown_03004DE0
-_080DC3EC: .4byte 0xa2600001
-_080DC3F0: .4byte sub_80DC3F4
- thumb_func_end sub_80DC2D4
-
- thumb_func_start sub_80DC3F4
-sub_80DC3F4: @ 80DC3F4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080DC41C
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080DC4CE
- cmp r0, 0x1
- bgt _080DC420
- cmp r0, 0
- beq _080DC426
- b _080DC4E6
- .align 2, 0
-_080DC41C: .4byte gTasks
-_080DC420:
- cmp r0, 0x2
- beq _080DC4E0
- b _080DC4E6
-_080DC426:
- ldrh r3, [r5, 0x22]
- ldrh r4, [r5, 0x24]
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- movs r2, 0x26
- ldrsh r0, [r5, r2]
- cmp r1, r0
- bgt _080DC4BE
- ldr r0, _080DC470
- mov r9, r0
- movs r7, 0x3
- ldr r1, _080DC474
- mov r12, r1
- movs r2, 0xF0
- lsls r2, 3
- add r2, r12
- mov r8, r2
-_080DC448:
- lsls r2, r3, 16
- asrs r0, r2, 15
- add r0, r9
- movs r3, 0
- ldrsh r0, [r0, r3]
- movs r3, 0x20
- ldrsh r1, [r5, r3]
- asrs r0, r1
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r3, r0, 16
- adds r6, r2, 0
- cmp r3, 0
- ble _080DC478
- ldrh r1, [r5, 0xA]
- adds r0, r7, 0
- ands r0, r1
- adds r0, r3, r0
- b _080DC484
- .align 2, 0
-_080DC470: .4byte gSineTable
-_080DC474: .4byte gUnknown_03004DE0
-_080DC478:
- cmp r3, 0
- bge _080DC488
- ldrh r1, [r5, 0xA]
- adds r0, r7, 0
- ands r0, r1
- subs r0, r3, r0
-_080DC484:
- lsls r0, 16
- lsrs r1, r0, 16
-_080DC488:
- lsls r2, r4, 16
- asrs r2, 16
- lsls r3, r2, 1
- mov r0, r12
- adds r4, r3, r0
- ldrh r0, [r5, 0x1C]
- lsls r1, 16
- asrs r1, 16
- adds r0, r1, r0
- strh r0, [r4]
- add r3, r8
- ldrh r0, [r5, 0x1C]
- adds r1, r0
- strh r1, [r3]
- asrs r0, r6, 16
- ldrh r1, [r5, 0x1E]
- adds r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r2, 0x1
- lsls r2, 16
- lsrs r4, r2, 16
- asrs r2, 16
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r2, r0
- ble _080DC448
-_080DC4BE:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- ble _080DC4E6
- b _080DC4D4
-_080DC4CE:
- ldr r1, _080DC4DC
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080DC4D4:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080DC4E6
- .align 2, 0
-_080DC4DC: .4byte gUnknown_03004DC0
-_080DC4E0:
- adds r0, r2, 0
- bl move_anim_task_del
-_080DC4E6:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC3F4
-
- thumb_func_start sub_80DC4F4
-sub_80DC4F4: @ 80DC4F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r4, r0, 24
- mov r8, r4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080DC528
- adds r7, r0, r1
- bl AllocOamMatrix
- lsls r0, 24
- lsrs r5, r0, 24
- mov r10, r5
- adds r6, r5, 0
- cmp r6, 0xFF
- bne _080DC52C
- adds r0, r4, 0
- bl move_anim_task_del
- b _080DC5D6
- .align 2, 0
-_080DC528: .4byte gTasks
-_080DC52C:
- ldr r1, _080DC550
- ldrb r0, [r1]
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- lsls r0, 16
- lsrs r1, r0, 16
- mov r9, r1
- asrs r0, 16
- cmp r0, 0
- bge _080DC554
- adds r0, r5, 0
- bl FreeOamMatrix
- mov r0, r8
- bl move_anim_task_del
- b _080DC5D6
- .align 2, 0
-_080DC550: .4byte gUnknown_03004B00
-_080DC554:
- ldr r2, _080DC5E4
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- adds r0, r2, 0
- adds r0, 0x1C
- adds r0, r4, r0
- ldr r1, _080DC5E8
- str r1, [r0]
- adds r4, r2
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- movs r0, 0x1F
- ands r6, r0
- lsls r2, r6, 1
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x3]
- adds r2, r4, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2]
- adds r1, r4, 0
- adds r1, 0x43
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- mov r1, r9
- lsls r0, r1, 24
- lsrs r0, 24
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrb r3, [r4, 0x1]
- lsrs r1, r3, 6
- ldrb r2, [r4, 0x3]
- lsrs r2, 6
- lsls r3, 30
- lsrs r3, 30
- adds r0, r4, 0
- bl CalcCenterToCornerVec
- ldr r1, _080DC5EC
- ldrb r0, [r1]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r7, 0x22]
- mov r0, r10
- strh r0, [r7, 0x24]
- mov r1, r9
- strh r1, [r7, 0x26]
- ldr r0, _080DC5F0
- str r0, [r7]
-_080DC5D6:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC5E4: .4byte gSprites
-_080DC5E8: .4byte SpriteCallbackDummy
-_080DC5EC: .4byte gUnknown_03004B00
-_080DC5F0: .4byte sub_80DC5F4
- thumb_func_end sub_80DC4F4
-
- thumb_func_start sub_80DC5F4
-sub_80DC5F4: @ 80DC5F4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080DC618
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080DC678
- cmp r0, 0x1
- bgt _080DC61C
- cmp r0, 0
- beq _080DC626
- b _080DC6F8
- .align 2, 0
-_080DC618: .4byte gTasks
-_080DC61C:
- cmp r0, 0x2
- beq _080DC6C8
- cmp r0, 0x3
- beq _080DC6E8
- b _080DC6F8
-_080DC626:
- ldrh r0, [r4, 0xA]
- adds r0, 0x4
- strh r0, [r4, 0xA]
- ldr r1, _080DC674
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8079AB8
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x30
- bne _080DC6F8
- b _080DC6DA
- .align 2, 0
-_080DC674: .4byte gSineTable
-_080DC678:
- ldrh r0, [r4, 0xA]
- subs r0, 0x4
- strh r0, [r4, 0xA]
- ldr r1, _080DC6C4
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 17
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC
- ldrsh r2, [r4, r1]
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- lsrs r1, 24
- bl sub_8079AB8
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080DC6F8
- b _080DC6DA
- .align 2, 0
-_080DC6C4: .4byte gSineTable
-_080DC6C8:
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DC6E4
- adds r0, r1
- bl obj_delete_but_dont_free_vram
-_080DC6DA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080DC6F8
- .align 2, 0
-_080DC6E4: .4byte gSprites
-_080DC6E8:
- ldrh r0, [r4, 0x24]
- lsls r0, 24
- lsrs r0, 24
- bl FreeOamMatrix
- adds r0, r5, 0
- bl move_anim_task_del
-_080DC6F8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80DC5F4
-
- thumb_func_start sub_80DC700
-sub_80DC700: @ 80DC700
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080DC778
- cmp r0, 0x1
- bgt _080DC716
- cmp r0, 0
- beq _080DC720
- b _080DC818
-_080DC716:
- cmp r0, 0x2
- beq _080DC7AA
- cmp r0, 0x3
- beq _080DC808
- b _080DC818
-_080DC720:
- ldr r4, _080DC76C
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080DC74E
- ldrh r0, [r5, 0x22]
- adds r0, 0xC
- strh r0, [r5, 0x22]
-_080DC74E:
- movs r0, 0x8
- strh r0, [r5, 0x30]
- ldr r1, _080DC770
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _080DC774
- ldrh r1, [r5, 0x30]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r0, r1
- strh r0, [r2]
- b _080DC7A2
- .align 2, 0
-_080DC76C: .4byte gUnknown_0202F7C8
-_080DC770: .4byte REG_BLDCNT
-_080DC774: .4byte REG_BLDALPHA
-_080DC778:
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080DC818
- movs r0, 0x40
- negs r0, r0
- bl sub_8076F98
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xCB
- bl PlaySE12WithPanning
- adds r0, r5, 0
- movs r1, 0x1
- bl ChangeSpriteAffineAnim
-_080DC7A2:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080DC818
-_080DC7AA:
- ldrh r0, [r5, 0x32]
- adds r1, r0, 0x1
- strh r1, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080DC7E8
- movs r0, 0
- strh r0, [r5, 0x32]
- ldrh r1, [r5, 0x30]
- subs r1, 0x1
- strh r1, [r5, 0x30]
- ldr r2, _080DC804
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080DC7E8
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
-_080DC7E8:
- movs r0, 0xE0
- lsls r0, 2
- adds r2, r0, 0
- ldrh r1, [r5, 0x34]
- adds r2, r1
- lsls r1, r2, 16
- asrs r1, 24
- ldrh r0, [r5, 0x26]
- subs r0, r1
- strh r0, [r5, 0x26]
- movs r0, 0xFF
- ands r2, r0
- strh r2, [r5, 0x34]
- b _080DC818
- .align 2, 0
-_080DC804: .4byte REG_BLDALPHA
-_080DC808:
- ldr r0, _080DC820
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, r5, 0
- bl move_anim_8072740
-_080DC818:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC820: .4byte REG_BLDCNT
- thumb_func_end sub_80DC700
-
- thumb_func_start sub_80DC824
-sub_80DC824: @ 80DC824
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080DC850
- adds r0, r6, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, _080DC84C
- ldrh r1, [r0, 0x4]
- negs r1, r1
- strh r1, [r0, 0x4]
- ldrh r1, [r0]
- negs r1, r1
- strh r1, [r0]
- b _080DC880
- .align 2, 0
-_080DC84C: .4byte gUnknown_03004B00
-_080DC850:
- ldr r0, _080DC8E4
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080DC880
- adds r0, r6, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r1, _080DC8E8
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r1, 0x6]
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
-_080DC880:
- ldr r5, _080DC8E4
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077EE4
- lsls r0, 24
- ldr r4, _080DC8E8
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077EE4
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r6, 0x22]
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r6, 0x36]
- ldr r0, _080DC8EC
- str r0, [r6, 0x1C]
- ldr r1, _080DC8F0
- adds r0, r6, 0
- bl oamt_set_x3A_32
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC8E4: .4byte gUnknown_0202F7C9
-_080DC8E8: .4byte gUnknown_03004B00
-_080DC8EC: .4byte sub_8078B34
-_080DC8F0: .4byte move_anim_8072740
- thumb_func_end sub_80DC824
-
- thumb_func_start sub_80DC8F4
-sub_80DC8F4: @ 80DC8F4
- push {r4-r6,lr}
- adds r6, r0, 0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080DC918
- ldr r1, _080DC914
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r1]
- adds r0, r6, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- b _080DC934
- .align 2, 0
-_080DC914: .4byte gUnknown_03004B00
-_080DC918:
- ldr r0, _080DC990
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080DC934
- ldr r0, _080DC994
- ldrh r1, [r0, 0x2]
- negs r1, r1
- strh r1, [r0, 0x2]
- ldrh r1, [r0]
- negs r1, r1
- strh r1, [r0]
-_080DC934:
- ldr r5, _080DC990
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077EE4
- lsls r0, 24
- ldr r4, _080DC994
- lsrs r0, 24
- ldrh r1, [r4]
- adds r0, r1
- strh r0, [r6, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077EE4
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x2]
- adds r0, r1
- strh r0, [r6, 0x22]
- ldrh r0, [r4, 0x4]
- strh r0, [r6, 0x2E]
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x36]
- ldr r0, _080DC998
- str r0, [r6, 0x1C]
- ldr r1, _080DC99C
- adds r0, r6, 0
- bl oamt_set_x3A_32
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DC990: .4byte gUnknown_0202F7C9
-_080DC994: .4byte gUnknown_03004B00
-_080DC998: .4byte sub_8078B34
-_080DC99C: .4byte move_anim_8072740
- thumb_func_end sub_80DC8F4
-
- thumb_func_start sub_80DC9A0
-sub_80DC9A0: @ 80DC9A0
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080DC9BC
- ldr r0, _080DC9FC
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- lsrs r2, r1, 31
- adds r1, r2
- asrs r1, 1
- strh r1, [r0, 0x4]
-_080DC9BC:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r1, _080DC9FC
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r0, [r5, 0x22]
- strh r0, [r5, 0x34]
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _080DCA04
- ldr r4, _080DCA00
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- b _080DCA16
- .align 2, 0
-_080DC9FC: .4byte gUnknown_03004B00
-_080DCA00: .4byte gUnknown_0202F7C9
-_080DCA04:
- ldr r0, _080DCA2C
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x32
- adds r3, r5, 0
- adds r3, 0x36
- movs r1, 0x1
- bl sub_807A3FC
-_080DCA16:
- adds r0, r5, 0
- bl sub_8078BD4
- ldr r0, _080DCA30
- ldrh r0, [r0, 0x6]
- strh r0, [r5, 0x38]
- ldr r0, _080DCA34
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DCA2C: .4byte gUnknown_0202F7C9
-_080DCA30: .4byte gUnknown_03004B00
-_080DCA34: .4byte sub_80DCA38
- thumb_func_end sub_80DC9A0
-
- thumb_func_start sub_80DCA38
-sub_80DCA38: @ 80DCA38
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- beq _080DCA4E
- adds r0, r4, 0
- bl move_anim_8072740
- b _080DCA6A
-_080DCA4E:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x3A]
- adds r0, 0xD
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
-_080DCA6A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DCA38
-
- thumb_func_start sub_80DCA70
-sub_80DCA70: @ 80DCA70
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080DCAA0
- ldrb r0, [r0]
- adds r2, r4, 0
- adds r2, 0x20
- adds r3, r4, 0
- adds r3, 0x22
- movs r1, 0
- bl sub_807A3FC
- ldr r0, _080DCAA4
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DCAAC
- ldr r0, _080DCAA8
- ldrh r1, [r4, 0x20]
- ldrh r2, [r0]
- subs r1, r2
- strh r1, [r4, 0x20]
- b _080DCAB8
- .align 2, 0
-_080DCAA0: .4byte gUnknown_0202F7C9
-_080DCAA4: .4byte gUnknown_0202F7C8
-_080DCAA8: .4byte gUnknown_03004B00
-_080DCAAC:
- ldr r1, _080DCAE0
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- adds r0, r1, 0
-_080DCAB8:
- ldrh r0, [r0, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldr r0, _080DCAE4
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080DCAD4
- ldrh r0, [r4, 0x22]
- adds r0, 0x8
- strh r0, [r4, 0x22]
-_080DCAD4:
- ldr r0, _080DCAE8
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DCAE0: .4byte gUnknown_03004B00
-_080DCAE4: .4byte gUnknown_0202F7C9
-_080DCAE8: .4byte sub_80DCAEC
- thumb_func_end sub_80DCA70
-
- thumb_func_start sub_80DCAEC
-sub_80DCAEC: @ 80DCAEC
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080DCB20
- movs r0, 0
- strh r0, [r3, 0x2E]
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
-_080DCB20:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x33
- bne _080DCB34
- adds r0, r3, 0
- bl move_anim_8072740
-_080DCB34:
- pop {r0}
- bx r0
- thumb_func_end sub_80DCAEC
-
- thumb_func_start sub_80DCB38
-sub_80DCB38: @ 80DCB38
- ldr r2, _080DCB54
- movs r3, 0xFD
- lsls r3, 6
- adds r1, r3, 0
- strh r1, [r2]
- adds r2, 0x2
- movs r1, 0x10
- strh r1, [r2]
- movs r1, 0x10
- strh r1, [r0, 0x2E]
- ldr r1, _080DCB58
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_080DCB54: .4byte REG_BLDCNT
-_080DCB58: .4byte sub_80DCB5C
- thumb_func_end sub_80DCB38
-
- thumb_func_start sub_80DCB5C
-sub_80DCB5C: @ 80DCB5C
- push {lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x32]
- movs r2, 0x32
- ldrsh r0, [r3, r2]
- cmp r0, 0x13
- bgt _080DCB70
- adds r0, r1, 0x1
- strh r0, [r3, 0x32]
- b _080DCBA8
-_080DCB70:
- ldrh r1, [r3, 0x30]
- adds r0, r1, 0x1
- strh r0, [r3, 0x30]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DCBA8
- ldrh r1, [r3, 0x2E]
- subs r1, 0x1
- strh r1, [r3, 0x2E]
- ldr r2, _080DCBAC
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080DCBA8
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080DCBB0
- str r0, [r3, 0x1C]
-_080DCBA8:
- pop {r0}
- bx r0
- .align 2, 0
-_080DCBAC: .4byte REG_BLDALPHA
-_080DCBB0: .4byte sub_80DCBB4
- thumb_func_end sub_80DCB5C
-
- thumb_func_start sub_80DCBB4
-sub_80DCBB4: @ 80DCBB4
- push {lr}
- ldr r1, _080DCBC8
- movs r2, 0
- strh r2, [r1]
- adds r1, 0x2
- strh r2, [r1]
- bl move_anim_8072740
- pop {r0}
- bx r0
- .align 2, 0
-_080DCBC8: .4byte REG_BLDCNT
- thumb_func_end sub_80DCBB4
-
- thumb_func_start sub_80DCBCC
-sub_80DCBCC: @ 80DCBCC
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080DCBEC
- ldr r1, _080DCBE8
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- b _080DCC0E
- .align 2, 0
-_080DCBE8: .4byte gUnknown_03004B00
-_080DCBEC:
- ldr r0, _080DCCE8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DCC0E
- ldr r1, _080DCCEC
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
- ldrh r0, [r1, 0x6]
- negs r0, r0
- strh r0, [r1, 0x6]
-_080DCC0E:
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080DCC5E
- ldr r0, _080DCCE8
- ldrb r0, [r0]
- bl battle_side_get_owner
- adds r4, r0, 0
- ldr r5, _080DCCF0
- ldrb r0, [r5]
- bl battle_side_get_owner
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080DCC5E
- ldrb r0, [r5]
- bl battle_get_per_side_status
- lsls r0, 24
- cmp r0, 0
- beq _080DCC4C
- ldrb r0, [r5]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080DCC5E
-_080DCC4C:
- ldr r0, _080DCCEC
- movs r2, 0x4
- ldrsh r1, [r0, r2]
- negs r1, r1
- strh r1, [r0, 0x4]
- movs r2, 0
- ldrsh r1, [r0, r2]
- negs r1, r1
- strh r1, [r0]
-_080DCC5E:
- adds r0, r7, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r5, _080DCCF0
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- adds r4, r0, 0
- lsls r4, 24
- ldr r6, _080DCCEC
- lsrs r4, 24
- ldrh r0, [r6, 0x4]
- adds r4, r0
- lsls r4, 16
- lsrs r4, 16
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r6, 0x6]
- adds r1, r2
- lsls r1, 16
- ldrh r2, [r7, 0x20]
- lsls r0, r4, 16
- asrs r0, 16
- subs r0, r2
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r7, 0x22]
- lsrs r5, r1, 16
- asrs r1, 16
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl sub_80790F0
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- adds r0, r7, 0
- movs r1, 0
- adds r2, r3, 0
- bl sub_8078FDC
- ldrh r0, [r6, 0x8]
- strh r0, [r7, 0x2E]
- strh r4, [r7, 0x32]
- strh r5, [r7, 0x36]
- ldr r0, _080DCCF4
- str r0, [r7, 0x1C]
- ldr r1, _080DCCF8
- adds r0, r7, 0
- bl oamt_set_x3A_32
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DCCE8: .4byte gUnknown_0202F7C8
-_080DCCEC: .4byte gUnknown_03004B00
-_080DCCF0: .4byte gUnknown_0202F7C9
-_080DCCF4: .4byte sub_8078B34
-_080DCCF8: .4byte move_anim_8072740
- thumb_func_end sub_80DCBCC
-
- thumb_func_start sub_80DCCFC
-sub_80DCCFC: @ 80DCCFC
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r0, _080DCD68
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DCD1C
- ldr r1, _080DCD6C
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080DCD1C:
- ldr r4, _080DCD6C
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldr r5, _080DCD70
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x6]
- adds r0, r1
- strh r0, [r6, 0x36]
- ldrh r0, [r4, 0xA]
- strh r0, [r6, 0x38]
- adds r0, r6, 0
- bl sub_80786EC
- ldr r0, _080DCD74
- str r0, [r6, 0x1C]
- adds r2, r6, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DCD68: .4byte gUnknown_0202F7C8
-_080DCD6C: .4byte gUnknown_03004B00
-_080DCD70: .4byte gUnknown_0202F7C9
-_080DCD74: .4byte sub_80DCD78
- thumb_func_end sub_80DCCFC
-
- thumb_func_start sub_80DCD78
-sub_80DCD78: @ 80DCD78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r2]
- adds r0, r4, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080DCDA4
- adds r0, r4, 0
- bl move_anim_8072740
- b _080DCE34
-_080DCDA4:
- movs r0, 0x2E
- adds r0, r4
- mov r8, r0
- ldrh r7, [r4, 0x20]
- ldrh r5, [r4, 0x24]
- ldrh r1, [r4, 0x22]
- mov r12, r1
- ldrh r6, [r4, 0x26]
- mov r2, r8
- add r1, sp, 0x4
- movs r3, 0x7
-_080DCDBA:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080DCDBA
- adds r0, r7, r5
- lsls r0, 16
- lsrs r5, r0, 16
- mov r2, r12
- adds r0, r2, r6
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- bne _080DCE34
- ldrh r0, [r4, 0x24]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- lsls r1, r5, 16
- asrs r1, 16
- subs r0, r1
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r4, 0x26]
- ldrh r2, [r4, 0x22]
- adds r1, r2
- lsls r2, r6, 16
- asrs r2, 16
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- bl sub_80790F0
- lsls r0, 16
- movs r1, 0xC0
- lsls r1, 24
- adds r0, r1
- lsrs r0, 16
- movs r3, 0x80
- lsls r3, 1
- str r0, [sp]
- adds r0, r4, 0
- movs r1, 0
- adds r2, r3, 0
- bl sub_8078FDC
- add r2, sp, 0x4
- mov r1, r8
- movs r3, 0x7
-_080DCE26:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080DCE26
-_080DCE34:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80DCD78
-
- thumb_func_start sub_80DCE40
-sub_80DCE40: @ 80DCE40
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080DCE54
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080DCE5C
- ldr r4, _080DCE58
- b _080DCE5E
- .align 2, 0
-_080DCE54: .4byte gUnknown_03004B00
-_080DCE58: .4byte gUnknown_0202F7C8
-_080DCE5C:
- ldr r4, _080DCE90
-_080DCE5E:
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x12
- strh r0, [r5, 0x22]
- ldr r1, _080DCE94
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080DCE98
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DCE90: .4byte gUnknown_0202F7C9
-_080DCE94: .4byte move_anim_8074EE0
-_080DCE98: .4byte sub_80785E4
- thumb_func_end sub_80DCE40
-
- thumb_func_start sub_80DCE9C
-sub_80DCE9C: @ 80DCE9C
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r6, _080DCF08
- movs r1, 0x6
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _080DCEBC
- ldr r0, _080DCF0C
- ldrb r0, [r0]
- adds r2, r5, 0
- adds r2, 0x20
- adds r3, r5, 0
- adds r3, 0x22
- movs r1, 0
- bl sub_807A3FC
-_080DCEBC:
- ldrh r0, [r6]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r4, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r0, 0xE
- strh r0, [r5, 0x22]
- ldrb r1, [r6, 0x2]
- adds r0, r5, 0
- bl StartSpriteAnim
- adds r0, r5, 0
- bl AnimateSprite
- strh r4, [r5, 0x2E]
- strh r4, [r5, 0x30]
- movs r0, 0x4
- strh r0, [r5, 0x32]
- movs r0, 0x10
- strh r0, [r5, 0x34]
- ldr r0, _080DCF10
- strh r0, [r5, 0x36]
- ldrh r0, [r6, 0x4]
- strh r0, [r5, 0x38]
- ldr r1, _080DCF14
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r1, _080DCF18
- str r1, [r5, 0x1C]
- adds r0, r5, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DCF08: .4byte gUnknown_03004B00
-_080DCF0C: .4byte gUnknown_0202F7C9
-_080DCF10: .4byte 0x0000ffba
-_080DCF14: .4byte sub_80DCF1C
-_080DCF18: .4byte sub_8078278
- thumb_func_end sub_80DCE9C
-
- thumb_func_start sub_80DCF1C
-sub_80DCF1C: @ 80DCF1C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x38]
- ldrh r2, [r4, 0x20]
- adds r0, r1, r2
- strh r0, [r4, 0x20]
- movs r0, 0xC0
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x30]
- movs r0, 0x4
- strh r0, [r4, 0x32]
- movs r0, 0x20
- strh r0, [r4, 0x34]
- ldr r0, _080DCF54
- strh r0, [r4, 0x36]
- ldr r1, _080DCF58
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r1, _080DCF5C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DCF54: .4byte 0x0000ffe8
-_080DCF58: .4byte move_anim_8074EE0
-_080DCF5C: .4byte sub_8078278
- thumb_func_end sub_80DCF1C
-
- thumb_func_start sub_80DCF60
-sub_80DCF60: @ 80DCF60
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080DCF88
- ldrb r1, [r4, 0xA]
- bl StartSpriteAnim
- adds r0, r5, 0
- bl AnimateSprite
- ldr r0, _080DCF8C
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DCF90
- ldrh r0, [r5, 0x20]
- ldrh r1, [r4]
- subs r0, r1
- b _080DCF96
- .align 2, 0
-_080DCF88: .4byte gUnknown_03004B00
-_080DCF8C: .4byte gUnknown_0202F7C8
-_080DCF90:
- ldrh r0, [r4]
- ldrh r1, [r5, 0x20]
- adds r0, r1
-_080DCF96:
- strh r0, [r5, 0x20]
- ldr r3, _080DCFD8
- ldrh r2, [r3, 0x2]
- ldrh r0, [r5, 0x22]
- adds r2, r0
- movs r4, 0
- strh r2, [r5, 0x22]
- ldrh r0, [r3, 0x8]
- strh r0, [r5, 0x2E]
- ldrh r0, [r5, 0x20]
- strh r0, [r5, 0x30]
- ldrh r1, [r3, 0x4]
- adds r0, r1
- strh r0, [r5, 0x32]
- strh r2, [r5, 0x34]
- ldrh r0, [r3, 0x6]
- adds r2, r0
- strh r2, [r5, 0x36]
- adds r0, r5, 0
- bl sub_8078A5C
- strh r4, [r5, 0x34]
- strh r4, [r5, 0x36]
- ldr r0, _080DCFDC
- str r0, [r5, 0x1C]
- ldr r1, _080DCFE0
- adds r0, r5, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DCFD8: .4byte gUnknown_03004B00
-_080DCFDC: .4byte sub_8078394
-_080DCFE0: .4byte move_anim_8074EE0
- thumb_func_end sub_80DCF60
-
- thumb_func_start sub_80DCFE4
-sub_80DCFE4: @ 80DCFE4
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080DCFFC
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080DD000
- adds r0, r4, 0
- movs r1, 0
- bl sub_80787B0
- b _080DD008
- .align 2, 0
-_080DCFFC: .4byte gUnknown_03004B00
-_080DD000:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8078764
-_080DD008:
- ldr r1, _080DD024
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x32]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x34]
- ldr r0, _080DD028
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD024: .4byte gUnknown_03004B00
-_080DD028: .4byte sub_80DD02C
- thumb_func_end sub_80DCFE4
-
- thumb_func_start sub_80DD02C
-sub_80DD02C: @ 80DD02C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- adds r0, r1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- ldrh r1, [r4, 0x38]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _080DD072
- adds r0, r4, 0
- bl move_anim_8072740
-_080DD072:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DD02C
-
- thumb_func_start do_boulder_dust
-do_boulder_dust: @ 80DD078
- push {r4-r6,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- movs r5, 0
- ldr r1, _080DD154
- ldr r2, _080DD158
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r4, _080DD15C
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4, 0x1]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080DD0C4
- ldrb r0, [r4]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4]
-_080DD0C4:
- ldr r0, _080DD160
- strh r5, [r0]
- ldr r0, _080DD164
- strh r5, [r0]
- ldr r0, _080DD168
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- mov r0, sp
- bl sub_8078914
- ldr r1, [sp, 0x4]
- str r5, [sp, 0xC]
- ldr r2, _080DD16C
- add r0, sp, 0xC
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _080DD170
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, _080DD174
- bl LZDecompressVram
- ldr r0, _080DD178
- ldr r1, [sp]
- bl LZDecompressVram
- ldr r0, _080DD17C
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080DD120
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80763FC
-_080DD120:
- ldr r0, _080DD180
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080DD13A
- ldr r0, _080DD184
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DD13A
- movs r5, 0x1
-_080DD13A:
- ldr r0, _080DD188
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- strh r5, [r1, 0x8]
- ldr r0, _080DD18C
- str r0, [r1]
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD154: .4byte REG_BLDCNT
-_080DD158: .4byte 0x00003f42
-_080DD15C: .4byte REG_BG1CNT
-_080DD160: .4byte gUnknown_030042C0
-_080DD164: .4byte gUnknown_030041B4
-_080DD168: .4byte REG_BG1HOFS
-_080DD16C: .4byte 0x040000d4
-_080DD170: .4byte 0x85000400
-_080DD174: .4byte gBattleAnimBackgroundTilemap_SandstormBrew
-_080DD178: .4byte gBattleAnimBackgroundImage_SandstormBrew
-_080DD17C: .4byte gBattleAnimSpritePalette_261
-_080DD180: .4byte gUnknown_03004B00
-_080DD184: .4byte gUnknown_0202F7C8
-_080DD188: .4byte gTasks
-_080DD18C: .4byte sub_80DD190
- thumb_func_end do_boulder_dust
-
- thumb_func_start sub_80DD190
-sub_80DD190: @ 80DD190
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _080DD1C0
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r3, r1, 0
- cmp r0, 0
- bne _080DD1CC
- ldr r1, _080DD1C4
- ldr r5, _080DD1C8
- adds r0, r5, 0
- ldrh r2, [r1]
- adds r0, r2
- b _080DD1D2
- .align 2, 0
-_080DD1C0: .4byte gTasks
-_080DD1C4: .4byte gUnknown_030042C0
-_080DD1C8: .4byte 0x0000fffa
-_080DD1CC:
- ldr r1, _080DD204
- ldrh r0, [r1]
- adds r0, 0x6
-_080DD1D2:
- strh r0, [r1]
- adds r4, r1, 0
- ldr r1, _080DD208
- ldr r5, _080DD20C
- adds r0, r5, 0
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- lsls r2, r7, 2
- adds r0, r2, r7
- lsls r0, 3
- adds r0, r3
- movs r5, 0x20
- ldrsh r0, [r0, r5]
- mov r8, r2
- adds r2, r1, 0
- cmp r0, 0x4
- bls _080DD1F8
- b _080DD37C
-_080DD1F8:
- lsls r0, 2
- ldr r1, _080DD210
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080DD204: .4byte gUnknown_030042C0
-_080DD208: .4byte gUnknown_030041B4
-_080DD20C: .4byte 0x0000ffff
-_080DD210: .4byte _080DD214
- .align 2, 0
-_080DD214:
- .4byte _080DD228
- .4byte _080DD270
- .4byte _080DD292
- .4byte _080DD2D4
- .4byte _080DD358
-_080DD228:
- mov r1, r8
- adds r0, r1, r7
- lsls r0, 3
- adds r3, r0, r3
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- movs r4, 0
- strh r0, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- beq _080DD242
- b _080DD37C
-_080DD242:
- strh r4, [r3, 0x1C]
- ldrh r1, [r3, 0x1E]
- adds r1, 0x1
- strh r1, [r3, 0x1E]
- ldr r2, _080DD26C
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r2, 0x1E
- ldrsh r0, [r3, r2]
- cmp r0, 0x7
- beq _080DD260
- b _080DD37C
-_080DD260:
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
- strh r4, [r3, 0x1E]
- b _080DD37C
- .align 2, 0
-_080DD26C: .4byte REG_BLDALPHA
-_080DD270:
- mov r5, r8
- adds r0, r5, r7
- lsls r0, 3
- adds r1, r0, r3
- ldrh r0, [r1, 0x1E]
- adds r0, 0x1
- strh r0, [r1, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x65
- bne _080DD37C
- movs r0, 0x7
- strh r0, [r1, 0x1E]
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- b _080DD37C
-_080DD292:
- mov r1, r8
- adds r0, r1, r7
- lsls r0, 3
- adds r3, r0, r3
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- strh r0, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080DD37C
- movs r0, 0
- strh r0, [r3, 0x1C]
- ldrh r1, [r3, 0x1E]
- subs r1, 0x1
- strh r1, [r3, 0x1E]
- ldr r2, _080DD2D0
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r2, 0x1E
- ldrsh r1, [r3, r2]
- cmp r1, 0
- bne _080DD37C
- ldrh r0, [r3, 0x20]
- adds r0, 0x1
- strh r0, [r3, 0x20]
- strh r1, [r3, 0x1E]
- b _080DD37C
- .align 2, 0
-_080DD2D0: .4byte REG_BLDALPHA
-_080DD2D4:
- mov r0, sp
- bl sub_8078914
- ldr r2, [sp]
- movs r3, 0x80
- lsls r3, 6
- add r5, sp, 0xC
- movs r6, 0
- ldr r1, _080DD38C
- movs r4, 0x80
- lsls r4, 5
- mov r9, r5
- ldr r0, _080DD390
- mov r12, r0
- movs r0, 0x85
- lsls r0, 24
- mov r10, r0
-_080DD2F6:
- str r6, [sp, 0xC]
- mov r0, r9
- str r0, [r1]
- str r2, [r1, 0x4]
- mov r0, r12
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _080DD2F6
- str r6, [sp, 0xC]
- str r5, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- mov r2, r10
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r0, _080DD38C
- str r5, [r0]
- str r1, [r0, 0x4]
- ldr r1, _080DD394
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080DD344
- ldr r2, _080DD398
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080DD344:
- ldr r0, _080DD39C
- mov r5, r8
- adds r1, r5, r7
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x20]
- adds r0, 0x1
- strh r0, [r1, 0x20]
- ldr r4, _080DD3A0
- ldr r2, _080DD3A4
-_080DD358:
- movs r1, 0
- strh r1, [r4]
- strh r1, [r2]
- ldr r0, _080DD3A8
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r2, _080DD398
- ldrb r1, [r2]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r2]
- adds r0, r7, 0
- bl move_anim_task_del
-_080DD37C:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD38C: .4byte 0x040000d4
-_080DD390: .4byte 0x85000400
-_080DD394: .4byte 0x85000200
-_080DD398: .4byte REG_BG1CNT
-_080DD39C: .4byte gTasks
-_080DD3A0: .4byte gUnknown_030042C0
-_080DD3A4: .4byte gUnknown_030041B4
-_080DD3A8: .4byte REG_BLDCNT
- thumb_func_end sub_80DD190
-
- thumb_func_start sub_80DD3AC
-sub_80DD3AC: @ 80DD3AC
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080DD428
- ldr r4, _080DD3F0
- movs r2, 0x6
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080DD3F8
- ldr r0, _080DD3F4
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DD3F8
- movs r0, 0x98
- lsls r0, 1
- strh r0, [r5, 0x20]
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
- movs r0, 0x1
- strh r0, [r5, 0x38]
- ldrb r1, [r5, 0x3]
- subs r0, 0x40
- ands r0, r1
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r5, 0x3]
- b _080DD3FC
- .align 2, 0
-_080DD3F0: .4byte gUnknown_03004B00
-_080DD3F4: .4byte gUnknown_0202F7C8
-_080DD3F8:
- ldr r0, _080DD41C
- strh r0, [r5, 0x20]
-_080DD3FC:
- ldr r4, _080DD420
- ldrh r0, [r4]
- strh r0, [r5, 0x22]
- ldr r1, _080DD424
- adds r0, r5, 0
- bl SetSubspriteTables
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x30]
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080DD484
- .align 2, 0
-_080DD41C: .4byte 0x0000ffc0
-_080DD420: .4byte gUnknown_03004B00
-_080DD424: .4byte gUnknown_083DAD10
-_080DD428:
- ldrh r1, [r5, 0x30]
- ldrh r3, [r5, 0x34]
- adds r1, r3
- ldrh r2, [r5, 0x32]
- ldrh r0, [r5, 0x36]
- adds r2, r0
- lsls r0, r1, 16
- asrs r0, 24
- ldrh r3, [r5, 0x24]
- adds r0, r3
- strh r0, [r5, 0x24]
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r3, [r5, 0x26]
- adds r0, r3
- strh r0, [r5, 0x26]
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r5, 0x34]
- ands r2, r0
- strh r2, [r5, 0x36]
- movs r1, 0x38
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080DD46E
- movs r2, 0x20
- ldrsh r0, [r5, r2]
- movs r3, 0x24
- ldrsh r1, [r5, r3]
- adds r0, r1
- movs r1, 0x88
- lsls r1, 1
- cmp r0, r1
- ble _080DD484
- b _080DD480
-_080DD46E:
- movs r1, 0x20
- ldrsh r0, [r5, r1]
- movs r2, 0x24
- ldrsh r1, [r5, r2]
- adds r0, r1
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bge _080DD484
-_080DD480:
- ldr r0, _080DD48C
- str r0, [r5, 0x1C]
-_080DD484:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD48C: .4byte move_anim_8072740
- thumb_func_end sub_80DD3AC
-
- thumb_func_start sub_80DD490
-sub_80DD490: @ 80DD490
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080DD4C8
- ldrb r1, [r5, 0x8]
- bl StartSpriteAnim
- adds r0, r4, 0
- movs r1, 0
- bl sub_80787B0
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x32]
- ldrh r0, [r5, 0x4]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x36]
- ldr r0, _080DD4CC
- str r0, [r4, 0x1C]
- ldr r1, _080DD4D0
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD4C8: .4byte gUnknown_03004B00
-_080DD4CC: .4byte sub_8078B34
-_080DD4D0: .4byte move_anim_8072740
- thumb_func_end sub_80DD490
-
- thumb_func_start sub_80DD4D4
-sub_80DD4D4: @ 80DD4D4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080DD554
- adds r6, r1, r0
- ldr r5, _080DD558
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0xC0
- lsls r1, 13
- adds r0, r1
- lsrs r7, r0, 16
- ldr r4, _080DD55C
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 8
- movs r2, 0xC0
- lsls r2, 13
- adds r0, r2
- lsrs r0, 16
- mov r8, r0
- ldrb r1, [r5]
- movs r0, 0x2
- eors r0, r1
- ldrb r4, [r4]
- cmp r0, r4
- bne _080DD544
- mov r8, r7
-_080DD544:
- bl sub_80DD8BC
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bne _080DD560
- movs r0, 0x20
- b _080DD566
- .align 2, 0
-_080DD554: .4byte gTasks
-_080DD558: .4byte gUnknown_0202F7C8
-_080DD55C: .4byte gUnknown_0202F7C9
-_080DD560:
- lsls r1, r5, 3
- movs r0, 0x30
- subs r0, r1
-_080DD566:
- strh r0, [r6, 0x18]
- movs r4, 0
- strh r4, [r6, 0x8]
- strh r4, [r6, 0x1E]
- strh r4, [r6, 0x1A]
- movs r0, 0x1
- strh r0, [r6, 0x20]
- movs r1, 0x18
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bge _080DD57E
- adds r0, 0x7
-_080DD57E:
- asrs r0, 3
- subs r0, 0x1
- strh r0, [r6, 0x1C]
- mov r2, r9
- lsls r0, r2, 3
- strh r0, [r6, 0xC]
- lsls r0, r7, 3
- strh r0, [r6, 0xE]
- mov r1, r10
- subs r0, r1, r2
- lsls r0, 3
- movs r2, 0x18
- ldrsh r1, [r6, r2]
- bl __divsi3
- strh r0, [r6, 0x10]
- mov r1, r8
- subs r0, r1, r7
- lsls r0, 3
- movs r2, 0x18
- ldrsh r1, [r6, r2]
- bl __divsi3
- strh r0, [r6, 0x12]
- strh r4, [r6, 0x14]
- strh r4, [r6, 0x16]
- movs r0, 0x40
- negs r0, r0
- bl sub_8076F98
- adds r4, r0, 0
- lsls r4, 24
- asrs r4, 8
- lsrs r4, 16
- movs r0, 0x3F
- bl sub_8076F98
- lsls r0, 24
- strh r4, [r6, 0x22]
- asrs r0, 24
- lsls r4, 16
- asrs r4, 16
- subs r0, r4
- movs r2, 0x18
- ldrsh r1, [r6, r2]
- bl __divsi3
- strh r0, [r6, 0x24]
- strh r5, [r6, 0xA]
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x26]
- ldr r0, _080DD600
- str r0, [r6]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD600: .4byte sub_80DD604
- thumb_func_end sub_80DD4D4
-
- thumb_func_start sub_80DD604
-sub_80DD604: @ 80DD604
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080DD628
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080DD61E
- b _080DD76C
-_080DD61E:
- lsls r0, 2
- ldr r1, _080DD62C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080DD628: .4byte gTasks
-_080DD62C: .4byte _080DD630
- .align 2, 0
-_080DD630:
- .4byte _080DD644
- .4byte _080DD6A8
- .4byte _080DD6B0
- .4byte _080DD70C
- .4byte _080DD75E
-_080DD644:
- ldrh r2, [r4, 0x14]
- ldrh r0, [r4, 0x10]
- subs r2, r0
- strh r2, [r4, 0x14]
- ldrh r0, [r4, 0x16]
- ldrh r1, [r4, 0x12]
- subs r0, r1
- strh r0, [r4, 0x16]
- ldr r3, _080DD6A4
- movs r0, 0x26
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- lsls r2, 16
- asrs r2, 19
- strh r2, [r0, 0x24]
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r0, [r4, 0x16]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080DD694
- movs r0, 0x14
- strh r0, [r4, 0x1E]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080DD694:
- ldrh r1, [r4, 0x22]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xA2
- bl PlaySE12WithPanning
- b _080DD76C
- .align 2, 0
-_080DD6A4: .4byte gSprites
-_080DD6A8:
- ldrh r0, [r4, 0x1E]
- subs r0, 0x1
- strh r0, [r4, 0x1E]
- b _080DD750
-_080DD6B0:
- ldrh r0, [r4, 0x1A]
- subs r0, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _080DD6D0
- ldrh r0, [r4, 0x10]
- ldrh r2, [r4, 0x14]
- adds r0, r2
- strh r0, [r4, 0x14]
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0x16]
- adds r0, r1
- strh r0, [r4, 0x16]
- b _080DD6DA
-_080DD6D0:
- strh r0, [r4, 0x14]
- strh r0, [r4, 0x16]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080DD6DA:
- ldr r2, _080DD708
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r4, 0x14]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r1, 0x24]
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r0, [r4, 0x16]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r1, 0x26]
- b _080DD76C
- .align 2, 0
-_080DD708: .4byte gSprites
-_080DD70C:
- ldrh r0, [r4, 0x10]
- ldrh r2, [r4, 0xC]
- adds r0, r2
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0xE]
- adds r0, r1
- strh r0, [r4, 0xE]
- ldrh r0, [r4, 0x1A]
- adds r0, 0x1
- strh r0, [r4, 0x1A]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x1C
- ldrsh r1, [r4, r2]
- cmp r0, r1
- blt _080DD74A
- movs r0, 0
- strh r0, [r4, 0x1A]
- adds r0, r4, 0
- bl sub_80DD774
- ldrh r1, [r4, 0x24]
- ldrh r0, [r4, 0x22]
- adds r1, r0
- strh r1, [r4, 0x22]
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xAF
- bl PlaySE12WithPanning
-_080DD74A:
- ldrh r0, [r4, 0x18]
- subs r0, 0x1
- strh r0, [r4, 0x18]
-_080DD750:
- lsls r0, 16
- cmp r0, 0
- bne _080DD76C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080DD76C
-_080DD75E:
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080DD76C
- adds r0, r2, 0
- bl move_anim_task_del
-_080DD76C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DD604
-
- thumb_func_start sub_80DD774
-sub_80DD774: @ 80DD774
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bhi _080DD864
- lsls r0, 2
- ldr r1, _080DD790
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080DD790: .4byte _080DD794
- .align 2, 0
-_080DD794:
- .4byte _080DD7A8
- .4byte _080DD7B4
- .4byte _080DD7B4
- .4byte _080DD7C0
- .4byte _080DD7CC
-_080DD7A8:
- ldr r3, _080DD7B0
- movs r5, 0
- b _080DD7D0
- .align 2, 0
-_080DD7B0: .4byte gSpriteTemplate_83DAD78
-_080DD7B4:
- ldr r3, _080DD7BC
- movs r5, 0x50
- b _080DD7D0
- .align 2, 0
-_080DD7BC: .4byte gSpriteTemplate_83DAD90
-_080DD7C0:
- ldr r3, _080DD7C8
- movs r5, 0x40
- b _080DD7D0
- .align 2, 0
-_080DD7C8: .4byte gSpriteTemplate_83DAD90
-_080DD7CC:
- ldr r3, _080DD86C
- movs r5, 0x30
-_080DD7D0:
- ldrh r1, [r4, 0xC]
- lsls r1, 16
- asrs r1, 19
- lsls r1, 16
- lsrs r1, 16
- ldrh r2, [r4, 0xE]
- lsls r2, 16
- asrs r2, 19
- lsls r2, 16
- movs r6, 0x20
- ldrsh r0, [r4, r6]
- lsls r0, 2
- adds r1, r0
- lsls r1, 16
- lsrs r6, r1, 16
- asrs r1, 16
- lsrs r7, r2, 16
- asrs r2, 16
- adds r0, r3, 0
- movs r3, 0x23
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080DD85C
- ldr r1, _080DD870
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- movs r1, 0x12
- strh r1, [r0, 0x2E]
- movs r2, 0x20
- ldrsh r1, [r4, r2]
- lsls r2, r1, 2
- adds r2, r1
- lsls r2, 2
- adds r2, r6, r2
- movs r6, 0xA
- ldrsh r3, [r4, r6]
- lsls r1, r3, 1
- adds r1, r3
- adds r2, r1
- strh r2, [r0, 0x32]
- strh r7, [r0, 0x36]
- movs r1, 0xA
- ldrsh r2, [r4, r1]
- lsls r2, 1
- movs r3, 0x10
- negs r3, r3
- adds r1, r3, 0
- subs r1, r2
- strh r1, [r0, 0x38]
- ldrh r3, [r0, 0x4]
- lsls r2, r3, 22
- lsrs r2, 22
- adds r2, r5
- ldr r5, _080DD874
- adds r1, r5, 0
- ands r2, r1
- ldr r1, _080DD878
- ands r1, r3
- orrs r1, r2
- strh r1, [r0, 0x4]
- bl sub_80786EC
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
-_080DD85C:
- movs r6, 0x20
- ldrsh r0, [r4, r6]
- negs r0, r0
- strh r0, [r4, 0x20]
-_080DD864:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD86C: .4byte gSpriteTemplate_83DAD90
-_080DD870: .4byte gSprites
-_080DD874: .4byte 0x000003ff
-_080DD878: .4byte 0xfffffc00
- thumb_func_end sub_80DD774
-
- thumb_func_start sub_80DD87C
-sub_80DD87C: @ 80DD87C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080DD8AE
- ldr r0, _080DD8B4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xFF
- beq _080DD8A8
- ldr r0, _080DD8B8
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x1E]
- subs r0, 0x1
- strh r0, [r1, 0x1E]
-_080DD8A8:
- adds r0, r4, 0
- bl DestroySprite
-_080DD8AE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD8B4: .4byte sub_80DD604
-_080DD8B8: .4byte gTasks
- thumb_func_end sub_80DD87C
-
- thumb_func_start sub_80DD8BC
-sub_80DD8BC: @ 80DD8BC
- push {lr}
- ldr r0, _080DD8E4
- ldr r0, [r0]
- ldrb r1, [r0, 0x11]
- lsrs r0, r1, 4
- lsls r1, 28
- lsrs r1, 28
- subs r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0x4
- bls _080DD8DE
- movs r1, 0x1
-_080DD8DE:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080DD8E4: .4byte gUnknown_0202F7B4
- thumb_func_end sub_80DD8BC
-
- thumb_func_start sub_80DD8E8
-sub_80DD8E8: @ 80DD8E8
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080DD920
- ldrb r1, [r5, 0x8]
- bl StartSpriteAnim
- ldrh r0, [r5]
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x34]
- ldrh r1, [r5, 0x4]
- subs r0, r1
- strh r0, [r4, 0x34]
- movs r0, 0x3
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x30]
- ldr r0, _080DD924
- str r0, [r4, 0x1C]
- adds r4, 0x3E
- ldrb r0, [r4]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD920: .4byte gUnknown_03004B00
-_080DD924: .4byte sub_80DD928
- thumb_func_end sub_80DD8E8
-
- thumb_func_start sub_80DD928
-sub_80DD928: @ 80DD928
- push {lr}
- adds r2, r0, 0
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r3]
- ldrh r1, [r2, 0x34]
- movs r3, 0x34
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080DD960
- ldrh r3, [r2, 0x32]
- adds r0, r1, r3
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x2E]
- adds r1, r0
- strh r1, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r1, 16
- cmp r1, 0
- ble _080DD972
- movs r0, 0
- strh r0, [r2, 0x34]
- b _080DD972
-_080DD960:
- ldrh r0, [r2, 0x30]
- subs r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080DD972
- adds r0, r2, 0
- bl move_anim_8072740
-_080DD972:
- pop {r0}
- bx r0
- thumb_func_end sub_80DD928
-
- thumb_func_start sub_80DD978
-sub_80DD978: @ 80DD978
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080DD9A0
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080DD994
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080DD994:
- adds r0, r4, 0
- bl sub_807941C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD9A0: .4byte gUnknown_0202F7C8
- thumb_func_end sub_80DD978
-
- thumb_func_start sub_80DD9A4
-sub_80DD9A4: @ 80DD9A4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080DD9F0
- ldrb r0, [r5]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080DD9F4
- ldrh r3, [r2]
- ldrh r5, [r4, 0x20]
- adds r1, r3, r5
- strh r1, [r4, 0x20]
- ldrh r1, [r2, 0x2]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r3, [r4, 0x30]
- strh r1, [r4, 0x32]
- ldrh r0, [r2, 0x4]
- strh r0, [r4, 0x38]
- ldrb r1, [r2, 0x6]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, _080DD9F8
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DD9F0: .4byte gUnknown_0202F7C9
-_080DD9F4: .4byte gUnknown_03004B00
-_080DD9F8: .4byte sub_80DD9FC
- thumb_func_end sub_80DD9A4
-
- thumb_func_start sub_80DD9FC
-sub_80DD9FC: @ 80DD9FC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x2E]
- adds r0, 0x8
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x34]
- adds r0, r1
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x36]
- adds r0, r2
- strh r0, [r4, 0x36]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- movs r1, 0x28
- bl __divsi3
- ldrh r1, [r4, 0x24]
- adds r1, r0
- strh r1, [r4, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r1, [r4, 0x26]
- subs r1, r0
- strh r1, [r4, 0x26]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x8C
- ble _080DDA46
- adds r0, r4, 0
- bl move_anim_8072740
-_080DDA46:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DD9FC
-
- thumb_func_start sub_80DDA4C
-sub_80DDA4C: @ 80DDA4C
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080DDA84
- ldr r0, [r2]
- cmp r0, 0x20
- bgt _080DDA60
- ldr r1, _080DDA88
- movs r0, 0
- strh r0, [r1, 0xE]
-_080DDA60:
- ldr r2, [r2]
- adds r0, r2, 0
- subs r0, 0x21
- cmp r0, 0x20
- bhi _080DDA70
- ldr r1, _080DDA88
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_080DDA70:
- cmp r2, 0x41
- ble _080DDA7A
- ldr r1, _080DDA88
- movs r0, 0x2
- strh r0, [r1, 0xE]
-_080DDA7A:
- adds r0, r3, 0
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_080DDA84: .4byte gUnknown_0202F7B8
-_080DDA88: .4byte gUnknown_03004B00
- thumb_func_end sub_80DDA4C
-
- thumb_func_start sub_80DDA8C
-sub_80DDA8C: @ 80DDA8C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080DDAE8
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080DDAAE
- movs r0, 0
- bl sub_80789D4
- movs r0, 0xC8
- strh r0, [r5, 0xA]
-_080DDAAE:
- ldr r4, _080DDAEC
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- movs r1, 0xA
- bl __divsi3
- ldrh r1, [r4]
- adds r1, r0
- strh r1, [r4]
- ldrh r0, [r5, 0xA]
- subs r0, 0x3
- strh r0, [r5, 0xA]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x78
- bne _080DDADA
- movs r0, 0x1
- bl sub_80789D4
- adds r0, r6, 0
- bl move_anim_task_del
-_080DDADA:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDAE8: .4byte gTasks
-_080DDAEC: .4byte gUnknown_030041B8
- thumb_func_end sub_80DDA8C
-
- thumb_func_start sub_80DDAF0
-sub_80DDAF0: @ 80DDAF0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, _080DDB5C
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080DDB1C
- movs r0, 0
- bl sub_80789D4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, _080DDB60
- ldrh r0, [r0]
- strh r0, [r4, 0xC]
-_080DDB1C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x50
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0xA]
- ldr r6, _080DDB60
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- movs r0, 0x4
- bl Cos
- ldrh r4, [r4, 0xC]
- adds r0, r4
- strh r0, [r6]
- ldr r0, _080DDB64
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- ldr r0, _080DDB68
- cmp r1, r0
- bne _080DDB54
- movs r0, 0
- strh r0, [r6]
- movs r0, 0x1
- bl sub_80789D4
- adds r0, r5, 0
- bl move_anim_task_del
-_080DDB54:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDB5C: .4byte gTasks
-_080DDB60: .4byte gUnknown_030041B8
-_080DDB64: .4byte gUnknown_03004B00
-_080DDB68: .4byte 0x00000fff
- thumb_func_end sub_80DDAF0
-
- thumb_func_start sub_80DDB6C
-sub_80DDB6C: @ 80DDB6C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r0, _080DDBC8
- ldrh r0, [r0, 0x4]
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x20]
- strh r0, [r4, 0x30]
- ldr r5, _080DDBCC
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- strh r0, [r4, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- adds r0, r4, 0
- bl sub_8078BD4
- ldr r0, _080DDBD0
- str r0, [r4, 0x1C]
- movs r0, 0x10
- strh r0, [r4, 0x3A]
- ldr r1, _080DDBD4
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r4, 0x3A]
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDBC8: .4byte gUnknown_03004B00
-_080DDBCC: .4byte gUnknown_0202F7C9
-_080DDBD0: .4byte sub_80DDBD8
-_080DDBD4: .4byte REG_BLDCNT
- thumb_func_end sub_80DDB6C
-
- thumb_func_start sub_80DDBD8
-sub_80DDBD8: @ 80DDBD8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_80DDCC8
- adds r0, r4, 0
- bl sub_8078B5C
- lsls r0, 24
- cmp r0, 0
- beq _080DDBF8
- ldr r0, _080DDBF4
- str r0, [r4, 0x1C]
- b _080DDC42
- .align 2, 0
-_080DDBF4: .4byte sub_80DDC4C
-_080DDBF8:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x38]
- adds r0, r2, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x38]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _080DDC30
- cmp r2, 0xC4
- ble _080DDC42
-_080DDC30:
- lsls r0, 16
- cmp r0, 0
- ble _080DDC42
- ldr r0, _080DDC48
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xC4
- bl PlaySE12WithPanning
-_080DDC42:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDC48: .4byte gUnknown_0202F7D2
- thumb_func_end sub_80DDBD8
-
- thumb_func_start sub_80DDC4C
-sub_80DDC4C: @ 80DDC4C
- push {r4,lr}
- adds r4, r0, 0
- movs r0, 0x1
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_8078B5C
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl Sin
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r1, 0xF
- bl Cos
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r2, [r4, 0x38]
- adds r0, r2, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x38]
- lsls r2, 16
- asrs r2, 16
- cmp r2, 0
- beq _080DDC92
- cmp r2, 0xC4
- ble _080DDC9E
-_080DDC92:
- lsls r0, 16
- cmp r0, 0
- ble _080DDC9E
- movs r0, 0xC4
- bl PlaySE
-_080DDC9E:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080DDCBC
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080DDCB8
- str r0, [r4, 0x1C]
- b _080DDCC2
- .align 2, 0
-_080DDCB8: .4byte sub_807861C
-_080DDCBC:
- adds r0, r4, 0
- bl sub_80DDCC8
-_080DDCC2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DDC4C
-
- thumb_func_start sub_80DDCC8
-sub_80DDCC8: @ 80DDCC8
- push {r4,lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r3, r1]
- cmp r0, 0xFF
- ble _080DDCEC
- adds r0, r2, 0x1
- strh r0, [r3, 0x3A]
- lsls r0, 16
- ldr r1, _080DDCE8
- cmp r0, r1
- bne _080DDD4C
- movs r0, 0
- b _080DDD4A
- .align 2, 0
-_080DDCE8: .4byte 0x010d0000
-_080DDCEC:
- ldrh r1, [r3, 0x3C]
- adds r4, r1, 0x1
- strh r4, [r3, 0x3C]
- movs r0, 0xFF
- ands r0, r1
- cmp r0, 0
- bne _080DDD4C
- ldr r1, _080DDD10
- ands r1, r4
- strh r1, [r3, 0x3C]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080DDD14
- adds r0, r2, 0x1
- b _080DDD16
- .align 2, 0
-_080DDD10: .4byte 0xffffff00
-_080DDD14:
- subs r0, r2, 0x1
-_080DDD16:
- strh r0, [r3, 0x3A]
- ldr r2, _080DDD54
- ldrh r1, [r3, 0x3A]
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r0, r1
- strh r0, [r2]
- movs r2, 0x3A
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _080DDD32
- cmp r0, 0x10
- bne _080DDD3E
-_080DDD32:
- ldrh r0, [r3, 0x3C]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- eors r0, r1
- strh r0, [r3, 0x3C]
-_080DDD3E:
- movs r1, 0x3A
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080DDD4C
- movs r0, 0x80
- lsls r0, 1
-_080DDD4A:
- strh r0, [r3, 0x3A]
-_080DDD4C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDD54: .4byte REG_BLDALPHA
- thumb_func_end sub_80DDCC8
-
- thumb_func_start sub_80DDD58
-sub_80DDD58: @ 80DDD58
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r1, _080DDD74
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDD74: .4byte sub_80DDD78
- thumb_func_end sub_80DDD58
-
- thumb_func_start sub_80DDD78
-sub_80DDD78: @ 80DDD78
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x20
- bl Sin
- strh r0, [r4, 0x24]
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x8
- bl Cos
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x82
- bhi _080DDDAC
- ldrb r0, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x8
- b _080DDDB6
-_080DDDAC:
- ldrb r0, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
-_080DDDB6:
- orrs r1, r0
- strb r1, [r4, 0x5]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x13
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x32]
- adds r0, 0x50
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 24
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3D
- bne _080DDDE8
- adds r0, r4, 0
- bl move_anim_8072740
-_080DDDE8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DDD78
-
- thumb_func_start sub_80DDDF0
-sub_80DDDF0: @ 80DDDF0
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r1, _080DDE68
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8078E70
- adds r0, r4, 0
- movs r1, 0x80
- movs r2, 0x80
- movs r3, 0
- bl obj_id_set_rotscale
- ldr r1, _080DDE6C
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r0, r1
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldr r1, _080DDE70
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x80
- strh r1, [r0, 0x8]
- ldr r1, _080DDE74
- ldrh r1, [r1]
- strh r1, [r0, 0xA]
- strh r2, [r0, 0xC]
- movs r1, 0x10
- strh r1, [r0, 0xE]
- ldr r1, _080DDE78
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDE68: .4byte REG_BLDCNT
-_080DDE6C: .4byte gSprites
-_080DDE70: .4byte gTasks
-_080DDE74: .4byte gUnknown_03004B00
-_080DDE78: .4byte sub_80DDE7C
- thumb_func_end sub_80DDDF0
-
- thumb_func_start sub_80DDE7C
-sub_80DDE7C: @ 80DDE7C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080DDEC4
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r3, r1, r2
- ldrh r0, [r3, 0x1C]
- adds r0, 0x1
- strh r0, [r3, 0x1C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080DDEBE
- movs r0, 0
- strh r0, [r3, 0x1C]
- ldrh r1, [r3, 0xC]
- adds r1, 0x1
- strh r1, [r3, 0xC]
- ldrh r0, [r3, 0xE]
- subs r0, 0x1
- strh r0, [r3, 0xE]
- ldr r2, _080DDEC8
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- cmp r0, 0x9
- bne _080DDEBE
- ldr r0, _080DDECC
- str r0, [r3]
-_080DDEBE:
- pop {r0}
- bx r0
- .align 2, 0
-_080DDEC4: .4byte gTasks
-_080DDEC8: .4byte REG_BLDALPHA
-_080DDECC: .4byte sub_80DDED0
- thumb_func_end sub_80DDE7C
-
- thumb_func_start sub_80DDED0
-sub_80DDED0: @ 80DDED0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- ldr r1, _080DDEF4
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080DDEF8
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- b _080DDF36
- .align 2, 0
-_080DDEF4: .4byte gTasks
-_080DDEF8:
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r1, r0, 24
- ldrh r0, [r4, 0x8]
- adds r0, 0x8
- movs r6, 0
- strh r0, [r4, 0x8]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xFF
- bgt _080DDF22
- movs r0, 0x8
- ldrsh r2, [r4, r0]
- adds r0, r1, 0
- adds r1, r2, 0
- movs r3, 0
- bl obj_id_set_rotscale
- b _080DDF36
-_080DDF22:
- adds r0, r1, 0
- bl sub_8078F40
- adds r0, r5, 0
- bl move_anim_task_del
- ldr r0, _080DDF3C
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
-_080DDF36:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDF3C: .4byte REG_BLDCNT
- thumb_func_end sub_80DDED0
-
- thumb_func_start sub_80DDF40
-sub_80DDF40: @ 80DDF40
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x4
- adds r4, r0, 0
- ldrh r5, [r4, 0x20]
- ldrh r6, [r4, 0x22]
- ldr r0, _080DDFDC
- mov r8, r0
- ldrb r0, [r0]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- mov r9, r1
- strh r0, [r4, 0x20]
- mov r1, r8
- ldrb r0, [r1]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- mov r1, r9
- strh r1, [r4, 0x2E]
- ldr r2, _080DDFE0
- ldrh r1, [r2]
- strh r1, [r4, 0x30]
- ldrh r1, [r2, 0x2]
- strh r1, [r4, 0x32]
- ldrh r1, [r2, 0x4]
- strh r1, [r4, 0x34]
- ldrh r1, [r4, 0x20]
- lsls r1, 4
- strh r1, [r4, 0x36]
- lsls r0, 4
- strh r0, [r4, 0x38]
- lsls r5, 16
- asrs r5, 16
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- subs r5, r0
- lsls r5, 4
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r1, 1
- adds r0, r5, 0
- str r2, [sp]
- bl __divsi3
- strh r0, [r4, 0x3A]
- lsls r6, 16
- asrs r6, 16
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- subs r6, r0
- lsls r6, 4
- ldr r2, [sp]
- movs r0, 0
- ldrsh r1, [r2, r0]
- lsls r1, 1
- adds r0, r6, 0
- bl __divsi3
- strh r0, [r4, 0x3C]
- ldr r0, _080DDFE4
- str r0, [r4, 0x1C]
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DDFDC: .4byte gUnknown_0202F7C8
-_080DDFE0: .4byte gUnknown_03004B00
-_080DDFE4: .4byte sub_80DDFE8
- thumb_func_end sub_80DDF40
-
- thumb_func_start sub_80DDFE8
-sub_80DDFE8: @ 80DDFE8
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080DE032
- cmp r0, 0x1
- bgt _080DDFFE
- cmp r0, 0
- beq _080DE008
- b _080DE0F6
-_080DDFFE:
- cmp r0, 0x2
- beq _080DE09C
- cmp r0, 0x3
- beq _080DE0F0
- b _080DE0F6
-_080DE008:
- ldrh r0, [r5, 0x3A]
- ldrh r2, [r5, 0x36]
- adds r0, r2
- strh r0, [r5, 0x36]
- ldrh r1, [r5, 0x3C]
- ldrh r2, [r5, 0x38]
- adds r1, r2
- strh r1, [r5, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r5, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r5, 0x22]
- ldrh r0, [r5, 0x30]
- subs r0, 0x1
- strh r0, [r5, 0x30]
- lsls r0, 16
- cmp r0, 0
- bgt _080DE0F6
- b _080DE0E2
-_080DE032:
- ldrh r0, [r5, 0x32]
- subs r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- cmp r0, 0
- bgt _080DE0F6
- ldr r4, _080DE098
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x30]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrh r0, [r5, 0x20]
- lsls r0, 4
- strh r0, [r5, 0x36]
- ldrh r0, [r5, 0x22]
- lsls r0, 4
- strh r0, [r5, 0x38]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- movs r2, 0x20
- ldrsh r1, [r5, r2]
- subs r0, r1
- lsls r0, 4
- movs r2, 0x34
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0x3A]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r2, 0x22
- ldrsh r1, [r5, r2]
- subs r0, r1
- lsls r0, 4
- movs r2, 0x34
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r5, 0x3C]
- b _080DE0E2
- .align 2, 0
-_080DE098: .4byte gUnknown_0202F7C9
-_080DE09C:
- ldrh r0, [r5, 0x3A]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- ldrh r1, [r5, 0x3C]
- ldrh r2, [r5, 0x38]
- adds r1, r2
- strh r1, [r5, 0x38]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r5, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r5, 0x22]
- ldrh r0, [r5, 0x34]
- subs r0, 0x1
- strh r0, [r5, 0x34]
- lsls r0, 16
- cmp r0, 0
- bgt _080DE0F6
- ldr r4, _080DE0EC
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
-_080DE0E2:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- b _080DE0F6
- .align 2, 0
-_080DE0EC: .4byte gUnknown_0202F7C9
-_080DE0F0:
- adds r0, r5, 0
- bl move_anim_8074EE0
-_080DE0F6:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80DDFE8
-
- thumb_func_start sub_80DE0FC
-sub_80DE0FC: @ 80DE0FC
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r0, _080DE110
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DE110: .4byte sub_80DE114
- thumb_func_end sub_80DE0FC
-
- thumb_func_start sub_80DE114
-sub_80DE114: @ 80DE114
- push {r4-r6,lr}
- adds r3, r0, 0
- movs r5, 0
- movs r6, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080DE1AA
- adds r1, r3, 0
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x4
- ands r0, r2
- adds r4, r1, 0
- cmp r0, 0
- bne _080DE13E
- movs r0, 0x4
- orrs r0, r2
- strb r0, [r4]
-_080DE13E:
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- beq _080DE14E
- cmp r0, 0x1
- beq _080DE158
- movs r6, 0x1
- b _080DE162
-_080DE14E:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0x2
- bne _080DE162
- b _080DE166
-_080DE158:
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0x4
- bne _080DE162
- movs r5, 0x1
-_080DE162:
- cmp r5, 0
- beq _080DE198
-_080DE166:
- ldrb r2, [r4]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r3, 0x32]
- strh r1, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- bne _080DE1AA
- strh r1, [r3, 0x32]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _080DE1AA
-_080DE198:
- cmp r6, 0
- beq _080DE1A4
- adds r0, r3, 0
- bl move_anim_8072740
- b _080DE1AA
-_080DE1A4:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
-_080DE1AA:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80DE114
-
- thumb_func_start sub_80DE1B0
-sub_80DE1B0: @ 80DE1B0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080DE1DC
- adds r5, r0, r1
- movs r0, 0x1
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- movs r6, 0
- movs r1, 0
- strh r0, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bge _080DE1E0
- adds r0, r4, 0
- bl move_anim_task_del
- b _080DE2C0
- .align 2, 0
-_080DE1DC: .4byte gTasks
-_080DE1E0:
- strh r1, [r5, 0xA]
- movs r0, 0xF
- strh r0, [r5, 0xC]
- movs r0, 0x2
- strh r0, [r5, 0xE]
- strh r1, [r5, 0x10]
- ldr r1, _080DE244
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _080DE248
- ldrh r0, [r5, 0xE]
- lsls r0, 8
- ldrh r1, [r5, 0xC]
- orrs r0, r1
- strh r0, [r2]
- ldr r4, _080DE24C
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x50
- strh r1, [r0, 0x2E]
- ldr r0, _080DE250
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080DE258
- movs r2, 0x8
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _080DE254
- strh r1, [r0, 0x30]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x70
- b _080DE276
- .align 2, 0
-_080DE244: .4byte REG_BLDCNT
-_080DE248: .4byte REG_BLDALPHA
-_080DE24C: .4byte gSprites
-_080DE250: .4byte gUnknown_0202F7C9
-_080DE254: .4byte 0x0000ff70
-_080DE258:
- movs r2, 0x8
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x90
- strh r1, [r0, 0x30]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _080DE2C8
-_080DE276:
- strh r1, [r0, 0x32]
- ldr r4, _080DE2CC
- movs r2, 0x8
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r2, 0
- strh r2, [r0, 0x34]
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x36]
- movs r2, 0x8
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldr r1, _080DE2D0
- bl oamt_set_x3A_32
- movs r0, 0x8
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r4, 0x1C
- adds r0, r4
- ldr r1, _080DE2D4
- str r1, [r0]
- ldr r0, _080DE2D8
- str r0, [r5]
-_080DE2C0:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DE2C8: .4byte 0x0000ff90
-_080DE2CC: .4byte gSprites
-_080DE2D0: .4byte SpriteCallbackDummy
-_080DE2D4: .4byte sub_8078394
-_080DE2D8: .4byte sub_80DE2DC
- thumb_func_end sub_80DE1B0
-
- thumb_func_start sub_80DE2DC
-sub_80DE2DC: @ 80DE2DC
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080DE300
- adds r4, r0, r1
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080DE37C
- cmp r0, 0x1
- bgt _080DE304
- cmp r0, 0
- beq _080DE30A
- b _080DE3A6
- .align 2, 0
-_080DE300: .4byte gTasks
-_080DE304:
- cmp r0, 0x2
- beq _080DE3A0
- b _080DE3A6
-_080DE30A:
- ldrh r1, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0xA]
- movs r0, 0x3
- ands r0, r1
- strh r0, [r4, 0x12]
- cmp r0, 0x1
- bne _080DE328
- ldrh r1, [r4, 0xC]
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080DE328
- subs r0, r1, 0x1
- strh r0, [r4, 0xC]
-_080DE328:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- bne _080DE33E
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080DE33E
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
-_080DE33E:
- ldr r2, _080DE374
- ldrh r0, [r4, 0xE]
- lsls r0, 8
- ldrh r1, [r4, 0xC]
- orrs r0, r1
- strh r0, [r2]
- ldr r1, [r4, 0xC]
- movs r0, 0x80
- lsls r0, 13
- cmp r1, r0
- bne _080DE3A6
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0x50
- ble _080DE3A6
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DE378
- adds r0, r1
- bl obj_delete_but_dont_free_vram
- movs r0, 0x1
- strh r0, [r4, 0x10]
- b _080DE3A6
- .align 2, 0
-_080DE374: .4byte REG_BLDALPHA
-_080DE378: .4byte gSprites
-_080DE37C:
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x14]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080DE3A6
- ldr r0, _080DE39C
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- b _080DE3A6
- .align 2, 0
-_080DE39C: .4byte REG_BLDCNT
-_080DE3A0:
- adds r0, r2, 0
- bl move_anim_task_del
-_080DE3A6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DE2DC
-
- thumb_func_start sub_80DE3AC
-sub_80DE3AC: @ 80DE3AC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r2, _080DE3CC
- adds r1, r2
- movs r2, 0
- strh r2, [r1, 0x26]
- ldr r2, _080DE3D0
- str r2, [r1]
- bl _call_via_r2
- pop {r0}
- bx r0
- .align 2, 0
-_080DE3CC: .4byte gTasks
-_080DE3D0: .4byte sub_80DE3D4
- thumb_func_end sub_80DE3AC
-
- thumb_func_start sub_80DE3D4
-sub_80DE3D4: @ 80DE3D4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080DE40C
- adds r5, r0, r1
- ldr r0, _080DE410
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x26
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bls _080DE400
- b _080DE604
-_080DE400:
- lsls r0, 2
- ldr r1, _080DE414
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080DE40C: .4byte gTasks
-_080DE410: .4byte gUnknown_0202F7C9
-_080DE414: .4byte _080DE418
- .align 2, 0
-_080DE418:
- .4byte _080DE42C
- .4byte _080DE500
- .4byte _080DE544
- .4byte _080DE5AC
- .4byte _080DE5E0
-_080DE42C:
- ldr r7, _080DE460
- adds r0, r7, 0
- bl AllocSpritePalette
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0
- mov r8, r2
- strh r0, [r5, 0x24]
- cmp r0, 0xFF
- beq _080DE456
- movs r0, 0x1
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- strh r0, [r5, 0x8]
- lsls r0, 16
- cmp r0, 0
- bge _080DE464
- adds r0, r7, 0
- bl FreeSpritePaletteByTag
-_080DE456:
- adds r0, r4, 0
- bl move_anim_task_del
- b _080DE60A
- .align 2, 0
-_080DE460: .4byte 0x00002771
-_080DE464:
- ldr r4, _080DE4E4
- movs r3, 0x8
- ldrsh r0, [r5, r3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrh r2, [r5, 0x24]
- lsls r2, 4
- ldrb r3, [r1, 0x5]
- movs r0, 0xF
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- ldrb r2, [r1, 0x1]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- strb r0, [r1, 0x1]
- movs r2, 0x8
- ldrsh r1, [r5, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- mov r3, r8
- strh r3, [r5, 0xA]
- strh r3, [r5, 0xC]
- movs r0, 0x10
- strh r0, [r5, 0xE]
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- lsls r0, 4
- strh r0, [r5, 0x10]
- cmp r6, 0x1
- bne _080DE4EC
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _080DE4E8
- b _080DE4F4
- .align 2, 0
-_080DE4E4: .4byte gSprites
-_080DE4E8: .4byte 0x0000fdff
-_080DE4EC:
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _080DE4FC
-_080DE4F4:
- ands r0, r1
- strh r0, [r2]
- b _080DE604
- .align 2, 0
-_080DE4FC: .4byte 0x0000fbff
-_080DE500:
- movs r1, 0x24
- ldrsh r0, [r5, r1]
- adds r0, 0x10
- lsls r0, 4
- strh r0, [r5, 0x24]
- movs r2, 0x10
- ldrsh r0, [r5, r2]
- lsls r0, 1
- ldr r1, _080DE534
- adds r0, r1
- movs r3, 0x24
- ldrsh r1, [r5, r3]
- lsls r1, 1
- ldr r2, _080DE538
- adds r1, r2
- ldr r2, _080DE53C
- bl CpuSet
- ldrh r0, [r5, 0x10]
- ldr r3, _080DE540
- movs r1, 0x10
- movs r2, 0xA
- bl BlendPalette
- b _080DE604
- .align 2, 0
-_080DE534: .4byte gPlttBufferUnfaded
-_080DE538: .4byte gPlttBufferFaded
-_080DE53C: .4byte REG_BG0CNT
-_080DE540: .4byte 0x00003c0d
-_080DE544:
- ldr r2, _080DE580
- movs r0, 0x22
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- subs r1, 0x20
- lsls r1, 16
- lsrs r2, r1, 16
- cmp r1, 0
- bge _080DE564
- movs r2, 0
-_080DE564:
- cmp r6, 0x1
- bne _080DE584
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r2, 0
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- str r2, [sp]
- movs r2, 0x4
- str r2, [sp, 0x4]
- str r6, [sp, 0x8]
- b _080DE59C
- .align 2, 0
-_080DE580: .4byte gSprites
-_080DE584:
- lsls r0, r2, 24
- lsrs r0, 24
- adds r1, r2, 0
- adds r1, 0x40
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- str r2, [sp]
- movs r2, 0x8
- str r2, [sp, 0x4]
- movs r2, 0x1
- str r2, [sp, 0x8]
-_080DE59C:
- movs r2, 0x2
- movs r3, 0x6
- bl sub_8089944
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x1C]
- b _080DE604
-_080DE5AC:
- cmp r6, 0x1
- bne _080DE5C0
- ldr r1, _080DE5B8
- ldr r2, _080DE5BC
- adds r0, r2, 0
- b _080DE5C6
- .align 2, 0
-_080DE5B8: .4byte REG_BLDCNT
-_080DE5BC: .4byte 0x00003f42
-_080DE5C0:
- ldr r1, _080DE5D4
- ldr r3, _080DE5D8
- adds r0, r3, 0
-_080DE5C6:
- strh r0, [r1]
- ldr r1, _080DE5DC
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- b _080DE604
- .align 2, 0
-_080DE5D4: .4byte REG_BLDCNT
-_080DE5D8: .4byte 0x00003f44
-_080DE5DC: .4byte REG_BLDALPHA
-_080DE5E0:
- cmp r6, 0x1
- bne _080DE5F0
- movs r0, 0x80
- lsls r0, 19
- ldrh r1, [r0]
- movs r3, 0x80
- lsls r3, 2
- b _080DE5FA
-_080DE5F0:
- movs r0, 0x80
- lsls r0, 19
- ldrh r1, [r0]
- movs r3, 0x80
- lsls r3, 3
-_080DE5FA:
- adds r2, r3, 0
- orrs r1, r2
- strh r1, [r0]
- ldr r0, _080DE618
- str r0, [r5]
-_080DE604:
- ldrh r0, [r5, 0x26]
- adds r0, 0x1
- strh r0, [r5, 0x26]
-_080DE60A:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DE618: .4byte sub_80DE61C
- thumb_func_end sub_80DE3D4
-
- thumb_func_start sub_80DE61C
-sub_80DE61C: @ 80DE61C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080DE6A0
- adds r4, r0, r1
- ldrh r1, [r4, 0xA]
- adds r1, 0x1
- strh r1, [r4, 0xA]
- movs r0, 0x1
- ands r0, r1
- strh r0, [r4, 0x12]
- cmp r0, 0
- bne _080DE654
- ldr r1, _080DE6A4
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x12
- bl __divsi3
- strh r0, [r4, 0xC]
-_080DE654:
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bne _080DE676
- ldr r1, _080DE6A4
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x12
- bl __divsi3
- movs r1, 0x10
- subs r1, r0
- strh r1, [r4, 0xE]
-_080DE676:
- ldr r2, _080DE6A8
- ldrh r0, [r4, 0xE]
- lsls r0, 8
- ldrh r1, [r4, 0xC]
- orrs r0, r1
- strh r0, [r2]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0x80
- bne _080DE698
- movs r0, 0
- strh r0, [r4, 0x26]
- ldr r1, _080DE6AC
- str r1, [r4]
- adds r0, r5, 0
- bl _call_via_r1
-_080DE698:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DE6A0: .4byte gTasks
-_080DE6A4: .4byte gSineTable
-_080DE6A8: .4byte REG_BLDALPHA
-_080DE6AC: .4byte sub_80DE6B0
- thumb_func_end sub_80DE61C
-
- thumb_func_start sub_80DE6B0
-sub_80DE6B0: @ 80DE6B0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080DE6E0
- adds r4, r0, r1
- ldr r0, _080DE6E4
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r6, r0, 24
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _080DE72C
- cmp r0, 0x1
- bgt _080DE6E8
- cmp r0, 0
- beq _080DE6EE
- b _080DE7AA
- .align 2, 0
-_080DE6E0: .4byte gTasks
-_080DE6E4: .4byte gUnknown_0202F7C9
-_080DE6E8:
- cmp r0, 0x2
- beq _080DE740
- b _080DE7AA
-_080DE6EE:
- ldr r1, _080DE710
- movs r0, 0x3
- strb r0, [r1, 0x15]
- movs r0, 0x1
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x24]
- cmp r6, 0x1
- bne _080DE718
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _080DE714
- b _080DE720
- .align 2, 0
-_080DE710: .4byte gUnknown_03004DC0
-_080DE714: .4byte 0x0000fdff
-_080DE718:
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _080DE728
-_080DE720:
- ands r0, r1
- strh r0, [r2]
- b _080DE7AA
- .align 2, 0
-_080DE728: .4byte 0x0000fbff
-_080DE72C:
- ldrh r0, [r4, 0x10]
- ldr r3, _080DE73C
- movs r1, 0x10
- movs r2, 0
- bl BlendPalette
- b _080DE7AA
- .align 2, 0
-_080DE73C: .4byte 0x00003c0d
-_080DE740:
- ldr r3, _080DE788
- movs r0, 0x24
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- bl obj_delete_but_dont_free_vram
- ldr r0, _080DE78C
- bl FreeSpritePaletteByTag
- ldr r0, _080DE790
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- cmp r6, 0x1
- bne _080DE794
- subs r0, 0x52
- ldrh r1, [r0]
- movs r3, 0x80
- lsls r3, 2
- b _080DE79E
- .align 2, 0
-_080DE788: .4byte gSprites
-_080DE78C: .4byte 0x00002771
-_080DE790: .4byte REG_BLDCNT
-_080DE794:
- movs r0, 0x80
- lsls r0, 19
- ldrh r1, [r0]
- movs r3, 0x80
- lsls r3, 3
-_080DE79E:
- adds r2, r3, 0
- orrs r1, r2
- strh r1, [r0]
- adds r0, r5, 0
- bl move_anim_task_del
-_080DE7AA:
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80DE6B0
-
- thumb_func_start sub_80DE7B8
-sub_80DE7B8: @ 80DE7B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r7, r0, 0
- ldr r0, _080DE7F4
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080DE800
- ldr r4, _080DE7F8
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 8
- movs r2, 0xE0
- lsls r2, 13
- adds r0, r2
- lsrs r5, r0, 16
- ldr r4, _080DE7FC
- b _080DE824
- .align 2, 0
-_080DE7F4: .4byte gUnknown_03004B00
-_080DE7F8: .4byte gUnknown_0202F7C8
-_080DE7FC: .4byte gUnknown_0202F7C9
-_080DE800:
- ldr r4, _080DE8C8
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 8
- movs r2, 0xE0
- lsls r2, 13
- adds r0, r2
- lsrs r5, r0, 16
- ldr r4, _080DE8CC
-_080DE824:
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 8
- movs r1, 0xE0
- lsls r1, 13
- adds r0, r1
- lsrs r0, 16
- mov r9, r0
- mov r8, r5
- mov r2, r9
- subs r4, r2, r5
- lsls r4, 16
- lsrs r4, 16
- lsls r0, r6, 4
- strh r0, [r7, 0x2E]
- lsls r0, r5, 4
- strh r0, [r7, 0x30]
- mov r1, r10
- subs r0, r1, r6
- lsls r0, 4
- ldr r5, _080DE8D0
- movs r2, 0x2
- ldrsh r1, [r5, r2]
- bl __divsi3
- strh r0, [r7, 0x32]
- lsls r4, 16
- asrs r4, 12
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- adds r0, r4, 0
- bl __divsi3
- strh r0, [r7, 0x34]
- ldrh r0, [r5, 0x2]
- strh r0, [r7, 0x36]
- mov r1, r10
- strh r1, [r7, 0x38]
- mov r2, r9
- strh r2, [r7, 0x3A]
- movs r1, 0x36
- ldrsh r0, [r7, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r7, 0x3C]
- ldrb r1, [r7, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- movs r1, 0x8
- orrs r0, r1
- strb r0, [r7, 0x5]
- strh r6, [r7, 0x20]
- mov r2, r8
- strh r2, [r7, 0x22]
- ldr r0, _080DE8D4
- str r0, [r7, 0x1C]
- adds r2, r7, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DE8C8: .4byte gUnknown_0202F7C9
-_080DE8CC: .4byte gUnknown_0202F7C8
-_080DE8D0: .4byte gUnknown_03004B00
-_080DE8D4: .4byte sub_80DE8D8
- thumb_func_end sub_80DE7B8
-
- thumb_func_start sub_80DE8D8
-sub_80DE8D8: @ 80DE8D8
- push {r4,lr}
- adds r2, r0, 0
- ldrh r3, [r2, 0x36]
- movs r1, 0x36
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _080DE910
- ldrh r0, [r2, 0x32]
- ldrh r4, [r2, 0x2E]
- adds r0, r4
- strh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x34]
- ldrh r4, [r2, 0x30]
- adds r1, r4
- strh r1, [r2, 0x30]
- lsls r0, 16
- asrs r0, 20
- strh r0, [r2, 0x20]
- lsls r1, 16
- asrs r1, 20
- strh r1, [r2, 0x22]
- subs r0, r3, 0x1
- strh r0, [r2, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _080DE910
- strh r0, [r2, 0x2E]
-_080DE910:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DE8D8
-
- thumb_func_start sub_80DE918
-sub_80DE918: @ 80DE918
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080DEA68
- adds r1, r0
- str r1, [sp]
- ldr r1, _080DEA6C
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r3, 0x80
- lsls r3, 5
- adds r0, r3, 0
- strh r0, [r1]
- movs r0, 0
- ldr r1, [sp]
- strh r0, [r1, 0x12]
- strh r0, [r1, 0x14]
- strh r0, [r1, 0x16]
- strh r0, [r1, 0x18]
- movs r0, 0x10
- strh r0, [r1, 0x1A]
- ldr r2, _080DEA70
- ldrh r0, [r2]
- strh r0, [r1, 0x1C]
- ldr r4, _080DEA74
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_807A100
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080DE988
- b _080DEA88
-_080DE988:
- movs r4, 0
-_080DE98A:
- lsls r1, r4, 16
- asrs r3, r1, 16
- ldr r0, _080DEA74
- ldrb r2, [r0]
- str r1, [sp, 0x10]
- cmp r3, r2
- beq _080DEA56
- movs r0, 0x2
- eors r2, r0
- cmp r3, r2
- beq _080DEA56
- lsls r0, r4, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080DEA56
- ldr r6, [sp, 0x4]
- ldr r3, [sp, 0x8]
- lsls r0, r3, 16
- asrs r7, r0, 16
- ldr r0, _080DEA78
- adds r1, r6, 0
- adds r2, r7, 0
- movs r3, 0x37
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x40
- beq _080DEA56
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- adds r0, r4, 0
- movs r1, 0x3
- bl sub_807A100
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r0, r8
- lsls r5, r0, 4
- add r5, r8
- lsls r5, 2
- ldr r1, _080DEA7C
- adds r4, r5, r1
- lsls r0, r6, 4
- strh r0, [r4, 0x2E]
- lsls r0, r7, 4
- strh r0, [r4, 0x30]
- mov r2, r10
- subs r0, r2, r6
- lsls r0, 4
- ldr r3, _080DEA70
- movs r2, 0x2
- ldrsh r1, [r3, r2]
- bl __divsi3
- strh r0, [r4, 0x32]
- mov r3, r9
- lsls r0, r3, 16
- asrs r0, 16
- subs r0, r7
- lsls r0, 4
- ldr r2, _080DEA70
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- bl __divsi3
- strh r0, [r4, 0x34]
- ldr r1, _080DEA70
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x36]
- mov r2, r10
- strh r2, [r4, 0x38]
- mov r3, r9
- strh r3, [r4, 0x3A]
- ldr r0, _080DEA80
- adds r5, r0
- ldr r0, _080DEA84
- str r0, [r5]
- ldr r2, [sp]
- movs r3, 0x20
- ldrsh r1, [r2, r3]
- adds r1, 0xD
- lsls r1, 1
- adds r0, r2, 0
- adds r0, 0x8
- adds r0, r1
- mov r1, r8
- strh r1, [r0]
- ldrh r0, [r2, 0x20]
- adds r0, 0x1
- strh r0, [r2, 0x20]
-_080DEA56:
- ldr r2, [sp, 0x10]
- movs r3, 0x80
- lsls r3, 9
- adds r0, r2, r3
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _080DE98A
- b _080DEB0C
- .align 2, 0
-_080DEA68: .4byte gTasks
-_080DEA6C: .4byte REG_BLDCNT
-_080DEA70: .4byte gUnknown_03004B00
-_080DEA74: .4byte gUnknown_0202F7C8
-_080DEA78: .4byte gSpriteTemplate_83DAF08
-_080DEA7C: .4byte gSprites
-_080DEA80: .4byte gSprites + 0x1C
-_080DEA84: .4byte sub_80DE8D8
-_080DEA88:
- ldr r0, _080DEB24
- ldr r7, [sp, 0x4]
- ldr r2, [sp, 0x8]
- lsls r1, r2, 16
- asrs r1, 16
- str r1, [sp, 0xC]
- adds r1, r7, 0
- ldr r2, [sp, 0xC]
- movs r3, 0x37
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- cmp r0, 0x40
- beq _080DEB0C
- movs r3, 0x30
- mov r10, r3
- movs r0, 0x28
- mov r9, r0
- ldr r6, _080DEB28
- mov r1, r8
- lsls r5, r1, 4
- add r5, r8
- lsls r5, 2
- adds r4, r5, r6
- lsls r0, r7, 4
- strh r0, [r4, 0x2E]
- ldr r2, [sp, 0xC]
- lsls r0, r2, 4
- strh r0, [r4, 0x30]
- subs r0, r3, r7
- lsls r0, 4
- ldr r3, _080DEB2C
- movs r2, 0x2
- ldrsh r1, [r3, r2]
- bl __divsi3
- strh r0, [r4, 0x32]
- mov r3, r9
- ldr r1, [sp, 0xC]
- subs r0, r3, r1
- lsls r0, 4
- ldr r2, _080DEB2C
- movs r3, 0x2
- ldrsh r1, [r2, r3]
- bl __divsi3
- strh r0, [r4, 0x34]
- ldr r1, _080DEB2C
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x36]
- mov r2, r10
- strh r2, [r4, 0x38]
- mov r3, r9
- strh r3, [r4, 0x3A]
- adds r6, 0x1C
- adds r5, r6
- ldr r0, _080DEB30
- str r0, [r5]
- mov r1, r8
- ldr r0, [sp]
- strh r1, [r0, 0x22]
- movs r0, 0x1
- ldr r2, [sp]
- strh r0, [r2, 0x20]
-_080DEB0C:
- ldr r0, _080DEB34
- ldr r3, [sp]
- str r0, [r3]
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DEB24: .4byte gSpriteTemplate_83DAF08
-_080DEB28: .4byte gSprites
-_080DEB2C: .4byte gUnknown_03004B00
-_080DEB30: .4byte sub_80DE8D8
-_080DEB34: .4byte sub_80DEB38
- thumb_func_end sub_80DE918
-
- thumb_func_start sub_80DEB38
-sub_80DEB38: @ 80DEB38
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080DEB5C
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _080DEBEE
- cmp r1, 0x1
- bgt _080DEB60
- cmp r1, 0
- beq _080DEB6E
- b _080DECA4
- .align 2, 0
-_080DEB5C: .4byte gTasks
-_080DEB60:
- cmp r1, 0x2
- bne _080DEB66
- b _080DEC80
-_080DEB66:
- cmp r1, 0x3
- bne _080DEB6C
- b _080DEC94
-_080DEB6C:
- b _080DECA4
-_080DEB6E:
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080DEBCE
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080DEBCE
- strh r1, [r4, 0x12]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DEBA4
- ldrh r1, [r4, 0x18]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080DEBB2
- adds r0, r1, 0x1
- strh r0, [r4, 0x18]
- b _080DEBB2
-_080DEBA4:
- ldrh r1, [r4, 0x1A]
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080DEBB2
- subs r0, r1, 0x1
- strh r0, [r4, 0x1A]
-_080DEBB2:
- ldr r2, _080DEBE0
- ldrh r0, [r4, 0x1A]
- lsls r0, 8
- ldrh r1, [r4, 0x18]
- orrs r0, r1
- strh r0, [r2]
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- cmp r0, 0x17
- ble _080DEBCE
- movs r0, 0
- strh r0, [r4, 0x16]
- movs r0, 0x1
- strh r0, [r4, 0x14]
-_080DEBCE:
- ldrh r1, [r4, 0x1C]
- movs r2, 0x1C
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080DEBE4
- subs r0, r1, 0x1
- strh r0, [r4, 0x1C]
- b _080DECA4
- .align 2, 0
-_080DEBE0: .4byte REG_BLDALPHA
-_080DEBE4:
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080DECA4
- b _080DEC8C
-_080DEBEE:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080DECA4
- movs r0, 0
- strh r0, [r4, 0x12]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
- ands r0, r1
- lsls r0, 16
- cmp r0, 0
- beq _080DEC1E
- ldrh r1, [r4, 0x18]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080DEC2C
- subs r0, r1, 0x1
- strh r0, [r4, 0x18]
- b _080DEC2C
-_080DEC1E:
- ldrh r1, [r4, 0x1A]
- movs r2, 0x1A
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080DEC2C
- adds r0, r1, 0x1
- strh r0, [r4, 0x1A]
-_080DEC2C:
- ldr r2, _080DEC48
- ldrh r0, [r4, 0x1A]
- lsls r0, 8
- ldrh r1, [r4, 0x18]
- orrs r0, r1
- strh r0, [r2]
- ldr r1, [r4, 0x18]
- movs r0, 0x80
- lsls r0, 13
- cmp r1, r0
- bne _080DECA4
- movs r5, 0
- b _080DEC70
- .align 2, 0
-_080DEC48: .4byte REG_BLDALPHA
-_080DEC4C:
- adds r1, r5, 0
- adds r1, 0xD
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0x8
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080DEC7C
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080DEC70:
- movs r1, 0x20
- ldrsh r0, [r4, r1]
- cmp r5, r0
- blt _080DEC4C
- b _080DEC8C
- .align 2, 0
-_080DEC7C: .4byte gSprites
-_080DEC80:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- cmp r0, 0
- ble _080DECA4
-_080DEC8C:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080DECA4
-_080DEC94:
- ldr r0, _080DECAC
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, r2, 0
- bl move_anim_task_del
-_080DECA4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DECAC: .4byte REG_BLDCNT
- thumb_func_end sub_80DEB38
-
- thumb_func_start sub_80DECB0
-sub_80DECB0: @ 80DECB0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _080DECF8
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080DECFC
- strh r1, [r0]
- ldr r1, _080DED00
- ldr r2, _080DED04
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- subs r2, 0x20
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x6
- movs r0, 0xC8
- strh r0, [r1]
- adds r1, 0x4
- movs r0, 0x10
- strh r0, [r1]
- ldr r0, _080DED08
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080DECF4
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080DED0C
-_080DECF4:
- movs r6, 0x28
- b _080DED0E
- .align 2, 0
-_080DECF8: .4byte gUnknown_030042C4
-_080DECFC: .4byte gUnknown_03004240
-_080DED00: .4byte REG_WININ
-_080DED04: .4byte 0x00003f3f
-_080DED08: .4byte gUnknown_0202F7C8
-_080DED0C:
- movs r6, 0xC8
-_080DED0E:
- ldr r1, _080DED4C
- lsls r3, r6, 16
- asrs r2, r3, 16
- lsls r0, r2, 8
- orrs r0, r2
- strh r0, [r1]
- ldr r1, _080DED50
- movs r5, 0x28
- ldr r0, _080DED54
- strh r0, [r1]
- lsrs r3, 16
- movs r1, 0xF0
- subs r1, r2
- movs r4, 0x48
- ldr r2, _080DED58
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r0, r2
- strh r3, [r0, 0xA]
- strh r1, [r0, 0xC]
- strh r5, [r0, 0xE]
- strh r4, [r0, 0x10]
- strh r6, [r0, 0x12]
- strh r5, [r0, 0x14]
- ldr r1, _080DED5C
- str r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DED4C: .4byte gUnknown_030042C4
-_080DED50: .4byte gUnknown_03004240
-_080DED54: .4byte 0x00002828
-_080DED58: .4byte gTasks
-_080DED5C: .4byte sub_80DED60
- thumb_func_end sub_80DECB0
-
- thumb_func_start sub_80DED60
-sub_80DED60: @ 80DED60
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080DEE80
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
- ldrh r1, [r4, 0x8]
- adds r0, r1, 0x1
- strh r0, [r4, 0x8]
- ldrh r5, [r4, 0xA]
- ldrh r7, [r4, 0xC]
- ldrh r0, [r4, 0xE]
- mov r10, r0
- ldrh r2, [r4, 0x10]
- str r2, [sp, 0xC]
- ldrh r0, [r4, 0x12]
- ldrh r2, [r4, 0x14]
- mov r8, r2
- lsls r1, 16
- asrs r6, r1, 16
- cmp r6, 0xF
- ble _080DED9C
- b _080DEE8C
-_080DED9C:
- lsls r0, 16
- asrs r0, 16
- bl __floatsidf
- str r0, [sp, 0x10]
- str r1, [sp, 0x14]
- lsls r0, r5, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _080DEE84
- ldr r3, _080DEE88
- bl __muldf3
- adds r5, r1, 0
- adds r4, r0, 0
- adds r0, r6, 0
- bl __floatsidf
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- adds r1, r5, 0
- adds r0, r4, 0
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- bl __subdf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r0, r7, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _080DEE84
- ldr r3, _080DEE88
- bl __muldf3
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- ldr r0, [sp, 0x10]
- ldr r1, [sp, 0x14]
- bl __adddf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- lsls r0, r1, 16
- asrs r0, 16
- bl __floatsidf
- adds r5, r1, 0
- adds r4, r0, 0
- mov r2, r10
- lsls r0, r2, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _080DEE84
- ldr r3, _080DEE88
- bl __muldf3
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- adds r1, r5, 0
- adds r0, r4, 0
- bl __subdf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, [sp, 0xC]
- lsls r0, r1, 16
- asrs r0, 16
- bl __floatsidf
- ldr r2, _080DEE84
- ldr r3, _080DEE88
- bl __muldf3
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- bl __muldf3
- adds r3, r1, 0
- adds r2, r0, 0
- adds r1, r5, 0
- adds r0, r4, 0
- bl __adddf3
- bl __fixunsdfsi
- lsls r0, 16
- lsrs r5, r0, 16
- b _080DEEBA
- .align 2, 0
-_080DEE80: .4byte gTasks
-_080DEE84: .4byte 0x3fb00000
-_080DEE88: .4byte 0x00000000
-_080DEE8C:
- movs r2, 0
- mov r9, r2
- movs r7, 0xF0
- movs r6, 0
- movs r5, 0x70
- str r6, [sp]
- str r6, [sp, 0x4]
- str r6, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r3, 0
- bl sub_80791A8
- lsls r0, 16
- lsrs r0, 16
- str r6, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _080DEEDC
- str r0, [r4]
-_080DEEBA:
- ldr r1, _080DEEE0
- mov r2, r9
- lsls r0, r2, 8
- orrs r7, r0
- strh r7, [r1]
- ldr r1, _080DEEE4
- lsls r0, r6, 8
- orrs r5, r0
- strh r5, [r1]
- 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
-_080DEEDC: .4byte sub_80DEEE8
-_080DEEE0: .4byte gUnknown_030042C4
-_080DEEE4: .4byte gUnknown_03004240
- thumb_func_end sub_80DED60
-
- thumb_func_start sub_80DEEE8
-sub_80DEEE8: @ 80DEEE8
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _080DEF28
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080DEF20
- ldr r0, _080DEF2C
- strh r2, [r0]
- ldr r0, _080DEF30
- strh r2, [r0]
- ldr r0, _080DEF34
- ldr r4, _080DEF38
- adds r1, r4, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x6
- strh r2, [r0]
- adds r0, 0x4
- strh r2, [r0]
- adds r0, r3, 0
- bl move_anim_task_del
-_080DEF20:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DEF28: .4byte gPaletteFade
-_080DEF2C: .4byte gUnknown_030042C4
-_080DEF30: .4byte gUnknown_03004240
-_080DEF34: .4byte REG_WININ
-_080DEF38: .4byte 0x00003f3f
- thumb_func_end sub_80DEEE8
-
- thumb_func_start sub_80DEF3C
-sub_80DEF3C: @ 80DEF3C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r0, _080DEF68
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080DEF70
- movs r2, 0x18
- ldr r3, _080DEF6C
- ldrb r0, [r4, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r0
- movs r0, 0x10
- orrs r1, r0
- strb r1, [r4, 0x3]
- b _080DEF74
- .align 2, 0
-_080DEF68: .4byte gUnknown_0202F7C8
-_080DEF6C: .4byte 0x0000fffe
-_080DEF70:
- ldr r2, _080DEF90
- movs r3, 0x2
-_080DEF74:
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- strh r3, [r4, 0x30]
- movs r0, 0x3C
- strh r0, [r4, 0x2E]
- ldr r0, _080DEF94
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DEF90: .4byte 0x0000ffe8
-_080DEF94: .4byte sub_80DEF98
- thumb_func_end sub_80DEF3C
-
- thumb_func_start sub_80DEF98
-sub_80DEF98: @ 80DEF98
- push {r4,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _080DEFAA
- subs r0, r1, 0x1
- b _080DF00E
-_080DEFAA:
- ldrh r0, [r3, 0x30]
- ldrh r4, [r3, 0x24]
- adds r1, r0, r4
- strh r1, [r3, 0x24]
- adds r0, r1, 0x7
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xE
- bls _080DF010
- ldrh r0, [r3, 0x20]
- adds r0, r1
- strh r0, [r3, 0x20]
- movs r0, 0
- strh r0, [r3, 0x24]
- ldrh r2, [r3, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x8
- ldr r4, _080DEFFC
- adds r0, r4, 0
- ands r1, r0
- ldr r0, _080DF000
- ands r0, r2
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080DF00C
- movs r0, 0x1E
- strh r0, [r3, 0x2E]
- ldr r0, _080DF004
- str r0, [r3, 0x1C]
- ldr r1, _080DF008
- adds r0, r3, 0
- bl oamt_set_x3A_32
- b _080DF010
- .align 2, 0
-_080DEFFC: .4byte 0x000003ff
-_080DF000: .4byte 0xfffffc00
-_080DF004: .4byte sub_80782D8
-_080DF008: .4byte sub_80DF018
-_080DF00C:
- movs r0, 0x28
-_080DF00E:
- strh r0, [r3, 0x2E]
-_080DF010:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DEF98
-
- thumb_func_start sub_80DF018
-sub_80DF018: @ 80DF018
- push {r4,lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r2, [r3, r0]
- cmp r2, 0
- bne _080DF044
- ldr r1, _080DF040
- movs r4, 0xFD
- lsls r4, 6
- adds r0, r4, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x10
- strh r0, [r1]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- strh r2, [r3, 0x30]
- strh r2, [r3, 0x32]
- b _080DF082
- .align 2, 0
-_080DF040: .4byte REG_BLDCNT
-_080DF044:
- ldrh r1, [r3, 0x30]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0x1
- bgt _080DF054
- adds r0, r1, 0x1
- strh r0, [r3, 0x30]
- b _080DF082
-_080DF054:
- movs r0, 0
- strh r0, [r3, 0x30]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- ldr r2, _080DF088
- movs r1, 0x10
- subs r1, r0
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r4, 0x32
- ldrsh r0, [r3, r4]
- cmp r0, 0x10
- bne _080DF082
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080DF08C
- str r0, [r3, 0x1C]
-_080DF082:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DF088: .4byte REG_BLDALPHA
-_080DF08C: .4byte sub_80DF090
- thumb_func_end sub_80DF018
-
- thumb_func_start sub_80DF090
-sub_80DF090: @ 80DF090
- push {lr}
- ldr r1, _080DF0AC
- movs r2, 0
- strh r2, [r1]
- adds r1, 0x2
- strh r2, [r1]
- ldr r1, _080DF0B0
- strh r2, [r1]
- ldr r1, _080DF0B4
- strh r2, [r1]
- bl move_anim_8072740
- pop {r0}
- bx r0
- .align 2, 0
-_080DF0AC: .4byte REG_BLDCNT
-_080DF0B0: .4byte gUnknown_030042C4
-_080DF0B4: .4byte gUnknown_03004240
- thumb_func_end sub_80DF090
-
- thumb_func_start sub_80DF0B8
-sub_80DF0B8: @ 80DF0B8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0xC
- bl Sin
- strh r0, [r4, 0x24]
- ldr r0, _080DF120
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DF0DC
- ldrh r0, [r4, 0x24]
- negs r0, r0
- strh r0, [r4, 0x24]
-_080DF0DC:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x6
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- movs r2, 0x80
- lsls r2, 1
- adds r0, r2, 0
- ldrh r1, [r4, 0x30]
- adds r0, r1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 24
- negs r0, r0
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- bne _080DF12C
- ldr r0, _080DF124
- strh r0, [r4, 0x3A]
- ldr r1, _080DF128
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldrh r0, [r4, 0x3A]
- strh r0, [r1]
- b _080DF17E
- .align 2, 0
-_080DF120: .4byte gUnknown_0202F7C8
-_080DF124: .4byte 0x0000050b
-_080DF128: .4byte REG_BLDCNT
-_080DF12C:
- cmp r0, 0x1E
- ble _080DF17E
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x3A]
- lsls r0, r1, 16
- asrs r0, 24
- lsls r0, 16
- movs r2, 0xFF
- ands r2, r1
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r3, r0, 16
- cmp r3, 0x10
- bls _080DF150
- movs r3, 0x10
-_080DF150:
- subs r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r0, 0
- bge _080DF15C
- movs r2, 0
-_080DF15C:
- ldr r1, _080DF184
- lsls r0, r3, 8
- orrs r0, r2
- strh r0, [r1]
- strh r0, [r4, 0x3A]
- cmp r3, 0x10
- bne _080DF17E
- cmp r2, 0
- bne _080DF17E
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080DF188
- str r0, [r4, 0x1C]
-_080DF17E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DF184: .4byte REG_BLDALPHA
-_080DF188: .4byte sub_80DF18C
- thumb_func_end sub_80DF0B8
-
- thumb_func_start sub_80DF18C
-sub_80DF18C: @ 80DF18C
- push {lr}
- ldr r1, _080DF1A0
- movs r2, 0
- strh r2, [r1]
- adds r1, 0x2
- strh r2, [r1]
- bl move_anim_8072740
- pop {r0}
- bx r0
- .align 2, 0
-_080DF1A0: .4byte REG_BLDCNT
- thumb_func_end sub_80DF18C
-
- thumb_func_start sub_80DF1A4
-sub_80DF1A4: @ 80DF1A4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080DF23C
- adds r4, r0
- movs r6, 0
- strh r6, [r4, 0x8]
- movs r0, 0x10
- mov r8, r0
- mov r2, r8
- strh r2, [r4, 0xA]
- ldr r5, _080DF240
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1A]
- ldrb r0, [r5]
- bl sub_8077FC0
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldrb r0, [r5]
- movs r1, 0x1
- bl sub_807A100
- lsls r0, 16
- asrs r1, r0, 16
- lsrs r0, 31
- adds r1, r0
- asrs r1, 1
- adds r1, 0x8
- strh r1, [r4, 0x1E]
- strh r6, [r4, 0x16]
- ldrb r0, [r5]
- bl sub_8079ED4
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x12]
- ldrb r0, [r5]
- bl sub_8079E90
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x2
- strh r0, [r4, 0x14]
- strh r6, [r4, 0xE]
- mov r0, r8
- strh r0, [r4, 0x10]
- ldr r1, _080DF244
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- strh r6, [r4, 0x18]
- ldr r0, _080DF248
- str r0, [r4]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DF23C: .4byte gTasks
-_080DF240: .4byte gUnknown_0202F7C8
-_080DF244: .4byte REG_BLDCNT
-_080DF248: .4byte sub_80DF24C
- thumb_func_end sub_80DF1A4
-
- thumb_func_start sub_80DF24C
-sub_80DF24C: @ 80DF24C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- ldr r1, _080DF270
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bls _080DF266
- b _080DF3CC
-_080DF266:
- lsls r0, 2
- ldr r1, _080DF274
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080DF270: .4byte gTasks
-_080DF274: .4byte _080DF278
- .align 2, 0
-_080DF278:
- .4byte _080DF290
- .4byte _080DF300
- .4byte _080DF342
- .4byte _080DF356
- .4byte _080DF3AC
- .4byte _080DF3BC
-_080DF290:
- movs r6, 0
-_080DF292:
- movs r2, 0x1A
- ldrsh r1, [r4, r2]
- movs r0, 0x1C
- ldrsh r2, [r4, r0]
- ldrb r3, [r4, 0x14]
- ldr r0, _080DF2F4
- bl CreateSprite
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080DF2E6
- ldr r1, _080DF2F8
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r5, r0, r1
- strh r7, [r5, 0x2E]
- ldr r0, _080DF2FC
- ldrb r0, [r0]
- bl battle_side_get_owner
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _080DF2C8
- movs r1, 0x1
-_080DF2C8:
- strh r1, [r5, 0x30]
- movs r0, 0x2A
- muls r0, r6
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r4, 0x1E]
- strh r0, [r5, 0x34]
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 1
- strh r0, [r5, 0x38]
- ldrh r0, [r4, 0x16]
- adds r0, 0x1
- strh r0, [r4, 0x16]
-_080DF2E6:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080DF292
- b _080DF3B4
- .align 2, 0
-_080DF2F4: .4byte gSpriteTemplate_83DAF80
-_080DF2F8: .4byte gSprites
-_080DF2FC: .4byte gUnknown_0202F7C8
-_080DF300:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DF31E
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0xD
- bgt _080DF32C
- adds r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _080DF32C
-_080DF31E:
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0x4
- ble _080DF32C
- subs r0, r1, 0x1
- strh r0, [r4, 0x10]
-_080DF32C:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ldrh r3, [r4, 0xE]
- ldrh r2, [r4, 0x10]
- cmp r0, 0xE
- bne _080DF39C
- cmp r2, 0x4
- bne _080DF39C
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080DF396
-_080DF342:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1E
- ble _080DF3CC
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080DF3B4
-_080DF356:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080DF374
- ldrh r1, [r4, 0xE]
- movs r2, 0xE
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080DF382
- subs r0, r1, 0x1
- strh r0, [r4, 0xE]
- b _080DF382
-_080DF374:
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080DF382
- adds r0, r1, 0x1
- strh r0, [r4, 0x10]
-_080DF382:
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- ldrh r3, [r4, 0xE]
- ldrh r2, [r4, 0x10]
- cmp r0, 0
- bne _080DF39C
- cmp r2, 0x10
- bne _080DF39C
- movs r0, 0x1
- strh r0, [r4, 0x18]
-_080DF396:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_080DF39C:
- ldr r1, _080DF3A8
- lsls r0, r2, 8
- orrs r0, r3
- strh r0, [r1]
- b _080DF3CC
- .align 2, 0
-_080DF3A8: .4byte REG_BLDALPHA
-_080DF3AC:
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080DF3CC
-_080DF3B4:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080DF3CC
-_080DF3BC:
- ldr r0, _080DF3D4
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, r7, 0
- bl move_anim_task_del
-_080DF3CC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DF3D4: .4byte REG_BLDCNT
- thumb_func_end sub_80DF24C
-
- thumb_func_start sub_80DF3D8
-sub_80DF3D8: @ 80DF3D8
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x30
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080DF3EA
- ldrh r0, [r4, 0x32]
- adds r0, 0x2
- b _080DF3EE
-_080DF3EA:
- ldrh r0, [r4, 0x32]
- subs r0, 0x2
-_080DF3EE:
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x32]
- movs r0, 0xFF
- ands r0, r1
- strh r0, [r4, 0x32]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x32]
- subs r0, 0x41
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7E
- bhi _080DF430
- ldr r2, _080DF42C
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r1, [r0, 0x12]
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- b _080DF444
- .align 2, 0
-_080DF42C: .4byte gTasks
-_080DF430:
- ldr r2, _080DF498
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x3
- ldrb r1, [r0, 0x12]
- ands r1, r2
-_080DF444:
- lsls r1, 2
- ldrb r2, [r4, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r4, 0x5]
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- strh r0, [r4, 0x38]
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- lsls r0, 3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- movs r1, 0x7
- bl Sin
- strh r0, [r4, 0x26]
- ldr r2, _080DF498
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r1, r0, r2
- movs r2, 0x18
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080DF492
- ldrh r0, [r1, 0x16]
- subs r0, 0x1
- strh r0, [r1, 0x16]
- adds r0, r4, 0
- bl DestroySprite
-_080DF492:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DF498: .4byte gTasks
- thumb_func_end sub_80DF3D8
-
- thumb_func_start sub_80DF49C
-sub_80DF49C: @ 80DF49C
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r3]
- ldr r2, _080DF4E0
- ldr r1, _080DF4E4
- ldrb r1, [r1]
- adds r1, r2
- ldrb r1, [r1]
- strh r1, [r0, 0x38]
- movs r1, 0x80
- strh r1, [r0, 0x2E]
- movs r1, 0xA
- strh r1, [r0, 0x30]
- ldr r2, _080DF4E8
- ldrh r1, [r2]
- strh r1, [r0, 0x32]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0x34]
- ldr r1, _080DF4EC
- str r1, [r0, 0x1C]
- ldr r2, _080DF4F0
- movs r3, 0x38
- ldrsh r1, [r0, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x8
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080DF4E0: .4byte gUnknown_02024BE0
-_080DF4E4: .4byte gUnknown_0202F7C8
-_080DF4E8: .4byte gUnknown_03004B00
-_080DF4EC: .4byte sub_80DF4F4
-_080DF4F0: .4byte gSprites
- thumb_func_end sub_80DF49C
-
- thumb_func_start sub_80DF4F4
-sub_80DF4F4: @ 80DF4F4
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x34]
- movs r1, 0x34
- ldrsh r3, [r5, r1]
- cmp r3, 0
- beq _080DF55C
- subs r0, 0x1
- strh r0, [r5, 0x34]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- bl Sin
- ldr r4, _080DF554
- movs r1, 0x38
- ldrsh r2, [r5, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- movs r2, 0x30
- ldrsh r1, [r5, r2]
- bl Cos
- movs r1, 0x38
- ldrsh r2, [r5, r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x26]
- ldrh r0, [r5, 0x32]
- ldrh r2, [r5, 0x2E]
- adds r1, r0, r2
- strh r1, [r5, 0x2E]
- lsls r0, r1, 16
- asrs r0, 16
- cmp r0, 0xFF
- ble _080DF590
- ldr r2, _080DF558
- adds r0, r1, r2
- strh r0, [r5, 0x2E]
- b _080DF590
- .align 2, 0
-_080DF554: .4byte gSprites
-_080DF558: .4byte 0xffffff00
-_080DF55C:
- ldr r2, _080DF598
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x24]
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- strh r3, [r0, 0x26]
- movs r0, 0x38
- ldrsh r1, [r5, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- subs r1, 0x8
- strh r1, [r0, 0x22]
- ldr r0, _080DF59C
- str r0, [r5, 0x1C]
-_080DF590:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DF598: .4byte gSprites
-_080DF59C: .4byte move_anim_8074EE0
- thumb_func_end sub_80DF4F4
-
- thumb_func_start sub_80DF5A0
-sub_80DF5A0: @ 80DF5A0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080DF5E8
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DF5F0
- ldr r2, _080DF5EC
- ldrh r0, [r5, 0x20]
- ldrh r1, [r2]
- subs r0, r1
- strh r0, [r5, 0x20]
- ldrh r0, [r2, 0x6]
- negs r0, r0
- strh r0, [r2, 0x6]
- ldrh r0, [r2, 0x8]
- negs r0, r0
- strh r0, [r2, 0x8]
- adds r1, r2, 0
- b _080DF5FA
- .align 2, 0
-_080DF5E8: .4byte gUnknown_0202F7C8
-_080DF5EC: .4byte gUnknown_03004B00
-_080DF5F0:
- ldr r1, _080DF630
- ldrh r0, [r1]
- ldrh r2, [r5, 0x20]
- adds r0, r2
- strh r0, [r5, 0x20]
-_080DF5FA:
- ldrh r0, [r1, 0x2]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- ldrh r0, [r1, 0x4]
- strh r0, [r5, 0x2E]
- ldrh r0, [r1, 0x6]
- strh r0, [r5, 0x30]
- ldrh r0, [r1, 0x8]
- strh r0, [r5, 0x34]
- ldrh r0, [r1, 0xA]
- strh r0, [r5, 0x38]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _080DF634
- adds r0, r5, 0
- bl oamt_set_x3A_32
- ldr r0, _080DF638
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DF630: .4byte gUnknown_03004B00
-_080DF634: .4byte move_anim_8074EE0
-_080DF638: .4byte sub_8078504
- thumb_func_end sub_80DF5A0
-
- thumb_func_start sub_80DF63C
-sub_80DF63C: @ 80DF63C
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8078650
- ldr r4, _080DF694
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- ldr r0, _080DF698
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DF6A0
- ldr r2, _080DF69C
- ldrh r0, [r5, 0x20]
- ldrh r1, [r2, 0x2]
- subs r0, r1
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x22]
- adds r1, r0
- strh r1, [r5, 0x22]
- ldrh r0, [r5, 0x32]
- ldrh r1, [r2, 0x4]
- subs r0, r1
- strh r0, [r5, 0x32]
- ldrh r0, [r2, 0x6]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- b _080DF6CA
- .align 2, 0
-_080DF694: .4byte gUnknown_0202F7C9
-_080DF698: .4byte gUnknown_0202F7C8
-_080DF69C: .4byte gUnknown_03004B00
-_080DF6A0:
- ldr r1, _080DF6E4
- ldrh r0, [r1]
- ldrh r2, [r5, 0x20]
- adds r0, r2
- strh r0, [r5, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- ldrh r0, [r1, 0x4]
- ldrh r2, [r5, 0x32]
- adds r0, r2
- strh r0, [r5, 0x32]
- ldrh r0, [r1, 0x6]
- ldrh r1, [r5, 0x36]
- adds r0, r1
- strh r0, [r5, 0x36]
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080DF6CA:
- ldr r0, _080DF6E4
- ldrh r0, [r0, 0x8]
- strh r0, [r5, 0x2E]
- ldr r0, _080DF6E8
- str r0, [r5, 0x1C]
- ldr r1, _080DF6EC
- adds r0, r5, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DF6E4: .4byte gUnknown_03004B00
-_080DF6E8: .4byte sub_8078B34
-_080DF6EC: .4byte move_anim_8074EE0
- thumb_func_end sub_80DF63C
-
- thumb_func_start sub_80DF6F0
-sub_80DF6F0: @ 80DF6F0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080DF704
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080DF70C
- ldr r4, _080DF708
- b _080DF70E
- .align 2, 0
-_080DF704: .4byte gUnknown_03004B00
-_080DF708: .4byte gUnknown_0202F7C8
-_080DF70C:
- ldr r4, _080DF750
-_080DF70E:
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x22]
- ldr r4, _080DF754
- movs r0, 0x2
- ldrsh r1, [r4, r0]
- adds r0, r5, 0
- bl sub_807867C
- ldrh r0, [r4, 0x4]
- ldrh r1, [r5, 0x22]
- adds r0, r1
- strh r0, [r5, 0x22]
- ldr r0, _080DF758
- str r0, [r5, 0x1C]
- ldr r1, _080DF75C
- adds r0, r5, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DF750: .4byte gUnknown_0202F7C9
-_080DF754: .4byte gUnknown_03004B00
-_080DF758: .4byte sub_8078600
-_080DF75C: .4byte move_anim_8074EE0
- thumb_func_end sub_80DF6F0
-
- thumb_func_start sub_80DF760
-sub_80DF760: @ 80DF760
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080DF788
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080DF77A
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
-_080DF77A:
- adds r0, r4, 0
- bl sub_80DF63C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DF788: .4byte gUnknown_0202F7C8
- thumb_func_end sub_80DF760
-
- thumb_func_start sub_80DF78C
-sub_80DF78C: @ 80DF78C
- push {r4-r7,lr}
- adds r6, r0, 0
- ldr r4, _080DF7E0
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- movs r5, 0
- strh r0, [r6, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r6, 0x22]
- strh r5, [r6, 0x36]
- movs r0, 0x1
- strh r0, [r6, 0x38]
- ldr r0, _080DF7E4
- ldrh r0, [r0]
- strh r0, [r6, 0x3A]
- ldr r4, _080DF7E8
- ldrb r0, [r4]
- movs r1, 0
- bl sub_807A100
- lsls r7, r0, 16
- lsrs r5, r7, 16
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_807A100
- lsls r1, r0, 16
- lsrs r0, r1, 16
- cmp r5, r0
- bls _080DF7EC
- lsrs r0, r7, 17
- b _080DF7EE
- .align 2, 0
-_080DF7E0: .4byte gUnknown_0202F7C8
-_080DF7E4: .4byte gUnknown_03004B00
-_080DF7E8: .4byte gUnknown_02024C07
-_080DF7EC:
- lsrs r0, r1, 17
-_080DF7EE:
- strh r0, [r6, 0x3C]
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- movs r2, 0x3C
- ldrsh r1, [r6, r2]
- bl Cos
- strh r0, [r6, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r6, r1]
- movs r2, 0x3C
- ldrsh r1, [r6, r2]
- bl Sin
- strh r0, [r6, 0x26]
- ldr r0, _080DF818
- str r0, [r6, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DF818: .4byte sub_80DF81C
- thumb_func_end sub_80DF78C
-
- thumb_func_start sub_80DF81C
-sub_80DF81C: @ 80DF81C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r0, 0x2E
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _080DF82E
- cmp r5, 0x1
- beq _080DF89A
- b _080DF91E
-_080DF82E:
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x38]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080DF880
- strh r5, [r4, 0x36]
- ldrh r1, [r4, 0x38]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080DF880
- adds r0, r1, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _080DF880
- movs r0, 0x10
- strh r0, [r4, 0x38]
-_080DF880:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080DF91E
- movs r0, 0
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _080DF91E
-_080DF89A:
- ldrh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x38]
- subs r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x3A]
- ldrh r1, [r4, 0x3C]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- cmp r0, 0x95
- bgt _080DF8C2
- adds r0, r1, 0
- adds r0, 0x8
- strh r0, [r4, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x95
- ble _080DF8C2
- movs r0, 0x96
- strh r0, [r4, 0x3C]
-_080DF8C2:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- movs r2, 0x3C
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x36]
- adds r0, 0x1
- strh r0, [r4, 0x36]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5
- ble _080DF90A
- movs r0, 0
- strh r0, [r4, 0x36]
- ldrh r1, [r4, 0x38]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- cmp r0, 0xF
- bgt _080DF90A
- adds r0, r1, 0x1
- strh r0, [r4, 0x38]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _080DF90A
- movs r0, 0x10
- strh r0, [r4, 0x38]
-_080DF90A:
- ldrh r0, [r4, 0x34]
- adds r0, 0x1
- strh r0, [r4, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x14
- ble _080DF91E
- adds r0, r4, 0
- bl move_anim_8072740
-_080DF91E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80DF81C
-
- thumb_func_start sub_80DF924
-sub_80DF924: @ 80DF924
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080DF950
- adds r4, r1, r0
- ldr r0, _080DF954
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080DF960
- ldr r0, _080DF958
- str r0, [sp]
- ldr r0, _080DF95C
- b _080DF966
- .align 2, 0
-_080DF950: .4byte gTasks
-_080DF954: .4byte gUnknown_0202F7C8
-_080DF958: .4byte REG_BG1HOFS
-_080DF95C: .4byte gUnknown_030042C0
-_080DF960:
- ldr r0, _080DF9DC
- str r0, [sp]
- ldr r0, _080DF9E0
-_080DF966:
- ldrh r0, [r0]
- strh r0, [r4, 0xC]
- ldr r0, _080DF9E4
- str r0, [sp, 0x4]
- mov r1, sp
- movs r5, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r5, [r0, 0x9]
- ldr r0, _080DF9E8
- ldrb r0, [r0]
- bl sub_8077FC0
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r4, 0xE]
- adds r0, 0x20
- strh r0, [r4, 0x10]
- cmp r1, 0
- bge _080DF996
- strh r5, [r4, 0xE]
-_080DF996:
- ldrh r3, [r4, 0xE]
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- bgt _080DF9C4
- ldr r5, _080DF9EC
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
-_080DF9A8:
- lsls r1, r3, 1
- adds r2, r1, r5
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r4, 0xC]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r3, r0
- ble _080DF9A8
-_080DF9C4:
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl sub_80895F8
- ldr r0, _080DF9F0
- str r0, [r4]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DF9DC: .4byte REG_BG2HOFS
-_080DF9E0: .4byte gUnknown_03004288
-_080DF9E4: .4byte 0xa2600001
-_080DF9E8: .4byte gUnknown_0202F7C8
-_080DF9EC: .4byte gUnknown_03004DE0
-_080DF9F0: .4byte sub_80DF9F4
- thumb_func_end sub_80DF924
-
- thumb_func_start sub_80DF9F4
-sub_80DF9F4: @ 80DF9F4
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, _080DFA18
- adds r2, r0, r1
- movs r1, 0x8
- ldrsh r0, [r2, r1]
- cmp r0, 0x4
- bhi _080DFAAA
- lsls r0, 2
- ldr r1, _080DFA1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080DFA18: .4byte gTasks
-_080DFA1C: .4byte _080DFA20
- .align 2, 0
-_080DFA20:
- .4byte _080DFA34
- .4byte _080DFA56
- .4byte _080DFA66
- .4byte _080DFA92
- .4byte _080DFAA4
-_080DFA34:
- ldrh r0, [r2, 0x16]
- adds r0, 0x1
- strh r0, [r2, 0x16]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080DFA8A
- movs r0, 0
- strh r0, [r2, 0x16]
- ldrh r0, [r2, 0x14]
- adds r0, 0x1
- strh r0, [r2, 0x14]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- bne _080DFA8A
- b _080DFA84
-_080DFA56:
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080DFA8A
- b _080DFA84
-_080DFA66:
- ldrh r0, [r2, 0x16]
- adds r0, 0x1
- strh r0, [r2, 0x16]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080DFA8A
- movs r0, 0
- strh r0, [r2, 0x16]
- ldrh r0, [r2, 0x14]
- subs r0, 0x1
- strh r0, [r2, 0x14]
- lsls r0, 16
- cmp r0, 0
- bne _080DFA8A
-_080DFA84:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_080DFA8A:
- adds r0, r2, 0
- bl sub_80DFAB0
- b _080DFAAA
-_080DFA92:
- ldr r1, _080DFAA0
- movs r0, 0x3
- strb r0, [r1, 0x15]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _080DFAAA
- .align 2, 0
-_080DFAA0: .4byte gUnknown_03004DC0
-_080DFAA4:
- adds r0, r3, 0
- bl move_anim_task_del
-_080DFAAA:
- pop {r0}
- bx r0
- thumb_func_end sub_80DF9F4
-
- thumb_func_start sub_80DFAB0
-sub_80DFAB0: @ 80DFAB0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- ldrh r3, [r5, 0x12]
- ldrh r4, [r5, 0xE]
- movs r1, 0x10
- ldrsh r0, [r5, r1]
- cmp r4, r0
- bgt _080DFB06
- ldr r7, _080DFB1C
- mov r12, r7
- ldr r0, _080DFB20
- mov r8, r0
- ldr r6, _080DFB24
-_080DFACE:
- lsls r2, r4, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r12
- lsls r0, r3, 1
- add r0, r8
- movs r7, 0
- ldrsh r1, [r0, r7]
- movs r7, 0x14
- ldrsh r0, [r5, r7]
- muls r0, r1
- asrs r0, 7
- ldrh r1, [r5, 0xC]
- adds r0, r1
- strh r0, [r2]
- adds r3, 0x8
- movs r0, 0xFF
- ands r3, r0
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- movs r7, 0x10
- ldrsh r0, [r5, r7]
- cmp r4, r0
- ble _080DFACE
-_080DFB06:
- ldrh r0, [r5, 0x12]
- adds r0, 0x9
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x12]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080DFB1C: .4byte gUnknown_03004DE0
-_080DFB20: .4byte gSineTable
-_080DFB24: .4byte gUnknown_03004DC0
- thumb_func_end sub_80DFAB0
-
- thumb_func_start sub_80DFB28
-sub_80DFB28: @ 80DFB28
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r4, r0, 0
- ldr r5, _080DFBC8
- movs r0, 0x4
- ldrsh r1, [r5, r0]
- lsls r0, r1, 1
- adds r0, r1
- movs r1, 0x5
- bl __divsi3
- adds r6, r0, 0
- ldr r1, _080DFBCC
- mov r8, r1
- ldrb r0, [r1]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- mov r2, r8
- ldrb r0, [r2]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r3, [r5, 0x8]
- adds r0, r3
- strh r0, [r4, 0x22]
- movs r1, 0x2
- ldrsh r0, [r5, r1]
- movs r2, 0x4
- ldrsh r1, [r5, r2]
- bl Cos
- strh r0, [r4, 0x30]
- movs r3, 0x2
- ldrsh r0, [r5, r3]
- lsls r6, 16
- asrs r6, 16
- adds r1, r6, 0
- bl Sin
- strh r0, [r4, 0x32]
- ldrh r1, [r4, 0x30]
- ldrh r2, [r5]
- adds r3, r2, 0
- muls r3, r1
- adds r1, r3, 0
- ldrh r3, [r4, 0x20]
- adds r1, r3
- strh r1, [r4, 0x20]
- adds r1, r2, 0
- muls r1, r0
- adds r0, r1, 0
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x34]
- ldr r0, _080DFBD0
- str r0, [r4, 0x1C]
- adds r4, 0x2E
- ldr r2, _080DFBD4
- movs r1, 0x6
-_080DFBB0:
- ldrh r0, [r4]
- strh r0, [r2]
- adds r4, 0x2
- adds r2, 0x2
- subs r1, 0x1
- cmp r1, 0
- bge _080DFBB0
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DFBC8: .4byte gUnknown_03004B00
-_080DFBCC: .4byte gUnknown_0202F7C8
-_080DFBD0: .4byte sub_80DFBD8
-_080DFBD4: .4byte gUnknown_03000730
- thumb_func_end sub_80DFB28
-
- thumb_func_start sub_80DFBD8
-sub_80DFBD8: @ 80DFBD8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x36]
- adds r0, r1
- strh r0, [r4, 0x36]
- ldrh r0, [r4, 0x32]
- ldrh r2, [r4, 0x38]
- adds r0, r2
- strh r0, [r4, 0x38]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x24]
- movs r2, 0x38
- ldrsh r0, [r4, r2]
- movs r1, 0xA
- bl __divsi3
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- cmp r0, r1
- ble _080DFC1C
- adds r0, r4, 0
- bl move_anim_8072740
-_080DFC1C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80DFBD8
-
- thumb_func_start sub_80DFC24
-sub_80DFC24: @ 80DFC24
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080DFC58
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080DFC5C
- ldrh r0, [r0]
- strh r0, [r1, 0x8]
- ldr r0, _080DFC60
- ldrb r0, [r0]
- movs r2, 0x10
- strh r2, [r1, 0xA]
- ldr r1, _080DFC64
- strh r2, [r1]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080DFC70
- ldr r1, _080DFC68
- ldr r2, _080DFC6C
- b _080DFC74
- .align 2, 0
-_080DFC58: .4byte gTasks
-_080DFC5C: .4byte gUnknown_03004B00
-_080DFC60: .4byte gUnknown_0202F7C8
-_080DFC64: .4byte REG_BLDALPHA
-_080DFC68: .4byte REG_BLDCNT
-_080DFC6C: .4byte 0x00003f42
-_080DFC70:
- ldr r1, _080DFC8C
- ldr r2, _080DFC90
-_080DFC74:
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080DFC94
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080DFC98
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DFC8C: .4byte REG_BLDCNT
-_080DFC90: .4byte 0x00003f44
-_080DFC94: .4byte gTasks
-_080DFC98: .4byte sub_80DFC9C
- thumb_func_end sub_80DFC24
-
- thumb_func_start sub_80DFC9C
-sub_80DFC9C: @ 80DFC9C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080DFD04
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0xA]
- lsrs r2, r0, 8
- lsls r0, 24
- lsrs r1, r0, 24
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- ldrb r3, [r4, 0x8]
- cmp r0, r3
- bne _080DFD18
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- subs r0, r1, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r2, 8
- orrs r1, r0
- movs r3, 0
- strh r1, [r4, 0xA]
- ldr r0, _080DFD08
- strh r1, [r0]
- strh r3, [r4, 0xC]
- cmp r2, 0x10
- bne _080DFD1E
- ldr r2, _080DFD0C
- ldr r1, _080DFD10
- ldr r0, _080DFD14
- ldrb r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r5, 0
- bl move_anim_task_del
- b _080DFD1E
- .align 2, 0
-_080DFD04: .4byte gTasks
-_080DFD08: .4byte REG_BLDALPHA
-_080DFD0C: .4byte gSprites
-_080DFD10: .4byte gUnknown_02024BE0
-_080DFD14: .4byte gUnknown_0202F7C8
-_080DFD18:
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
-_080DFD1E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80DFC9C
-
- thumb_func_start sub_80DFD24
-sub_80DFD24: @ 80DFD24
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080DFD48
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080DFD4C
- ldrh r0, [r0]
- strh r0, [r1, 0x8]
- movs r2, 0x80
- lsls r2, 5
- strh r2, [r1, 0xA]
- ldr r0, _080DFD50
- str r0, [r1]
- ldr r0, _080DFD54
- strh r2, [r0]
- bx lr
- .align 2, 0
-_080DFD48: .4byte gTasks
-_080DFD4C: .4byte gUnknown_03004B00
-_080DFD50: .4byte sub_80DFD58
-_080DFD54: .4byte REG_BLDALPHA
- thumb_func_end sub_80DFD24
-
- thumb_func_start sub_80DFD58
-sub_80DFD58: @ 80DFD58
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080DFDA8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- ldrh r0, [r2, 0xA]
- lsrs r1, r0, 8
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0xC
- ldrsh r0, [r2, r3]
- ldrb r3, [r2, 0x8]
- cmp r0, r3
- bne _080DFDB4
- subs r0, r1, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r3, 8
- orrs r1, r0
- movs r0, 0
- strh r1, [r2, 0xA]
- ldr r5, _080DFDAC
- strh r1, [r5]
- strh r0, [r2, 0xC]
- cmp r3, 0
- bne _080DFDBA
- ldr r0, _080DFDB0
- strh r3, [r0]
- strh r3, [r5]
- adds r0, r4, 0
- bl move_anim_task_del
- b _080DFDBA
- .align 2, 0
-_080DFDA8: .4byte gTasks
-_080DFDAC: .4byte REG_BLDALPHA
-_080DFDB0: .4byte REG_BLDCNT
-_080DFDB4:
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
-_080DFDBA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80DFD58
-
- thumb_func_start sub_80DFDC0
-sub_80DFDC0: @ 80DFDC0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080DFDE8
- movs r2, 0x80
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080DFDEC
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080DFDF8
- ldr r1, _080DFDF0
- ldr r2, _080DFDF4
- b _080DFDFC
- .align 2, 0
-_080DFDE8: .4byte REG_BLDALPHA
-_080DFDEC: .4byte gUnknown_0202F7C8
-_080DFDF0: .4byte REG_BLDCNT
-_080DFDF4: .4byte 0x00003f42
-_080DFDF8:
- ldr r1, _080DFE0C
- ldr r2, _080DFE10
-_080DFDFC:
- adds r0, r2, 0
- strh r0, [r1]
- adds r0, r4, 0
- bl move_anim_task_del
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080DFE0C: .4byte REG_BLDCNT
-_080DFE10: .4byte 0x00003f44
- thumb_func_end sub_80DFDC0
-
- thumb_func_start sub_80DFE14
-sub_80DFE14: @ 80DFE14
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, _080DFE80
- ldrb r0, [r6]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x30]
- ldr r5, _080DFE84
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r6]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x34]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- movs r0, 0x7E
- strh r0, [r4, 0x2E]
- adds r0, r4, 0
- bl sub_8078A5C
- ldrh r0, [r4, 0x30]
- negs r0, r0
- strh r0, [r4, 0x34]
- ldrh r0, [r4, 0x32]
- negs r0, r0
- strh r0, [r4, 0x36]
- ldr r0, _080DFE88
- strh r0, [r4, 0x3A]
- ldr r1, _080DFE8C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080DFE80: .4byte gUnknown_0202F7C9
-_080DFE84: .4byte gUnknown_0202F7C8
-_080DFE88: .4byte 0x0000ffd8
-_080DFE8C: .4byte sub_80DFE90
- thumb_func_end sub_80DFE14
-
- thumb_func_start sub_80DFE90
-sub_80DFE90: @ 80DFE90
- push {r4-r6,lr}
- adds r4, r0, 0
- ldrh r5, [r4, 0x30]
- ldrh r0, [r4, 0x34]
- adds r2, r5, r0
- strh r2, [r4, 0x34]
- ldrh r3, [r4, 0x32]
- ldrh r6, [r4, 0x36]
- adds r1, r3, r6
- strh r1, [r4, 0x36]
- lsls r0, r2, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- lsls r0, r1, 16
- asrs r0, 24
- strh r0, [r4, 0x26]
- movs r6, 0x3C
- ldrsh r0, [r4, r6]
- cmp r0, 0
- bne _080DFED2
- adds r0, r2, r5
- strh r0, [r4, 0x34]
- adds r1, r3
- strh r1, [r4, 0x36]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r4, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
-_080DFED2:
- movs r1, 0x38
- ldrsh r0, [r4, r1]
- movs r2, 0x3A
- ldrsh r1, [r4, r2]
- bl Sin
- ldrh r6, [r4, 0x26]
- adds r0, r6
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x38]
- adds r0, 0x3
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x38]
- cmp r0, 0x7F
- ble _080DFF02
- movs r0, 0
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x3A]
- adds r0, 0x14
- strh r0, [r4, 0x3A]
- ldrh r0, [r4, 0x3C]
- adds r0, 0x1
- strh r0, [r4, 0x3C]
-_080DFF02:
- ldrh r0, [r4, 0x2E]
- subs r0, 0x1
- strh r0, [r4, 0x2E]
- lsls r0, 16
- cmp r0, 0
- bne _080DFF14
- adds r0, r4, 0
- bl move_anim_8072740
-_080DFF14:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80DFE90
-
- thumb_func_start sub_80DFF1C
-sub_80DFF1C: @ 80DFF1C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080DFF50
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrb r1, [r5, 0x4]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x2E]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x30]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x32]
- ldr r0, _080DFF54
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080DFF50: .4byte gUnknown_03004B00
-_080DFF54: .4byte sub_80DFF58
- thumb_func_end sub_80DFF1C
-
- thumb_func_start sub_80DFF58
-sub_80DFF58: @ 80DFF58
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x36]
- adds r0, r1
- strh r0, [r2, 0x36]
- ldrh r1, [r2, 0x30]
- ldrh r3, [r2, 0x38]
- adds r1, r3
- strh r1, [r2, 0x38]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r2, 0x24]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r2, 0x26]
- ldrh r0, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x32
- ldrsh r1, [r2, r3]
- cmp r0, r1
- bne _080DFF8E
- ldr r0, _080DFF94
- str r0, [r2, 0x1C]
-_080DFF8E:
- pop {r0}
- bx r0
- .align 2, 0
-_080DFF94: .4byte sub_80DFF98
- thumb_func_end sub_80DFF58
-
- thumb_func_start sub_80DFF98
-sub_80DFF98: @ 80DFF98
- push {lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x36]
- ldrh r0, [r3, 0x2E]
- subs r1, r0
- strh r1, [r3, 0x36]
- ldrh r0, [r3, 0x38]
- ldrh r2, [r3, 0x30]
- subs r0, r2
- strh r0, [r3, 0x38]
- lsls r1, 16
- asrs r1, 24
- strh r1, [r3, 0x24]
- lsls r0, 16
- asrs r0, 24
- strh r0, [r3, 0x26]
- ldrh r0, [r3, 0x34]
- subs r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- cmp r0, 0
- bne _080DFFCA
- adds r0, r3, 0
- bl move_anim_8074EE0
-_080DFFCA:
- pop {r0}
- bx r0
- thumb_func_end sub_80DFF98
-
- thumb_func_start sub_80DFFD0
-sub_80DFFD0: @ 80DFFD0
- push {r4-r7,lr}
- adds r4, r0, 0
- ldr r0, _080DFFE4
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r3, r0, 0
- cmp r1, 0
- bne _080DFFEC
- ldr r0, _080DFFE8
- b _080DFFEE
- .align 2, 0
-_080DFFE4: .4byte gUnknown_03004B00
-_080DFFE8: .4byte gUnknown_0202F7C8
-_080DFFEC:
- ldr r0, _080E001C
-_080DFFEE:
- ldrb r5, [r0]
- movs r6, 0x14
- ldrh r2, [r4, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x4
- ldr r7, _080E0020
- adds r0, r7, 0
- ands r1, r0
- ldr r0, _080E0024
- ands r0, r2
- orrs r0, r1
- strh r0, [r4, 0x4]
- movs r1, 0x2
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _080E004C
- cmp r0, 0x1
- bgt _080E0028
- cmp r0, 0
- beq _080E0032
- b _080E00A0
- .align 2, 0
-_080E001C: .4byte gUnknown_0202F7C9
-_080E0020: .4byte 0x000003ff
-_080E0024: .4byte 0xfffffc00
-_080E0028:
- cmp r0, 0x2
- beq _080E0066
- cmp r0, 0x3
- beq _080E007E
- b _080E00A0
-_080E0032:
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0x8
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r4, 0x22]
- b _080E00A0
-_080E004C:
- adds r0, r5, 0
- movs r1, 0x5
- bl sub_807A100
- subs r0, 0xE
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x10
- strh r0, [r4, 0x22]
- b _080E00A0
-_080E0066:
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0x8
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x8
- b _080E0094
-_080E007E:
- adds r0, r5, 0
- movs r1, 0x4
- bl sub_807A100
- adds r0, 0xE
- strh r0, [r4, 0x20]
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_807A100
- adds r0, 0x10
-_080E0094:
- strh r0, [r4, 0x22]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- movs r6, 0xEC
-_080E00A0:
- movs r0, 0x20
- strh r0, [r4, 0x2E]
- lsls r0, r6, 24
- asrs r0, 24
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x32]
- ldrh r0, [r4, 0x22]
- adds r0, 0xC
- strh r0, [r4, 0x36]
- ldr r0, _080E00C8
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80786EC
- ldr r0, _080E00CC
- str r0, [r4, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E00C8: .4byte 0x0000fff4
-_080E00CC: .4byte sub_80E00D0
- thumb_func_end sub_80DFFD0
-
- thumb_func_start sub_80E00D0
-sub_80E00D0: @ 80E00D0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080E00E4
- adds r0, r4, 0
- bl move_anim_8074EE0
-_080E00E4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E00D0
-
- thumb_func_start sub_80E00EC
-sub_80E00EC: @ 80E00EC
- push {r4-r7,lr}
- sub sp, 0x18
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080E0150
- adds r5, r1, r0
- ldr r4, _080E0154
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- movs r6, 0
- strh r0, [r5, 0x16]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- subs r0, 0x7
- strh r0, [r5, 0x14]
- ldrh r1, [r5, 0x16]
- strh r1, [r5, 0x12]
- strh r0, [r5, 0x10]
- subs r1, r0
- lsls r1, 8
- strh r1, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r5, 0x24]
- adds r0, 0x20
- strh r0, [r5, 0x26]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080E015C
- ldr r0, _080E0158
- b _080E015E
- .align 2, 0
-_080E0150: .4byte gTasks
-_080E0154: .4byte gUnknown_0202F7C8
-_080E0158: .4byte 0x0000fff4
-_080E015C:
- ldr r0, _080E01A8
-_080E015E:
- strh r0, [r5, 0x18]
- ldr r0, _080E01AC
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- cmp r0, 0x1
- bne _080E01C4
- add r4, sp, 0xC
- adds r0, r4, 0
- bl sub_8078914
- ldr r0, _080E01B0
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- ldr r1, _080E01B4
- ldr r2, _080E01B8
- adds r0, r2, 0
- strh r0, [r1]
- ldrb r1, [r4, 0x8]
- lsls r1, 4
- movs r0, 0
- movs r2, 0x20
- bl FillPalette
- ldr r0, _080E01BC
- str r0, [sp]
- movs r7, 0x2
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E01F4
- ldr r1, _080E01C0
- b _080E01EE
- .align 2, 0
-_080E01A8: .4byte 0x0000ffc0
-_080E01AC: .4byte gUnknown_0202F7C8
-_080E01B0: .4byte gUnknown_030041B4
-_080E01B4: .4byte REG_BLDCNT
-_080E01B8: .4byte 0x00003f42
-_080E01BC: .4byte REG_BG1VOFS
-_080E01C0: .4byte gUnknown_03004288
-_080E01C4:
- ldr r0, _080E0278
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- ldr r1, _080E027C
- ldr r2, _080E0280
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- movs r1, 0x90
- movs r2, 0x20
- bl FillPalette
- ldr r0, _080E0284
- str r0, [sp]
- movs r7, 0x4
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E01F4
- ldr r1, _080E0288
-_080E01EE:
- ldrh r0, [r1]
- adds r0, 0xF0
- strh r0, [r1]
-_080E01F4:
- ldr r0, _080E028C
- str r0, [sp, 0x4]
- mov r2, sp
- movs r1, 0
- movs r0, 0x1
- strb r0, [r2, 0x8]
- mov r0, sp
- strb r1, [r0, 0x9]
- strh r1, [r5, 0x1E]
- movs r0, 0x10
- strh r0, [r5, 0x20]
- strh r1, [r5, 0x8]
- strh r1, [r5, 0xA]
- strh r1, [r5, 0xC]
- movs r0, 0x3
- bl sub_80E08CC
- movs r3, 0
- ldr r4, _080E0290
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r4, r0
-_080E0220:
- lsls r1, r3, 1
- adds r2, r1, r4
- ldrh r0, [r5, 0x1C]
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r5, 0x1C]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x6F
- bls _080E0220
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl sub_80895F8
- ldr r1, _080E0294
- movs r0, 0x3F
- eors r7, r0
- movs r2, 0xFC
- lsls r2, 6
- adds r0, r2, 0
- orrs r7, r0
- strh r7, [r1]
- subs r1, 0x2
- adds r2, 0x3F
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _080E0298
- ldrh r0, [r5, 0x24]
- lsls r0, 8
- ldrh r1, [r5, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080E029C
- movs r0, 0xA0
- strh r0, [r1]
- ldr r0, _080E02A0
- str r0, [r5]
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0278: .4byte gUnknown_03004280
-_080E027C: .4byte REG_BLDCNT
-_080E0280: .4byte 0x00003f44
-_080E0284: .4byte REG_BG2VOFS
-_080E0288: .4byte gUnknown_030042C0
-_080E028C: .4byte 0xa2600001
-_080E0290: .4byte gUnknown_03004DE0
-_080E0294: .4byte REG_WINOUT
-_080E0298: .4byte gUnknown_030042C4
-_080E029C: .4byte gUnknown_03004240
-_080E02A0: .4byte sub_80E02A4
- thumb_func_end sub_80E00EC
-
- thumb_func_start sub_80E02A4
-sub_80E02A4: @ 80E02A4
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080E02C8
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080E02BE
- b _080E03B6
-_080E02BE:
- lsls r0, 2
- ldr r1, _080E02CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E02C8: .4byte gTasks
-_080E02CC: .4byte _080E02D0
- .align 2, 0
-_080E02D0:
- .4byte _080E02E4
- .4byte _080E0344
- .4byte _080E035E
- .4byte _080E039C
- .4byte _080E03B0
-_080E02E4:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080E03B6
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E0314
- ldrh r1, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- cmp r0, 0xC
- beq _080E0322
- adds r0, r1, 0x1
- strh r0, [r4, 0x1E]
- b _080E0322
-_080E0314:
- ldrh r1, [r4, 0x20]
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- beq _080E0322
- subs r0, r1, 0x1
- strh r0, [r4, 0x20]
-_080E0322:
- ldr r2, _080E0340
- ldrh r0, [r4, 0x20]
- lsls r0, 8
- ldrh r1, [r4, 0x1E]
- orrs r0, r1
- strh r0, [r2]
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0xC
- bne _080E03B6
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x8
- bne _080E03B6
- b _080E03A2
- .align 2, 0
-_080E0340: .4byte REG_BLDALPHA
-_080E0344:
- ldrh r0, [r4, 0x10]
- subs r0, 0x8
- strh r0, [r4, 0x10]
- adds r0, r4, 0
- bl sub_80E079C
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r2, 0x18
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bge _080E03B6
- b _080E03A2
-_080E035E:
- ldrh r0, [r4, 0x10]
- subs r0, 0x8
- strh r0, [r4, 0x10]
- adds r0, r4, 0
- bl sub_80E079C
- ldrh r1, [r4, 0x24]
- adds r1, 0x4
- strh r1, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- subs r2, r0, 0x4
- strh r2, [r4, 0x26]
- lsls r1, 16
- lsls r0, r2, 16
- cmp r1, r0
- blt _080E0380
- strh r2, [r4, 0x24]
-_080E0380:
- ldr r3, _080E0398
- ldrh r2, [r4, 0x24]
- lsls r0, r2, 8
- ldrh r1, [r4, 0x26]
- orrs r0, r1
- strh r0, [r3]
- lsls r2, 16
- lsls r1, 16
- cmp r2, r1
- bne _080E03B6
- b _080E03A2
- .align 2, 0
-_080E0398: .4byte gUnknown_030042C4
-_080E039C:
- ldr r1, _080E03AC
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080E03A2:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E03B6
- .align 2, 0
-_080E03AC: .4byte gUnknown_03004DC0
-_080E03B0:
- adds r0, r2, 0
- bl move_anim_task_del
-_080E03B6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E02A4
-
- thumb_func_start sub_80E03BC
-sub_80E03BC: @ 80E03BC
- push {r4-r7,lr}
- sub sp, 0x18
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080E03E4
- adds r5, r0, r1
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x4
- bls _080E03D8
- b _080E05F2
-_080E03D8:
- lsls r0, 2
- ldr r1, _080E03E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E03E4: .4byte gTasks
-_080E03E8: .4byte _080E03EC
- .align 2, 0
-_080E03EC:
- .4byte _080E0400
- .4byte _080E048C
- .4byte _080E04D0
- .4byte _080E053C
- .4byte _080E05A4
-_080E0400:
- bl sub_8076BE0
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E043C
- ldr r0, _080E042C
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080E0430
- strh r1, [r0]
- ldr r0, _080E0434
- ldr r2, _080E0438
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, r4, 0
- bl move_anim_task_del
- b _080E05F2
- .align 2, 0
-_080E042C: .4byte gUnknown_030042C4
-_080E0430: .4byte gUnknown_03004240
-_080E0434: .4byte REG_WININ
-_080E0438: .4byte 0x00003f3f
-_080E043C:
- ldr r0, _080E045C
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0xE]
- cmp r0, 0x1
- bne _080E046C
- ldr r1, _080E0460
- ldr r2, _080E0464
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080E0468
- b _080E0476
- .align 2, 0
-_080E045C: .4byte gUnknown_0202F7C9
-_080E0460: .4byte REG_BLDCNT
-_080E0464: .4byte 0x00003f42
-_080E0468: .4byte gUnknown_03004288
-_080E046C:
- ldr r1, _080E0480
- ldr r2, _080E0484
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080E0488
-_080E0476:
- ldrh r0, [r1]
- adds r0, 0xF0
- strh r0, [r1]
- b _080E0590
- .align 2, 0
-_080E0480: .4byte REG_BLDCNT
-_080E0484: .4byte 0x00003f44
-_080E0488: .4byte gUnknown_030042C0
-_080E048C:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080E04B4
- mov r0, sp
- bl sub_8078914
- ldr r0, _080E04B0
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- mov r0, sp
- ldrb r1, [r0, 0x8]
- lsls r1, 4
- movs r0, 0
- movs r2, 0x20
- bl FillPalette
- b _080E04C4
- .align 2, 0
-_080E04B0: .4byte gUnknown_030041B4
-_080E04B4:
- ldr r0, _080E04CC
- ldrh r0, [r0]
- strh r0, [r5, 0x1C]
- movs r0, 0
- movs r1, 0x90
- movs r2, 0x20
- bl FillPalette
-_080E04C4:
- movs r0, 0x3
- bl sub_80E08CC
- b _080E0590
- .align 2, 0
-_080E04CC: .4byte gUnknown_03004280
-_080E04D0:
- ldr r4, _080E051C
- ldrb r0, [r4]
- movs r1, 0x1
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1F
- movs r6, 0
- strh r0, [r5, 0x16]
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_807A100
- subs r0, 0x7
- strh r0, [r5, 0x14]
- ldrh r1, [r5, 0x16]
- subs r1, r0
- lsls r1, 8
- strh r1, [r5, 0x22]
- ldrb r0, [r4]
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- subs r1, r0, 0x4
- strh r1, [r5, 0x24]
- adds r0, 0x4
- strh r0, [r5, 0x26]
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _080E0524
- ldr r0, _080E0520
- b _080E0526
- .align 2, 0
-_080E051C: .4byte gUnknown_0202F7C9
-_080E0520: .4byte 0x0000fff4
-_080E0524:
- ldr r0, _080E0538
-_080E0526:
- strh r0, [r5, 0x18]
- ldrh r0, [r5, 0x18]
- strh r0, [r5, 0x10]
- strh r0, [r5, 0x12]
- movs r0, 0xC
- strh r0, [r5, 0x1E]
- movs r0, 0x8
- strh r0, [r5, 0x20]
- b _080E0590
- .align 2, 0
-_080E0538: .4byte 0x0000ffc0
-_080E053C:
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- cmp r0, 0x1
- bne _080E054C
- ldr r0, _080E0548
- b _080E054E
- .align 2, 0
-_080E0548: .4byte REG_BG1VOFS
-_080E054C:
- ldr r0, _080E0598
-_080E054E:
- str r0, [sp, 0xC]
- movs r3, 0
- add r4, sp, 0xC
- ldr r6, _080E059C
- movs r0, 0xF0
- lsls r0, 3
- adds r7, r6, r0
-_080E055C:
- lsls r1, r3, 1
- adds r2, r1, r6
- ldrh r0, [r5, 0x1C]
- adds r0, 0x9F
- subs r0, r3
- strh r0, [r2]
- adds r1, r7
- ldrh r0, [r5, 0x1C]
- adds r0, 0x9F
- subs r0, r3
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x6F
- bls _080E055C
- ldr r1, _080E05A0
- str r1, [r4, 0x4]
- movs r2, 0
- movs r0, 0x1
- strb r0, [r4, 0x8]
- strb r2, [r4, 0x9]
- ldr r0, [sp, 0xC]
- ldr r2, [r4, 0x8]
- bl sub_80895F8
-_080E0590:
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
- b _080E05F2
- .align 2, 0
-_080E0598: .4byte REG_BG2VOFS
-_080E059C: .4byte gUnknown_03004DE0
-_080E05A0: .4byte 0xa2600001
-_080E05A4:
- movs r1, 0xE
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _080E05BC
- ldr r1, _080E05B4
- ldr r2, _080E05B8
- b _080E05C0
- .align 2, 0
-_080E05B4: .4byte REG_WINOUT
-_080E05B8: .4byte 0x00003f3d
-_080E05BC:
- ldr r1, _080E05FC
- ldr r2, _080E0600
-_080E05C0:
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080E0604
- ldr r2, _080E0608
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _080E060C
- ldrh r0, [r5, 0x24]
- lsls r0, 8
- ldrh r1, [r5, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080E0610
- movs r0, 0xA0
- strh r0, [r1]
- movs r0, 0
- strh r0, [r5, 0x8]
- strh r0, [r5, 0xA]
- strh r0, [r5, 0xC]
- ldr r1, _080E0614
- ldr r2, _080E0618
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080E061C
- str r0, [r5]
-_080E05F2:
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E05FC: .4byte REG_WINOUT
-_080E0600: .4byte 0x00003f3b
-_080E0604: .4byte REG_WININ
-_080E0608: .4byte 0x00003f3f
-_080E060C: .4byte gUnknown_030042C4
-_080E0610: .4byte gUnknown_03004240
-_080E0614: .4byte REG_BLDALPHA
-_080E0618: .4byte 0x0000080c
-_080E061C: .4byte sub_80E0620
- thumb_func_end sub_80E03BC
-
- thumb_func_start sub_80E0620
-sub_80E0620: @ 80E0620
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080E0644
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080E063A
- b _080E0784
-_080E063A:
- lsls r0, 2
- ldr r1, _080E0648
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E0644: .4byte gTasks
-_080E0648: .4byte _080E064C
- .align 2, 0
-_080E064C:
- .4byte _080E0660
- .4byte _080E068C
- .4byte _080E06F4
- .4byte _080E0754
- .4byte _080E0768
-_080E0660:
- ldrh r0, [r4, 0x12]
- adds r0, 0x8
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r4, 0x16]
- movs r3, 0x16
- ldrsh r1, [r4, r3]
- cmp r0, r1
- blt _080E0676
- strh r2, [r4, 0x12]
-_080E0676:
- adds r0, r4, 0
- bl sub_80E079C
- movs r0, 0x12
- ldrsh r1, [r4, r0]
- movs r2, 0x16
- ldrsh r0, [r4, r2]
- cmp r1, r0
- beq _080E068A
- b _080E0784
-_080E068A:
- b _080E075A
-_080E068C:
- movs r3, 0x26
- ldrsh r0, [r4, r3]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- subs r0, r1
- cmp r0, 0x3F
- bgt _080E06A8
- ldrh r0, [r4, 0x24]
- subs r0, 0x4
- strh r0, [r4, 0x24]
- ldrh r0, [r4, 0x26]
- adds r0, 0x4
- strh r0, [r4, 0x26]
- b _080E06AC
-_080E06A8:
- movs r0, 0x1
- strh r0, [r4, 0xA]
-_080E06AC:
- ldr r2, _080E06F0
- ldrh r0, [r4, 0x24]
- lsls r0, 8
- ldrh r1, [r4, 0x26]
- orrs r0, r1
- strh r0, [r2]
- ldrh r0, [r4, 0x10]
- adds r0, 0x8
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- ldrh r2, [r4, 0x14]
- movs r3, 0x14
- ldrsh r1, [r4, r3]
- cmp r0, r1
- blt _080E06CE
- strh r2, [r4, 0x10]
-_080E06CE:
- adds r0, r4, 0
- bl sub_80E079C
- movs r0, 0x10
- ldrsh r1, [r4, r0]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080E0784
- movs r3, 0xA
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _080E0784
- movs r0, 0
- strh r0, [r4, 0xA]
- b _080E075A
- .align 2, 0
-_080E06F0: .4byte gUnknown_030042C4
-_080E06F4:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080E0784
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E0724
- ldrh r1, [r4, 0x1E]
- movs r2, 0x1E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080E0732
- subs r0, r1, 0x1
- strh r0, [r4, 0x1E]
- b _080E0732
-_080E0724:
- ldrh r1, [r4, 0x20]
- movs r3, 0x20
- ldrsh r0, [r4, r3]
- cmp r0, 0xF
- bgt _080E0732
- adds r0, r1, 0x1
- strh r0, [r4, 0x20]
-_080E0732:
- ldr r2, _080E0750
- ldrh r0, [r4, 0x20]
- lsls r0, 8
- ldrh r1, [r4, 0x1E]
- orrs r0, r1
- strh r0, [r2]
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080E0784
- movs r2, 0x20
- ldrsh r0, [r4, r2]
- cmp r0, 0x10
- bne _080E0784
- b _080E075A
- .align 2, 0
-_080E0750: .4byte REG_BLDALPHA
-_080E0754:
- ldr r1, _080E0764
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080E075A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E0784
- .align 2, 0
-_080E0764: .4byte gUnknown_03004DC0
-_080E0768:
- ldr r0, _080E078C
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080E0790
- strh r1, [r0]
- ldr r0, _080E0794
- ldr r3, _080E0798
- adds r1, r3, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, r2, 0
- bl move_anim_task_del
-_080E0784:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E078C: .4byte gUnknown_030042C4
-_080E0790: .4byte gUnknown_03004240
-_080E0794: .4byte REG_WININ
-_080E0798: .4byte 0x00003f3f
- thumb_func_end sub_80E0620
-
- thumb_func_start sub_80E079C
-sub_80E079C: @ 80E079C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- ldrh r0, [r6, 0x12]
- ldrh r4, [r6, 0x10]
- subs r0, r4
- lsls r0, 16
- asrs r1, r0, 16
- cmp r1, 0
- beq _080E0890
- movs r2, 0x22
- ldrsh r0, [r6, r2]
- bl __divsi3
- mov r8, r0
- movs r3, 0x14
- ldrsh r0, [r6, r3]
- lsls r5, r0, 8
- lsls r0, r4, 16
- movs r4, 0
- cmp r0, 0
- ble _080E07FC
- ldr r0, _080E0888
- mov r12, r0
- ldr r7, _080E088C
-_080E07D0:
- lsls r2, r4, 16
- asrs r2, 16
- lsls r3, r2, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r3, r0
- add r3, r12
- adds r1, r2, 0
- subs r1, 0x9F
- ldrh r0, [r6, 0x1C]
- subs r0, r1
- strh r0, [r3]
- adds r2, 0x1
- lsls r2, 16
- lsrs r4, r2, 16
- asrs r2, 16
- movs r1, 0x10
- ldrsh r0, [r6, r1]
- cmp r2, r0
- blt _080E07D0
-_080E07FC:
- ldrh r4, [r6, 0x10]
- lsls r3, r4, 16
- asrs r1, r3, 16
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- cmp r1, r0
- bgt _080E0846
- ldr r0, _080E0888
- mov r12, r0
- ldr r7, _080E088C
-_080E0810:
- asrs r4, r3, 16
- cmp r4, 0
- blt _080E0832
- asrs r1, r5, 8
- subs r1, r4
- lsls r3, r4, 1
- ldrb r2, [r7, 0x14]
- lsls r0, r2, 4
- subs r0, r2
- lsls r0, 7
- adds r3, r0
- add r3, r12
- lsls r1, 16
- asrs r1, 16
- ldrh r2, [r6, 0x1C]
- adds r1, r2
- strh r1, [r3]
-_080E0832:
- add r5, r8
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r3, r4, 16
- asrs r1, r3, 16
- movs r2, 0x12
- ldrsh r0, [r6, r2]
- cmp r1, r0
- ble _080E0810
-_080E0846:
- movs r3, 0x1C
- ldrsh r0, [r6, r3]
- adds r0, 0x9F
- lsls r2, r4, 16
- asrs r1, r2, 16
- subs r5, r0, r1
- movs r3, 0x16
- ldrsh r0, [r6, r3]
- cmp r1, r0
- bge _080E08BE
- ldr r7, _080E0888
- ldr r4, _080E088C
-_080E085E:
- asrs r3, r2, 16
- cmp r3, 0
- blt _080E0876
- lsls r2, r3, 1
- ldrb r1, [r4, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- strh r5, [r2]
- subs r5, 0x1
-_080E0876:
- adds r0, r3, 0x1
- lsls r2, r0, 16
- asrs r1, r2, 16
- movs r3, 0x16
- ldrsh r0, [r6, r3]
- cmp r1, r0
- blt _080E085E
- b _080E08BE
- .align 2, 0
-_080E0888: .4byte gUnknown_03004DE0
-_080E088C: .4byte gUnknown_03004DC0
-_080E0890:
- movs r1, 0x1C
- ldrsh r0, [r6, r1]
- adds r5, r0, 0
- adds r5, 0x9F
- movs r4, 0
- ldr r3, _080E08C8
- movs r2, 0xF0
- lsls r2, 3
- adds r6, r3, r2
-_080E08A2:
- lsls r0, r4, 16
- asrs r0, 16
- lsls r2, r0, 1
- adds r1, r2, r3
- strh r5, [r1]
- adds r2, r6
- strh r5, [r2]
- subs r5, 0x1
- adds r0, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x6F
- ble _080E08A2
-_080E08BE:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E08C8: .4byte gUnknown_03004DE0
- thumb_func_end sub_80E079C
-
- thumb_func_start sub_80E08CC
-sub_80E08CC: @ 80E08CC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r4, 0
- ldr r7, _080E0914
- movs r1, 0x3
- ands r0, r1
- lsls r5, r0, 2
- movs r0, 0xD
- negs r0, r0
- adds r6, r0, 0
-_080E08E2:
- lsls r0, r4, 24
- lsrs r0, 24
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _080E0902
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r7
- ldrb r0, [r1, 0x5]
- ands r0, r6
- orrs r0, r5
- strb r0, [r1, 0x5]
-_080E0902:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080E08E2
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0914: .4byte gSprites
- thumb_func_end sub_80E08CC
-
- thumb_func_start sub_80E0918
-sub_80E0918: @ 80E0918
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r6, _080E09B8
- ldrb r0, [r6]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r4, r1, 31
- ldrb r0, [r6]
- adds r1, r4, 0
- bl sub_8076034
- ldr r0, _080E09BC
- mov r9, r0
- ldr r0, _080E09C0
- mov r8, r0
- ldrb r0, [r6]
- add r0, r8
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r7, 0x5
- negs r7, r7
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1]
- ldrb r0, [r6]
- movs r5, 0x2
- eors r0, r5
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080E09A2
- ldrb r0, [r6]
- eors r0, r5
- movs r1, 0x1
- eors r4, r1
- adds r1, r4, 0
- bl sub_8076034
- ldrb r0, [r6]
- eors r0, r5
- add r0, r8
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r9
- adds r0, 0x3E
- ldrb r2, [r0]
- adds r1, r7, 0
- ands r1, r2
- strb r1, [r0]
-_080E09A2:
- mov r0, r10
- bl move_anim_task_del
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E09B8: .4byte gUnknown_0202F7C8
-_080E09BC: .4byte gSprites
-_080E09C0: .4byte gUnknown_02024BE0
- thumb_func_end sub_80E0918
-
- thumb_func_start sub_80E09C4
-sub_80E09C4: @ 80E09C4
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, _080E0A0C
- ldrb r0, [r4]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x1
- eors r0, r1
- negs r1, r0
- orrs r1, r0
- lsrs r5, r1, 31
- adds r0, r5, 0
- bl sub_8076464
- ldrb r1, [r4]
- movs r0, 0x2
- eors r0, r1
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080E0A00
- movs r0, 0x1
- eors r5, r0
- adds r0, r5, 0
- bl sub_8076464
-_080E0A00:
- adds r0, r6, 0
- bl move_anim_task_del
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0A0C: .4byte gUnknown_0202F7C8
- thumb_func_end sub_80E09C4
-
- thumb_func_start sub_80E0A10
-sub_80E0A10: @ 80E0A10
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _080E0A40
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r2, [r4, 0x22]
- adds r0, r2
- strh r0, [r4, 0x22]
- ldrb r1, [r1, 0x4]
- adds r0, r4, 0
- bl StartSpriteAnim
- ldr r0, _080E0A44
- str r0, [r4, 0x1C]
- ldr r1, _080E0A48
- adds r0, r4, 0
- bl oamt_set_x3A_32
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0A40: .4byte gUnknown_03004B00
-_080E0A44: .4byte sub_8078600
-_080E0A48: .4byte move_anim_8072740
- thumb_func_end sub_80E0A10
-
- thumb_func_start sub_80E0A4C
-sub_80E0A4C: @ 80E0A4C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r7, 0
- ldr r0, _080E0B50
- strh r7, [r0]
- ldr r0, _080E0B54
- strh r7, [r0]
- ldr r1, _080E0B58
- ldr r2, _080E0B5C
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080E0B60
- adds r0, r3, 0
- strh r0, [r1]
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080E0B64
- ldr r2, _080E0B68
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080E0B6C
- adds r0, r3, 0
- strh r0, [r1]
- ldr r5, _080E0B70
- ldrb r1, [r5]
- movs r0, 0x4
- negs r0, r0
- mov r8, r0
- ands r0, r1
- strb r0, [r5]
- ldrb r1, [r5, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r5, 0x1]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E0AC4
- ldrb r0, [r5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r5]
-_080E0AC4:
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _080E0B40
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E0B40
- ldr r4, _080E0B74
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080E0AF4
- ldrb r0, [r4]
- bl battle_get_per_side_status
- lsls r0, 24
- cmp r0, 0
- bne _080E0B40
-_080E0AF4:
- ldrb r0, [r4]
- movs r6, 0x2
- eors r0, r6
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E0B40
- ldr r3, _080E0B78
- ldr r1, _080E0B7C
- ldrb r0, [r4]
- eors r0, r6
- adds r0, r1
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldrb r1, [r5]
- mov r0, r8
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r5]
- movs r7, 0x1
-_080E0B40:
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080E0B84
- ldr r0, _080E0B80
- ldrh r5, [r0]
- b _080E0BCC
- .align 2, 0
-_080E0B50: .4byte gUnknown_030042C4
-_080E0B54: .4byte gUnknown_03004240
-_080E0B58: .4byte REG_WININ
-_080E0B5C: .4byte 0x00003f3f
-_080E0B60: .4byte 0x00003f3d
-_080E0B64: .4byte REG_BLDCNT
-_080E0B68: .4byte 0x00003f42
-_080E0B6C: .4byte 0x00000c08
-_080E0B70: .4byte REG_BG1CNT
-_080E0B74: .4byte gUnknown_0202F7C8
-_080E0B78: .4byte gSprites
-_080E0B7C: .4byte gUnknown_02024BE0
-_080E0B80: .4byte 0x02019348
-_080E0B84:
- ldr r4, _080E0BA4
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080E0BB0
- ldr r1, _080E0BA8
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E0BAC
- b _080E0BC0
- .align 2, 0
-_080E0BA4: .4byte gUnknown_0202F7C8
-_080E0BA8: .4byte gUnknown_02024A6A
-_080E0BAC: .4byte gEnemyParty
-_080E0BB0:
- ldr r1, _080E0C58
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E0C5C
-_080E0BC0:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
-_080E0BCC:
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080E0C60
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r2, r5, 0
- bl sub_807A4A0
- lsls r0, 24
- lsrs r5, r0, 24
- mov r0, sp
- bl sub_8078914
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r2, _080E0C64
- add r0, sp, 0xC
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _080E0C68
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, _080E0C6C
- bl LZDecompressVram
- ldr r0, _080E0C70
- ldr r1, [sp]
- bl LZDecompressVram
- ldr r0, _080E0C74
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r2, _080E0C78
- ldr r0, _080E0C7C
- lsls r1, r4, 4
- adds r1, r4
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- negs r0, r0
- adds r0, 0x60
- strh r0, [r2]
- ldr r2, _080E0C80
- ldrh r0, [r1, 0x22]
- negs r0, r0
- adds r0, 0x20
- strh r0, [r2]
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- adds r1, r0, 0
- ldr r2, _080E0C84
- movs r3, 0x2
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080E0C88
- adds r0, r1, 0
- movs r1, 0
- bl sub_8079108
- b _080E0C94
- .align 2, 0
-_080E0C58: .4byte gUnknown_02024A6A
-_080E0C5C: .4byte gPlayerParty
-_080E0C60: .4byte gUnknown_0202F7C8
-_080E0C64: .4byte 0x040000d4
-_080E0C68: .4byte 0x85000400
-_080E0C6C: .4byte gUnknown_08D1D574
-_080E0C70: .4byte gUnknown_08D1D410
-_080E0C74: .4byte gUnknown_08D1D54C
-_080E0C78: .4byte gUnknown_030042C0
-_080E0C7C: .4byte gSprites
-_080E0C80: .4byte gUnknown_030041B4
-_080E0C84: .4byte gUnknown_03004B00
-_080E0C88:
- lsls r0, r1, 4
- ldrh r3, [r2, 0x4]
- movs r1, 0x10
- movs r2, 0xB
- bl BlendPalette
-_080E0C94:
- ldr r1, _080E0CC4
- mov r2, r9
- lsls r0, r2, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0x8]
- ldr r2, _080E0CC8
- ldrh r1, [r2]
- strh r1, [r0, 0xA]
- ldrh r1, [r2, 0x2]
- strh r1, [r0, 0xC]
- ldrh r1, [r2, 0x4]
- strh r1, [r0, 0xE]
- strh r7, [r0, 0x14]
- ldr r1, _080E0CCC
- str r1, [r0]
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0CC4: .4byte gTasks
-_080E0CC8: .4byte gUnknown_03004B00
-_080E0CCC: .4byte sub_80E0CD0
- thumb_func_end sub_80E0A4C
-
- thumb_func_start sub_80E0CD0
-sub_80E0CD0: @ 80E0CD0
- push {r4-r7,lr}
- sub sp, 0x10
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r1, _080E0DF0
- lsls r0, r7, 2
- adds r0, r7
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r0, 0x4
- movs r5, 0
- strh r0, [r4, 0x1C]
- ldr r2, _080E0DF4
- ldrh r3, [r2]
- subs r1, r3, 0x4
- strh r1, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x80
- bne _080E0DE8
- strh r5, [r4, 0x1C]
- adds r0, r3, 0
- adds r0, 0x7C
- strh r0, [r2]
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- bne _080E0DE8
- movs r0, 0
- bl sub_8076464
- ldr r0, _080E0DF8
- strh r5, [r0]
- ldr r0, _080E0DFC
- strh r5, [r0]
- ldr r0, _080E0E00
- ldr r2, _080E0E04
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E0D40
- ldr r2, _080E0E08
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080E0D40:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- eors r0, r1
- strh r0, [r2]
- ldr r0, _080E0E0C
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- ldr r6, _080E0E10
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- adds r1, r0, 0
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _080E0D84
- adds r0, r1, 0
- movs r1, 0x1
- bl sub_8079108
-_080E0D84:
- movs r3, 0x8
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- mov r0, sp
- bl sub_8078914
- ldr r2, [sp, 0x4]
- str r5, [sp, 0xC]
- ldr r1, _080E0E14
- add r0, sp, 0xC
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _080E0E18
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080E0DE2
- ldr r2, _080E0E1C
- ldr r0, _080E0E20
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- adds r0, r2
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
-_080E0DE2:
- adds r0, r7, 0
- bl move_anim_task_del
-_080E0DE8:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0DF0: .4byte gTasks
-_080E0DF4: .4byte gUnknown_030042C0
-_080E0DF8: .4byte gUnknown_030042C4
-_080E0DFC: .4byte gUnknown_03004240
-_080E0E00: .4byte REG_WININ
-_080E0E04: .4byte 0x00003f3f
-_080E0E08: .4byte REG_BG1CNT
-_080E0E0C: .4byte REG_BLDCNT
-_080E0E10: .4byte gSprites
-_080E0E14: .4byte 0x040000d4
-_080E0E18: .4byte 0x85000200
-_080E0E1C: .4byte gUnknown_02024BE0
-_080E0E20: .4byte gUnknown_0202F7C8
- thumb_func_end sub_80E0CD0
-
- thumb_func_start sub_80E0E24
-sub_80E0E24: @ 80E0E24
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _080E0E44
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r2, r0, 0
- cmp r1, 0x7
- bhi _080E0E88
- lsls r0, r1, 2
- ldr r1, _080E0E48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E0E44: .4byte gUnknown_03004B00
-_080E0E48: .4byte _080E0E4C
- .align 2, 0
-_080E0E4C:
- .4byte _080E0E6C
- .4byte _080E0E6C
- .4byte _080E0E6C
- .4byte _080E0E6C
- .4byte _080E0E78
- .4byte _080E0E7C
- .4byte _080E0E80
- .4byte _080E0E84
-_080E0E6C:
- ldrb r0, [r2]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r2, r0, 24
- b _080E0E8A
-_080E0E78:
- movs r4, 0
- b _080E0E90
-_080E0E7C:
- movs r4, 0x2
- b _080E0E90
-_080E0E80:
- movs r4, 0x1
- b _080E0E90
-_080E0E84:
- movs r4, 0x3
- b _080E0E90
-_080E0E88:
- movs r2, 0xFF
-_080E0E8A:
- movs r0, 0
- cmp r0, 0
- beq _080E0EB6
-_080E0E90:
- adds r0, r4, 0
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080E0EB4
- ldr r0, _080E0EB0
- adds r0, r4, r0
- ldrb r2, [r0]
- b _080E0EB6
- .align 2, 0
-_080E0EB0: .4byte gUnknown_02024BE0
-_080E0EB4:
- movs r2, 0xFF
-_080E0EB6:
- cmp r2, 0xFF
- beq _080E0ED2
- ldr r1, _080E0EE0
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x5]
- lsrs r0, 4
- adds r0, 0x10
- ldr r1, _080E0EE4
- ldrb r1, [r1, 0x2]
- bl sub_8079108
-_080E0ED2:
- adds r0, r5, 0
- bl move_anim_task_del
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0EE0: .4byte gSprites
-_080E0EE4: .4byte gUnknown_03004B00
- thumb_func_end sub_80E0E24
-
- thumb_func_start sub_80E0EE8
-sub_80E0EE8: @ 80E0EE8
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080E0F14
- ldrb r0, [r2]
- cmp r0, 0x1
- bhi _080E0EFC
- ldr r1, _080E0F18
- movs r0, 0
- strh r0, [r1, 0xE]
-_080E0EFC:
- ldrb r0, [r2]
- cmp r0, 0x2
- bne _080E0F08
- ldr r1, _080E0F18
- movs r0, 0x1
- strh r0, [r1, 0xE]
-_080E0F08:
- adds r0, r3, 0
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_080E0F14: .4byte gUnknown_0202F7C4
-_080E0F18: .4byte gUnknown_03004B00
- thumb_func_end sub_80E0EE8
-
- thumb_func_start sub_80E0F1C
-sub_80E0F1C: @ 80E0F1C
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080E0F74
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x20]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x22]
- movs r0, 0x14
- strh r0, [r4, 0x2E]
- ldr r5, _080E0F78
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x36]
- ldr r0, _080E0F7C
- strh r0, [r4, 0x38]
- adds r0, r4, 0
- bl sub_80786EC
- ldr r0, _080E0F80
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0F74: .4byte gUnknown_0202F7C8
-_080E0F78: .4byte gUnknown_0202F7C9
-_080E0F7C: .4byte 0x0000ffd8
-_080E0F80: .4byte sub_80E0F84
- thumb_func_end sub_80E0F1C
-
- thumb_func_start sub_80E0F84
-sub_80E0F84: @ 80E0F84
- push {r4,r5,lr}
- adds r5, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080E0FD8
- ldrh r0, [r5, 0x24]
- ldrh r1, [r5, 0x20]
- adds r0, r1
- movs r1, 0
- strh r0, [r5, 0x20]
- ldrh r0, [r5, 0x26]
- ldrh r2, [r5, 0x22]
- adds r0, r2
- strh r0, [r5, 0x22]
- strh r1, [r5, 0x26]
- strh r1, [r5, 0x24]
- movs r0, 0x14
- strh r0, [r5, 0x2E]
- ldr r4, _080E0FE0
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x32]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5, 0x36]
- movs r0, 0x28
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl sub_80786EC
- ldr r0, _080E0FE4
- str r0, [r5, 0x1C]
-_080E0FD8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E0FE0: .4byte gUnknown_0202F7C8
-_080E0FE4: .4byte sub_80E0FE8
- thumb_func_end sub_80E0F84
-
- thumb_func_start sub_80E0FE8
-sub_80E0FE8: @ 80E0FE8
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080E0FFC
- adds r0, r4, 0
- bl move_anim_8072740
-_080E0FFC:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E0FE8
-
- thumb_func_start sub_80E1004
-sub_80E1004: @ 80E1004
- push {r4-r6,lr}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_8078764
- ldr r0, _080E1064
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080E1024
- ldr r1, _080E1068
- ldrh r0, [r1, 0x4]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080E1024:
- ldr r4, _080E1068
- ldrh r0, [r4, 0x8]
- strh r0, [r6, 0x2E]
- ldr r5, _080E106C
- ldrb r0, [r5]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r1, [r4, 0x4]
- adds r0, r1
- strh r0, [r6, 0x32]
- ldrb r0, [r5]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r4, [r4, 0x6]
- adds r0, r4
- strh r0, [r6, 0x36]
- ldr r0, _080E1070
- str r0, [r6, 0x1C]
- ldr r1, _080E1074
- adds r0, r6, 0
- bl oamt_set_x3A_32
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1064: .4byte gUnknown_0202F7C8
-_080E1068: .4byte gUnknown_03004B00
-_080E106C: .4byte gUnknown_0202F7C9
-_080E1070: .4byte sub_8078B34
-_080E1074: .4byte move_anim_8072740
- thumb_func_end sub_80E1004
-
- thumb_func_start sub_80E1078
-sub_80E1078: @ 80E1078
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r0, 0
- movs r1, 0x1
- bl sub_80787B0
- ldr r4, _080E10F8
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077EE4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077EE4
- lsls r0, 24
- lsrs r7, r0, 24
- bl Random
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- bl Random
- ands r4, r0
- adds r1, r5, 0
- cmp r1, 0x10
- ble _080E10C0
- movs r0, 0x10
- subs r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
-_080E10C0:
- lsls r0, r4, 16
- asrs r1, r0, 16
- cmp r1, 0x10
- ble _080E10D0
- movs r0, 0x10
- subs r0, r1
- lsls r0, 16
- lsrs r4, r0, 16
-_080E10D0:
- ldr r0, _080E10FC
- ldrh r0, [r0, 0x4]
- strh r0, [r6, 0x2E]
- mov r1, r8
- adds r0, r1, r5
- strh r0, [r6, 0x32]
- adds r0, r7, r4
- strh r0, [r6, 0x36]
- ldr r0, _080E1100
- str r0, [r6, 0x1C]
- ldr r1, _080E1104
- adds r0, r6, 0
- bl oamt_set_x3A_32
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E10F8: .4byte gUnknown_0202F7C9
-_080E10FC: .4byte gUnknown_03004B00
-_080E1100: .4byte sub_8078B34
-_080E1104: .4byte move_anim_8074EE0
- thumb_func_end sub_80E1078
-
- thumb_func_start sub_80E1108
-sub_80E1108: @ 80E1108
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r2, [r5, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- adds r1, 0x1
- ldr r3, _080E1168
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080E116C
- ands r0, r2
- orrs r0, r1
- strh r0, [r5, 0x4]
- ldr r6, _080E1170
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0
- bne _080E117C
- ldr r4, _080E1174
- ldrb r0, [r4]
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r2, [r6, 0x2]
- adds r0, r2
- strh r0, [r5, 0x20]
- ldrb r0, [r4]
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldrh r3, [r6, 0x4]
- adds r0, r3
- strh r0, [r5, 0x22]
- movs r1, 0x2
- ldrsh r0, [r6, r1]
- movs r2, 0x1
- negs r2, r2
- adds r1, r2, 0
- cmp r0, 0
- ble _080E1162
- movs r1, 0x1
-_080E1162:
- strh r1, [r5, 0x2E]
- ldr r0, _080E1178
- b _080E118A
- .align 2, 0
-_080E1168: .4byte 0x000003ff
-_080E116C: .4byte 0xfffffc00
-_080E1170: .4byte gUnknown_03004B00
-_080E1174: .4byte gUnknown_0202F7C8
-_080E1178: .4byte sub_80E1198
-_080E117C:
- ldrh r0, [r6, 0x2]
- strh r0, [r5, 0x20]
- ldrh r0, [r6, 0x4]
- strh r0, [r5, 0x22]
- negs r0, r0
- strh r0, [r5, 0x26]
- ldr r0, _080E1194
-_080E118A:
- str r0, [r5, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1194: .4byte sub_80E11D4
- thumb_func_end sub_80E1108
-
- thumb_func_start sub_80E1198
-sub_80E1198: @ 80E1198
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080E11B6
- movs r0, 0
- strh r0, [r2, 0x30]
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x20]
- adds r0, r1
- strh r0, [r2, 0x20]
-_080E11B6:
- ldrh r0, [r2, 0x22]
- subs r0, 0x4
- strh r0, [r2, 0x22]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x4
- negs r1, r1
- cmp r0, r1
- bge _080E11CE
- adds r0, r2, 0
- bl move_anim_8072740
-_080E11CE:
- pop {r0}
- bx r0
- thumb_func_end sub_80E1198
-
- thumb_func_start sub_80E11D4
-sub_80E11D4: @ 80E11D4
- push {lr}
- adds r3, r0, 0
- movs r0, 0x2E
- ldrsh r1, [r3, r0]
- cmp r1, 0
- beq _080E11E6
- cmp r1, 0x1
- beq _080E11FC
- b _080E123E
-_080E11E6:
- ldrh r0, [r3, 0x26]
- adds r0, 0x4
- strh r0, [r3, 0x26]
- lsls r0, 16
- cmp r0, 0
- blt _080E123E
- strh r1, [r3, 0x26]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _080E123E
-_080E11FC:
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- cmp r0, 0
- ble _080E123E
- movs r0, 0
- strh r0, [r3, 0x30]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r2, [r1]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xA
- bne _080E123E
- adds r0, r3, 0
- bl move_anim_8072740
-_080E123E:
- pop {r0}
- bx r0
- thumb_func_end sub_80E11D4
-
- thumb_func_start sub_80E1244
-sub_80E1244: @ 80E1244
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080E1264
- adds r1, r0, r1
- ldr r0, _080E1268
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bne _080E1270
- ldr r0, _080E126C
- b _080E1272
- .align 2, 0
-_080E1264: .4byte gTasks
-_080E1268: .4byte gUnknown_03004B00
-_080E126C: .4byte sub_80E1284
-_080E1270:
- ldr r0, _080E1280
-_080E1272:
- str r0, [r1]
- ldr r1, [r1]
- adds r0, r2, 0
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080E1280: .4byte sub_80E143C
- thumb_func_end sub_80E1244
-
- thumb_func_start sub_80E1284
-sub_80E1284: @ 80E1284
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080E12A8
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bls _080E129E
- b _080E1432
-_080E129E:
- lsls r0, 2
- ldr r1, _080E12AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E12A8: .4byte gTasks
-_080E12AC: .4byte _080E12B0
- .align 2, 0
-_080E12B0:
- .4byte _080E12C4
- .4byte _080E134C
- .4byte _080E135C
- .4byte _080E1400
- .4byte _080E1414
-_080E12C4:
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldr r0, _080E12EC
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1E]
- cmp r0, 0x1
- bne _080E12F8
- ldr r0, _080E12F0
- ldrh r0, [r0]
- strh r0, [r4, 0x20]
- ldr r0, _080E12F4
- b _080E1300
- .align 2, 0
-_080E12EC: .4byte gUnknown_0202F7C8
-_080E12F0: .4byte gUnknown_030042C0
-_080E12F4: .4byte gUnknown_030041B4
-_080E12F8:
- ldr r0, _080E133C
- ldrh r0, [r0]
- strh r0, [r4, 0x20]
- ldr r0, _080E1340
-_080E1300:
- ldrh r0, [r0]
- strh r0, [r4, 0x22]
- ldr r0, _080E1344
- ldrb r0, [r0]
- bl sub_8077FC0
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r4, 0x24]
- adds r0, 0x20
- strh r0, [r4, 0x26]
- cmp r1, 0
- bge _080E1322
- movs r0, 0
- strh r0, [r4, 0x24]
-_080E1322:
- ldr r2, _080E1348
- movs r3, 0x1C
- ldrsh r1, [r4, r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _080E1406
- .align 2, 0
-_080E133C: .4byte gUnknown_03004288
-_080E1340: .4byte gUnknown_03004280
-_080E1344: .4byte gUnknown_0202F7C8
-_080E1348: .4byte gSprites
-_080E134C:
- ldrb r0, [r4, 0x1E]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- movs r3, 0x26
- ldrsh r2, [r4, r3]
- bl sub_80E1668
- b _080E1406
-_080E135C:
- ldrh r0, [r4, 0xC]
- adds r0, 0x6
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080E137E
- movs r0, 0
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xE]
- adds r0, 0x1
- strh r0, [r4, 0xE]
-_080E137E:
- ldr r1, _080E13A0
- movs r2, 0xC
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 20
- ldrh r3, [r4, 0xE]
- adds r2, r0, r3
- strh r2, [r4, 0x12]
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080E13A8
- ldr r1, _080E13A4
- b _080E13AA
- .align 2, 0
-_080E13A0: .4byte gSineTable
-_080E13A4: .4byte gUnknown_030041B4
-_080E13A8:
- ldr r1, _080E13CC
-_080E13AA:
- ldrh r0, [r4, 0x22]
- subs r0, r2
- strh r0, [r1]
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- cmp r0, 0x3F
- ble _080E1432
- ldrh r0, [r4, 0x24]
- movs r1, 0x78
- subs r2, r1, r0
- strh r2, [r4, 0x12]
- movs r3, 0x1E
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _080E13D4
- ldr r1, _080E13D0
- b _080E13D6
- .align 2, 0
-_080E13CC: .4byte gUnknown_03004280
-_080E13D0: .4byte gUnknown_030041B4
-_080E13D4:
- ldr r1, _080E13F8
-_080E13D6:
- ldrh r0, [r4, 0x22]
- subs r0, r2
- strh r0, [r1]
- ldr r2, _080E13FC
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrh r2, [r1, 0x20]
- movs r3, 0x88
- lsls r3, 1
- adds r0, r3, 0
- subs r0, r2
- strh r0, [r1, 0x24]
- b _080E1406
- .align 2, 0
-_080E13F8: .4byte gUnknown_03004280
-_080E13FC: .4byte gSprites
-_080E1400:
- ldr r1, _080E1410
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080E1406:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E1432
- .align 2, 0
-_080E1410: .4byte gUnknown_03004DC0
-_080E1414:
- adds r0, r2, 0
- bl move_anim_task_del
- ldr r2, _080E1438
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080E1432:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1438: .4byte gSprites
- thumb_func_end sub_80E1284
-
- thumb_func_start sub_80E143C
-sub_80E143C: @ 80E143C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E147C
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r3, r1, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r3]
- movs r4, 0
- strh r4, [r1, 0x24]
- strh r4, [r1, 0x26]
- ldr r0, _080E1480
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E1488
- ldr r0, _080E1484
- b _080E148A
- .align 2, 0
-_080E147C: .4byte gSprites
-_080E1480: .4byte gUnknown_0202F7C8
-_080E1484: .4byte gUnknown_030041B4
-_080E1488:
- ldr r0, _080E1498
-_080E148A:
- strh r4, [r0]
- adds r0, r5, 0
- bl move_anim_task_del
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1498: .4byte gUnknown_03004280
- thumb_func_end sub_80E143C
-
- thumb_func_start sub_80E149C
-sub_80E149C: @ 80E149C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080E14BC
- adds r1, r0, r1
- ldr r0, _080E14C0
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0
- bne _080E14C8
- ldr r0, _080E14C4
- b _080E14CA
- .align 2, 0
-_080E14BC: .4byte gTasks
-_080E14C0: .4byte gUnknown_03004B00
-_080E14C4: .4byte sub_80E14DC
-_080E14C8:
- ldr r0, _080E14D8
-_080E14CA:
- str r0, [r1]
- ldr r1, [r1]
- adds r0, r2, 0
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080E14D8: .4byte sub_80E1560
- thumb_func_end sub_80E149C
-
- thumb_func_start sub_80E14DC
-sub_80E14DC: @ 80E14DC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080E14FC
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _080E1500
- cmp r5, 0x1
- beq _080E1554
- b _080E155A
- .align 2, 0
-_080E14FC: .4byte gTasks
-_080E1500:
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldr r3, _080E1550
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r5, [r0, 0x24]
- movs r1, 0x1C
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r2, [r1, 0x22]
- movs r0, 0xA0
- subs r0, r2
- strh r0, [r1, 0x26]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E155A
- .align 2, 0
-_080E1550: .4byte gSprites
-_080E1554:
- adds r0, r2, 0
- bl move_anim_task_del
-_080E155A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80E14DC
-
- thumb_func_start sub_80E1560
-sub_80E1560: @ 80E1560
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080E1584
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bhi _080E1662
- lsls r0, 2
- ldr r1, _080E1588
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E1584: .4byte gTasks
-_080E1588: .4byte _080E158C
- .align 2, 0
-_080E158C:
- .4byte _080E15A0
- .4byte _080E15F4
- .4byte _080E1602
- .4byte _080E161C
- .4byte _080E165C
-_080E15A0:
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1C]
- ldr r0, _080E15C4
- ldrb r0, [r0]
- bl battle_get_per_side_status_permutated
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1E]
- cmp r0, 0x1
- bne _080E15CC
- ldr r0, _080E15C8
- b _080E15CE
- .align 2, 0
-_080E15C4: .4byte gUnknown_0202F7C8
-_080E15C8: .4byte gUnknown_030042C0
-_080E15CC:
- ldr r0, _080E15EC
-_080E15CE:
- ldrh r0, [r0]
- strh r0, [r4, 0x20]
- ldr r0, _080E15F0
- ldrb r0, [r0]
- bl sub_8077FC0
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- subs r1, 0x20
- strh r1, [r4, 0x24]
- adds r0, 0x20
- strh r0, [r4, 0x26]
- b _080E164A
- .align 2, 0
-_080E15EC: .4byte gUnknown_03004288
-_080E15F0: .4byte gUnknown_0202F7C8
-_080E15F4:
- ldrb r0, [r4, 0x1E]
- movs r1, 0x26
- ldrsh r2, [r4, r1]
- movs r1, 0
- bl sub_80E1668
- b _080E164A
-_080E1602:
- ldr r2, _080E1618
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x60
- strh r1, [r0, 0x26]
- b _080E164A
- .align 2, 0
-_080E1618: .4byte gSprites
-_080E161C:
- ldr r2, _080E1654
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- subs r1, 0x8
- strh r1, [r0, 0x26]
- movs r0, 0x1C
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x26
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080E1662
- ldr r1, _080E1658
- movs r0, 0x3
- strb r0, [r1, 0x15]
-_080E164A:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E1662
- .align 2, 0
-_080E1654: .4byte gSprites
-_080E1658: .4byte gUnknown_03004DC0
-_080E165C:
- adds r0, r2, 0
- bl move_anim_task_del
-_080E1662:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E1560
-
- thumb_func_start sub_80E1668
-sub_80E1668: @ 80E1668
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r4, r2, 16
- cmp r0, 0x1
- bne _080E168C
- ldr r0, _080E1684
- ldrh r3, [r0]
- ldr r0, _080E1688
- b _080E1692
- .align 2, 0
-_080E1684: .4byte gUnknown_030042C0
-_080E1688: .4byte REG_BG1HOFS
-_080E168C:
- ldr r0, _080E1718
- ldrh r3, [r0]
- ldr r0, _080E171C
-_080E1692:
- str r0, [sp]
- lsls r0, r1, 16
- cmp r0, 0
- bge _080E169C
- movs r1, 0
-_080E169C:
- lsls r2, r1, 16
- lsls r0, r4, 16
- asrs r4, r0, 16
- cmp r2, r0
- bge _080E16C8
- ldr r5, _080E1720
- movs r0, 0xF0
- lsls r0, 3
- adds r6, r5, r0
-_080E16AE:
- asrs r2, 16
- lsls r1, r2, 1
- adds r0, r1, r5
- strh r3, [r0]
- adds r1, r6
- strh r3, [r1]
- adds r2, 0x1
- lsls r2, 16
- lsrs r1, r2, 16
- lsls r2, r1, 16
- asrs r0, r2, 16
- cmp r0, r4
- blt _080E16AE
-_080E16C8:
- lsls r1, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- bgt _080E16F6
- ldr r4, _080E1720
- lsls r0, r3, 16
- asrs r0, 16
- adds r3, r0, 0
- adds r3, 0xF0
- movs r0, 0xF0
- lsls r0, 3
- adds r5, r4, r0
-_080E16E0:
- asrs r2, r1, 16
- lsls r1, r2, 1
- adds r0, r1, r4
- strh r3, [r0]
- adds r1, r5
- strh r3, [r1]
- adds r2, 0x1
- lsls r1, r2, 16
- asrs r0, r1, 16
- cmp r0, 0x9F
- ble _080E16E0
-_080E16F6:
- ldr r0, _080E1724
- str r0, [sp, 0x4]
- mov r1, sp
- movs r2, 0
- movs r0, 0x1
- strb r0, [r1, 0x8]
- mov r0, sp
- strb r2, [r0, 0x9]
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl sub_80895F8
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1718: .4byte gUnknown_03004288
-_080E171C: .4byte REG_BG2HOFS
-_080E1720: .4byte gUnknown_03004DE0
-_080E1724: .4byte 0xa2600001
- thumb_func_end sub_80E1668
-
- thumb_func_start sub_80E1728
-sub_80E1728: @ 80E1728
- push {r4-r7,lr}
- adds r5, r0, 0
- ldr r0, _080E173C
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r7, r0, 0
- cmp r1, 0
- bne _080E1744
- ldr r0, _080E1740
- b _080E1746
- .align 2, 0
-_080E173C: .4byte gUnknown_03004B00
-_080E1740: .4byte gUnknown_0202F7C8
-_080E1744:
- ldr r0, _080E17A8
-_080E1746:
- ldrb r4, [r0]
- movs r6, 0x18
- adds r1, r7, 0
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- bne _080E1762
- negs r0, r6
- lsls r0, 16
- lsrs r6, r0, 16
- movs r2, 0x4
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1, 0x4]
-_080E1762:
- adds r0, r4, 0
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- adds r0, r6
- strh r0, [r5, 0x20]
- adds r0, r4, 0
- bl sub_8077FC0
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x1E
- strh r0, [r5, 0x22]
- ldrh r1, [r7, 0xA]
- strh r1, [r5, 0x2E]
- ldrh r1, [r7, 0x4]
- ldrh r2, [r5, 0x20]
- adds r1, r2
- strh r1, [r5, 0x32]
- ldrh r1, [r7, 0x6]
- adds r0, r1
- strh r0, [r5, 0x36]
- ldrh r0, [r7, 0x8]
- strh r0, [r5, 0x38]
- adds r0, r5, 0
- bl sub_80786EC
- ldr r0, _080E17AC
- str r0, [r5, 0x1C]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E17A8: .4byte gUnknown_0202F7C9
-_080E17AC: .4byte sub_80E17B0
- thumb_func_end sub_80E1728
-
- thumb_func_start sub_80E17B0
-sub_80E17B0: @ 80E17B0
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8078718
- lsls r0, 24
- cmp r0, 0
- beq _080E17C4
- adds r0, r4, 0
- bl move_anim_8072740
-_080E17C4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E17B0
-
- thumb_func_start sub_80E17CC
-sub_80E17CC: @ 80E17CC
- push {r4-r6,lr}
- adds r6, r0, 0
- ldr r0, _080E17E0
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080E17E8
- ldr r0, _080E17E4
- b _080E17EA
- .align 2, 0
-_080E17E0: .4byte gUnknown_03004B00
-_080E17E4: .4byte gUnknown_0202F7C8
-_080E17E8:
- ldr r0, _080E1848
-_080E17EA:
- ldrb r5, [r0]
- adds r0, r5, 0
- movs r1, 0
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E184C
- adds r0, r2
- ldr r4, _080E1850
- movs r3, 0x2
- ldrsh r1, [r4, r3]
- lsls r1, 5
- adds r0, r1
- strh r0, [r6, 0x20]
- adds r0, r5, 0
- bl sub_8077FC0
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x20
- strh r0, [r6, 0x22]
- ldrh r2, [r6, 0x4]
- lsls r1, r2, 22
- lsrs r1, 22
- movs r3, 0x2
- ldrsh r0, [r4, r3]
- lsls r0, 3
- adds r1, r0
- ldr r3, _080E1854
- adds r0, r3, 0
- ands r1, r0
- ldr r0, _080E1858
- ands r0, r2
- orrs r0, r1
- strh r0, [r6, 0x4]
- ldr r1, _080E185C
- adds r0, r6, 0
- bl oamt_set_x3A_32
- ldrh r0, [r4, 0x4]
- strh r0, [r6, 0x2E]
- ldr r0, _080E1860
- str r0, [r6, 0x1C]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1848: .4byte gUnknown_0202F7C9
-_080E184C: .4byte 0x0000fff0
-_080E1850: .4byte gUnknown_03004B00
-_080E1854: .4byte 0x000003ff
-_080E1858: .4byte 0xfffffc00
-_080E185C: .4byte move_anim_8072740
-_080E1860: .4byte sub_80782D8
- thumb_func_end sub_80E17CC
-
- thumb_func_start sub_80E1864
-sub_80E1864: @ 80E1864
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080E1888
- adds r4, r0, r1
- ldr r0, _080E188C
- ldrh r2, [r0, 0x2]
- movs r3, 0x2
- ldrsh r1, [r0, r3]
- adds r6, r0, 0
- cmp r1, 0
- beq _080E1890
- adds r0, r2, 0x3
- b _080E189C
- .align 2, 0
-_080E1888: .4byte gTasks
-_080E188C: .4byte gUnknown_03004B00
-_080E1890:
- ldr r0, _080E18BC
- ldrh r0, [r0]
- movs r1, 0xA
- bl __udivsi3
- adds r0, 0x3
-_080E189C:
- strh r0, [r4, 0x26]
- strh r0, [r4, 0x24]
- adds r1, r6, 0
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0xE]
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x4
- beq _080E18C8
- cmp r0, 0x5
- bne _080E1908
- ldr r0, _080E18C0
- ldrh r0, [r0]
- strh r0, [r4, 0x22]
- ldr r0, _080E18C4
- b _080E1926
- .align 2, 0
-_080E18BC: .4byte gUnknown_0202F7BC
-_080E18C0: .4byte gUnknown_030041B0
-_080E18C4: .4byte sub_80E1934
-_080E18C8:
- movs r0, 0
- strh r0, [r4, 0x22]
- movs r5, 0
-_080E18CE:
- lsls r0, r5, 24
- lsrs r0, 24
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080E18F8
- movs r3, 0x22
- ldrsh r0, [r4, r3]
- adds r0, 0x9
- lsls r0, 1
- adds r1, r4, 0
- adds r1, 0x8
- adds r1, r0
- ldr r0, _080E1904
- adds r0, r5, r0
- ldrb r0, [r0]
- strh r0, [r1]
- ldrh r0, [r4, 0x22]
- adds r0, 0x1
- strh r0, [r4, 0x22]
-_080E18F8:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080E18CE
- b _080E1924
- .align 2, 0
-_080E1904: .4byte gUnknown_02024BE0
-_080E1908:
- ldrb r0, [r6]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x1A]
- cmp r0, 0xFF
- bne _080E1920
- adds r0, r5, 0
- bl move_anim_task_del
- b _080E1928
-_080E1920:
- movs r0, 0x1
- strh r0, [r4, 0x22]
-_080E1924:
- ldr r0, _080E1930
-_080E1926:
- str r0, [r4]
-_080E1928:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1930: .4byte sub_80E1A2C
- thumb_func_end sub_80E1864
-
- thumb_func_start sub_80E1934
-sub_80E1934: @ 80E1934
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080E1958
- adds r3, r0, r1
- movs r0, 0x8
- ldrsh r1, [r3, r0]
- cmp r1, 0x1
- beq _080E19B8
- cmp r1, 0x1
- bgt _080E195C
- cmp r1, 0
- beq _080E1962
- b _080E1A24
- .align 2, 0
-_080E1958: .4byte gTasks
-_080E195C:
- cmp r1, 0x2
- beq _080E1A18
- b _080E1A24
-_080E1962:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080E1A24
- strh r1, [r3, 0xA]
- ldrh r1, [r3, 0xC]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080E198C
- ldr r1, _080E1988
- ldrh r0, [r3, 0x26]
- ldrh r2, [r3, 0x22]
- adds r0, r2
- strh r0, [r1]
- b _080E1996
- .align 2, 0
-_080E1988: .4byte gUnknown_030041B0
-_080E198C:
- ldr r0, _080E19B4
- ldrh r1, [r3, 0x22]
- ldrh r2, [r3, 0x26]
- subs r1, r2
- strh r1, [r0]
-_080E1996:
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xE
- ldrsh r1, [r3, r2]
- cmp r0, r1
- bne _080E1A24
- movs r0, 0
- strh r0, [r3, 0xC]
- ldrh r0, [r3, 0x24]
- subs r0, 0x1
- strh r0, [r3, 0x24]
- b _080E1A0C
- .align 2, 0
-_080E19B4: .4byte gUnknown_030041B0
-_080E19B8:
- ldrh r0, [r3, 0xA]
- adds r0, 0x1
- strh r0, [r3, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080E1A24
- movs r0, 0
- strh r0, [r3, 0xA]
- ldrh r0, [r3, 0xC]
- ands r1, r0
- cmp r1, 0
- bne _080E19E4
- ldr r1, _080E19E0
- ldrh r0, [r3, 0x24]
- ldrh r2, [r3, 0x22]
- adds r0, r2
- strh r0, [r1]
- b _080E19EE
- .align 2, 0
-_080E19E0: .4byte gUnknown_030041B0
-_080E19E4:
- ldr r0, _080E1A14
- ldrh r1, [r3, 0x22]
- ldrh r2, [r3, 0x24]
- subs r1, r2
- strh r1, [r0]
-_080E19EE:
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080E1A24
- movs r0, 0
- strh r0, [r3, 0xC]
- ldrh r0, [r3, 0x24]
- subs r0, 0x1
- strh r0, [r3, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _080E1A24
-_080E1A0C:
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- b _080E1A24
- .align 2, 0
-_080E1A14: .4byte gUnknown_030041B0
-_080E1A18:
- ldr r1, _080E1A28
- ldrh r0, [r3, 0x22]
- strh r0, [r1]
- adds r0, r2, 0
- bl move_anim_task_del
-_080E1A24:
- pop {r0}
- bx r0
- .align 2, 0
-_080E1A28: .4byte gUnknown_030041B0
- thumb_func_end sub_80E1934
-
- thumb_func_start sub_80E1A2C
-sub_80E1A2C: @ 80E1A2C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, _080E1A50
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0x1
- beq _080E1A8C
- cmp r5, 0x1
- bgt _080E1A54
- cmp r5, 0
- beq _080E1A5A
- b _080E1B06
- .align 2, 0
-_080E1A50: .4byte gTasks
-_080E1A54:
- cmp r5, 0x2
- beq _080E1AC8
- b _080E1B06
-_080E1A5A:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080E1B06
- strh r5, [r4, 0xA]
- adds r0, r4, 0
- bl sub_80E1B10
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _080E1B06
- strh r5, [r4, 0xC]
- ldrh r0, [r4, 0x24]
- subs r0, 0x1
- strh r0, [r4, 0x24]
- b _080E1AC0
-_080E1A8C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- movs r5, 0
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080E1B06
- strh r5, [r4, 0xA]
- adds r0, r4, 0
- bl sub_80E1B10
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080E1B06
- strh r5, [r4, 0xC]
- ldrh r0, [r4, 0x24]
- subs r0, 0x1
- strh r0, [r4, 0x24]
- lsls r0, 16
- cmp r0, 0
- bne _080E1B06
-_080E1AC0:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E1B06
-_080E1AC8:
- movs r2, 0
- movs r7, 0x22
- ldrsh r0, [r4, r7]
- cmp r2, r0
- bge _080E1B00
- ldr r0, _080E1B0C
- mov r12, r0
- adds r5, r4, 0
- adds r5, 0x8
- movs r6, 0
-_080E1ADC:
- adds r0, r2, 0
- adds r0, 0x9
- lsls r0, 1
- adds r0, r5, r0
- movs r7, 0
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r12
- strh r6, [r0, 0x24]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0x22
- ldrsh r0, [r4, r1]
- cmp r2, r0
- blt _080E1ADC
-_080E1B00:
- adds r0, r3, 0
- bl move_anim_task_del
-_080E1B06:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1B0C: .4byte gSprites
- thumb_func_end sub_80E1A2C
-
- thumb_func_start sub_80E1B10
-sub_80E1B10: @ 80E1B10
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0xC]
- movs r4, 0x1
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080E1B38
- movs r0, 0x24
- ldrsh r1, [r3, r0]
- lsrs r0, r1, 31
- adds r1, r0
- asrs r1, 1
- ldrh r2, [r3, 0x24]
- adds r0, r4, 0
- ands r0, r2
- adds r1, r0
- lsls r1, 16
- lsrs r4, r1, 16
- b _080E1B48
-_080E1B38:
- movs r1, 0x24
- ldrsh r0, [r3, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- negs r0, r0
- lsls r0, 16
- lsrs r4, r0, 16
-_080E1B48:
- movs r2, 0
- movs r7, 0x22
- ldrsh r0, [r3, r7]
- cmp r2, r0
- bge _080E1B7C
- ldr r6, _080E1B84
- adds r5, r3, 0
- adds r5, 0x8
-_080E1B58:
- adds r0, r2, 0
- adds r0, 0x9
- lsls r0, 1
- adds r0, r5, r0
- movs r7, 0
- ldrsh r1, [r0, r7]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r4, [r0, 0x24]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0x22
- ldrsh r0, [r3, r1]
- cmp r2, r0
- blt _080E1B58
-_080E1B7C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1B84: .4byte gSprites
- thumb_func_end sub_80E1B10
-
- thumb_func_start sub_80E1B88
-sub_80E1B88: @ 80E1B88
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r3, _080E1BA8
- movs r2, 0
- ldr r0, _080E1BAC
- ldrh r0, [r0]
- cmp r0, 0x63
- bls _080E1B9C
- movs r2, 0x1
-_080E1B9C:
- strh r2, [r3, 0x1E]
- adds r0, r1, 0
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_080E1BA8: .4byte gUnknown_03004B00
-_080E1BAC: .4byte gUnknown_0202F7BC
- thumb_func_end sub_80E1B88
-
- thumb_func_start sub_80E1BB0
-sub_80E1BB0: @ 80E1BB0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _080E1BC8
- ldrh r1, [r2]
- movs r0, 0x1
- ands r0, r1
- adds r6, r2, 0
- cmp r0, 0
- beq _080E1BD0
- ldr r0, _080E1BCC
- b _080E1BD2
- .align 2, 0
-_080E1BC8: .4byte gUnknown_03004B00
-_080E1BCC: .4byte gUnknown_0202F7C9
-_080E1BD0:
- ldr r0, _080E1C40
-_080E1BD2:
- ldrb r0, [r0]
- adds r5, r0, 0
- movs r1, 0
- ldrsh r0, [r6, r1]
- cmp r0, 0x1
- ble _080E1BE2
- movs r0, 0x2
- eors r5, r0
-_080E1BE2:
- ldr r0, _080E1C44
- ldrb r1, [r6, 0x2]
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _080E1C48
- adds r4, r0
- adds r0, r5, 0
- movs r1, 0x2
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x20
- subs r1, r0
- ldr r2, _080E1C4C
- adds r0, r2, 0
- ands r1, r0
- strh r1, [r4, 0xA]
- adds r0, r5, 0
- movs r1, 0x3
- bl sub_8077ABC
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x40
- subs r1, r0
- movs r0, 0xFF
- ands r1, r0
- strh r1, [r4, 0xC]
- ldr r2, _080E1C50
- ldrh r0, [r4, 0xA]
- strh r0, [r2]
- ldr r0, _080E1C54
- strh r1, [r0]
- ldrh r0, [r6, 0x4]
- strh r0, [r4, 0xE]
- adds r0, r7, 0
- bl move_anim_task_del
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1C40: .4byte gUnknown_0202F7C8
-_080E1C44: .4byte sub_80E1C58
-_080E1C48: .4byte gTasks
-_080E1C4C: .4byte 0x000001ff
-_080E1C50: .4byte gUnknown_030041B0
-_080E1C54: .4byte gUnknown_030041B8
- thumb_func_end sub_80E1BB0
-
- thumb_func_start sub_80E1C58
-sub_80E1C58: @ 80E1C58
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- ldr r1, _080E1C88
- adds r2, r0, r1
- ldr r0, _080E1C8C
- movs r4, 0xE
- ldrsh r1, [r0, r4]
- movs r4, 0xE
- ldrsh r0, [r2, r4]
- cmp r1, r0
- bne _080E1C98
- ldr r0, _080E1C90
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080E1C94
- strh r1, [r0]
- adds r0, r3, 0
- bl DestroyTask
- b _080E1CA4
- .align 2, 0
-_080E1C88: .4byte gTasks
-_080E1C8C: .4byte gUnknown_03004B00
-_080E1C90: .4byte gUnknown_030041B0
-_080E1C94: .4byte gUnknown_030041B8
-_080E1C98:
- ldr r1, _080E1CAC
- ldrh r0, [r2, 0xA]
- strh r0, [r1]
- ldr r1, _080E1CB0
- ldrh r0, [r2, 0xC]
- strh r0, [r1]
-_080E1CA4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1CAC: .4byte gUnknown_030041B0
-_080E1CB0: .4byte gUnknown_030041B8
- thumb_func_end sub_80E1C58
-
- thumb_func_start sub_80E1CB4
-sub_80E1CB4: @ 80E1CB4
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080E1CEC
- ldrh r0, [r5]
- ldrh r1, [r4, 0x20]
- adds r0, r1
- strh r0, [r4, 0x20]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x2E]
- ldr r0, _080E1CF0
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080E1CF4
- ldrh r0, [r5, 0x6]
- negs r0, r0
- strh r0, [r4, 0x30]
- movs r0, 0x1
- strh r0, [r4, 0x36]
- b _080E1D02
- .align 2, 0
-_080E1CEC: .4byte gUnknown_03004B00
-_080E1CF0: .4byte gUnknown_0202F7C8
-_080E1CF4:
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0x30]
- strh r1, [r4, 0x36]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080E1D02:
- ldr r0, _080E1D18
- ldrh r0, [r0, 0x8]
- strh r0, [r4, 0x34]
- ldr r1, _080E1D1C
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1D18: .4byte gUnknown_03004B00
-_080E1D1C: .4byte sub_80E1D20
- thumb_func_end sub_80E1CB4
-
- thumb_func_start sub_80E1D20
-sub_80E1D20: @ 80E1D20
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- movs r1, 0x1E
- bl Cos
- strh r0, [r4, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- movs r1, 0xA
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r0, [r4, 0x2E]
- cmp r0, 0x7F
- bhi _080E1D52
- ldrb r0, [r4, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4, 0x5]
- b _080E1D5A
-_080E1D52:
- ldrb r0, [r4, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r4, 0x5]
-_080E1D5A:
- ldrh r0, [r4, 0x30]
- ldrh r1, [r4, 0x2E]
- adds r0, r1
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x32]
- adds r0, 0x1
- strh r0, [r4, 0x32]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x34
- ldrsh r1, [r4, r2]
- cmp r0, r1
- bne _080E1D7E
- adds r0, r4, 0
- bl move_anim_8072740
-_080E1D7E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E1D20
-
- thumb_func_start sub_80E1D84
-sub_80E1D84: @ 80E1D84
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- ldr r4, _080E1DBC
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_80E1DC4
- movs r1, 0x2
- ldrsb r1, [r4, r1]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- ldrh r4, [r4, 0x8]
- str r4, [sp]
- bl BeginNormalPaletteFade
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080E1DC0
- str r0, [r5, 0x1C]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1DBC: .4byte gUnknown_03004B00
-_080E1DC0: .4byte sub_80E1E0C
- thumb_func_end sub_80E1D84
-
- thumb_func_start sub_80E1DC4
-sub_80E1DC4: @ 80E1DC4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0xC
- lsls r0, 16
- lsrs r0, 16
- movs r4, 0x1
- mov r8, r0
- mov r1, r8
- ands r1, r4
- mov r8, r1
- lsls r0, 16
- asrs r1, r0, 17
- ands r1, r4
- asrs r2, r0, 18
- ands r2, r4
- asrs r3, r0, 19
- ands r3, r4
- asrs r6, r0, 20
- ands r6, r4
- asrs r5, r0, 21
- ands r5, r4
- asrs r0, 22
- ands r0, r4
- str r6, [sp]
- str r5, [sp, 0x4]
- str r0, [sp, 0x8]
- mov r0, r8
- bl sub_80791A8
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80E1DC4
-
- thumb_func_start sub_80E1E0C
-sub_80E1E0C: @ 80E1E0C
- push {lr}
- adds r2, r0, 0
- ldr r0, _080E1E28
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080E1E22
- adds r0, r2, 0
- bl move_anim_8072740
-_080E1E22:
- pop {r0}
- bx r0
- .align 2, 0
-_080E1E28: .4byte gPaletteFade
- thumb_func_end sub_80E1E0C
-
- thumb_func_start sub_80E1E2C
-sub_80E1E2C: @ 80E1E2C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080E1E78
- ldrh r0, [r4, 0x2]
- strh r0, [r5, 0x2E]
- strh r0, [r5, 0x30]
- ldrh r0, [r4, 0x4]
- strh r0, [r5, 0x32]
- ldrh r0, [r4, 0x6]
- strh r0, [r5, 0x34]
- ldrh r0, [r4, 0x8]
- strh r0, [r5, 0x36]
- ldrh r0, [r4, 0xA]
- strh r0, [r5, 0x38]
- ldrh r0, [r4, 0xC]
- strh r0, [r5, 0x3A]
- ldrh r0, [r4]
- strh r0, [r5, 0x3C]
- movs r1, 0x3C
- ldrsh r0, [r5, r1]
- bl sub_80E1DC4
- ldrb r1, [r4, 0x8]
- ldrh r2, [r4, 0x6]
- bl BlendPalettes
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, _080E1E7C
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1E78: .4byte gUnknown_03004B00
-_080E1E7C: .4byte sub_80E1E80
- thumb_func_end sub_80E1E2C
-
- thumb_func_start sub_80E1E80
-sub_80E1E80: @ 80E1E80
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080E1E94
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- b _080E1F04
-_080E1E94:
- ldr r0, _080E1EB0
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080E1F04
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080E1EB8
- ldr r0, _080E1EB4
- str r0, [r4, 0x1C]
- b _080E1F04
- .align 2, 0
-_080E1EB0: .4byte gPaletteFade
-_080E1EB4: .4byte sub_80E1F0C
-_080E1EB8:
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- bl sub_80E1DC4
- adds r3, r0, 0
- ldrh r1, [r4, 0x30]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080E1EDE
- ldrh r1, [r4, 0x36]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x34]
- adds r0, r3, 0
- bl BlendPalettes
- b _080E1EEC
-_080E1EDE:
- ldrh r1, [r4, 0x3A]
- lsls r1, 24
- lsrs r1, 24
- ldrh r2, [r4, 0x38]
- adds r0, r3, 0
- bl BlendPalettes
-_080E1EEC:
- ldrh r0, [r4, 0x30]
- movs r2, 0x80
- lsls r2, 1
- adds r1, r2, 0
- eors r0, r1
- strh r0, [r4, 0x30]
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r4, 0x2E]
- ldrh r0, [r4, 0x32]
- subs r0, 0x1
- strh r0, [r4, 0x32]
-_080E1F04:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E1E80
-
- thumb_func_start sub_80E1F0C
-sub_80E1F0C: @ 80E1F0C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080E1F38
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080E1F32
- movs r1, 0x3C
- ldrsh r0, [r4, r1]
- bl sub_80E1DC4
- movs r1, 0
- movs r2, 0
- bl BlendPalettes
- adds r0, r4, 0
- bl move_anim_8072740
-_080E1F32:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1F38: .4byte gPaletteFade
- thumb_func_end sub_80E1F0C
-
- thumb_func_start sub_80E1F3C
-sub_80E1F3C: @ 80E1F3C
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _080E1F80
- ldrh r0, [r1]
- ldrh r2, [r4, 0x20]
- adds r0, r2
- movs r2, 0
- strh r0, [r4, 0x20]
- ldrh r0, [r1, 0x2]
- ldrh r1, [r4, 0x22]
- adds r0, r1
- strh r0, [r4, 0x22]
- strh r2, [r4, 0x2E]
- movs r0, 0xA
- strh r0, [r4, 0x30]
- movs r0, 0x8
- strh r0, [r4, 0x32]
- movs r0, 0x28
- strh r0, [r4, 0x34]
- movs r0, 0x70
- strh r0, [r4, 0x36]
- strh r2, [r4, 0x38]
- ldr r1, _080E1F84
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r1, _080E1F88
- str r1, [r4, 0x1C]
- adds r0, r4, 0
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1F80: .4byte gUnknown_03004B00
-_080E1F84: .4byte move_anim_8074EE0
-_080E1F88: .4byte sub_8078174
- thumb_func_end sub_80E1F3C
-
- thumb_func_start sub_80E1F8C
-sub_80E1F8C: @ 80E1F8C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080E1FD0
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r3, _080E1FD4
- ldrh r1, [r3]
- movs r5, 0
- strh r1, [r4, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r4, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r4, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r4, 0xE]
- ldrh r2, [r3, 0x8]
- strh r2, [r4, 0x10]
- ldrh r1, [r3, 0xA]
- strh r1, [r4, 0x12]
- strh r5, [r4, 0x18]
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0
- bl sub_80E1FDC
- ldr r0, _080E1FD8
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E1FD0: .4byte gTasks
-_080E1FD4: .4byte gUnknown_03004B00
-_080E1FD8: .4byte sub_80E202C
- thumb_func_end sub_80E1F8C
-
- thumb_func_start sub_80E1FDC
-sub_80E1FDC: @ 80E1FDC
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r1, _080E2028
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- bl sub_80E1DC4
- movs r1, 0xA
- ldrsb r1, [r4, r1]
- ldrh r2, [r4, 0x12]
- str r2, [sp]
- adds r2, r5, 0
- adds r3, r6, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x18]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x18]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E2028: .4byte gTasks
- thumb_func_end sub_80E1FDC
-
- thumb_func_start sub_80E202C
-sub_80E202C: @ 80E202C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- ldr r0, _080E2064
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080E208E
- ldr r1, _080E2068
- lsls r2, r3, 2
- adds r0, r2, r3
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0xC
- ldrsh r0, [r3, r5]
- adds r6, r1, 0
- adds r5, r2, 0
- cmp r0, 0
- ble _080E2088
- movs r1, 0x18
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080E206C
- ldrb r1, [r3, 0xE]
- ldrb r2, [r3, 0x10]
- b _080E2070
- .align 2, 0
-_080E2064: .4byte gPaletteFade
-_080E2068: .4byte gTasks
-_080E206C:
- ldrb r1, [r3, 0x10]
- ldrb r2, [r3, 0xE]
-_080E2070:
- adds r0, r5, r4
- lsls r0, 3
- adds r0, r6
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _080E2080
- movs r2, 0
-_080E2080:
- adds r0, r4, 0
- bl sub_80E1FDC
- b _080E208E
-_080E2088:
- adds r0, r4, 0
- bl move_anim_task_del
-_080E208E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E202C
-
- thumb_func_start sub_80E2094
-sub_80E2094: @ 80E2094
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080E20D8
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r3, _080E20DC
- ldrh r1, [r3]
- movs r5, 0
- strh r1, [r4, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r4, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r4, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r4, 0xE]
- ldrh r2, [r3, 0x8]
- strh r2, [r4, 0x10]
- ldrh r1, [r3, 0xA]
- strh r1, [r4, 0x12]
- strh r5, [r4, 0x18]
- lsls r2, 24
- lsrs r2, 24
- movs r1, 0
- bl sub_80E20E4
- ldr r0, _080E20E0
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E20D8: .4byte gTasks
-_080E20DC: .4byte gUnknown_03004B00
-_080E20E0: .4byte sub_80E2140
- thumb_func_end sub_80E2094
-
- thumb_func_start sub_80E20E4
-sub_80E20E4: @ 80E20E4
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- ldr r1, _080E213C
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldrh r0, [r4, 0x8]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r2, 0x1
- lsls r2, r0
- movs r1, 0xA
- ldrsb r1, [r4, r1]
- ldrh r0, [r4, 0x12]
- str r0, [sp]
- adds r0, r2, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x18]
- movs r1, 0x1
- eors r0, r1
- strh r0, [r4, 0x18]
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E213C: .4byte gTasks
- thumb_func_end sub_80E20E4
-
- thumb_func_start sub_80E2140
-sub_80E2140: @ 80E2140
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- adds r4, r3, 0
- ldr r0, _080E2178
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080E21A2
- ldr r1, _080E217C
- lsls r2, r3, 2
- adds r0, r2, r3
- lsls r0, 3
- adds r3, r0, r1
- movs r5, 0xC
- ldrsh r0, [r3, r5]
- adds r6, r1, 0
- adds r5, r2, 0
- cmp r0, 0
- ble _080E219C
- movs r1, 0x18
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080E2180
- ldrb r1, [r3, 0xE]
- ldrb r2, [r3, 0x10]
- b _080E2184
- .align 2, 0
-_080E2178: .4byte gPaletteFade
-_080E217C: .4byte gTasks
-_080E2180:
- ldrb r1, [r3, 0x10]
- ldrb r2, [r3, 0xE]
-_080E2184:
- adds r0, r5, r4
- lsls r0, 3
- adds r0, r6
- movs r3, 0xC
- ldrsh r0, [r0, r3]
- cmp r0, 0x1
- bne _080E2194
- movs r2, 0
-_080E2194:
- adds r0, r4, 0
- bl sub_80E20E4
- b _080E21A2
-_080E219C:
- adds r0, r4, 0
- bl move_anim_task_del
-_080E21A2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E2140
-
- thumb_func_start sub_80E21A8
-sub_80E21A8: @ 80E21A8
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080E2208
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- adds r4, r1
- ldr r5, _080E220C
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x8]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0xA]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0xC]
- ldrh r0, [r5, 0x6]
- strh r0, [r4, 0xE]
- ldrh r0, [r5, 0x8]
- strh r0, [r4, 0x10]
- ldrh r0, [r5, 0xA]
- strh r0, [r4, 0x12]
- ldrh r0, [r5, 0xC]
- strh r0, [r4, 0x14]
- ldrh r0, [r5]
- strh r0, [r4, 0x16]
- ldrh r0, [r5]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r1, 0x1
- lsls r1, r0
- ldrb r3, [r5, 0x8]
- ldrh r0, [r5, 0x6]
- str r0, [sp]
- adds r0, r1, 0
- movs r1, 0
- adds r2, r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080E2210
- str r0, [r4]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E2208: .4byte gTasks
-_080E220C: .4byte gUnknown_03004B00
-_080E2210: .4byte sub_80E2214
- thumb_func_end sub_80E21A8
-
- thumb_func_start sub_80E2214
-sub_80E2214: @ 80E2214
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080E2238
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r4, r0, r1
- ldrh r1, [r4, 0x8]
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- cmp r0, 0
- ble _080E223C
- subs r0, r1, 0x1
- strh r0, [r4, 0x8]
- b _080E22C0
- .align 2, 0
-_080E2238: .4byte gTasks
-_080E223C:
- ldr r0, _080E2258
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080E22C0
- movs r3, 0xC
- ldrsh r0, [r4, r3]
- cmp r0, 0
- bne _080E2260
- ldr r0, _080E225C
- str r0, [r4]
- b _080E22C0
- .align 2, 0
-_080E2258: .4byte gPaletteFade
-_080E225C: .4byte sub_80E22CC
-_080E2260:
- ldrh r0, [r4, 0x16]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r2, 0x1
- lsls r2, r0
- ldrh r1, [r4, 0xA]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080E228E
- ldrb r3, [r4, 0x10]
- ldrh r0, [r4, 0xE]
- str r0, [sp]
- adds r0, r2, 0
- movs r1, 0
- adds r2, r3, 0
- bl BeginNormalPaletteFade
- b _080E229E
-_080E228E:
- ldrb r3, [r4, 0x14]
- ldrh r0, [r4, 0x12]
- str r0, [sp]
- adds r0, r2, 0
- movs r1, 0
- adds r2, r3, 0
- bl BeginNormalPaletteFade
-_080E229E:
- ldr r0, _080E22C8
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xA]
- movs r3, 0x80
- lsls r3, 1
- adds r2, r3, 0
- eors r0, r2
- strh r0, [r1, 0xA]
- movs r2, 0xFF
- ands r0, r2
- strh r0, [r1, 0x8]
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
-_080E22C0:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E22C8: .4byte gTasks
- thumb_func_end sub_80E2214
-
- thumb_func_start sub_80E22CC
-sub_80E22CC: @ 80E22CC
- push {r4,r5,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E231C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080E2312
- ldr r1, _080E2320
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrh r0, [r0, 0x16]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r1, 0x1
- lsls r1, r0
- str r5, [sp]
- adds r0, r1, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl BeginNormalPaletteFade
- adds r0, r4, 0
- bl move_anim_task_del
-_080E2312:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E231C: .4byte gPaletteFade
-_080E2320: .4byte gTasks
- thumb_func_end sub_80E22CC
-
- thumb_func_start sub_80E2324
-sub_80E2324: @ 80E2324
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, _080E239C
- ldrb r6, [r0]
- ldr r0, _080E23A0
- ldrb r7, [r0]
- ldr r4, _080E23A4
- ldrh r1, [r4]
- movs r5, 0x80
- lsls r5, 1
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080E235E
- str r2, [sp]
- str r2, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r3, 0
- bl sub_80791A8
- adds r2, r0, 0
-_080E235E:
- ldrh r1, [r4, 0x2]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080E2370
- movs r0, 0x80
- lsls r0, 9
- lsls r0, r6
- orrs r2, r0
-_080E2370:
- ldrh r1, [r4, 0x4]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080E2382
- movs r0, 0x80
- lsls r0, 9
- lsls r0, r7
- orrs r2, r0
-_080E2382:
- adds r0, r2, 0
- bl InvertPlttBuffer
- mov r0, r8
- bl move_anim_task_del
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E239C: .4byte gUnknown_0202F7C8
-_080E23A0: .4byte gUnknown_0202F7C9
-_080E23A4: .4byte gUnknown_03004B00
- thumb_func_end sub_80E2324
-
- thumb_func_start unref_sub_80E23A8
-unref_sub_80E23A8: @ 80E23A8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r5, 0
- ldr r1, _080E249C
- lsls r0, 2
- add r0, r8
- lsls r0, 3
- adds r4, r0, r1
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080E23EA
- ldr r1, _080E24A0
- ldrh r0, [r1]
- strh r0, [r4, 0xC]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0xE]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x10]
- ldrh r0, [r1, 0x6]
- strh r0, [r4, 0xA]
- ldrh r0, [r1, 0x8]
- strh r0, [r4, 0x12]
- ldrh r0, [r1, 0xA]
- strh r0, [r4, 0x14]
- ldrh r0, [r1, 0xC]
- strh r0, [r4, 0x16]
-_080E23EA:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, _080E24A4
- ldrb r0, [r0]
- mov r9, r0
- ldr r0, _080E24A8
- ldrb r0, [r0]
- mov r10, r0
- ldrh r1, [r4, 0xC]
- movs r7, 0x80
- lsls r7, 1
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080E240C
- ldr r5, _080E24AC
-_080E240C:
- movs r6, 0x1
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- beq _080E243C
- ldr r2, _080E24B0
- ldr r0, _080E24B4
- add r0, r9
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x14
- adds r0, r2
- ldr r0, [r0]
- ldrh r0, [r0, 0x2]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r1, r6, 0
- lsls r1, r0
- lsls r1, 16
- orrs r5, r1
-_080E243C:
- ldrh r1, [r4, 0xE]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080E2450
- adds r0, r6, 0
- mov r2, r9
- lsls r0, r2
- lsls r0, 16
- orrs r5, r0
-_080E2450:
- ldrh r1, [r4, 0x10]
- adds r0, r7, 0
- ands r0, r1
- cmp r0, 0
- beq _080E2464
- adds r0, r6, 0
- mov r1, r10
- lsls r0, r1
- lsls r0, 16
- orrs r5, r0
-_080E2464:
- movs r1, 0x12
- ldrsb r1, [r4, r1]
- movs r2, 0x14
- ldrsb r2, [r4, r2]
- movs r3, 0x16
- ldrsb r3, [r4, r3]
- adds r0, r5, 0
- bl TintPlttBuffer
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080E248E
- adds r0, r5, 0
- bl UnfadePlttBuffer
- mov r0, r8
- bl move_anim_task_del
-_080E248E:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E249C: .4byte gTasks
-_080E24A0: .4byte gUnknown_03004B00
-_080E24A4: .4byte gUnknown_0202F7C8
-_080E24A8: .4byte gUnknown_0202F7C9
-_080E24AC: .4byte 0x0000ffff
-_080E24B0: .4byte gSprites
-_080E24B4: .4byte gUnknown_03004340
- thumb_func_end unref_sub_80E23A8
-
- thumb_func_start sub_80E24B8
-sub_80E24B8: @ 80E24B8
- push {r4,lr}
- adds r4, r0, 0
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r1, _080E24EC
- ldrh r0, [r1]
- negs r0, r0
- strh r0, [r4, 0x2E]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x30]
- strh r0, [r4, 0x32]
- ldrh r0, [r1, 0x4]
- strh r0, [r4, 0x34]
- movs r2, 0x6
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _080E2500
- cmp r0, 0x1
- bgt _080E24F0
- cmp r0, 0
- beq _080E24F6
- b _080E2518
- .align 2, 0
-_080E24EC: .4byte gUnknown_03004B00
-_080E24F0:
- cmp r0, 0x2
- beq _080E2508
- b _080E2518
-_080E24F6:
- ldr r1, _080E24FC
- b _080E250A
- .align 2, 0
-_080E24FC: .4byte gUnknown_030041B0
-_080E2500:
- ldr r1, _080E2504
- b _080E250A
- .align 2, 0
-_080E2504: .4byte gUnknown_030041B8
-_080E2508:
- ldr r1, _080E2514
-_080E250A:
- adds r0, r4, 0
- bl oamt_set_x3A_32
- b _080E2520
- .align 2, 0
-_080E2514: .4byte gSpriteCoordOffsetX
-_080E2518:
- ldr r1, _080E2550
- adds r0, r4, 0
- bl oamt_set_x3A_32
-_080E2520:
- movs r0, 0x3A
- ldrsh r1, [r4, r0]
- movs r2, 0x3C
- ldrsh r0, [r4, r2]
- lsls r0, 16
- orrs r1, r0
- ldr r0, [r1]
- strh r0, [r4, 0x36]
- ldr r0, _080E2554
- ldrh r0, [r0, 0x6]
- strh r0, [r4, 0x38]
- subs r0, 0x2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080E2544
- bl sub_80E260C
-_080E2544:
- ldr r0, _080E2558
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E2550: .4byte gSpriteCoordOffsetY
-_080E2554: .4byte gUnknown_03004B00
-_080E2558: .4byte sub_80E255C
- thumb_func_end sub_80E24B8
-
- thumb_func_start sub_80E255C
-sub_80E255C: @ 80E255C
- push {r4-r7,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0x34]
- movs r2, 0x34
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _080E25A0
- subs r0, r1, 0x1
- strh r0, [r3, 0x34]
- ldrh r1, [r3, 0x30]
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- ble _080E257E
- subs r0, r1, 0x1
- strh r0, [r3, 0x30]
- b _080E25FA
-_080E257E:
- ldrh r0, [r3, 0x32]
- strh r0, [r3, 0x30]
- movs r0, 0x3A
- ldrsh r1, [r3, r0]
- movs r2, 0x3C
- ldrsh r0, [r3, r2]
- lsls r0, 16
- orrs r1, r0
- movs r0, 0x2E
- ldrsh r2, [r3, r0]
- ldr r0, [r1]
- adds r0, r2
- str r0, [r1]
- ldrh r0, [r3, 0x2E]
- negs r0, r0
- strh r0, [r3, 0x2E]
- b _080E25FA
-_080E25A0:
- movs r2, 0x3A
- ldrsh r1, [r3, r2]
- movs r2, 0x3C
- ldrsh r0, [r3, r2]
- lsls r0, 16
- orrs r1, r0
- movs r2, 0x36
- ldrsh r0, [r3, r2]
- str r0, [r1]
- ldrh r0, [r3, 0x38]
- subs r0, 0x2
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080E25F4
- movs r4, 0
- ldr r5, _080E2600
- ldrb r0, [r5]
- cmp r4, r0
- bcs _080E25F4
- ldr r2, _080E2604
- mov r12, r2
- ldr r6, _080E2608
- movs r7, 0x3
- negs r7, r7
-_080E25D2:
- adds r0, r4, r6
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r12
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r7, 0
- ands r0, r2
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r5]
- cmp r4, r0
- bcc _080E25D2
-_080E25F4:
- adds r0, r3, 0
- bl move_anim_8072740
-_080E25FA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E2600: .4byte gUnknown_02024A68
-_080E2604: .4byte gSprites
-_080E2608: .4byte gUnknown_02024BE0
- thumb_func_end sub_80E255C
-
- thumb_func_start sub_80E260C
-sub_80E260C: @ 80E260C
- push {r4-r6,lr}
- ldr r6, _080E2680
- ldr r4, _080E2684
- ldr r5, _080E2688
- ldrb r0, [r5]
- adds r0, r4
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- adds r1, 0x3E
- ldrb r3, [r1]
- movs r2, 0x3
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- strb r0, [r1]
- ldr r3, _080E268C
- ldrb r0, [r3]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- ands r2, r1
- strb r2, [r0]
- ldr r0, _080E2690
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x2
- bne _080E2694
- ldrb r0, [r5]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r0]
- ldrb r0, [r3]
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- b _080E26B0
- .align 2, 0
-_080E2680: .4byte gSprites
-_080E2684: .4byte gUnknown_02024BE0
-_080E2688: .4byte gUnknown_0202F7C8
-_080E268C: .4byte gUnknown_0202F7C9
-_080E2690: .4byte gUnknown_03004B00
-_080E2694:
- cmp r0, 0
- bne _080E269C
- ldrb r0, [r5]
- b _080E269E
-_080E269C:
- ldrb r0, [r3]
-_080E269E:
- adds r0, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x2
-_080E26B0:
- orrs r1, r2
- strb r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E260C
-
- thumb_func_start sub_80E26BC
-sub_80E26BC: @ 80E26BC
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080E26FC
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r1
- ldr r3, _080E2700
- ldrh r1, [r3]
- strh r1, [r2, 0x8]
- ldrh r1, [r3, 0x2]
- strh r1, [r2, 0xA]
- ldrh r1, [r3, 0x4]
- strh r1, [r2, 0xC]
- ldrh r1, [r3, 0x6]
- strh r1, [r2, 0xE]
- ldrh r1, [r3, 0x6]
- strh r1, [r2, 0x18]
- ldr r4, _080E2704
- ldrh r1, [r3]
- strh r1, [r4]
- ldr r4, _080E2708
- ldrh r1, [r3, 0x2]
- strh r1, [r4]
- ldr r1, _080E270C
- str r1, [r2]
- bl _call_via_r1
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E26FC: .4byte gTasks
-_080E2700: .4byte gUnknown_03004B00
-_080E2704: .4byte gUnknown_030041B0
-_080E2708: .4byte gUnknown_030041B8
-_080E270C: .4byte sub_80E2710
- thumb_func_end sub_80E26BC
-
- thumb_func_start sub_80E2710
-sub_80E2710: @ 80E2710
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080E2740
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r3, r0, r1
- ldrh r2, [r3, 0xE]
- movs r4, 0xE
- ldrsh r0, [r3, r4]
- mov r12, r1
- cmp r0, 0
- bne _080E2796
- ldr r0, _080E2744
- ldrh r2, [r0]
- movs r7, 0x8
- ldrsh r1, [r3, r7]
- adds r6, r0, 0
- cmp r2, r1
- bne _080E2748
- ldrh r0, [r3, 0x8]
- negs r0, r0
- b _080E274A
- .align 2, 0
-_080E2740: .4byte gTasks
-_080E2744: .4byte gUnknown_030041B0
-_080E2748:
- ldrh r0, [r3, 0x8]
-_080E274A:
- strh r0, [r6]
- ldr r2, _080E2768
- ldrh r3, [r2]
- lsls r1, r5, 2
- adds r0, r1, r5
- lsls r0, 3
- mov r7, r12
- adds r4, r0, r7
- movs r7, 0xA
- ldrsh r0, [r4, r7]
- cmn r3, r0
- bne _080E276C
- movs r0, 0
- b _080E2770
- .align 2, 0
-_080E2768: .4byte gUnknown_030041B8
-_080E276C:
- ldrh r0, [r4, 0xA]
- negs r0, r0
-_080E2770:
- strh r0, [r2]
- adds r0, r1, r5
- lsls r0, 3
- add r0, r12
- ldrh r1, [r0, 0x18]
- strh r1, [r0, 0xE]
- ldrh r1, [r0, 0xC]
- subs r1, 0x1
- strh r1, [r0, 0xC]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0
- bne _080E279A
- strh r1, [r6]
- strh r1, [r2]
- adds r0, r5, 0
- bl move_anim_task_del
- b _080E279A
-_080E2796:
- subs r0, r2, 0x1
- strh r0, [r3, 0xE]
-_080E279A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E2710
-
- thumb_func_start sub_80E27A0
-sub_80E27A0: @ 80E27A0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080E27C0
- ldrb r1, [r4, 0x6]
- bl StartSpriteAffineAnim
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080E27C4
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80787B0
- b _080E27CC
- .align 2, 0
-_080E27C0: .4byte gUnknown_03004B00
-_080E27C4:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8078764
-_080E27CC:
- ldr r0, _080E27E0
- str r0, [r5, 0x1C]
- ldr r1, _080E27E4
- adds r0, r5, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E27E0: .4byte sub_80785E4
-_080E27E4: .4byte move_anim_8072740
- thumb_func_end sub_80E27A0
-
- thumb_func_start sub_80E27E8
-sub_80E27E8: @ 80E27E8
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080E2808
- ldrb r1, [r4, 0x6]
- bl StartSpriteAffineAnim
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080E280C
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80787B0
- b _080E2814
- .align 2, 0
-_080E2808: .4byte gUnknown_03004B00
-_080E280C:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8078764
-_080E2814:
- ldr r0, _080E282C
- ldrh r0, [r0, 0x8]
- strh r0, [r5, 0x2E]
- ldr r0, _080E2830
- str r0, [r5, 0x1C]
- ldr r1, _080E2834
- adds r0, r5, 0
- bl oamt_set_x3A_32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E282C: .4byte gUnknown_03004B00
-_080E2830: .4byte sub_80785E4
-_080E2834: .4byte sub_80DA48C
- thumb_func_end sub_80E27E8
-
- thumb_func_start sub_80E2838
-sub_80E2838: @ 80E2838
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080E2868
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080E285C
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E285C
- ldr r1, _080E286C
- ldrh r0, [r1, 0x2]
- negs r0, r0
- strh r0, [r1, 0x2]
-_080E285C:
- adds r0, r4, 0
- bl sub_80E27A0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E2868: .4byte gUnknown_0202F7C8
-_080E286C: .4byte gUnknown_03004B00
- thumb_func_end sub_80E2838
-
- thumb_func_start sub_80E2870
-sub_80E2870: @ 80E2870
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080E28A8
- movs r0, 0x2
- ldrsh r1, [r5, r0]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _080E288C
- bl Random
- movs r1, 0x3
- ands r1, r0
- strh r1, [r5, 0x2]
-_080E288C:
- ldrb r1, [r5, 0x2]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- movs r1, 0
- ldrsh r0, [r5, r1]
- cmp r0, 0
- bne _080E28AC
- adds r0, r4, 0
- movs r1, 0
- bl sub_80787B0
- b _080E28B4
- .align 2, 0
-_080E28A8: .4byte gUnknown_03004B00
-_080E28AC:
- adds r0, r4, 0
- movs r1, 0
- bl sub_8078764
-_080E28B4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x30
- bl __umodsi3
- ldr r1, _080E28F8
- adds r0, r1
- ldrh r1, [r4, 0x24]
- adds r0, r1
- strh r0, [r4, 0x24]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x18
- bl __umodsi3
- ldr r1, _080E28FC
- adds r0, r1
- ldrh r1, [r4, 0x26]
- adds r0, r1
- strh r0, [r4, 0x26]
- ldr r1, _080E2900
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080E2904
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E28F8: .4byte 0x0000ffe8
-_080E28FC: .4byte 0x0000fff4
-_080E2900: .4byte move_anim_8074EE0
-_080E2904: .4byte sub_80785E4
- thumb_func_end sub_80E2870
-
- thumb_func_start sub_80E2908
-sub_80E2908: @ 80E2908
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r5, _080E2968
- ldrb r0, [r5]
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0x2E]
- ldr r2, _080E296C
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x24]
- ldrh r0, [r0, 0x20]
- adds r1, r0
- strh r1, [r4, 0x20]
- movs r0, 0x2E
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- strh r1, [r4, 0x22]
- ldrh r0, [r5, 0x2]
- strh r0, [r4, 0x24]
- ldrh r0, [r5, 0x4]
- strh r0, [r4, 0x26]
- ldrb r1, [r5, 0x6]
- adds r0, r4, 0
- bl StartSpriteAffineAnim
- ldr r1, _080E2970
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080E2974
- str r0, [r4, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E2968: .4byte gUnknown_03004B00
-_080E296C: .4byte gSprites
-_080E2970: .4byte move_anim_8074EE0
-_080E2974: .4byte sub_80785E4
- thumb_func_end sub_80E2908
-
- thumb_func_start sub_80E2978
-sub_80E2978: @ 80E2978
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080E2990
- movs r1, 0x4
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080E2994
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_80787B0
- b _080E299C
- .align 2, 0
-_080E2990: .4byte gUnknown_03004B00
-_080E2994:
- adds r0, r4, 0
- movs r1, 0x1
- bl sub_8078764
-_080E299C:
- ldr r0, _080E29B4
- ldrh r0, [r0, 0x6]
- strh r0, [r4, 0x2E]
- ldr r1, _080E29B8
- adds r0, r4, 0
- bl oamt_set_x3A_32
- ldr r0, _080E29BC
- str r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E29B4: .4byte gUnknown_03004B00
-_080E29B8: .4byte move_anim_8072740
-_080E29BC: .4byte sub_80782D8
- thumb_func_end sub_80E2978
-
- thumb_func_start sub_80E29C0
-sub_80E29C0: @ 80E29C0
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _080E29E0
- ldrb r1, [r4, 0x6]
- bl StartSpriteAffineAnim
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080E29E4
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80787B0
- b _080E29EC
- .align 2, 0
-_080E29E0: .4byte gUnknown_03004B00
-_080E29E4:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_8078764
-_080E29EC:
- ldr r0, _080E29F8
- str r0, [r5, 0x1C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E29F8: .4byte sub_80E29FC
- thumb_func_end sub_80E29C0
-
- thumb_func_start sub_80E29FC
-sub_80E29FC: @ 80E29FC
- push {lr}
- adds r3, r0, 0
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x2E]
- adds r1, r0, 0x1
- strh r1, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xC
- ble _080E2A32
- adds r0, r3, 0
- bl move_anim_8072740
-_080E2A32:
- pop {r0}
- bx r0
- thumb_func_end sub_80E29FC
-
- thumb_func_start sub_80E2A38
-sub_80E2A38: @ 80E2A38
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r4, _080E2A78
- movs r1, 0
- ldrsh r0, [r4, r1]
- bl sub_80E1DC4
- adds r6, r0, 0
- ldrh r3, [r4]
- lsls r3, 16
- asrs r0, r3, 23
- movs r4, 0x1
- ands r0, r4
- asrs r1, r3, 24
- ands r1, r4
- asrs r2, r3, 25
- ands r2, r4
- asrs r3, 26
- ands r3, r4
- bl sub_80792C0
- orrs r6, r0
- adds r0, r5, 0
- adds r1, r6, 0
- bl sub_80E2C8C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E2A78: .4byte gUnknown_03004B00
- thumb_func_end sub_80E2A38
-
- thumb_func_start sub_80E2A7C
-sub_80E2A7C: @ 80E2A7C
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r7, r0, 24
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1, 0x1]
- movs r0, 0x1
- bl sub_80E1DC4
- adds r5, r0, 0
- ldr r0, _080E2AA8
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0x7
- bhi _080E2B26
- lsls r0, 2
- ldr r1, _080E2AAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E2AA8: .4byte gUnknown_03004B00
-_080E2AAC: .4byte _080E2AB0
- .align 2, 0
-_080E2AB0:
- .4byte _080E2AD2
- .4byte _080E2ADE
- .4byte _080E2AD0
- .4byte _080E2ADC
- .4byte _080E2AEC
- .4byte _080E2B04
- .4byte _080E2B0C
- .4byte _080E2B18
-_080E2AD0:
- movs r5, 0
-_080E2AD2:
- mov r0, sp
- ldr r1, _080E2AD8
- b _080E2AE2
- .align 2, 0
-_080E2AD8: .4byte gUnknown_0202F7C8
-_080E2ADC:
- movs r5, 0
-_080E2ADE:
- mov r0, sp
- ldr r1, _080E2AE8
-_080E2AE2:
- ldrb r1, [r1]
- strb r1, [r0]
- b _080E2B26
- .align 2, 0
-_080E2AE8: .4byte gUnknown_0202F7C9
-_080E2AEC:
- mov r1, sp
- ldr r0, _080E2AFC
- ldrb r0, [r0]
- strb r0, [r1]
- ldr r0, _080E2B00
- ldrb r0, [r0]
- strb r0, [r1, 0x1]
- b _080E2B26
- .align 2, 0
-_080E2AFC: .4byte gUnknown_0202F7C8
-_080E2B00: .4byte gUnknown_0202F7C9
-_080E2B04:
- mov r1, sp
- movs r0, 0xFF
- strb r0, [r1]
- b _080E2B26
-_080E2B0C:
- movs r5, 0
- mov r2, sp
- ldr r0, _080E2B14
- b _080E2B1E
- .align 2, 0
-_080E2B14: .4byte gUnknown_0202F7C8
-_080E2B18:
- movs r5, 0
- mov r2, sp
- ldr r0, _080E2B70
-_080E2B1E:
- ldrb r0, [r0]
- movs r1, 0x2
- eors r0, r1
- strb r0, [r2]
-_080E2B26:
- movs r4, 0
- mov r6, sp
-_080E2B2A:
- ldrb r0, [r6]
- cmp r4, r0
- beq _080E2B54
- ldrb r0, [r6, 0x1]
- cmp r4, r0
- beq _080E2B54
- adds r0, r4, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080E2B54
- adds r0, r4, 0
- bl sub_80793A8
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x80
- lsls r1, 9
- lsls r1, r0
- orrs r5, r1
-_080E2B54:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080E2B2A
- adds r0, r7, 0
- adds r1, r5, 0
- bl sub_80E2C8C
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E2B70: .4byte gUnknown_0202F7C9
- thumb_func_end sub_80E2A7C
-
- thumb_func_start sub_80E2B74
-sub_80E2B74: @ 80E2B74
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E2B98
- movs r1, 0
- ldrsh r0, [r0, r1]
- bl sub_80E1DC4
- adds r2, r0, 0
- ldr r0, _080E2B9C
- ldrb r0, [r0]
- cmp r0, 0x9
- bhi _080E2C4A
- lsls r0, 2
- ldr r1, _080E2BA0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E2B98: .4byte gUnknown_03004B00
-_080E2B9C: .4byte gUnknown_0300428C
-_080E2BA0: .4byte _080E2BA4
- .align 2, 0
-_080E2BA4:
- .4byte _080E2BCC
- .4byte _080E2BDC
- .4byte _080E2BE8
- .4byte _080E2BF8
- .4byte _080E2C04
- .4byte _080E2C14
- .4byte _080E2C24
- .4byte _080E2C34
- .4byte _080E2C44
- .4byte _080E2C44
-_080E2BCC:
- ldr r1, _080E2BD4
- ldr r0, _080E2BD8
- b _080E2C48
- .align 2, 0
-_080E2BD4: .4byte gUnknown_03004B00
-_080E2BD8: .4byte 0x00000b0c
-_080E2BDC:
- ldr r1, _080E2BE4
- movs r0, 0x9E
- lsls r0, 4
- b _080E2C48
- .align 2, 0
-_080E2BE4: .4byte gUnknown_03004B00
-_080E2BE8:
- ldr r1, _080E2BF0
- ldr r0, _080E2BF4
- b _080E2C48
- .align 2, 0
-_080E2BF0: .4byte gUnknown_03004B00
-_080E2BF4: .4byte 0x00002f1e
-_080E2BF8:
- ldr r1, _080E2C00
- movs r0, 0x90
- lsls r0, 7
- b _080E2C48
- .align 2, 0
-_080E2C00: .4byte gUnknown_03004B00
-_080E2C04:
- ldr r1, _080E2C0C
- ldr r0, _080E2C10
- b _080E2C48
- .align 2, 0
-_080E2C0C: .4byte gUnknown_03004B00
-_080E2C10: .4byte 0x00007ecb
-_080E2C14:
- ldr r1, _080E2C1C
- ldr r0, _080E2C20
- b _080E2C48
- .align 2, 0
-_080E2C1C: .4byte gUnknown_03004B00
-_080E2C20: .4byte 0x00007ecb
-_080E2C24:
- ldr r1, _080E2C2C
- ldr r0, _080E2C30
- b _080E2C48
- .align 2, 0
-_080E2C2C: .4byte gUnknown_03004B00
-_080E2C30: .4byte 0x00002a16
-_080E2C34:
- ldr r1, _080E2C3C
- ldr r0, _080E2C40
- b _080E2C48
- .align 2, 0
-_080E2C3C: .4byte gUnknown_03004B00
-_080E2C40: .4byte 0x00000d2e
-_080E2C44:
- ldr r1, _080E2C58
- ldr r0, _080E2C5C
-_080E2C48:
- strh r0, [r1, 0x8]
-_080E2C4A:
- adds r0, r4, 0
- adds r1, r2, 0
- bl sub_80E2C8C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E2C58: .4byte gUnknown_03004B00
-_080E2C5C: .4byte 0x00007fff
- thumb_func_end sub_80E2B74
-
- thumb_func_start sub_80E2C60
-sub_80E2C60: @ 80E2C60
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080E2C88
- ldrh r0, [r0]
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- adds r0, 0x10
- movs r1, 0x1
- lsls r1, r0
- adds r0, r4, 0
- bl sub_80E2C8C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E2C88: .4byte gUnknown_03004B00
- thumb_func_end sub_80E2C60
-
- thumb_func_start sub_80E2C8C
-sub_80E2C8C: @ 80E2C8C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080E2CC4
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- strh r1, [r2, 0x8]
- lsrs r1, 16
- strh r1, [r2, 0xA]
- ldr r3, _080E2CC8
- ldrh r1, [r3, 0x2]
- strh r1, [r2, 0xC]
- ldrh r1, [r3, 0x4]
- strh r1, [r2, 0xE]
- ldrh r1, [r3, 0x6]
- strh r1, [r2, 0x10]
- ldrh r1, [r3, 0x8]
- strh r1, [r2, 0x12]
- ldrh r1, [r3, 0x4]
- strh r1, [r2, 0x1C]
- ldr r1, _080E2CCC
- str r1, [r2]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080E2CC4: .4byte gTasks
-_080E2CC8: .4byte gUnknown_03004B00
-_080E2CCC: .4byte sub_80E2CD0
- thumb_func_end sub_80E2C8C
-
- thumb_func_start sub_80E2CD0
-sub_80E2CD0: @ 80E2CD0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- ldr r2, _080E2D50
- lsls r5, r7, 2
- adds r0, r5, r7
- lsls r0, 3
- adds r3, r0, r2
- ldrh r0, [r3, 0x1A]
- mov r8, r0
- movs r4, 0x1A
- ldrsh r1, [r3, r4]
- movs r4, 0xC
- ldrsh r0, [r3, r4]
- mov r9, r2
- cmp r1, r0
- bne _080E2D66
- strh r6, [r3, 0x1A]
- movs r0, 0x8
- ldrsh r4, [r3, r0]
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- lsls r0, 16
- orrs r4, r0
- mov r8, r5
- cmp r4, 0
- beq _080E2D32
- adds r5, r3, 0
-_080E2D10:
- movs r0, 0x1
- ands r0, r4
- cmp r0, 0
- beq _080E2D24
- ldrb r2, [r5, 0x1C]
- ldrh r3, [r5, 0x12]
- adds r0, r6, 0
- movs r1, 0x10
- bl BlendPalette
-_080E2D24:
- adds r0, r6, 0
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- lsrs r4, 1
- cmp r4, 0
- bne _080E2D10
-_080E2D32:
- mov r4, r8
- adds r0, r4, r7
- lsls r0, 3
- mov r1, r9
- adds r2, r0, r1
- ldrh r0, [r2, 0x1C]
- movs r4, 0x1C
- ldrsh r3, [r2, r4]
- movs r4, 0x10
- ldrsh r1, [r2, r4]
- cmp r3, r1
- bge _080E2D54
- adds r0, 0x1
- strh r0, [r2, 0x1C]
- b _080E2D6C
- .align 2, 0
-_080E2D50: .4byte gTasks
-_080E2D54:
- cmp r3, r1
- ble _080E2D5E
- subs r0, 0x1
- strh r0, [r2, 0x1C]
- b _080E2D6C
-_080E2D5E:
- adds r0, r7, 0
- bl move_anim_task_del
- b _080E2D6C
-_080E2D66:
- mov r0, r8
- adds r0, 0x1
- strh r0, [r3, 0x1A]
-_080E2D6C:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E2CD0
-
- thumb_func_start sub_80E2D78
-sub_80E2D78: @ 80E2D78
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- ldr r4, _080E2DAC
- ldrb r0, [r4]
- ldrb r1, [r4, 0x2]
- ldrb r2, [r4, 0x4]
- ldrb r3, [r4, 0x6]
- ldrb r4, [r4, 0x8]
- str r4, [sp]
- bl BeginHardwarePaletteFade
- ldr r1, _080E2DB0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080E2DB4
- str r1, [r0]
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E2DAC: .4byte gUnknown_03004B00
-_080E2DB0: .4byte gTasks
-_080E2DB4: .4byte sub_80E2DB8
- thumb_func_end sub_80E2D78
-
- thumb_func_start sub_80E2DB8
-sub_80E2DB8: @ 80E2DB8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080E2DD4
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080E2DD0
- adds r0, r2, 0
- bl move_anim_task_del
-_080E2DD0:
- pop {r0}
- bx r0
- .align 2, 0
-_080E2DD4: .4byte gPaletteFade
- thumb_func_end sub_80E2DB8
-
- thumb_func_start sub_80E2DD8
-sub_80E2DD8: @ 80E2DD8
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _080E2E04
- adds r1, r0
- ldr r2, _080E2E08
- ldrh r0, [r2]
- movs r3, 0
- strh r0, [r1, 0x8]
- strh r3, [r1, 0xA]
- ldrh r0, [r2, 0x2]
- strh r0, [r1, 0xC]
- ldrh r0, [r2, 0x4]
- strh r0, [r1, 0xE]
- ldrh r0, [r2, 0x6]
- strh r0, [r1, 0x10]
- strh r3, [r1, 0x12]
- ldr r0, _080E2E0C
- str r0, [r1]
- bx lr
- .align 2, 0
-_080E2E04: .4byte gTasks
-_080E2E08: .4byte gUnknown_03004B00
-_080E2E0C: .4byte sub_80E2E10
- thumb_func_end sub_80E2DD8
-
- thumb_func_start sub_80E2E10
-sub_80E2E10: @ 80E2E10
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, r5, 0
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _080E2E3C
- adds r4, r0, r1
- movs r1, 0x10
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080E2ED4
- ldrh r1, [r4, 0xA]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080E2E40
- subs r0, r1, 0x1
- strh r0, [r4, 0xA]
- b _080E2EE2
- .align 2, 0
-_080E2E3C: .4byte gTasks
-_080E2E40:
- ldrb r0, [r4, 0x8]
- bl duplicate_obj_of_side_rel2move_in_transparent_mode
- strh r0, [r4, 0x14]
- lsls r0, 16
- cmp r0, 0
- blt _080E2EBE
- ldr r6, _080E2ECC
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r3, r1, r6
- movs r2, 0x8
- ldrsh r0, [r4, r2]
- movs r2, 0x2
- cmp r0, 0
- beq _080E2E68
- movs r2, 0x1
-_080E2E68:
- lsls r2, 2
- ldrb r1, [r3, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x5]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r1, [r4, 0xE]
- strh r1, [r0, 0x2E]
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- strh r5, [r0, 0x30]
- movs r0, 0x14
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- movs r1, 0x5
- strh r1, [r0, 0x32]
- movs r2, 0x14
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r6, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _080E2ED0
- str r1, [r0]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
-_080E2EBE:
- ldrh r0, [r4, 0x10]
- subs r0, 0x1
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0xC]
- strh r0, [r4, 0xA]
- b _080E2EE2
- .align 2, 0
-_080E2ECC: .4byte gSprites
-_080E2ED0: .4byte sub_80E2EE8
-_080E2ED4:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080E2EE2
- adds r0, r2, 0
- bl move_anim_task_del
-_080E2EE2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E2E10
-
- thumb_func_start sub_80E2EE8
-sub_80E2EE8: @ 80E2EE8
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080E2EFC
- subs r0, r1, 0x1
- strh r0, [r4, 0x2E]
- b _080E2F20
-_080E2EFC:
- ldr r3, _080E2F28
- movs r0, 0x32
- ldrsh r1, [r4, r0]
- lsls r1, 1
- movs r0, 0x30
- ldrsh r2, [r4, r0]
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r1, r0
- adds r3, 0x8
- adds r1, r3
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- adds r0, r4, 0
- bl obj_delete_but_dont_free_vram
-_080E2F20:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E2F28: .4byte gTasks
- thumb_func_end sub_80E2EE8
-
- thumb_func_start sub_80E2F2C
-sub_80E2F2C: @ 80E2F2C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r7, 0
- ldr r0, _080E3038
- strh r7, [r0]
- ldr r0, _080E303C
- strh r7, [r0]
- ldr r1, _080E3040
- ldr r2, _080E3044
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080E3048
- adds r0, r3, 0
- strh r0, [r1]
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080E304C
- ldr r2, _080E3050
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080E3054
- adds r0, r3, 0
- strh r0, [r1]
- ldr r4, _080E3058
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- mov r8, r0
- ands r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E2FAC
- ldrb r0, [r4]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4]
-_080E2FAC:
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _080E3028
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E3028
- ldr r5, _080E305C
- ldrb r0, [r5]
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080E2FDC
- ldrb r0, [r5]
- bl battle_get_per_side_status
- lsls r0, 24
- cmp r0, 0
- bne _080E3028
-_080E2FDC:
- ldrb r0, [r5]
- movs r6, 0x2
- eors r0, r6
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E3028
- ldr r3, _080E3060
- ldr r1, _080E3064
- ldrb r0, [r5]
- eors r0, r6
- adds r0, r1
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r3
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldrb r1, [r4]
- mov r0, r8
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4]
- movs r7, 0x1
-_080E3028:
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080E306C
- ldr r0, _080E3068
- ldrh r4, [r0]
- b _080E30B4
- .align 2, 0
-_080E3038: .4byte gUnknown_030042C4
-_080E303C: .4byte gUnknown_03004240
-_080E3040: .4byte REG_WININ
-_080E3044: .4byte 0x00003f3f
-_080E3048: .4byte 0x00003f3d
-_080E304C: .4byte REG_BLDCNT
-_080E3050: .4byte 0x00003f42
-_080E3054: .4byte 0x00000c08
-_080E3058: .4byte REG_BG1CNT
-_080E305C: .4byte gUnknown_0202F7C8
-_080E3060: .4byte gSprites
-_080E3064: .4byte gUnknown_02024BE0
-_080E3068: .4byte 0x02019348
-_080E306C:
- ldr r4, _080E308C
- ldrb r0, [r4]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080E3098
- ldr r1, _080E3090
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E3094
- b _080E30A8
- .align 2, 0
-_080E308C: .4byte gUnknown_0202F7C8
-_080E3090: .4byte gUnknown_02024A6A
-_080E3094: .4byte gEnemyParty
-_080E3098:
- ldr r1, _080E3160
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E3164
-_080E30A8:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
-_080E30B4:
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080E3168
- ldrb r0, [r0]
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_807A4A0
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, sp
- bl sub_8078914
- ldr r1, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0xC]
- ldr r2, _080E316C
- add r0, sp, 0xC
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _080E3170
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- ldr r0, _080E3174
- bl LZDecompressVram
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080E3106
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80763FC
-_080E3106:
- ldr r0, _080E3178
- ldr r1, [sp]
- bl LZDecompressVram
- ldr r0, _080E317C
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- adds r1, 0x1
- movs r2, 0x2
- bl LoadPalette
- ldr r2, _080E3180
- ldr r0, _080E3184
- lsls r1, r5, 4
- adds r1, r5
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x20]
- negs r0, r0
- adds r0, 0x20
- strh r0, [r2]
- ldr r2, _080E3188
- ldrh r0, [r1, 0x22]
- negs r0, r0
- adds r0, 0x20
- strh r0, [r2]
- ldr r1, _080E318C
- mov r2, r9
- lsls r0, r2, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- strh r4, [r0, 0x8]
- strh r7, [r0, 0x14]
- ldr r1, _080E3190
- str r1, [r0]
- add sp, 0x10
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E3160: .4byte gUnknown_02024A6A
-_080E3164: .4byte gPlayerParty
-_080E3168: .4byte gUnknown_0202F7C8
-_080E316C: .4byte 0x040000d4
-_080E3170: .4byte 0x85000400
-_080E3174: .4byte gUnknown_08D20A30
-_080E3178: .4byte gUnknown_08D20A14
-_080E317C: .4byte gUnknown_083DB568
-_080E3180: .4byte gUnknown_030042C0
-_080E3184: .4byte gSprites
-_080E3188: .4byte gUnknown_030041B4
-_080E318C: .4byte gTasks
-_080E3190: .4byte sub_80E3194
- thumb_func_end sub_80E2F2C
-
- thumb_func_start sub_80E3194
-sub_80E3194: @ 80E3194
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080E32AC
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0x1C]
- adds r0, 0x4
- movs r5, 0
- strh r0, [r4, 0x1C]
- ldr r7, _080E32B0
- ldrh r2, [r7]
- subs r1, r2, 0x4
- strh r1, [r7]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x40
- bne _080E329E
- strh r5, [r4, 0x1C]
- adds r0, r2, 0
- adds r0, 0x3C
- strh r0, [r7]
- ldrh r0, [r4, 0x1E]
- adds r0, 0x1
- strh r0, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bne _080E329E
- movs r0, 0
- bl sub_8076464
- ldr r0, _080E32B4
- strh r5, [r0]
- ldr r0, _080E32B8
- strh r5, [r0]
- ldr r0, _080E32BC
- ldr r2, _080E32C0
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E3208
- ldr r2, _080E32C4
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080E3208:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- eors r0, r1
- strh r0, [r2]
- ldr r0, _080E32C8
- strh r5, [r0]
- adds r0, 0x2
- strh r5, [r0]
- movs r0, 0
- bl obj_id_for_side_relative_to_move
- ldr r0, _080E32CC
- mov r8, r0
- movs r2, 0x8
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- add r0, r8
- bl DestroySprite
- mov r0, sp
- bl sub_8078914
- ldr r2, [sp, 0x4]
- str r5, [sp, 0xC]
- ldr r1, _080E32D0
- add r0, sp, 0xC
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _080E32D4
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r3, 0x14
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _080E3288
- ldr r2, _080E32D8
- ldr r0, _080E32DC
- ldrb r1, [r0]
- movs r0, 0x2
- eors r0, r1
- adds r0, r2
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r8
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
-_080E3288:
- ldr r2, _080E32C4
- ldrb r1, [r2, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- movs r0, 0
- strh r0, [r7]
- adds r0, r6, 0
- bl move_anim_task_del
-_080E329E:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E32AC: .4byte gTasks
-_080E32B0: .4byte gUnknown_030041B4
-_080E32B4: .4byte gUnknown_030042C4
-_080E32B8: .4byte gUnknown_03004240
-_080E32BC: .4byte REG_WININ
-_080E32C0: .4byte 0x00003f3f
-_080E32C4: .4byte REG_BG1CNT
-_080E32C8: .4byte REG_BLDCNT
-_080E32CC: .4byte gSprites
-_080E32D0: .4byte 0x040000d4
-_080E32D4: .4byte 0x85000200
-_080E32D8: .4byte gUnknown_02024BE0
-_080E32DC: .4byte gUnknown_0202F7C8
- thumb_func_end sub_80E3194
-
- thumb_func_start sub_80E32E0
-sub_80E32E0: @ 80E32E0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r0, _080E332C
- mov r12, r0
- ldr r1, _080E3330
- mov r8, r1
- lsls r1, r3, 2
- adds r0, r1, r3
- lsls r4, r0, 3
- mov r7, r12
- adds r7, 0x8
- adds r5, r1, 0
- ldr r6, _080E3334
-_080E3302:
- lsls r0, r2, 1
- adds r1, r0, r4
- adds r1, r7
- adds r0, r6
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _080E3302
- adds r0, r5, r3
- lsls r0, 3
- add r0, r12
- mov r1, r8
- str r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E332C: .4byte gTasks
-_080E3330: .4byte sub_80E3338
-_080E3334: .4byte gUnknown_03004B00
- thumb_func_end sub_80E32E0
-
- thumb_func_start sub_80E3338
-sub_80E3338: @ 80E3338
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r0, 0
- str r0, [sp, 0x1C]
- movs r1, 0
- str r1, [sp, 0x20]
- add r7, sp, 0xC
- ldr r2, _080E3388
- mov r3, r9
- lsls r1, r3, 2
- adds r0, r1, r3
- lsls r0, 3
- mov r10, r1
- adds r1, r2, 0
- adds r1, 0x8
- adds r1, r0, r1
- adds r3, r7, 0
- movs r4, 0
- movs r2, 0x7
-_080E336C:
- ldrh r0, [r1]
- strh r0, [r3]
- strh r4, [r1]
- adds r1, 0x2
- adds r3, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _080E336C
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _080E3390
- ldr r0, _080E338C
- b _080E3392
- .align 2, 0
-_080E3388: .4byte gTasks
-_080E338C: .4byte gUnknown_0202F7C8
-_080E3390:
- ldr r0, _080E34B4
-_080E3392:
- ldrb r5, [r0]
- movs r0, 0x2
- mov r8, r5
- mov r2, r8
- eors r2, r0
- mov r8, r2
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E33BC
- movs r3, 0x6
- ldrsh r0, [r7, r3]
- cmp r0, 0
- beq _080E33C0
- mov r0, r8
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- bne _080E33C0
-_080E33BC:
- movs r0, 0
- strh r0, [r7, 0x6]
-_080E33C0:
- ldr r0, _080E34B8
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080E34BC
- strh r1, [r0]
- ldr r1, _080E34C0
- ldr r2, _080E34C4
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080E34C8
- adds r0, r3, 0
- strh r0, [r1]
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080E34CC
- ldr r2, _080E34D0
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r3, 0x80
- lsls r3, 5
- adds r0, r3, 0
- strh r0, [r1]
- ldr r4, _080E34D4
- ldrb r1, [r4]
- movs r6, 0x4
- negs r6, r6
- adds r0, r6, 0
- ands r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E3432
- ldrb r0, [r4]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4]
-_080E3432:
- bl battle_type_is_double
- lsls r0, 24
- cmp r0, 0
- beq _080E34A4
- movs r1, 0x6
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _080E34A4
- adds r0, r5, 0
- bl battle_get_per_side_status
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080E345E
- adds r0, r5, 0
- bl battle_get_per_side_status
- lsls r0, 24
- cmp r0, 0
- bne _080E34A4
-_080E345E:
- mov r0, r8
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080E34A4
- ldr r1, _080E34D8
- ldr r0, _080E34DC
- add r0, r8
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- subs r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
- ldrb r1, [r4]
- adds r0, r6, 0
- ands r0, r1
- movs r1, 0x1
- orrs r0, r1
- strb r0, [r4]
- movs r2, 0x1
- str r2, [sp, 0x20]
-_080E34A4:
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080E34E4
- ldr r0, _080E34E0
- ldrh r4, [r0]
- b _080E3522
- .align 2, 0
-_080E34B4: .4byte gUnknown_0202F7C9
-_080E34B8: .4byte gUnknown_030042C4
-_080E34BC: .4byte gUnknown_03004240
-_080E34C0: .4byte REG_WININ
-_080E34C4: .4byte 0x00003f3f
-_080E34C8: .4byte 0x00003f3d
-_080E34CC: .4byte REG_BLDCNT
-_080E34D0: .4byte 0x00003f42
-_080E34D4: .4byte REG_BG1CNT
-_080E34D8: .4byte gSprites
-_080E34DC: .4byte gUnknown_02024BE0
-_080E34E0: .4byte 0x02019348
-_080E34E4:
- adds r0, r5, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080E3508
- ldr r1, _080E3500
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E3504
- b _080E3516
- .align 2, 0
-_080E3500: .4byte gUnknown_02024A6A
-_080E3504: .4byte gEnemyParty
-_080E3508:
- ldr r1, _080E3568
- lsls r0, r5, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E356C
-_080E3516:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
-_080E3522:
- ldr r6, _080E3570
- adds r0, r5, r6
- ldrb r1, [r0]
- adds r0, r5, 0
- adds r2, r4, 0
- bl sub_807A4A0
- lsls r0, 24
- lsrs r5, r0, 24
- movs r3, 0x6
- ldrsh r0, [r7, r3]
- cmp r0, 0
- beq _080E3550
- mov r1, r8
- adds r0, r1, r6
- ldrb r1, [r0]
- mov r0, r8
- adds r2, r4, 0
- bl sub_807A4A0
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x1C]
-_080E3550:
- mov r0, sp
- bl sub_8078914
- movs r2, 0
- ldrsh r0, [r7, r2]
- cmp r0, 0
- bne _080E3578
- ldr r0, _080E3574
- ldr r1, [sp, 0x4]
- bl LZDecompressVram
- b _080E3580
- .align 2, 0
-_080E3568: .4byte gUnknown_02024A6A
-_080E356C: .4byte gPlayerParty
-_080E3570: .4byte gUnknown_02024BE0
-_080E3574: .4byte gBattleStatMask1_Tilemap
-_080E3578:
- ldr r0, _080E35B0
- ldr r1, [sp, 0x4]
- bl LZDecompressVram
-_080E3580:
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080E3598
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80763FC
-_080E3598:
- ldr r0, _080E35B4
- ldr r1, [sp]
- bl LZDecompressVram
- ldrh r0, [r7, 0x2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bne _080E35BC
- ldr r0, _080E35B8
- b _080E35FE
- .align 2, 0
-_080E35B0: .4byte gBattleStatMask2_Tilemap
-_080E35B4: .4byte gBattleStatMask_Gfx
-_080E35B8: .4byte gBattleStatMask2_Pal
-_080E35BC:
- cmp r0, 0x1
- bne _080E35C8
- ldr r0, _080E35C4
- b _080E35FE
- .align 2, 0
-_080E35C4: .4byte gBattleStatMask1_Pal
-_080E35C8:
- cmp r0, 0x2
- bne _080E35D4
- ldr r0, _080E35D0
- b _080E35FE
- .align 2, 0
-_080E35D0: .4byte gBattleStatMask3_Pal
-_080E35D4:
- cmp r0, 0x3
- bne _080E35E0
- ldr r0, _080E35DC
- b _080E35FE
- .align 2, 0
-_080E35DC: .4byte gBattleStatMask4_Pal
-_080E35E0:
- cmp r0, 0x4
- bne _080E35EC
- ldr r0, _080E35E8
- b _080E35FE
- .align 2, 0
-_080E35E8: .4byte gBattleStatMask6_Pal
-_080E35EC:
- cmp r0, 0x5
- bne _080E35F8
- ldr r0, _080E35F4
- b _080E35FE
- .align 2, 0
-_080E35F4: .4byte gBattleStatMask7_Pal
-_080E35F8:
- cmp r0, 0x6
- bne _080E3610
- ldr r0, _080E360C
-_080E35FE:
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
- b _080E361E
- .align 2, 0
-_080E360C: .4byte gBattleStatMask8_Pal
-_080E3610:
- ldr r0, _080E3644
- mov r1, sp
- ldrb r1, [r1, 0x8]
- lsls r1, 4
- movs r2, 0x20
- bl LoadCompressedPalette
-_080E361E:
- ldr r2, _080E3648
- movs r1, 0
- strh r1, [r2]
- ldr r0, _080E364C
- strh r1, [r0]
- movs r3, 0
- ldrsh r0, [r7, r3]
- cmp r0, 0x1
- bne _080E3658
- movs r0, 0x40
- strh r0, [r2]
- ldr r2, _080E3650
- mov r0, r10
- add r0, r9
- lsls r0, 3
- adds r0, r2
- ldr r1, _080E3654
- strh r1, [r0, 0xA]
- b _080E3668
- .align 2, 0
-_080E3644: .4byte gBattleStatMask5_Pal
-_080E3648: .4byte gUnknown_030042C0
-_080E364C: .4byte gUnknown_030041B4
-_080E3650: .4byte gTasks
-_080E3654: .4byte 0x0000fffd
-_080E3658:
- ldr r0, _080E3680
- mov r1, r10
- add r1, r9
- lsls r1, 3
- adds r1, r0
- movs r2, 0x3
- strh r2, [r1, 0xA]
- adds r2, r0, 0
-_080E3668:
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _080E3684
- mov r0, r10
- add r0, r9
- lsls r0, 3
- adds r0, r2
- movs r1, 0xA
- strh r1, [r0, 0x10]
- movs r1, 0x14
- b _080E3692
- .align 2, 0
-_080E3680: .4byte gTasks
-_080E3684:
- mov r0, r10
- add r0, r9
- lsls r0, 3
- adds r0, r2
- movs r1, 0xD
- strh r1, [r0, 0x10]
- movs r1, 0x1E
-_080E3692:
- strh r1, [r0, 0x12]
- mov r1, r10
- add r1, r9
- lsls r1, 3
- adds r1, r2
- strh r5, [r1, 0x8]
- ldrh r0, [r7, 0x6]
- strh r0, [r1, 0xC]
- mov r2, sp
- ldrh r2, [r2, 0x1C]
- strh r2, [r1, 0xE]
- mov r3, sp
- ldrh r3, [r3, 0x20]
- strh r3, [r1, 0x14]
- ldr r0, _080E36D8
- add r0, r8
- ldrb r0, [r0]
- strh r0, [r1, 0x16]
- ldr r0, _080E36DC
- str r0, [r1]
- movs r1, 0
- ldrsh r0, [r7, r1]
- cmp r0, 0
- bne _080E36E0
- movs r0, 0x40
- negs r0, r0
- bl sub_8077094
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xEF
- bl PlaySE12WithPanning
- b _080E36F4
- .align 2, 0
-_080E36D8: .4byte gUnknown_02024BE0
-_080E36DC: .4byte sub_80E3704
-_080E36E0:
- movs r0, 0x40
- negs r0, r0
- bl sub_8077094
- adds r1, r0, 0
- lsls r1, 24
- asrs r1, 24
- movs r0, 0xF5
- bl PlaySE12WithPanning
-_080E36F4:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E3338
-
- thumb_func_start sub_80E3704
-sub_80E3704: @ 80E3704
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r2, _080E3730
- ldr r1, _080E3734
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r1
- ldrh r0, [r4, 0xA]
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- movs r3, 0x26
- ldrsh r2, [r4, r3]
- cmp r2, 0x1
- beq _080E3774
- cmp r2, 0x1
- bgt _080E3738
- cmp r2, 0
- beq _080E373E
- b _080E3866
- .align 2, 0
-_080E3730: .4byte gUnknown_030041B4
-_080E3734: .4byte gTasks
-_080E3738:
- cmp r2, 0x2
- beq _080E378E
- b _080E3866
-_080E373E:
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- cmp r0, 0
- bgt _080E374C
- b _080E3866
-_080E374C:
- strh r2, [r4, 0x1E]
- ldrh r1, [r4, 0x20]
- adds r1, 0x1
- strh r1, [r4, 0x20]
- ldr r2, _080E3770
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080E3866
- b _080E3786
- .align 2, 0
-_080E3770: .4byte REG_BLDALPHA
-_080E3774:
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x12
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bne _080E3866
-_080E3786:
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- b _080E3866
-_080E378E:
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- cmp r0, 0
- ble _080E3866
- movs r0, 0
- strh r0, [r4, 0x1E]
- ldrh r1, [r4, 0x20]
- subs r1, 0x1
- strh r1, [r4, 0x20]
- ldr r7, _080E386C
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r7]
- movs r0, 0x20
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _080E3866
- movs r0, 0
- bl sub_8076464
- ldr r0, _080E3870
- strh r5, [r0]
- ldr r0, _080E3874
- strh r5, [r0]
- ldr r0, _080E3878
- ldr r2, _080E387C
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E37E8
- ldr r2, _080E3880
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080E37E8:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- eors r0, r1
- strh r0, [r2]
- ldr r0, _080E3884
- strh r5, [r0]
- strh r5, [r7]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _080E3888
- adds r0, r5
- bl DestroySprite
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080E3828
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
-_080E3828:
- movs r3, 0x14
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- bne _080E3854
- movs r1, 0x16
- ldrsh r0, [r4, r1]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r5
- ldrb r3, [r2, 0x5]
- lsls r1, r3, 28
- lsrs r1, 30
- adds r1, 0x1
- movs r0, 0x3
- ands r1, r0
- lsls r1, 2
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2, 0x5]
-_080E3854:
- ldr r2, _080E3880
- ldrb r1, [r2, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- adds r0, r6, 0
- bl move_anim_task_del
-_080E3866:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E386C: .4byte REG_BLDALPHA
-_080E3870: .4byte gUnknown_030042C4
-_080E3874: .4byte gUnknown_03004240
-_080E3878: .4byte REG_WININ
-_080E387C: .4byte 0x00003f3f
-_080E3880: .4byte REG_BG1CNT
-_080E3884: .4byte REG_BLDCNT
-_080E3888: .4byte gSprites
- thumb_func_end sub_80E3704
-
- thumb_func_start sub_80E388C
-sub_80E388C: @ 80E388C
- push {r4-r6,lr}
- sub sp, 0xC
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x1
- bl sub_80792C0
- adds r6, r0, 0
- movs r1, 0
- bl sub_80E39BC
- ldr r0, _080E38EC
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r0
- lsrs r0, r6, 16
- movs r5, 0
- strh r0, [r4, 0x24]
- str r5, [sp]
- str r5, [sp, 0x4]
- str r5, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80791A8
- adds r6, r0, 0
- ldr r1, _080E38F0
- ands r6, r1
- adds r0, r6, 0
- bl sub_80E39BC
- strh r6, [r4, 0x26]
- strh r5, [r4, 0x8]
- strh r5, [r4, 0xA]
- ldr r0, _080E38F4
- str r0, [r4]
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E38EC: .4byte gTasks
-_080E38F0: .4byte 0x0000ffff
-_080E38F4: .4byte sub_80E38F8
- thumb_func_end sub_80E388C
-
- thumb_func_start sub_80E38F8
-sub_80E38F8: @ 80E38F8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- ldr r1, _080E391C
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- cmp r1, 0x1
- beq _080E393C
- cmp r1, 0x1
- bgt _080E3920
- cmp r1, 0
- beq _080E3926
- b _080E39B6
- .align 2, 0
-_080E391C: .4byte gTasks
-_080E3920:
- cmp r1, 0x2
- beq _080E39B0
- b _080E39B6
-_080E3926:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _080E39B6
- strh r1, [r4, 0xA]
- movs r0, 0x10
- strh r0, [r4, 0xC]
- b _080E39A4
-_080E393C:
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _080E39B6
- movs r0, 0
- strh r0, [r4, 0xA]
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- movs r5, 0
- movs r6, 0x1
-_080E3958:
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- asrs r0, r5
- ands r0, r6
- cmp r0, 0
- beq _080E3972
- lsls r0, r5, 20
- lsrs r0, 16
- ldrb r2, [r4, 0xC]
- movs r1, 0x10
- ldr r3, _080E39AC
- bl BlendPalette
-_080E3972:
- movs r1, 0x24
- ldrsh r0, [r4, r1]
- asrs r0, r5
- ands r0, r6
- cmp r0, 0
- beq _080E3992
- lsls r0, r5, 20
- movs r1, 0x80
- lsls r1, 17
- adds r0, r1
- lsrs r0, 16
- ldrb r2, [r4, 0xC]
- movs r1, 0x10
- movs r3, 0
- bl BlendPalette
-_080E3992:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0xF
- bls _080E3958
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080E39B6
-_080E39A4:
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080E39B6
- .align 2, 0
-_080E39AC: .4byte 0x0000ffff
-_080E39B0:
- adds r0, r2, 0
- bl move_anim_task_del
-_080E39B6:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E38F8
-
- thumb_func_start sub_80E39BC
-sub_80E39BC: @ 80E39BC
- push {r4-r6,lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- movs r2, 0
-_080E39C6:
- movs r0, 0x1
- ands r0, r3
- lsrs r4, r3, 1
- adds r5, r2, 0x1
- cmp r0, 0
- beq _080E39F2
- lsls r0, r2, 20
- lsrs r2, r0, 16
- adds r0, r2, 0
- adds r0, 0x10
- cmp r2, r0
- bge _080E39F2
- ldr r1, _080E3A04
- adds r3, r0, 0
-_080E39E2:
- lsls r0, r2, 1
- adds r0, r1
- strh r6, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r3
- blt _080E39E2
-_080E39F2:
- adds r3, r4, 0
- lsls r0, r5, 16
- lsrs r2, r0, 16
- cmp r2, 0x1F
- bls _080E39C6
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E3A04: .4byte gPlttBufferFaded
- thumb_func_end sub_80E39BC
-
- thumb_func_start sub_80E3A08
-sub_80E3A08: @ 80E3A08
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- movs r2, 0
- ldr r0, _080E3A50
- ldrb r3, [r0]
- movs r5, 0x1
-_080E3A18:
- cmp r3, r2
- beq _080E3A26
- adds r1, r2, 0
- adds r1, 0x10
- adds r0, r5, 0
- lsls r0, r1
- orrs r4, r0
-_080E3A26:
- adds r2, 0x1
- cmp r2, 0x3
- bls _080E3A18
- movs r2, 0x5
- ldr r0, _080E3A54
- adds r1, r0, 0
- adds r1, 0x8
-_080E3A34:
- ldrh r0, [r1]
- strh r0, [r1, 0x2]
- subs r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _080E3A34
- adds r0, r6, 0
- adds r1, r4, 0
- bl sub_80E2C8C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E3A50: .4byte gUnknown_0202F7C8
-_080E3A54: .4byte gUnknown_03004B00
- thumb_func_end sub_80E3A08
-
- thumb_func_start sub_80E3A58
-sub_80E3A58: @ 80E3A58
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r0, 0
- bl sub_80789D4
- ldr r0, _080E3AC0
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r4, _080E3AC4
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080E3A94
- ldr r0, _080E3AC8
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080E3A94
- ldrh r0, [r4]
- negs r0, r0
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- negs r0, r0
- strh r0, [r4, 0x2]
-_080E3A94:
- ldr r0, _080E3ACC
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldr r2, _080E3AC4
- ldrh r0, [r2]
- strh r0, [r1, 0xA]
- ldrh r0, [r2, 0x2]
- strh r0, [r1, 0xC]
- ldrh r0, [r2, 0x6]
- strh r0, [r1, 0xE]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- adds r0, r6, 0
- bl move_anim_task_del
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E3AC0: .4byte sub_80E3AD0
-_080E3AC4: .4byte gUnknown_03004B00
-_080E3AC8: .4byte gUnknown_0202F7C8
-_080E3ACC: .4byte gTasks
- thumb_func_end sub_80E3A58
-
- thumb_func_start sub_80E3AD0
-sub_80E3AD0: @ 80E3AD0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080E3B3C
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- adds r1, r0
- ldrh r3, [r1, 0xA]
- ldrh r0, [r1, 0x1C]
- adds r3, r0
- movs r4, 0
- mov r12, r4
- strh r3, [r1, 0x1C]
- ldrh r2, [r1, 0xC]
- ldrh r7, [r1, 0x1E]
- adds r2, r7
- strh r2, [r1, 0x1E]
- ldr r6, _080E3B40
- lsls r0, r3, 16
- asrs r0, 24
- ldrh r4, [r6]
- adds r0, r4
- strh r0, [r6]
- ldr r4, _080E3B44
- lsls r0, r2, 16
- asrs r0, 24
- ldrh r7, [r4]
- adds r0, r7
- strh r0, [r4]
- movs r0, 0xFF
- ands r3, r0
- strh r3, [r1, 0x1C]
- ands r2, r0
- strh r2, [r1, 0x1E]
- ldr r0, _080E3B48
- movs r3, 0xE
- ldrsh r2, [r0, r3]
- movs r7, 0xE
- ldrsh r0, [r1, r7]
- cmp r2, r0
- bne _080E3B36
- mov r0, r12
- strh r0, [r6]
- strh r0, [r4]
- movs r0, 0x1
- bl sub_80789D4
- adds r0, r5, 0
- bl DestroyTask
-_080E3B36:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E3B3C: .4byte gTasks
-_080E3B40: .4byte gUnknown_030041B0
-_080E3B44: .4byte gUnknown_030041B8
-_080E3B48: .4byte gUnknown_03004B00
- thumb_func_end sub_80E3AD0
-
- thumb_func_start sub_80E3B4C
-sub_80E3B4C: @ 80E3B4C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080E3B70
- ldrb r0, [r0]
- bl battle_side_get_owner
- ldr r1, _080E3B74
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0xE]
- adds r0, r4, 0
- bl move_anim_task_del
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E3B70: .4byte gUnknown_0202F7C8
-_080E3B74: .4byte gUnknown_03004B00
- thumb_func_end sub_80E3B4C
-
- thumb_func_start sub_80E3B78
-sub_80E3B78: @ 80E3B78
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080E3B9C
- ldrb r0, [r0]
- bl battle_side_get_owner
- ldr r1, _080E3BA0
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r1, 0xE]
- adds r0, r4, 0
- bl move_anim_task_del
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E3B9C: .4byte gUnknown_0202F7C9
-_080E3BA0: .4byte gUnknown_03004B00
- thumb_func_end sub_80E3B78
-
- thumb_func_start sub_80E3BA4
-sub_80E3BA4: @ 80E3BA4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r5, _080E3BD0
- movs r4, 0
- ldr r0, _080E3BD4
- ldrb r2, [r0]
- movs r0, 0x2
- ldr r1, _080E3BD8
- eors r0, r2
- ldrb r1, [r1]
- cmp r0, r1
- bne _080E3BC0
- movs r4, 0x1
-_080E3BC0:
- strh r4, [r5, 0xE]
- adds r0, r3, 0
- bl move_anim_task_del
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E3BD0: .4byte gUnknown_03004B00
-_080E3BD4: .4byte gUnknown_0202F7C8
-_080E3BD8: .4byte gUnknown_0202F7C9
- thumb_func_end sub_80E3BA4
-
- thumb_func_start sub_80E3BDC
-sub_80E3BDC: @ 80E3BDC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r6, _080E3C3C
-_080E3BE6:
- ldr r0, _080E3C40
- ldrb r0, [r0]
- cmp r4, r0
- beq _080E3C24
- lsls r0, r4, 24
- lsrs r0, 24
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- beq _080E3C24
- ldr r0, _080E3C44
- adds r0, r4, r0
- ldrb r0, [r0]
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r6
- ldr r1, _080E3C48
- adds r2, 0x3E
- movs r0, 0x1
- ldrb r3, [r1]
- ands r3, r0
- lsls r3, 2
- ldrb r0, [r2]
- movs r7, 0x5
- negs r7, r7
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
-_080E3C24:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080E3BE6
- adds r0, r5, 0
- bl move_anim_task_del
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E3C3C: .4byte gSprites
-_080E3C40: .4byte gUnknown_0202F7C8
-_080E3C44: .4byte gUnknown_02024BE0
-_080E3C48: .4byte gUnknown_03004B00
- thumb_func_end sub_80E3BDC
-
- thumb_func_start sub_80E3C4C
-sub_80E3C4C: @ 80E3C4C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r1, [sp, 0x3C]
- ldr r4, [sp, 0x40]
- ldr r5, [sp, 0x44]
- ldr r6, [sp, 0x48]
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp, 0xC]
- lsls r3, 24
- lsrs r7, r3, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r4, 24
- lsrs r4, 24
- str r4, [sp, 0x10]
- lsls r5, 24
- lsrs r5, 24
- str r5, [sp, 0x14]
- lsls r6, 24
- lsrs r6, 24
- mov r10, r6
- movs r0, 0
- str r0, [sp, 0x18]
- movs r0, 0x2
- adds r6, r7, 0
- eors r6, r0
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E3CAE
- mov r1, r8
- cmp r1, 0
- beq _080E3CB2
- adds r0, r6, 0
- bl b_side_obj__get_some_boolean
- lsls r0, 24
- cmp r0, 0
- bne _080E3CB2
-_080E3CAE:
- movs r2, 0
- mov r8, r2
-_080E3CB2:
- ldr r0, _080E3D34
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080E3D38
- strh r1, [r0]
- ldr r1, _080E3D3C
- ldr r3, _080E3D40
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080E3D44
- adds r0, r2, 0
- strh r0, [r1]
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080E3D48
- ldr r2, _080E3D4C
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r3, 0x80
- lsls r3, 5
- adds r0, r3, 0
- strh r0, [r1]
- ldr r4, _080E3D50
- ldrb r1, [r4]
- movs r0, 0x4
- negs r0, r0
- ands r0, r1
- strb r0, [r4]
- ldrb r1, [r4, 0x1]
- movs r0, 0x3F
- ands r0, r1
- strb r0, [r4, 0x1]
- ldrb r0, [r4, 0x1]
- movs r1, 0x20
- orrs r0, r1
- strb r0, [r4, 0x1]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E3D22
- ldrb r0, [r4]
- movs r1, 0xD
- negs r1, r1
- ands r1, r0
- movs r0, 0x4
- orrs r1, r0
- strb r1, [r4]
-_080E3D22:
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080E3D58
- ldr r0, _080E3D54
- ldrh r4, [r0]
- b _080E3D96
- .align 2, 0
-_080E3D34: .4byte gUnknown_030042C4
-_080E3D38: .4byte gUnknown_03004240
-_080E3D3C: .4byte REG_WININ
-_080E3D40: .4byte 0x00003f3f
-_080E3D44: .4byte 0x00003f3d
-_080E3D48: .4byte REG_BLDCNT
-_080E3D4C: .4byte 0x00003f42
-_080E3D50: .4byte REG_BG1CNT
-_080E3D54: .4byte 0x02019348
-_080E3D58:
- adds r0, r7, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- beq _080E3D7C
- ldr r1, _080E3D74
- lsls r0, r7, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E3D78
- b _080E3D8A
- .align 2, 0
-_080E3D74: .4byte gUnknown_02024A6A
-_080E3D78: .4byte gEnemyParty
-_080E3D7C:
- ldr r1, _080E3E48
- lsls r0, r7, 1
- adds r0, r1
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080E3E4C
-_080E3D8A:
- adds r0, r1
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r4, r0, 16
-_080E3D96:
- ldr r5, _080E3E50
- adds r0, r7, r5
- ldrb r1, [r0]
- adds r0, r7, 0
- adds r2, r4, 0
- bl sub_807A4A0
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r8
- cmp r0, 0
- beq _080E3DC0
- adds r0, r6, r5
- ldrb r1, [r0]
- adds r0, r6, 0
- adds r2, r4, 0
- bl sub_807A4A0
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x18]
-_080E3DC0:
- mov r0, sp
- bl sub_8078914
- ldr r1, [sp, 0x4]
- ldr r0, [sp, 0x50]
- bl LZDecompressVram
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080E3DE6
- mov r0, sp
- ldrb r0, [r0, 0x8]
- ldr r1, [sp, 0x4]
- movs r2, 0
- movs r3, 0
- bl sub_80763FC
-_080E3DE6:
- ldr r1, [sp]
- ldr r0, [sp, 0x4C]
- bl LZDecompressVram
- mov r0, sp
- ldrb r1, [r0, 0x8]
- lsls r1, 4
- ldr r0, [sp, 0x54]
- movs r2, 0x20
- bl LoadCompressedPalette
- ldr r0, _080E3E54
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080E3E58
- strh r1, [r0]
- ldr r1, _080E3E5C
- mov r2, r9
- lsls r0, r2, 2
- add r0, r9
- lsls r0, 3
- adds r0, r1
- mov r3, sp
- ldrh r3, [r3, 0xC]
- strh r3, [r0, 0xA]
- mov r1, sp
- ldrh r1, [r1, 0x10]
- strh r1, [r0, 0x10]
- mov r2, r10
- strh r2, [r0, 0x12]
- mov r3, sp
- ldrh r3, [r3, 0x14]
- strh r3, [r0, 0x14]
- strh r7, [r0, 0x8]
- mov r1, r8
- strh r1, [r0, 0xC]
- mov r2, sp
- ldrh r2, [r2, 0x18]
- strh r2, [r0, 0xE]
- ldr r1, _080E3E60
- str r1, [r0]
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E3E48: .4byte gUnknown_02024A6A
-_080E3E4C: .4byte gPlayerParty
-_080E3E50: .4byte gUnknown_02024BE0
-_080E3E54: .4byte gUnknown_030042C0
-_080E3E58: .4byte gUnknown_030041B4
-_080E3E5C: .4byte gTasks
-_080E3E60: .4byte sub_80E3E64
- thumb_func_end sub_80E3C4C
-
- thumb_func_start sub_80E3E64
-sub_80E3E64: @ 80E3E64
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080E3E9C
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r3, r0, r1
- movs r0, 0xA
- ldrsh r2, [r3, r0]
- adds r5, r1, 0
- cmp r2, 0
- bge _080E3E80
- negs r2, r2
-_080E3E80:
- ldrh r0, [r3, 0x22]
- adds r4, r0, r2
- strh r4, [r3, 0x22]
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bge _080E3EA4
- ldr r2, _080E3EA0
- lsls r1, r4, 16
- asrs r1, 24
- ldrh r0, [r2]
- subs r0, r1
- strh r0, [r2]
- b _080E3EB0
- .align 2, 0
-_080E3E9C: .4byte gTasks
-_080E3EA0: .4byte gUnknown_030041B4
-_080E3EA4:
- ldr r1, _080E3ED4
- lsls r0, r4, 16
- asrs r0, 24
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
-_080E3EB0:
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r4, r0, r5
- ldrh r1, [r4, 0x22]
- movs r0, 0xFF
- ands r0, r1
- movs r2, 0
- strh r0, [r4, 0x22]
- movs r3, 0x26
- ldrsh r0, [r4, r3]
- cmp r0, 0x1
- beq _080E3F18
- cmp r0, 0x1
- bgt _080E3ED8
- cmp r0, 0
- beq _080E3EDE
- b _080E3FE2
- .align 2, 0
-_080E3ED4: .4byte gUnknown_030041B4
-_080E3ED8:
- cmp r0, 0x2
- beq _080E3F32
- b _080E3FE2
-_080E3EDE:
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x14
- ldrsh r1, [r4, r3]
- cmp r0, r1
- blt _080E3FE2
- strh r2, [r4, 0x1E]
- ldrh r1, [r4, 0x20]
- adds r1, 0x1
- strh r1, [r4, 0x20]
- ldr r2, _080E3F14
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r2]
- movs r0, 0x20
- ldrsh r1, [r4, r0]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080E3FE2
- b _080E3F2A
- .align 2, 0
-_080E3F14: .4byte REG_BLDALPHA
-_080E3F18:
- ldrh r0, [r4, 0x1C]
- adds r0, 0x1
- strh r0, [r4, 0x1C]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x12
- ldrsh r1, [r4, r3]
- cmp r0, r1
- bne _080E3FE2
-_080E3F2A:
- ldrh r0, [r4, 0x26]
- adds r0, 0x1
- strh r0, [r4, 0x26]
- b _080E3FE2
-_080E3F32:
- ldrh r0, [r4, 0x1E]
- adds r1, r0, 0x1
- strh r1, [r4, 0x1E]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x14
- ldrsh r1, [r4, r3]
- cmp r0, r1
- blt _080E3FE2
- strh r2, [r4, 0x1E]
- ldrh r1, [r4, 0x20]
- subs r1, 0x1
- strh r1, [r4, 0x20]
- ldr r7, _080E3FE8
- movs r0, 0x10
- subs r0, r1
- lsls r0, 8
- orrs r1, r0
- strh r1, [r7]
- movs r0, 0x20
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _080E3FE2
- movs r0, 0
- bl sub_8076464
- ldr r0, _080E3FEC
- strh r5, [r0]
- ldr r0, _080E3FF0
- strh r5, [r0]
- ldr r0, _080E3FF4
- ldr r2, _080E3FF8
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- bne _080E3F90
- ldr r2, _080E3FFC
- ldrb r1, [r2]
- movs r0, 0xD
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080E3F90:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- eors r0, r1
- strh r0, [r2]
- ldr r0, _080E4000
- strh r5, [r0]
- strh r5, [r7]
- movs r0, 0x8
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r5, _080E4004
- adds r0, r5
- bl DestroySprite
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _080E3FD0
- movs r2, 0xE
- ldrsh r1, [r4, r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- bl DestroySprite
-_080E3FD0:
- ldr r2, _080E3FFC
- ldrb r1, [r2, 0x1]
- movs r0, 0x21
- negs r0, r0
- ands r0, r1
- strb r0, [r2, 0x1]
- adds r0, r6, 0
- bl move_anim_task_del
-_080E3FE2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E3FE8: .4byte REG_BLDALPHA
-_080E3FEC: .4byte gUnknown_030042C4
-_080E3FF0: .4byte gUnknown_03004240
-_080E3FF4: .4byte REG_WININ
-_080E3FF8: .4byte 0x00003f3f
-_080E3FFC: .4byte REG_BG1CNT
-_080E4000: .4byte REG_BLDCNT
-_080E4004: .4byte gSprites
- thumb_func_end sub_80E3E64
-
- thumb_func_start sub_80E4008
-sub_80E4008: @ 80E4008
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E4020
- ldr r1, _080E4024
- ldrb r1, [r1]
- strh r1, [r2]
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_080E4020: .4byte gUnknown_03004B00
-_080E4024: .4byte gUnknown_0300428C
- thumb_func_end sub_80E4008
-
- thumb_func_start sub_80E4028
-sub_80E4028: @ 80E4028
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r0, _080E4068
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080E406C
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80791A8
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080E4084
- movs r2, 0x1
-_080E405A:
- lsrs r1, 1
- adds r4, 0x1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _080E405A
- b _080E4084
- .align 2, 0
-_080E4068: .4byte gUnknown_03004B00
-_080E406C:
- cmp r0, 0x1
- bne _080E4078
- ldr r0, _080E4074
- b _080E407E
- .align 2, 0
-_080E4074: .4byte gUnknown_0202F7C8
-_080E4078:
- cmp r0, 0x2
- bne _080E4084
- ldr r0, _080E409C
-_080E407E:
- ldrb r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
-_080E4084:
- ldr r0, _080E40A0
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- lsls r5, r0, 5
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080E40A8
- ldr r0, _080E40A4
- b _080E40AA
- .align 2, 0
-_080E409C: .4byte gUnknown_0202F7C9
-_080E40A0: .4byte gUnknown_03004B00
-_080E40A4: .4byte 0x02014800
-_080E40A8:
- ldr r0, _080E40C8
-_080E40AA:
- adds r2, r5, r0
- lsls r1, r4, 5
- ldr r0, _080E40CC
- adds r1, r0
- adds r0, r2, 0
- movs r2, 0x20
- bl memcpy
- adds r0, r6, 0
- bl move_anim_task_del
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E40C8: .4byte 0x02018000
-_080E40CC: .4byte gPlttBufferUnfaded
- thumb_func_end sub_80E4028
-
- thumb_func_start sub_80E40D0
-sub_80E40D0: @ 80E40D0
- push {r4-r6,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r6, r0, 24
- movs r4, 0
- ldr r0, _080E4110
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080E4114
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80791A8
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080E412C
- movs r2, 0x1
-_080E4102:
- lsrs r1, 1
- adds r4, 0x1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _080E4102
- b _080E412C
- .align 2, 0
-_080E4110: .4byte gUnknown_03004B00
-_080E4114:
- cmp r0, 0x1
- bne _080E4120
- ldr r0, _080E411C
- b _080E4126
- .align 2, 0
-_080E411C: .4byte gUnknown_0202F7C8
-_080E4120:
- cmp r0, 0x2
- bne _080E412C
- ldr r0, _080E4148
-_080E4126:
- ldrb r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
-_080E412C:
- lsls r1, r4, 5
- ldr r0, _080E414C
- adds r5, r1, r0
- ldr r0, _080E4150
- movs r1, 0x2
- ldrsh r0, [r0, r1]
- lsls r4, r0, 5
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080E4158
- ldr r0, _080E4154
- b _080E415A
- .align 2, 0
-_080E4148: .4byte gUnknown_0202F7C9
-_080E414C: .4byte gPlttBufferUnfaded
-_080E4150: .4byte gUnknown_03004B00
-_080E4154: .4byte 0x02014800
-_080E4158:
- ldr r0, _080E4174
-_080E415A:
- adds r1, r4, r0
- adds r0, r5, 0
- movs r2, 0x20
- bl memcpy
- adds r0, r6, 0
- bl move_anim_task_del
- add sp, 0xC
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E4174: .4byte 0x02018000
- thumb_func_end sub_80E40D0
-
- thumb_func_start sub_80E4178
-sub_80E4178: @ 80E4178
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- movs r4, 0
- ldr r0, _080E41B8
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _080E41BC
- str r4, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r0, 0x1
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80791A8
- adds r1, r0, 0
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080E41D4
- movs r2, 0x1
-_080E41AA:
- lsrs r1, 1
- adds r4, 0x1
- adds r0, r1, 0
- ands r0, r2
- cmp r0, 0
- beq _080E41AA
- b _080E41D4
- .align 2, 0
-_080E41B8: .4byte gUnknown_03004B00
-_080E41BC:
- cmp r0, 0x1
- bne _080E41C8
- ldr r0, _080E41C4
- b _080E41CE
- .align 2, 0
-_080E41C4: .4byte gUnknown_0202F7C8
-_080E41C8:
- cmp r0, 0x2
- bne _080E41D4
- ldr r0, _080E41F4
-_080E41CE:
- ldrb r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
-_080E41D4:
- lsls r1, r4, 5
- ldr r0, _080E41F8
- adds r0, r1, r0
- ldr r2, _080E41FC
- adds r1, r2
- movs r2, 0x20
- bl memcpy
- adds r0, r5, 0
- bl move_anim_task_del
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E41F4: .4byte gUnknown_0202F7C9
-_080E41F8: .4byte gPlttBufferUnfaded
-_080E41FC: .4byte gPlttBufferFaded
- thumb_func_end sub_80E4178
-
- thumb_func_start sub_80E4200
-sub_80E4200: @ 80E4200
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8076BE0
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080E4220
- ldr r1, _080E421C
- movs r0, 0x1
- strh r0, [r1, 0xE]
- b _080E4224
- .align 2, 0
-_080E421C: .4byte gUnknown_03004B00
-_080E4220:
- ldr r0, _080E4230
- strh r1, [r0, 0xE]
-_080E4224:
- adds r0, r4, 0
- bl move_anim_task_del
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E4230: .4byte gUnknown_03004B00
- thumb_func_end sub_80E4200
-
- thumb_func_start sub_80E4234
-sub_80E4234: @ 80E4234
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E4254
- ldr r1, _080E4258
- ldrb r1, [r1]
- strb r1, [r2]
- ldr r2, _080E425C
- ldr r1, _080E4260
- ldrb r1, [r1]
- strb r1, [r2]
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_080E4254: .4byte gUnknown_0202F7C8
-_080E4258: .4byte gUnknown_02024C08
-_080E425C: .4byte gUnknown_0202F7C9
-_080E4260: .4byte gUnknown_02024C0A
- thumb_func_end sub_80E4234
-
- thumb_func_start sub_80E4264
-sub_80E4264: @ 80E4264
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080E428C
- ldrb r0, [r0]
- bl battle_side_get_owner
- adds r4, r0, 0
- ldr r0, _080E4290
- ldrb r0, [r0]
- bl battle_side_get_owner
- lsls r4, 24
- lsls r0, 24
- cmp r4, r0
- bne _080E4298
- ldr r1, _080E4294
- movs r0, 0x1
- b _080E429C
- .align 2, 0
-_080E428C: .4byte gUnknown_0202F7C8
-_080E4290: .4byte gUnknown_0202F7C9
-_080E4294: .4byte gUnknown_03004B00
-_080E4298:
- ldr r1, _080E42AC
- movs r0, 0
-_080E429C:
- strh r0, [r1, 0xE]
- adds r0, r5, 0
- bl move_anim_task_del
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E42AC: .4byte gUnknown_03004B00
- thumb_func_end sub_80E4264
-
- thumb_func_start sub_80E42B0
-sub_80E42B0: @ 80E42B0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E42C8
- ldr r1, _080E42CC
- ldrb r1, [r1]
- strb r1, [r2]
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_080E42C8: .4byte gUnknown_0202F7C9
-_080E42CC: .4byte gUnknown_02024C08
- thumb_func_end sub_80E42B0
-
- thumb_func_start sub_80E42D0
-sub_80E42D0: @ 80E42D0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E42F0
- ldr r1, _080E42F4
- ldrb r1, [r1]
- strb r1, [r2]
- ldr r2, _080E42F8
- ldr r1, _080E42FC
- ldrb r1, [r1]
- strb r1, [r2]
- bl move_anim_task_del
- pop {r0}
- bx r0
- .align 2, 0
-_080E42F0: .4byte gUnknown_0202F7C8
-_080E42F4: .4byte gUnknown_02024C07
-_080E42F8: .4byte gUnknown_0202F7C9
-_080E42FC: .4byte gUnknown_02024C0A
- thumb_func_end sub_80E42D0
-
- thumb_func_start sub_80E4300
-sub_80E4300: @ 80E4300
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8076BE0
- lsls r0, 24
- cmp r0, 0
- beq _080E4318
- adds r0, r4, 0
- bl move_anim_task_del
- b _080E434E
-_080E4318:
- ldr r0, _080E4354
- lsls r3, r4, 2
- adds r3, r4
- lsls r3, 3
- adds r3, r0
- ldr r1, _080E4358
- ldrb r0, [r1]
- lsls r0, 2
- ldr r2, _080E435C
- adds r0, r2
- ldr r0, [r0]
- lsls r0, 31
- lsrs r0, 31
- strh r0, [r3, 0x8]
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r2
- ldrb r0, [r1]
- movs r2, 0x1
- orrs r0, r2
- strb r0, [r1]
- ldr r0, _080E4360
- str r0, [r3]
- ldr r1, _080E4364
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
-_080E434E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E4354: .4byte gTasks
-_080E4358: .4byte gUnknown_0202F7C8
-_080E435C: .4byte 0x02017800
-_080E4360: .4byte sub_80E4368
-_080E4364: .4byte gUnknown_0202F7B2
- thumb_func_end sub_80E4300
-
- thumb_func_start sub_80E4368
-sub_80E4368: @ 80E4368
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E43B0
- movs r2, 0xE
- ldrsh r1, [r0, r2]
- movs r0, 0x80
- lsls r0, 5
- cmp r1, r0
- bne _080E43A8
- ldr r0, _080E43B4
- ldrb r3, [r0]
- lsls r3, 2
- ldr r0, _080E43B8
- adds r3, r0
- ldr r1, _080E43BC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x8]
- movs r1, 0x1
- ands r1, r0
- ldrb r2, [r3]
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- adds r0, r4, 0
- bl DestroyTask
-_080E43A8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E43B0: .4byte gUnknown_03004B00
-_080E43B4: .4byte gUnknown_0202F7C8
-_080E43B8: .4byte 0x02017800
-_080E43BC: .4byte gTasks
- thumb_func_end sub_80E4368
-
- thumb_func_start sub_80E43C0
-sub_80E43C0: @ 80E43C0
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E43D8
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E43E0
- ldr r0, _080E43DC
- b _080E4408
- .align 2, 0
-_080E43D8: .4byte gUnknown_020239F8
-_080E43DC: .4byte sub_80E4C34
-_080E43E0:
- movs r0, 0x80
- lsls r0, 5
- ands r0, r1
- cmp r0, 0
- beq _080E4400
- ldr r0, _080E43F8
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080E4400
- movs r4, 0x3
- ldr r0, _080E43FC
- b _080E4408
- .align 2, 0
-_080E43F8: .4byte gGameVersion
-_080E43FC: .4byte task00_battle_intro_80BC6C8
-_080E4400:
- ldr r1, _080E4434
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
-_080E4408:
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080E4438
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- movs r0, 0
- strh r0, [r1, 0x8]
- strh r4, [r1, 0xA]
- strh r0, [r1, 0xC]
- strh r0, [r1, 0xE]
- strh r0, [r1, 0x10]
- strh r0, [r1, 0x12]
- strh r0, [r1, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E4434: .4byte gUnknown_083DB56C
-_080E4438: .4byte gTasks
- thumb_func_end sub_80E43C0
-
- thumb_func_start sub_80E443C
-sub_80E443C: @ 80E443C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- ldr r0, _080E4474
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080E4478
- strh r1, [r0]
- ldr r0, _080E447C
- strh r1, [r0]
- ldr r0, _080E4480
- strh r1, [r0]
- ldr r0, _080E4484
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0xC
- ldr r2, _080E4488
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080E4474: .4byte gUnknown_030042C0
-_080E4478: .4byte gUnknown_030041B4
-_080E447C: .4byte gUnknown_03004288
-_080E4480: .4byte gUnknown_03004280
-_080E4484: .4byte REG_BLDCNT
-_080E4488: .4byte 0x00003f3f
- thumb_func_end sub_80E443C
-
- thumb_func_start task_battle_intro_80BC47C
-task_battle_intro_80BC47C: @ 80E448C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080E44C4
- ldrh r0, [r1]
- adds r0, 0x6
- strh r0, [r1]
- ldr r1, _080E44C8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- mov r8, r1
- cmp r0, 0x4
- bls _080E44B8
- b _080E46BE
-_080E44B8:
- lsls r0, 2
- ldr r1, _080E44CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E44C4: .4byte gUnknown_030042C0
-_080E44C8: .4byte gTasks
-_080E44CC: .4byte _080E44D0
- .align 2, 0
-_080E44D0:
- .4byte _080E44E4
- .4byte _080E4514
- .4byte _080E4540
- .4byte _080E4588
- .4byte _080E46B8
-_080E44E4:
- ldr r0, _080E44FC
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E4500
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- movs r1, 0x10
- b _080E450A
- .align 2, 0
-_080E44FC: .4byte gUnknown_020239F8
-_080E4500:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- add r0, r8
- movs r1, 0x1
-_080E450A:
- strh r1, [r0, 0xC]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080E46BE
-_080E4514:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- mov r3, r8
- adds r1, r0, r3
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _080E452C
- b _080E46BE
-_080E452C:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r1, _080E453C
- movs r0, 0x3F
- strh r0, [r1]
- b _080E46BE
- .align 2, 0
-_080E453C: .4byte REG_WININ
-_080E4540:
- ldr r1, _080E457C
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _080E4558
- b _080E46BE
-_080E4558:
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- add r1, r8
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- ldr r2, _080E4580
- ldrh r1, [r2]
- ldr r0, _080E4584
- ands r0, r1
- strh r0, [r2]
- b _080E46BE
- .align 2, 0
-_080E457C: .4byte gUnknown_03004240
-_080E4580: .4byte gUnknown_02024DE8
-_080E4584: .4byte 0x0000fffe
-_080E4588:
- lsls r0, r4, 2
- adds r1, r0, r4
- lsls r1, 3
- mov r5, r8
- adds r2, r1, r5
- ldrh r3, [r2, 0xE]
- movs r5, 0xE
- ldrsh r1, [r2, r5]
- mov r12, r0
- cmp r1, 0
- beq _080E45A4
- subs r0, r3, 0x1
- strh r0, [r2, 0xE]
- b _080E45D2
-_080E45A4:
- movs r1, 0xA
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _080E45C4
- ldr r2, _080E45BC
- ldrh r1, [r2]
- ldr r0, _080E45C0
- cmp r1, r0
- beq _080E45D2
- subs r0, r1, 0x2
- b _080E45D0
- .align 2, 0
-_080E45BC: .4byte gUnknown_030041B4
-_080E45C0: .4byte 0x0000ffb0
-_080E45C4:
- ldr r2, _080E4690
- ldrh r1, [r2]
- ldr r0, _080E4694
- cmp r1, r0
- beq _080E45D2
- subs r0, r1, 0x1
-_080E45D0:
- strh r0, [r2]
-_080E45D2:
- ldr r2, _080E4698
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _080E45E6
- ldr r3, _080E469C
- adds r0, r1, r3
- strh r0, [r2]
-_080E45E6:
- mov r5, r12
- adds r0, r5, r4
- lsls r0, 3
- mov r2, r8
- adds r1, r0, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080E45FE
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_080E45FE:
- movs r3, 0
- ldr r5, _080E46A0
- mov r9, r5
- ldr r7, _080E46A4
- mov r6, r9
- adds r5, r1, 0
-_080E460A:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r5, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _080E460A
- cmp r3, 0x9F
- bgt _080E464E
- ldr r7, _080E46A4
- ldr r6, _080E46A0
- ldr r1, _080E46A8
- mov r2, r12
- adds r0, r2, r4
- lsls r0, 3
- adds r5, r0, r1
-_080E4634:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r5, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _080E4634
-_080E464E:
- mov r3, r12
- adds r0, r3, r4
- lsls r0, 3
- mov r5, r8
- adds r1, r0, r5
- movs r0, 0xC
- ldrsh r2, [r1, r0]
- cmp r2, 0
- bne _080E46BE
- movs r0, 0x3
- mov r3, r9
- strb r0, [r3, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- str r2, [sp]
- ldr r1, _080E46AC
- ldr r2, _080E46B0
- mov r0, sp
- bl CpuSet
- ldr r1, _080E46B4
- movs r5, 0x9C
- lsls r5, 8
- adds r0, r5, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r2, 0xBC
- lsls r2, 7
- adds r0, r2, 0
- strh r0, [r1]
- b _080E46BE
- .align 2, 0
-_080E4690: .4byte gUnknown_030041B4
-_080E4694: .4byte 0x0000ffc8
-_080E4698: .4byte gUnknown_03004240
-_080E469C: .4byte 0xfffffc04
-_080E46A0: .4byte gUnknown_03004DC0
-_080E46A4: .4byte gUnknown_03004DE0
-_080E46A8: .4byte gTasks
-_080E46AC: .4byte 0x0600e000
-_080E46B0: .4byte 0x05000200
-_080E46B4: .4byte REG_BG1CNT
-_080E46B8:
- adds r0, r4, 0
- bl sub_80E443C
-_080E46BE:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end task_battle_intro_80BC47C
-
- thumb_func_start task00_battle_intro_80BC6C8
-task00_battle_intro_80BC6C8: @ 80E46CC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r1, _080E46F8
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r2, 0xA
- ldrsh r0, [r0, r2]
- adds r2, r1, 0
- cmp r0, 0x3
- beq _080E470C
- cmp r0, 0x3
- bgt _080E46FC
- cmp r0, 0x2
- beq _080E4700
- b _080E4714
- .align 2, 0
-_080E46F8: .4byte gTasks
-_080E46FC:
- cmp r0, 0x4
- bne _080E4714
-_080E4700:
- ldr r1, _080E4708
- ldrh r0, [r1]
- adds r0, 0x8
- b _080E4712
- .align 2, 0
-_080E4708: .4byte gUnknown_030042C0
-_080E470C:
- ldr r1, _080E4750
- ldrh r0, [r1]
- adds r0, 0x6
-_080E4712:
- strh r0, [r1]
-_080E4714:
- lsls r0, r5, 2
- adds r1, r0, r5
- lsls r1, 3
- adds r4, r1, r2
- movs r3, 0xA
- ldrsh r1, [r4, r3]
- adds r6, r0, 0
- cmp r1, 0x4
- bne _080E4778
- ldr r7, _080E4754
- ldrh r0, [r4, 0x14]
- bl Cos2
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080E473A
- ldr r1, _080E4758
- adds r0, r1
-_080E473A:
- asrs r0, 9
- subs r0, 0x8
- strh r0, [r7]
- ldrh r1, [r4, 0x14]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r0, 0xB3
- bgt _080E475C
- adds r0, r1, 0x4
- b _080E475E
- .align 2, 0
-_080E4750: .4byte gUnknown_030042C0
-_080E4754: .4byte gUnknown_030041B4
-_080E4758: .4byte 0x000001ff
-_080E475C:
- adds r0, r1, 0x6
-_080E475E:
- strh r0, [r4, 0x14]
- ldr r2, _080E4794
- adds r0, r6, r5
- lsls r0, 3
- adds r3, r0, r2
- movs r4, 0x14
- ldrsh r1, [r3, r4]
- movs r0, 0xB4
- lsls r0, 1
- cmp r1, r0
- bne _080E4778
- movs r0, 0
- strh r0, [r3, 0x14]
-_080E4778:
- adds r0, r6, r5
- lsls r0, 3
- adds r0, r2
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x4
- bls _080E4788
- b _080E4996
-_080E4788:
- lsls r0, 2
- ldr r1, _080E4798
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E4794: .4byte gTasks
-_080E4798: .4byte _080E479C
- .align 2, 0
-_080E479C:
- .4byte _080E47B0
- .4byte _080E47E0
- .4byte _080E480C
- .4byte _080E485C
- .4byte _080E4990
-_080E47B0:
- ldr r1, _080E47CC
- adds r0, r6, r5
- lsls r0, 3
- adds r2, r0, r1
- movs r3, 0x10
- strh r3, [r2, 0x10]
- ldr r0, _080E47D0
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E47D4
- strh r3, [r2, 0xC]
- b _080E47D8
- .align 2, 0
-_080E47CC: .4byte gTasks
-_080E47D0: .4byte gUnknown_020239F8
-_080E47D4:
- movs r0, 0x1
- strh r0, [r2, 0xC]
-_080E47D8:
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
- b _080E4996
-_080E47E0:
- ldr r0, _080E4804
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _080E47F6
- b _080E4996
-_080E47F6:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r1, _080E4808
- movs r0, 0x3F
- strh r0, [r1]
- b _080E4996
- .align 2, 0
-_080E4804: .4byte gTasks
-_080E4808: .4byte REG_WININ
-_080E480C:
- ldr r1, _080E484C
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _080E4824
- b _080E4996
-_080E4824:
- ldr r0, _080E4850
- adds r1, r6, r5
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- movs r0, 0x1
- strh r0, [r1, 0x12]
- ldr r2, _080E4854
- ldrh r1, [r2]
- ldr r0, _080E4858
- ands r0, r1
- strh r0, [r2]
- b _080E4996
- .align 2, 0
-_080E484C: .4byte gUnknown_03004240
-_080E4850: .4byte gTasks
-_080E4854: .4byte gUnknown_02024DE8
-_080E4858: .4byte 0x0000fffe
-_080E485C:
- adds r0, r6, r5
- lsls r0, 3
- adds r1, r0, r2
- ldrh r3, [r1, 0xE]
- movs r4, 0xE
- ldrsh r0, [r1, r4]
- cmp r0, 0
- beq _080E4898
- subs r0, r3, 0x1
- strh r0, [r1, 0xE]
- lsls r0, 16
- asrs r3, r0, 16
- cmp r3, 0
- bne _080E48B8
- ldr r1, _080E488C
- ldr r4, _080E4890
- adds r0, r4, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0xF
- strh r0, [r1]
- ldr r0, _080E4894
- strh r3, [r0]
- b _080E48B8
- .align 2, 0
-_080E488C: .4byte REG_BLDCNT
-_080E4890: .4byte 0x00001842
-_080E4894: .4byte REG_BLDY
-_080E4898:
- ldrh r3, [r1, 0x10]
- movs r0, 0x1F
- ands r0, r3
- cmp r0, 0
- beq _080E48B8
- ldrh r0, [r1, 0x12]
- subs r0, 0x1
- strh r0, [r1, 0x12]
- lsls r0, 16
- cmp r0, 0
- bne _080E48B8
- adds r0, r3, 0
- adds r0, 0xFF
- strh r0, [r1, 0x10]
- movs r0, 0x4
- strh r0, [r1, 0x12]
-_080E48B8:
- ldr r3, _080E4970
- ldrh r1, [r3]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _080E48CC
- ldr r4, _080E4974
- adds r0, r1, r4
- strh r0, [r3]
-_080E48CC:
- adds r0, r6, r5
- lsls r0, 3
- adds r1, r0, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080E48E0
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_080E48E0:
- movs r3, 0
- ldr r4, _080E4978
- mov r8, r4
- ldr r0, _080E497C
- mov r12, r0
- mov r7, r8
- adds r4, r1, 0
-_080E48EE:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r12
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _080E48EE
- cmp r3, 0x9F
- bgt _080E4932
- ldr r1, _080E497C
- mov r12, r1
- ldr r7, _080E4978
- ldr r1, _080E4980
- adds r0, r6, r5
- lsls r0, 3
- adds r4, r0, r1
-_080E4918:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r12
- ldrh r0, [r4, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _080E4918
-_080E4932:
- ldr r1, _080E4980
- adds r0, r6, r5
- lsls r0, 3
- adds r1, r0, r1
- movs r3, 0xC
- ldrsh r2, [r1, r3]
- cmp r2, 0
- bne _080E4996
- movs r0, 0x3
- mov r4, r8
- strb r0, [r4, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- str r2, [sp]
- ldr r1, _080E4984
- ldr r2, _080E4988
- mov r0, sp
- bl CpuSet
- ldr r1, _080E498C
- movs r2, 0x9C
- lsls r2, 8
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r3, 0xBC
- lsls r3, 7
- adds r0, r3, 0
- strh r0, [r1]
- b _080E4996
- .align 2, 0
-_080E4970: .4byte gUnknown_03004240
-_080E4974: .4byte 0xfffffc04
-_080E4978: .4byte gUnknown_03004DC0
-_080E497C: .4byte gUnknown_03004DE0
-_080E4980: .4byte gTasks
-_080E4984: .4byte 0x0600e000
-_080E4988: .4byte 0x05000200
-_080E498C: .4byte REG_BG1CNT
-_080E4990:
- adds r0, r5, 0
- bl sub_80E443C
-_080E4996:
- ldr r0, _080E49B8
- adds r1, r6, r5
- lsls r1, 3
- adds r2, r1, r0
- movs r4, 0x8
- ldrsh r0, [r2, r4]
- cmp r0, 0x4
- beq _080E49AC
- ldr r1, _080E49BC
- ldrh r0, [r2, 0x10]
- strh r0, [r1]
-_080E49AC:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E49B8: .4byte gTasks
-_080E49BC: .4byte REG_BLDALPHA
- thumb_func_end task00_battle_intro_80BC6C8
-
- thumb_func_start task_battle_intro_anim
-task_battle_intro_anim: @ 80E49C0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080E49F4
- ldrh r0, [r1]
- adds r0, 0x8
- strh r0, [r1]
- ldr r1, _080E49F8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0x8
- ldrsh r0, [r0, r2]
- adds r5, r1, 0
- cmp r0, 0x4
- bls _080E49EA
- b _080E4C06
-_080E49EA:
- lsls r0, 2
- ldr r1, _080E49FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E49F4: .4byte gUnknown_030042C0
-_080E49F8: .4byte gTasks
-_080E49FC: .4byte _080E4A00
- .align 2, 0
-_080E4A00:
- .4byte _080E4A14
- .4byte _080E4A6C
- .4byte _080E4A9C
- .4byte _080E4AEC
- .4byte _080E4C00
-_080E4A14:
- ldr r1, _080E4A48
- ldr r3, _080E4A4C
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _080E4A50
- ldr r6, _080E4A54
- adds r2, r6, 0
- strh r2, [r0]
- adds r1, 0x4
- movs r0, 0
- strh r0, [r1]
- ldr r1, _080E4A58
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r3, r0, r1
- strh r2, [r3, 0x10]
- ldr r0, _080E4A5C
- ldrh r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E4A60
- movs r0, 0x10
- b _080E4A62
- .align 2, 0
-_080E4A48: .4byte REG_BLDCNT
-_080E4A4C: .4byte 0x00001842
-_080E4A50: .4byte REG_BLDALPHA
-_080E4A54: .4byte 0x00000808
-_080E4A58: .4byte gTasks
-_080E4A5C: .4byte gUnknown_020239F8
-_080E4A60:
- movs r0, 0x1
-_080E4A62:
- strh r0, [r3, 0xC]
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
- b _080E4C06
-_080E4A6C:
- ldr r0, _080E4A94
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _080E4A84
- b _080E4C06
-_080E4A84:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r1, _080E4A98
- movs r0, 0x3F
- strh r0, [r1]
- b _080E4C06
- .align 2, 0
-_080E4A94: .4byte gTasks
-_080E4A98: .4byte REG_WININ
-_080E4A9C:
- ldr r1, _080E4ADC
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _080E4AB4
- b _080E4C06
-_080E4AB4:
- ldr r0, _080E4AE0
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- movs r0, 0x1
- strh r0, [r1, 0x12]
- ldr r2, _080E4AE4
- ldrh r1, [r2]
- ldr r0, _080E4AE8
- ands r0, r1
- strh r0, [r2]
- b _080E4C06
- .align 2, 0
-_080E4ADC: .4byte gUnknown_03004240
-_080E4AE0: .4byte gTasks
-_080E4AE4: .4byte gUnknown_02024DE8
-_080E4AE8: .4byte 0x0000fffe
-_080E4AEC:
- lsls r0, r4, 2
- adds r1, r0, r4
- lsls r1, 3
- adds r2, r1, r5
- ldrh r3, [r2, 0xE]
- movs r6, 0xE
- ldrsh r1, [r2, r6]
- mov r12, r0
- cmp r1, 0
- beq _080E4B06
- subs r0, r3, 0x1
- strh r0, [r2, 0xE]
- b _080E4B26
-_080E4B06:
- ldrh r1, [r2, 0x10]
- movs r0, 0xF
- ands r0, r1
- cmp r0, 0
- beq _080E4B26
- ldrh r0, [r2, 0x12]
- subs r0, 0x1
- strh r0, [r2, 0x12]
- lsls r0, 16
- cmp r0, 0
- bne _080E4B26
- adds r0, r1, 0
- adds r0, 0xFF
- strh r0, [r2, 0x10]
- movs r0, 0x6
- strh r0, [r2, 0x12]
-_080E4B26:
- ldr r2, _080E4BE0
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _080E4B3A
- ldr r3, _080E4BE4
- adds r0, r1, r3
- strh r0, [r2]
-_080E4B3A:
- mov r6, r12
- adds r0, r6, r4
- lsls r0, 3
- adds r1, r0, r5
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080E4B50
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_080E4B50:
- movs r3, 0
- ldr r6, _080E4BE8
- mov r8, r6
- ldr r7, _080E4BEC
- adds r5, r1, 0
-_080E4B5A:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r5, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _080E4B5A
- cmp r3, 0x9F
- bgt _080E4B9E
- ldr r7, _080E4BEC
- ldr r6, _080E4BE8
- ldr r1, _080E4BF0
- mov r2, r12
- adds r0, r2, r4
- lsls r0, 3
- adds r5, r0, r1
-_080E4B84:
- lsls r2, r3, 1
- ldrb r1, [r6, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- adds r2, r7
- ldrh r0, [r5, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _080E4B84
-_080E4B9E:
- ldr r1, _080E4BF0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r1, r0, r1
- movs r3, 0xC
- ldrsh r2, [r1, r3]
- cmp r2, 0
- bne _080E4C06
- movs r0, 0x3
- mov r6, r8
- strb r0, [r6, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- str r2, [sp]
- ldr r1, _080E4BF4
- ldr r2, _080E4BF8
- mov r0, sp
- bl CpuSet
- ldr r1, _080E4BFC
- movs r2, 0x9C
- lsls r2, 8
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r3, 0xBC
- lsls r3, 7
- adds r0, r3, 0
- strh r0, [r1]
- b _080E4C06
- .align 2, 0
-_080E4BE0: .4byte gUnknown_03004240
-_080E4BE4: .4byte 0xfffffc04
-_080E4BE8: .4byte gUnknown_03004DC0
-_080E4BEC: .4byte gUnknown_03004DE0
-_080E4BF0: .4byte gTasks
-_080E4BF4: .4byte 0x0600e000
-_080E4BF8: .4byte 0x05000200
-_080E4BFC: .4byte REG_BG1CNT
-_080E4C00:
- adds r0, r4, 0
- bl sub_80E443C
-_080E4C06:
- ldr r0, _080E4C2C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r2, r1, r0
- movs r6, 0x8
- ldrsh r0, [r2, r6]
- cmp r0, 0x4
- beq _080E4C1E
- ldr r1, _080E4C30
- ldrh r0, [r2, 0x10]
- strh r0, [r1]
-_080E4C1E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E4C2C: .4byte gTasks
-_080E4C30: .4byte REG_BLDALPHA
- thumb_func_end task_battle_intro_anim
-
- thumb_func_start sub_80E4C34
-sub_80E4C34: @ 80E4C34
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080E4C80
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r7, r0, r1
- movs r1, 0x8
- ldrsh r0, [r7, r1]
- cmp r0, 0x1
- ble _080E4CAA
- movs r2, 0x10
- ldrsh r0, [r7, r2]
- cmp r0, 0
- bne _080E4CAA
- ldr r2, _080E4C84
- ldrh r1, [r2]
- movs r0, 0x80
- lsls r0, 8
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- bne _080E4C72
- cmp r1, 0x4F
- bhi _080E4C8C
-_080E4C72:
- adds r0, r1, 0x3
- strh r0, [r2]
- ldr r1, _080E4C88
- ldrh r0, [r1]
- subs r0, 0x3
- strh r0, [r1]
- b _080E4CAA
- .align 2, 0
-_080E4C80: .4byte gTasks
-_080E4C84: .4byte gUnknown_030042C0
-_080E4C88: .4byte gUnknown_03004288
-_080E4C8C:
- str r5, [sp]
- ldr r1, _080E4CCC
- ldr r4, _080E4CD0
- mov r0, sp
- adds r2, r4, 0
- bl CpuSet
- str r5, [sp, 0x4]
- add r0, sp, 0x4
- ldr r1, _080E4CD4
- adds r2, r4, 0
- bl CpuSet
- movs r0, 0x1
- strh r0, [r7, 0x10]
-_080E4CAA:
- ldr r0, _080E4CD8
- lsls r2, r6, 2
- adds r1, r2, r6
- lsls r1, 3
- adds r1, r0
- movs r3, 0x8
- ldrsh r1, [r1, r3]
- mov r12, r0
- adds r5, r2, 0
- cmp r1, 0x4
- bls _080E4CC2
- b _080E4EBA
-_080E4CC2:
- lsls r0, r1, 2
- ldr r1, _080E4CDC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E4CCC: .4byte 0x0600e000
-_080E4CD0: .4byte 0x05000200
-_080E4CD4: .4byte 0x0600f000
-_080E4CD8: .4byte gTasks
-_080E4CDC: .4byte _080E4CE0
- .align 2, 0
-_080E4CE0:
- .4byte _080E4CF4
- .4byte _080E4D06
- .4byte _080E4DA8
- .4byte _080E4DEC
- .4byte _080E4EB4
-_080E4CF4:
- adds r0, r5, r6
- lsls r0, 3
- add r0, r12
- movs r1, 0x10
- strh r1, [r0, 0xC]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- b _080E4EBA
-_080E4D06:
- adds r0, r5, r6
- lsls r0, 3
- mov r2, r12
- adds r1, r0, r2
- ldrh r0, [r1, 0xC]
- subs r0, 0x1
- strh r0, [r1, 0xC]
- lsls r0, 16
- cmp r0, 0
- beq _080E4D1C
- b _080E4EBA
-_080E4D1C:
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r5, _080E4D8C
- ldr r4, _080E4D90
- ldr r3, _080E4D94
- adds r6, r4, r3
- ldrb r0, [r6]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r3, [r1, 0x1]
- movs r2, 0xD
- negs r2, r2
- adds r0, r2, 0
- ands r0, r3
- movs r3, 0x8
- mov r8, r3
- mov r3, r8
- orrs r0, r3
- strb r0, [r1, 0x1]
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r6, r5, 0
- adds r6, 0x1C
- adds r0, r6
- ldr r3, _080E4D98
- str r3, [r0]
- ldr r0, _080E4D9C
- adds r4, r0
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrb r1, [r0, 0x1]
- ands r2, r1
- mov r1, r8
- orrs r2, r1
- strb r2, [r0, 0x1]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- str r3, [r0]
- ldr r1, _080E4DA0
- movs r0, 0x3F
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080E4DA4
- b _080E4E94
- .align 2, 0
-_080E4D8C: .4byte gSprites
-_080E4D90: .4byte 0x02000000
-_080E4D94: .4byte 0x0001608a
-_080E4D98: .4byte sub_800FE20
-_080E4D9C: .4byte 0x0001608b
-_080E4DA0: .4byte REG_WININ
-_080E4DA4: .4byte 0x00003f06
-_080E4DA8:
- ldr r1, _080E4DE0
- ldrh r0, [r1]
- subs r0, 0xFF
- strh r0, [r1]
- movs r1, 0xFF
- lsls r1, 8
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 6
- cmp r0, r1
- beq _080E4DC0
- b _080E4EBA
-_080E4DC0:
- adds r1, r5, r6
- lsls r1, 3
- add r1, r12
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- movs r0, 0xF0
- strh r0, [r1, 0xC]
- movs r0, 0x20
- strh r0, [r1, 0xE]
- ldr r2, _080E4DE4
- ldrh r1, [r2]
- ldr r0, _080E4DE8
- ands r0, r1
- strh r0, [r2]
- b _080E4EBA
- .align 2, 0
-_080E4DE0: .4byte gUnknown_03004240
-_080E4DE4: .4byte gUnknown_02024DE8
-_080E4DE8: .4byte 0x0000fffe
-_080E4DEC:
- ldr r2, _080E4E9C
- ldrh r1, [r2]
- movs r0, 0xFF
- lsls r0, 8
- ands r0, r1
- cmp r0, 0
- beq _080E4E00
- ldr r3, _080E4EA0
- adds r0, r1, r3
- strh r0, [r2]
-_080E4E00:
- adds r0, r5, r6
- lsls r0, 3
- mov r2, r12
- adds r1, r0, r2
- ldrh r2, [r1, 0xC]
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _080E4E16
- subs r0, r2, 0x2
- strh r0, [r1, 0xC]
-_080E4E16:
- movs r3, 0
- ldr r0, _080E4EA4
- mov r9, r0
- ldr r2, _080E4EA8
- mov r8, r2
- mov r7, r9
- adds r4, r1, 0
-_080E4E24:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r8
- ldrh r0, [r4, 0xC]
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x4F
- ble _080E4E24
- cmp r3, 0x9F
- bgt _080E4E68
- ldr r0, _080E4EA8
- mov r8, r0
- ldr r7, _080E4EA4
- ldr r1, _080E4EAC
- adds r0, r5, r6
- lsls r0, 3
- adds r4, r0, r1
-_080E4E4E:
- lsls r2, r3, 1
- ldrb r1, [r7, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- adds r2, r0
- add r2, r8
- ldrh r0, [r4, 0xC]
- negs r0, r0
- strh r0, [r2]
- adds r3, 0x1
- cmp r3, 0x9F
- ble _080E4E4E
-_080E4E68:
- adds r0, r5, r6
- lsls r0, 3
- mov r2, r12
- adds r1, r0, r2
- movs r3, 0xC
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _080E4EBA
- movs r0, 0x3
- mov r2, r9
- strb r0, [r2, 0x15]
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
- ldr r1, _080E4EB0
- movs r3, 0x9C
- lsls r3, 8
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r2, 0xBC
- lsls r2, 7
-_080E4E94:
- adds r0, r2, 0
- strh r0, [r1]
- b _080E4EBA
- .align 2, 0
-_080E4E9C: .4byte gUnknown_03004240
-_080E4EA0: .4byte 0xfffffc04
-_080E4EA4: .4byte gUnknown_03004DC0
-_080E4EA8: .4byte gUnknown_03004DE0
-_080E4EAC: .4byte gTasks
-_080E4EB0: .4byte REG_BG1CNT
-_080E4EB4:
- adds r0, r6, 0
- bl sub_80E443C
-_080E4EBA:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E4C34
-
- thumb_func_start unref_sub_80E4EC8
-unref_sub_80E4EC8: @ 80E4EC8
- push {r4,lr}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r3, 24
- lsrs r3, 24
- movs r4, 0x80
- lsls r4, 7
- str r4, [sp]
- movs r4, 0x1E
- str r4, [sp, 0x4]
- movs r4, 0x1
- str r4, [sp, 0x8]
- bl sub_80E4EF8
- add sp, 0xC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80E4EC8
-
- thumb_func_start sub_80E4EF8
-sub_80E4EF8: @ 80E4EF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r9, r1
- adds r4, r2, 0
- ldr r1, [sp, 0x24]
- mov r8, r1
- ldr r1, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- mov r7, r9
- lsls r7, 24
- adds r0, r7, 0
- lsrs r0, 24
- mov r9, r0
- lsls r4, 24
- lsrs r4, 24
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp]
- mov r3, r8
- lsls r3, 16
- mov r8, r3
- lsrs r6, r3, 16
- lsls r1, 24
- lsrs r7, r1, 24
- lsls r5, 24
- lsrs r5, 24
- adds r0, r4, 0
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E4FCC
- ldr r1, _080E4FD0
- lsls r4, 2
- adds r4, r1
- ldr r1, _080E4FD4
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 11
- ldr r0, [r4]
- adds r0, r1
- str r0, [r2]
- movs r0, 0xC0
- lsls r0, 19
- adds r6, r0
- str r6, [r2, 0x4]
- ldr r0, _080E4FD8
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- mov r0, r8
- lsrs r0, 21
- lsls r5, 9
- subs r5, r0, r5
- mov r0, r9
- adds r1, r0, 0
- adds r1, 0x8
- cmp r0, r1
- bge _080E4FBC
- mov r9, r1
- mov r1, r10
- lsls r1, 1
- mov r8, r1
- lsls r7, 11
- mov r12, r7
-_080E4F86:
- mov r2, r10
- adds r4, r2, 0
- adds r4, 0x8
- adds r1, r0, 0x1
- cmp r2, r4
- bge _080E4FB6
- ldr r3, [sp]
- lsls r6, r3, 12
- lsls r0, 6
- movs r7, 0xC0
- lsls r7, 19
- adds r0, r7
- add r0, r12
- mov r7, r8
- adds r3, r7, r0
- subs r2, r4, r2
-_080E4FA6:
- adds r0, r5, 0
- orrs r0, r6
- strh r0, [r3]
- adds r5, 0x1
- adds r3, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _080E4FA6
-_080E4FB6:
- adds r0, r1, 0
- cmp r0, r9
- blt _080E4F86
-_080E4FBC:
- 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
-_080E4FCC: .4byte 0x040000d4
-_080E4FD0: .4byte gUnknown_081FAF4C
-_080E4FD4: .4byte gUnknown_02024E84
-_080E4FD8: .4byte 0x80000400
- thumb_func_end sub_80E4EF8
-
- thumb_func_start unref_sub_80E4FDC
-unref_sub_80E4FDC: @ 80E4FDC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- ldr r5, [sp, 0x28]
- mov r8, r5
- ldr r5, [sp, 0x2C]
- ldr r6, [sp, 0x30]
- mov r9, r6
- lsls r0, 24
- lsrs r0, 24
- mov r12, r0
- lsls r1, 24
- lsls r2, 24
- lsls r3, 24
- lsls r4, 24
- lsrs r4, 24
- mov r10, r4
- mov r7, r8
- lsls r7, 16
- lsrs r6, r7, 16
- lsls r5, 24
- lsrs r5, 24
- mov r0, r9
- lsls r0, 24
- mov r9, r0
- ldr r4, _080E509C
- ldr r0, _080E50A0
- lsrs r2, 22
- adds r2, r0
- lsrs r3, 13
- ldr r0, [r2]
- adds r0, r3
- str r0, [r4]
- movs r0, 0xC0
- lsls r0, 19
- adds r6, r0
- str r6, [r4, 0x4]
- ldr r0, _080E50A4
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r2, r7, 0
- lsrs r2, 21
- mov r6, r9
- lsrs r6, 15
- subs r4, r2, r6
- lsrs r0, r1, 24
- adds r1, r0, 0
- adds r1, 0x8
- cmp r0, r1
- bge _080E508C
- mov r9, r1
- mov r7, r12
- lsls r7, 1
- mov r8, r7
- lsls r5, 11
- str r5, [sp]
-_080E5054:
- mov r2, r12
- adds r3, r2, 0
- adds r3, 0x8
- adds r5, r0, 0x1
- cmp r2, r3
- bge _080E5086
- mov r1, r10
- lsls r6, r1, 12
- lsls r0, 6
- movs r7, 0xC0
- lsls r7, 19
- adds r0, r7
- ldr r1, [sp]
- adds r0, r1, r0
- mov r7, r8
- adds r1, r7, r0
- subs r2, r3, r2
-_080E5076:
- adds r0, r4, 0
- orrs r0, r6
- strh r0, [r1]
- adds r4, 0x1
- adds r1, 0x2
- subs r2, 0x1
- cmp r2, 0
- bne _080E5076
-_080E5086:
- adds r0, r5, 0
- cmp r0, r9
- blt _080E5054
-_080E508C:
- 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
-_080E509C: .4byte 0x040000d4
-_080E50A0: .4byte gUnknown_081FAF4C
-_080E50A4: .4byte 0x80000400
- thumb_func_end unref_sub_80E4FDC
-
- thumb_func_start MovePlayerOnBike
-MovePlayerOnBike: @ 80E50A8
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r0, _080E50CC
- ldrb r1, [r0]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E50D0
- adds r0, r3, 0
- adds r1, r4, 0
- bl MovePlayerOnMachBike
- b _080E50D8
- .align 2, 0
-_080E50CC: .4byte gPlayerAvatar
-_080E50D0:
- adds r0, r3, 0
- adds r1, r4, 0
- bl MovePlayerOnAcroBike
-_080E50D8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end MovePlayerOnBike
-
- thumb_func_start MovePlayerOnMachBike
-MovePlayerOnMachBike: @ 80E50E0
- push {r4,lr}
- sub sp, 0x4
- mov r1, sp
- strb r0, [r1]
- ldr r4, _080E510C
- mov r0, sp
- bl CheckMovementInputMachBike
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- mov r1, sp
- ldrb r1, [r1]
- ldr r2, [r0]
- adds r0, r1, 0
- bl _call_via_r2
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E510C: .4byte gUnknown_083DB594
- thumb_func_end MovePlayerOnMachBike
-
- thumb_func_start CheckMovementInputMachBike
-CheckMovementInputMachBike: @ 80E5110
- push {r4,lr}
- adds r4, r0, 0
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- ldrb r1, [r4]
- cmp r1, 0
- bne _080E5138
- strb r0, [r4]
- ldr r2, _080E5134
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- bne _080E514C
- strb r1, [r2, 0x2]
- movs r0, 0
- b _080E5160
- .align 2, 0
-_080E5134: .4byte gPlayerAvatar
-_080E5138:
- ldr r2, _080E5154
- cmp r1, r3
- beq _080E515C
- ldrb r0, [r2, 0x2]
- cmp r0, 0x2
- beq _080E515C
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- beq _080E5158
- strb r3, [r4]
-_080E514C:
- movs r0, 0x2
- strb r0, [r2, 0x2]
- movs r0, 0x3
- b _080E5160
- .align 2, 0
-_080E5154: .4byte gPlayerAvatar
-_080E5158:
- movs r0, 0x1
- b _080E515E
-_080E515C:
- movs r0, 0x2
-_080E515E:
- strb r0, [r2, 0x2]
-_080E5160:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end CheckMovementInputMachBike
-
- thumb_func_start sub_80E5168
-sub_80E5168: @ 80E5168
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl PlayerFaceDirection
- bl sub_80E6024
- pop {r0}
- bx r0
- thumb_func_end sub_80E5168
-
- thumb_func_start sub_80E517C
-sub_80E517C: @ 80E517C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080E51AC
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E51B0
- adds r4, r0, r1
- ldrb r1, [r4, 0x1E]
- adds r0, r5, 0
- bl sub_80E5E70
- lsls r0, 24
- cmp r0, 0
- beq _080E51B4
- adds r0, r5, 0
- bl PlayerTurnInPlace
- bl sub_80E6024
- b _080E51BE
- .align 2, 0
-_080E51AC: .4byte gPlayerAvatar
-_080E51B0: .4byte gMapObjects
-_080E51B4:
- ldrb r0, [r4, 0x18]
- lsls r0, 28
- lsrs r0, 28
- bl sub_80E5168
-_080E51BE:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80E517C
-
- thumb_func_start sub_80E51C4
-sub_80E51C4: @ 80E51C4
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r7, r5, 0
- ldr r6, _080E51F8
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E51FC
- adds r4, r0, r1
- ldrb r1, [r4, 0x1E]
- adds r0, r5, 0
- bl sub_80E5E70
- lsls r0, 24
- cmp r0, 0
- bne _080E520A
- ldrb r0, [r6, 0xB]
- cmp r0, 0
- beq _080E5200
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl sub_80E5270
- b _080E5266
- .align 2, 0
-_080E51F8: .4byte gPlayerAvatar
-_080E51FC: .4byte gMapObjects
-_080E5200:
- ldrb r0, [r4, 0x18]
- lsrs r0, 4
- bl sub_80E5168
- b _080E5266
-_080E520A:
- adds r0, r5, 0
- bl sub_80E5D34
- lsls r0, 24
- lsrs r4, r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0xA
- bhi _080E5242
- cmp r4, 0x6
- bne _080E522C
- adds r0, r5, 0
- bl PlayerJumpLedge
- b _080E5266
-_080E522C:
- bl sub_80E6024
- subs r0, r4, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080E5266
- adds r0, r5, 0
- bl PlayerOnBikeCollide
- b _080E5266
-_080E5242:
- ldr r1, _080E526C
- ldrb r0, [r6, 0xA]
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl _call_via_r1
- ldrb r2, [r6, 0xA]
- lsls r0, r2, 24
- lsrs r1, r0, 24
- lsrs r0, 25
- adds r0, r2, r0
- strb r0, [r6, 0xB]
- cmp r1, 0x1
- bhi _080E5266
- adds r0, r2, 0x1
- strb r0, [r6, 0xA]
-_080E5266:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E526C: .4byte gUnknown_083DB5A4
- thumb_func_end sub_80E51C4
-
- thumb_func_start sub_80E5270
-sub_80E5270: @ 80E5270
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r7, r4, 0
- ldr r6, _080E52A8
- ldrb r0, [r6, 0xB]
- cmp r0, 0
- beq _080E5286
- subs r0, 0x1
- strb r0, [r6, 0xB]
- strb r0, [r6, 0xA]
-_080E5286:
- adds r0, r4, 0
- bl sub_80E5D34
- lsls r0, 24
- lsrs r5, r0, 24
- movs r1, 0xFF
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0xA
- bhi _080E52C2
- cmp r5, 0x6
- bne _080E52AC
- adds r0, r4, 0
- bl PlayerJumpLedge
- b _080E52D2
- .align 2, 0
-_080E52A8: .4byte gPlayerAvatar
-_080E52AC:
- bl sub_80E6024
- subs r0, r5, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080E52D2
- adds r0, r4, 0
- bl PlayerOnBikeCollide
- b _080E52D2
-_080E52C2:
- ldr r0, _080E52D8
- ldrb r1, [r6, 0xA]
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- adds r0, r7, 0
- bl _call_via_r1
-_080E52D2:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E52D8: .4byte gUnknown_083DB5A4
- thumb_func_end sub_80E5270
-
- thumb_func_start MovePlayerOnAcroBike
-MovePlayerOnAcroBike: @ 80E52DC
- push {r4,lr}
- sub sp, 0x4
- mov r3, sp
- strb r0, [r3]
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r4, _080E5310
- mov r0, sp
- bl CheckMovementInputAcroBike
- lsls r0, 24
- lsrs r0, 22
- adds r0, r4
- mov r1, sp
- ldrb r1, [r1]
- ldr r2, [r0]
- adds r0, r1, 0
- bl _call_via_r2
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5310: .4byte gUnknown_083DB5B0
- thumb_func_end MovePlayerOnAcroBike
-
- thumb_func_start CheckMovementInputAcroBike
-CheckMovementInputAcroBike: @ 80E5314
- push {r4,lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r4, _080E5338
- ldr r3, _080E533C
- ldrb r3, [r3, 0x8]
- lsls r3, 2
- adds r3, r4
- ldr r3, [r3]
- bl _call_via_r3
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080E5338: .4byte gUnknown_083DB5E4
-_080E533C: .4byte gPlayerAvatar
- thumb_func_end CheckMovementInputAcroBike
-
- thumb_func_start CheckMovementInputAcroBikeNormal
-CheckMovementInputAcroBikeNormal: @ 80E5340
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r2, 16
- lsrs r5, r2, 16
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080E5374
- movs r0, 0
- strb r0, [r2, 0xA]
- ldrb r1, [r4]
- cmp r1, 0
- bne _080E5380
- movs r0, 0x2
- ands r0, r6
- cmp r0, 0
- beq _080E5378
- strb r3, [r4]
- strb r1, [r2, 0x2]
- movs r0, 0x2
- strb r0, [r2, 0x8]
- movs r0, 0x3
- b _080E53D4
- .align 2, 0
-_080E5374: .4byte gPlayerAvatar
-_080E5378:
- strb r3, [r4]
- strb r1, [r2, 0x2]
- movs r0, 0
- b _080E53D4
-_080E5380:
- cmp r1, r3
- bne _080E53A6
- movs r0, 0x2
- ands r0, r5
- cmp r0, 0
- beq _080E539E
- ldrb r0, [r2, 0xB]
- cmp r0, 0
- bne _080E539E
- adds r0, 0x1
- strb r0, [r2, 0xB]
- movs r0, 0x4
- strb r0, [r2, 0x8]
- movs r0, 0xB
- b _080E53D4
-_080E539E:
- ldrb r0, [r4]
- ldr r2, _080E53CC
- cmp r0, r3
- beq _080E53D0
-_080E53A6:
- ldr r0, _080E53CC
- ldrb r1, [r0, 0x2]
- adds r2, r0, 0
- cmp r1, 0x2
- beq _080E53D0
- movs r1, 0
- movs r0, 0x1
- strb r0, [r2, 0x8]
- ldrb r0, [r4]
- strb r0, [r2, 0x9]
- strb r1, [r2, 0x2]
- adds r0, r4, 0
- adds r1, r6, 0
- adds r2, r5, 0
- bl CheckMovementInputAcroBike
- lsls r0, 24
- lsrs r0, 24
- b _080E53D4
- .align 2, 0
-_080E53CC: .4byte gPlayerAvatar
-_080E53D0:
- movs r0, 0x2
- strb r0, [r2, 0x2]
-_080E53D4:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CheckMovementInputAcroBikeNormal
-
- thumb_func_start CheckMovementInputAcroBikeChangingDirection
-CheckMovementInputAcroBikeChangingDirection: @ 80E53DC
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _080E5404
- ldrb r0, [r4, 0x9]
- strb r0, [r5]
- ldrb r0, [r4, 0xA]
- adds r0, 0x1
- strb r0, [r4, 0xA]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x6
- bls _080E5408
- movs r0, 0x1
- strb r0, [r4, 0x2]
- movs r0, 0
- strb r0, [r4, 0x8]
- bl sub_80E6024
- movs r0, 0x1
- b _080E544E
- .align 2, 0
-_080E5404: .4byte gPlayerAvatar
-_080E5408:
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_80E5C2C
- ldrb r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _080E544A
- bl sub_80E6024
- movs r0, 0x1
- strb r0, [r4, 0xB]
- adds r0, r6, 0
- bl GetOppositeDirection
- ldrb r1, [r5]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _080E543E
- movs r0, 0x6
- strb r0, [r4, 0x8]
- movs r0, 0x9
- b _080E544E
-_080E543E:
- movs r0, 0x2
- strb r0, [r4, 0x2]
- movs r0, 0x5
- strb r0, [r4, 0x8]
- movs r0, 0x8
- b _080E544E
-_080E544A:
- strb r6, [r5]
- movs r0, 0
-_080E544E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end CheckMovementInputAcroBikeChangingDirection
-
- thumb_func_start CheckMovementInputAcroBikeStandingWheelie
-CheckMovementInputAcroBikeStandingWheelie: @ 80E5454
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r4, r2, 16
- lsrs r4, 16
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r5, _080E54A0
- ldrb r1, [r5, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E54A4
- adds r1, r0, r1
- movs r0, 0
- strb r0, [r5, 0x2]
- movs r0, 0x2
- ands r4, r0
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0
- bne _080E54A8
- strb r4, [r5, 0xA]
- ldrb r0, [r1, 0x1E]
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _080E54AE
- strb r6, [r7]
- strb r0, [r5, 0x8]
- bl sub_80E6024
- movs r0, 0x4
- b _080E54EC
- .align 2, 0
-_080E54A0: .4byte gPlayerAvatar
-_080E54A4: .4byte gMapObjects
-_080E54A8:
- ldrb r0, [r5, 0xA]
- adds r0, 0x1
- strb r0, [r5, 0xA]
-_080E54AE:
- ldr r1, _080E54C4
- ldrb r0, [r1, 0xA]
- cmp r0, 0x27
- bls _080E54C8
- strb r6, [r7]
- movs r0, 0x3
- strb r0, [r1, 0x8]
- bl sub_80E6024
- movs r0, 0x6
- b _080E54EC
- .align 2, 0
-_080E54C4: .4byte gPlayerAvatar
-_080E54C8:
- ldrb r0, [r7]
- cmp r0, r6
- bne _080E54DE
- movs r0, 0x2
- strb r0, [r1, 0x2]
- movs r0, 0x4
- strb r0, [r1, 0x8]
- bl sub_80E6024
- movs r0, 0xA
- b _080E54EC
-_080E54DE:
- cmp r0, 0
- beq _080E54E8
- movs r0, 0x1
- strb r0, [r1, 0x2]
- b _080E54EA
-_080E54E8:
- strb r6, [r7]
-_080E54EA:
- movs r0, 0x5
-_080E54EC:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end CheckMovementInputAcroBikeStandingWheelie
-
- thumb_func_start CheckMovementInputAcroBikeBunnyHop
-CheckMovementInputAcroBikeBunnyHop: @ 80E54F4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, r5, 0
- ldr r4, _080E5554
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E5558
- adds r7, r0, r1
- movs r0, 0x2
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _080E5566
- bl sub_80E6024
- ldrb r0, [r7, 0x1E]
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080E555C
- movs r0, 0x2
- strb r0, [r4, 0x8]
- adds r0, r6, 0
- mov r1, r9
- mov r2, r8
- bl CheckMovementInputAcroBike
- lsls r0, 24
- lsrs r0, 24
- b _080E558A
- .align 2, 0
-_080E5554: .4byte gPlayerAvatar
-_080E5558: .4byte gMapObjects
-_080E555C:
- strb r5, [r6]
- strb r0, [r4, 0x2]
- strb r0, [r4, 0x8]
- movs r0, 0x4
- b _080E558A
-_080E5566:
- ldrb r0, [r6]
- cmp r0, 0
- bne _080E5570
- strb r5, [r6]
- b _080E557C
-_080E5570:
- cmp r0, r2
- beq _080E5582
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _080E5582
- movs r0, 0x1
-_080E557C:
- strb r0, [r4, 0x2]
- movs r0, 0x6
- b _080E558A
-_080E5582:
- ldr r1, _080E5598
- movs r0, 0x2
- strb r0, [r1, 0x2]
- movs r0, 0x7
-_080E558A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080E5598: .4byte gPlayerAvatar
- thumb_func_end CheckMovementInputAcroBikeBunnyHop
-
- thumb_func_start CheckMovementInputAcroBikeMovingWheelie
-CheckMovementInputAcroBikeMovingWheelie: @ 80E559C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- lsls r1, 16
- lsrs r1, 16
- mov r10, r1
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- bl player_get_direction_lower_nybble
- lsls r0, 24
- lsrs r5, r0, 24
- adds r2, r5, 0
- ldr r4, _080E55F8
- ldrb r1, [r4, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E55FC
- adds r7, r0, r1
- movs r0, 0x2
- mov r9, r0
- movs r0, 0x2
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _080E5634
- bl sub_80E6024
- ldrb r0, [r7, 0x1E]
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080E5620
- strb r1, [r4, 0x8]
- ldrb r0, [r6]
- cmp r0, 0
- bne _080E5600
- strb r5, [r6]
- b _080E560A
- .align 2, 0
-_080E55F8: .4byte gPlayerAvatar
-_080E55FC: .4byte gMapObjects
-_080E5600:
- cmp r0, r5
- beq _080E5610
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _080E5610
-_080E560A:
- strb r1, [r4, 0x2]
- movs r0, 0x4
- b _080E5664
-_080E5610:
- ldr r1, _080E561C
- movs r0, 0x2
- strb r0, [r1, 0x2]
- movs r0, 0xC
- b _080E5664
- .align 2, 0
-_080E561C: .4byte gPlayerAvatar
-_080E5620:
- mov r0, r9
- strb r0, [r4, 0x8]
- adds r0, r6, 0
- mov r1, r10
- mov r2, r8
- bl CheckMovementInputAcroBike
- lsls r0, 24
- lsrs r0, 24
- b _080E5664
-_080E5634:
- ldrb r0, [r6]
- cmp r0, 0
- bne _080E564A
- strb r5, [r6]
- mov r1, r9
- strb r1, [r4, 0x8]
- strb r0, [r4, 0x2]
- bl sub_80E6024
- movs r0, 0x5
- b _080E5664
-_080E564A:
- cmp r2, r0
- beq _080E565C
- ldrb r0, [r4, 0x2]
- cmp r0, 0x2
- beq _080E565C
- movs r0, 0
- strb r0, [r4, 0x2]
- movs r0, 0x5
- b _080E5664
-_080E565C:
- ldr r1, _080E5674
- movs r0, 0x2
- strb r0, [r1, 0x2]
- movs r0, 0xA
-_080E5664:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080E5674: .4byte gPlayerAvatar
- thumb_func_end CheckMovementInputAcroBikeMovingWheelie
-
- thumb_func_start CheckMovementInputAcroBikeUnknownMode5
-CheckMovementInputAcroBikeUnknownMode5: @ 80E5678
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- mov r8, r0
- adds r4, r1, 0
- adds r5, r2, 0
- lsls r4, 16
- lsrs r4, 16
- lsls r5, 16
- lsrs r5, 16
- ldr r6, _080E56CC
- ldrb r1, [r6, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E56D0
- adds r0, r1
- ldrb r2, [r0, 0x1]
- movs r1, 0x3
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x1]
- ldrb r1, [r0, 0x18]
- lsls r1, 28
- lsrs r1, 28
- bl FieldObjectSetDirection
- movs r0, 0
- strb r0, [r6, 0x8]
- mov r0, r8
- adds r1, r4, 0
- adds r2, r5, 0
- bl CheckMovementInputAcroBike
- lsls r0, 24
- lsrs r0, 24
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080E56CC: .4byte gPlayerAvatar
-_080E56D0: .4byte gMapObjects
- thumb_func_end CheckMovementInputAcroBikeUnknownMode5
-
- thumb_func_start CheckMovementInputAcroBikeUnknownMode6
-CheckMovementInputAcroBikeUnknownMode6: @ 80E56D4
- push {r4,lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r4, _080E56F4
- movs r3, 0
- strb r3, [r4, 0x8]
- bl CheckMovementInputAcroBike
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080E56F4: .4byte gPlayerAvatar
- thumb_func_end CheckMovementInputAcroBikeUnknownMode6
-
- thumb_func_start sub_80E56F8
-sub_80E56F8: @ 80E56F8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl PlayerFaceDirection
- pop {r0}
- bx r0
- thumb_func_end sub_80E56F8
-
- thumb_func_start sub_80E5708
-sub_80E5708: @ 80E5708
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E573C
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E5740
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_80E5E70
- lsls r0, 24
- cmp r0, 0
- bne _080E572E
- ldrb r0, [r5, 0x18]
- lsrs r4, r0, 4
-_080E572E:
- adds r0, r4, 0
- bl PlayerFaceDirection
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E573C: .4byte gPlayerAvatar
-_080E5740: .4byte gMapObjects
- thumb_func_end sub_80E5708
-
- thumb_func_start sub_80E5744
-sub_80E5744: @ 80E5744
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r0, _080E5774
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E5778
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_80E5E70
- lsls r0, 24
- cmp r0, 0
- bne _080E577C
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- bl sub_80E56F8
- b _080E57B6
- .align 2, 0
-_080E5774: .4byte gPlayerAvatar
-_080E5778: .4byte gMapObjects
-_080E577C:
- adds r0, r4, 0
- bl sub_80E5D34
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0xA
- bhi _080E57B0
- cmp r1, 0x6
- bne _080E579E
- adds r0, r4, 0
- bl PlayerJumpLedge
- b _080E57B6
-_080E579E:
- subs r0, r1, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080E57B6
- adds r0, r4, 0
- bl PlayerOnBikeCollide
- b _080E57B6
-_080E57B0:
- adds r0, r6, 0
- bl npc_use_some_d2s
-_080E57B6:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E5744
-
- thumb_func_start sub_80E57BC
-sub_80E57BC: @ 80E57BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E57F0
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E57F4
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_80E5E70
- lsls r0, 24
- cmp r0, 0
- bne _080E57E2
- ldrb r0, [r5, 0x18]
- lsrs r4, r0, 4
-_080E57E2:
- adds r0, r4, 0
- bl sub_805951C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E57F0: .4byte gPlayerAvatar
-_080E57F4: .4byte gMapObjects
- thumb_func_end sub_80E57BC
-
- thumb_func_start sub_80E57F8
-sub_80E57F8: @ 80E57F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E582C
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E5830
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_80E5E70
- lsls r0, 24
- cmp r0, 0
- bne _080E581E
- ldrb r0, [r5, 0x18]
- lsrs r4, r0, 4
-_080E581E:
- adds r0, r4, 0
- bl sub_8059534
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E582C: .4byte gPlayerAvatar
-_080E5830: .4byte gMapObjects
- thumb_func_end sub_80E57F8
-
- thumb_func_start sub_80E5834
-sub_80E5834: @ 80E5834
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E5868
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E586C
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_80E5E70
- lsls r0, 24
- cmp r0, 0
- bne _080E585A
- ldrb r0, [r5, 0x18]
- lsrs r4, r0, 4
-_080E585A:
- adds r0, r4, 0
- bl sub_8059504
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5868: .4byte gPlayerAvatar
-_080E586C: .4byte gMapObjects
- thumb_func_end sub_80E5834
-
- thumb_func_start sub_80E5870
-sub_80E5870: @ 80E5870
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E58A4
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E58A8
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_80E5E70
- lsls r0, 24
- cmp r0, 0
- bne _080E5896
- ldrb r0, [r5, 0x18]
- lsrs r4, r0, 4
-_080E5896:
- adds r0, r4, 0
- bl sub_805954C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E58A4: .4byte gPlayerAvatar
-_080E58A8: .4byte gMapObjects
- thumb_func_end sub_80E5870
-
- thumb_func_start sub_80E58AC
-sub_80E58AC: @ 80E58AC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E58D8
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E58DC
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_80E5E70
- lsls r0, 24
- cmp r0, 0
- bne _080E58E0
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- bl sub_80E5870
- b _080E591A
- .align 2, 0
-_080E58D8: .4byte gPlayerAvatar
-_080E58DC: .4byte gMapObjects
-_080E58E0:
- adds r0, r4, 0
- bl sub_80E5D34
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- beq _080E5914
- cmp r1, 0x9
- beq _080E5914
- cmp r1, 0x6
- bne _080E58FE
- adds r0, r4, 0
- bl sub_8059594
- b _080E591A
-_080E58FE:
- subs r0, r1, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080E591A
- cmp r1, 0xB
- bhi _080E5914
- adds r0, r4, 0
- bl sub_80E5870
- b _080E591A
-_080E5914:
- adds r0, r4, 0
- bl sub_8059570
-_080E591A:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80E58AC
-
- thumb_func_start sub_80E5920
-sub_80E5920: @ 80E5920
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80E5D34
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0
- beq _080E5954
- cmp r0, 0x7
- beq _080E5980
- cmp r0, 0x9
- bls _080E594C
- adds r0, r1, 0
- adds r1, r5, 0
- bl sub_80E5EC0
- lsls r0, 24
- cmp r0, 0
- bne _080E5954
-_080E594C:
- adds r0, r5, 0
- bl sub_80E5708
- b _080E5980
-_080E5954:
- ldr r0, _080E5988
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _080E598C
- adds r4, r0
- movs r0, 0x22
- bl PlaySE
- ldrb r0, [r4, 0x1]
- movs r1, 0x2
- orrs r0, r1
- strb r0, [r4, 0x1]
- adds r0, r5, 0
- bl sub_80608A4
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x2
- bl player_npc_set_state_and_x22_etc
-_080E5980:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5988: .4byte gPlayerAvatar
-_080E598C: .4byte gMapObjects
- thumb_func_end sub_80E5920
-
- thumb_func_start sub_80E5990
-sub_80E5990: @ 80E5990
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80595B8
- pop {r0}
- bx r0
- thumb_func_end sub_80E5990
-
- thumb_func_start sub_80E59A0
-sub_80E59A0: @ 80E59A0
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r7, _080E59D0
- ldrb r1, [r7, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E59D4
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_80E5E70
- lsls r0, 24
- cmp r0, 0
- bne _080E59D8
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- bl sub_8059504
- b _080E5A28
- .align 2, 0
-_080E59D0: .4byte gPlayerAvatar
-_080E59D4: .4byte gMapObjects
-_080E59D8:
- adds r0, r4, 0
- bl sub_80E5D34
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0xA
- bhi _080E5A1E
- cmp r1, 0x6
- bne _080E59FA
- adds r0, r4, 0
- bl sub_8059594
- b _080E5A28
-_080E59FA:
- cmp r1, 0x9
- beq _080E5A0E
- cmp r1, 0x4
- bhi _080E5A28
- ldrb r0, [r5, 0x1E]
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- cmp r0, 0
- beq _080E5A16
-_080E5A0E:
- adds r0, r4, 0
- bl sub_8059504
- b _080E5A28
-_080E5A16:
- adds r0, r4, 0
- bl sub_80595DC
- b _080E5A28
-_080E5A1E:
- adds r0, r6, 0
- bl sub_8059618
- movs r0, 0x2
- strb r0, [r7, 0x2]
-_080E5A28:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E59A0
-
- thumb_func_start sub_80E5A30
-sub_80E5A30: @ 80E5A30
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r7, _080E5A60
- ldrb r1, [r7, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E5A64
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_80E5E70
- lsls r0, 24
- cmp r0, 0
- bne _080E5A68
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- bl sub_805951C
- b _080E5AB8
- .align 2, 0
-_080E5A60: .4byte gPlayerAvatar
-_080E5A64: .4byte gMapObjects
-_080E5A68:
- adds r0, r4, 0
- bl sub_80E5D34
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0xA
- bhi _080E5AAE
- cmp r1, 0x6
- bne _080E5A8A
- adds r0, r4, 0
- bl sub_8059594
- b _080E5AB8
-_080E5A8A:
- cmp r1, 0x9
- beq _080E5A9E
- cmp r1, 0x4
- bhi _080E5AB8
- ldrb r0, [r5, 0x1E]
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- cmp r0, 0
- beq _080E5AA6
-_080E5A9E:
- adds r0, r4, 0
- bl sub_8059504
- b _080E5AB8
-_080E5AA6:
- adds r0, r4, 0
- bl sub_80595DC
- b _080E5AB8
-_080E5AAE:
- adds r0, r6, 0
- bl sub_8059600
- movs r0, 0x2
- strb r0, [r7, 0x2]
-_080E5AB8:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E5A30
-
- thumb_func_start sub_80E5AC0
-sub_80E5AC0: @ 80E5AC0
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r6, r4, 0
- ldr r0, _080E5AF0
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E5AF4
- adds r5, r0, r1
- ldrb r1, [r5, 0x1E]
- adds r0, r4, 0
- bl sub_80E5E70
- lsls r0, 24
- cmp r0, 0
- bne _080E5AF8
- ldrb r0, [r5, 0x18]
- lsrs r0, 4
- bl sub_8059534
- b _080E5B32
- .align 2, 0
-_080E5AF0: .4byte gPlayerAvatar
-_080E5AF4: .4byte gMapObjects
-_080E5AF8:
- adds r0, r4, 0
- bl sub_80E5D34
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r0, 24
- cmp r0, 0xA
- bhi _080E5B2C
- cmp r1, 0x6
- bne _080E5B1A
- adds r0, r4, 0
- bl PlayerJumpLedge
- b _080E5B32
-_080E5B1A:
- subs r0, r1, 0x5
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bls _080E5B32
- adds r0, r4, 0
- bl sub_8059534
- b _080E5B32
-_080E5B2C:
- adds r0, r6, 0
- bl sub_8059630
-_080E5B32:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E5AC0
-
- thumb_func_start sub_80E5B38
-sub_80E5B38: @ 80E5B38
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r2, r1, 16
- ldr r0, _080E5B5C
- ldrb r1, [r0]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080E5B56
- adds r0, r3, 0
- adds r1, r2, 0
- bl sub_80E5B60
-_080E5B56:
- pop {r0}
- bx r0
- .align 2, 0
-_080E5B5C: .4byte gPlayerAvatar
- thumb_func_end sub_80E5B38
-
- thumb_func_start sub_80E5B60
-sub_80E5B60: @ 80E5B60
- push {r4,r5,lr}
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r5, 0
- bl sub_80E5CF4
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r4, _080E5B88
- ldr r0, [r4, 0xC]
- movs r1, 0xF
- ands r0, r1
- cmp r2, r0
- bne _080E5B8C
- ldrb r0, [r4, 0x14]
- cmp r0, 0xFE
- bhi _080E5B96
- adds r0, 0x1
- strb r0, [r4, 0x14]
- b _080E5B96
- .align 2, 0
-_080E5B88: .4byte gPlayerAvatar
-_080E5B8C:
- adds r0, r2, 0
- bl sub_80E5C7C
- movs r0, 0
- strb r0, [r4, 0xB]
-_080E5B96:
- movs r0, 0xF
- adds r2, r5, 0
- ands r2, r0
- ldr r4, _080E5BB4
- ldr r0, [r4, 0x10]
- movs r1, 0xF
- ands r0, r1
- cmp r2, r0
- bne _080E5BB8
- ldrb r0, [r4, 0x1C]
- cmp r0, 0xFE
- bhi _080E5BC2
- adds r0, 0x1
- strb r0, [r4, 0x1C]
- b _080E5BC2
- .align 2, 0
-_080E5BB4: .4byte gPlayerAvatar
-_080E5BB8:
- adds r0, r2, 0
- bl sub_80E5CB8
- movs r0, 0
- strb r0, [r4, 0xB]
-_080E5BC2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80E5B60
-
- thumb_func_start sub_80E5BC8
-sub_80E5BC8: @ 80E5BC8
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- movs r2, 0
- ldrb r0, [r3]
- cmp r0, 0
- beq _080E5BF2
- ldr r5, _080E5C0C
-_080E5BD8:
- adds r0, r2, r5
- adds r1, r3, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bhi _080E5C08
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r3, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E5BD8
-_080E5BF2:
- movs r2, 0
- ldrb r0, [r4]
- cmp r0, 0
- beq _080E5C22
- ldr r3, _080E5C10
-_080E5BFC:
- adds r0, r2, r3
- adds r1, r4, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- bls _080E5C14
-_080E5C08:
- movs r0, 0
- b _080E5C24
- .align 2, 0
-_080E5C0C: .4byte gUnknown_0202E86C
-_080E5C10: .4byte gUnknown_0202E874
-_080E5C14:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E5BFC
-_080E5C22:
- movs r0, 0x1
-_080E5C24:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80E5BC8
-
- thumb_func_start sub_80E5C2C
-sub_80E5C2C: @ 80E5C2C
- push {r4-r6,lr}
- movs r6, 0
- movs r5, 0
-_080E5C32:
- ldr r0, _080E5C64
- adds r4, r5, r0
- ldr r0, _080E5C68
- ldr r1, [r0, 0xC]
- ldr r2, [r0, 0x10]
- ldr r0, [r4, 0x8]
- ands r1, r0
- ldr r0, [r4, 0xC]
- ands r2, r0
- ldr r0, [r4]
- cmp r1, r0
- bne _080E5C6C
- ldr r0, [r4, 0x4]
- cmp r2, r0
- bne _080E5C6C
- ldr r0, [r4, 0x10]
- ldr r1, [r4, 0x14]
- bl sub_80E5BC8
- lsls r0, 24
- cmp r0, 0
- beq _080E5C6C
- ldrb r0, [r4, 0x18]
- b _080E5C76
- .align 2, 0
-_080E5C64: .4byte gUnknown_083DB608
-_080E5C68: .4byte gPlayerAvatar
-_080E5C6C:
- adds r5, 0x1C
- adds r6, 0x1
- cmp r6, 0x3
- bls _080E5C32
- movs r0, 0
-_080E5C76:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80E5C2C
-
- thumb_func_start sub_80E5C7C
-sub_80E5C7C: @ 80E5C7C
- push {r4,lr}
- lsls r0, 24
- ldr r3, _080E5CB4
- ldr r2, [r3, 0xC]
- lsls r2, 4
- movs r1, 0xF0
- lsls r1, 20
- ands r1, r0
- lsrs r1, 24
- orrs r2, r1
- str r2, [r3, 0xC]
- movs r1, 0x7
- adds r4, r3, 0
- adds r3, 0x14
-_080E5C98:
- adds r2, r1, r3
- subs r1, 0x1
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- bne _080E5C98
- movs r0, 0x1
- strb r0, [r4, 0x14]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5CB4: .4byte gPlayerAvatar
- thumb_func_end sub_80E5C7C
-
- thumb_func_start sub_80E5CB8
-sub_80E5CB8: @ 80E5CB8
- push {r4,lr}
- lsls r0, 24
- ldr r3, _080E5CF0
- ldr r2, [r3, 0x10]
- lsls r2, 4
- movs r1, 0xF0
- lsls r1, 20
- ands r1, r0
- lsrs r1, 24
- orrs r2, r1
- str r2, [r3, 0x10]
- movs r1, 0x7
- adds r4, r3, 0
- adds r3, 0x1C
-_080E5CD4:
- adds r2, r1, r3
- subs r1, 0x1
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0
- bne _080E5CD4
- movs r0, 0x1
- strb r0, [r4, 0x1C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5CF0: .4byte gPlayerAvatar
- thumb_func_end sub_80E5CB8
-
- thumb_func_start sub_80E5CF4
-sub_80E5CF4: @ 80E5CF4
- push {lr}
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r1, 0
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080E5D08
- movs r0, 0x2
- b _080E5D2E
-_080E5D08:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080E5D14
- movs r0, 0x1
- b _080E5D2E
-_080E5D14:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080E5D20
- movs r0, 0x3
- b _080E5D2E
-_080E5D20:
- movs r0, 0x10
- ands r2, r0
- cmp r2, 0
- bne _080E5D2C
- movs r0, 0
- b _080E5D2E
-_080E5D2C:
- movs r0, 0x4
-_080E5D2E:
- pop {r1}
- bx r1
- thumb_func_end sub_80E5CF4
-
- thumb_func_start sub_80E5D34
-sub_80E5D34: @ 80E5D34
- push {r4-r6,lr}
- sub sp, 0x8
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r0, _080E5D98
- ldrb r0, [r0, 0x5]
- lsls r4, r0, 3
- adds r4, r0
- lsls r4, 2
- ldr r0, _080E5D9C
- adds r4, r0
- ldrh r1, [r4, 0x10]
- add r0, sp, 0x4
- strh r1, [r0]
- ldrh r0, [r4, 0x12]
- mov r5, sp
- adds r5, 0x6
- strh r0, [r5]
- adds r0, r6, 0
- add r1, sp, 0x4
- adds r2, r5, 0
- bl MoveCoords
- add r0, sp, 0x4
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- add r1, sp, 0x4
- movs r3, 0
- ldrsh r1, [r1, r3]
- movs r3, 0
- ldrsh r2, [r5, r3]
- str r0, [sp]
- adds r0, r4, 0
- adds r3, r6, 0
- bl sub_80E5DA0
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x8
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080E5D98: .4byte gPlayerAvatar
-_080E5D9C: .4byte gMapObjects
- thumb_func_end sub_80E5D34
-
- thumb_func_start sub_80E5DA0
-sub_80E5DA0: @ 80E5DA0
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r4, [sp, 0x10]
- lsls r3, 24
- lsrs r3, 24
- lsls r4, 24
- lsrs r4, 24
- adds r5, r4, 0
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- str r5, [sp]
- bl CheckForFieldObjectCollision
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bhi _080E5DE0
- cmp r4, 0
- bne _080E5DDC
- adds r0, r5, 0
- bl IsRunningDisallowedByMetatile
- lsls r0, 24
- cmp r0, 0
- beq _080E5DD8
- movs r4, 0x2
-_080E5DD8:
- cmp r4, 0
- beq _080E5DE0
-_080E5DDC:
- bl sub_80E5E4C
-_080E5DE0:
- adds r0, r4, 0
- add sp, 0x4
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80E5DA0
-
- thumb_func_start sub_80E5DEC
-sub_80E5DEC: @ 80E5DEC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl IsRunningDisallowedByMetatile
- lsls r0, 24
- cmp r0, 0
- bne _080E5E04
- ldr r0, _080E5E08
- ldrb r0, [r0, 0x17]
- cmp r0, 0x8
- bne _080E5E0C
-_080E5E04:
- movs r0, 0x1
- b _080E5E0E
- .align 2, 0
-_080E5E08: .4byte gMapHeader
-_080E5E0C:
- movs r0, 0
-_080E5E0E:
- pop {r1}
- bx r1
- thumb_func_end sub_80E5DEC
-
- thumb_func_start IsRunningDisallowedByMetatile
-IsRunningDisallowedByMetatile: @ 80E5E14
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl MetatileBehavior_IsRunningDisallowed
- lsls r0, 24
- cmp r0, 0
- bne _080E5E3E
- adds r0, r4, 0
- bl MetatileBehavior_IsFortreeBridge
- lsls r0, 24
- cmp r0, 0
- beq _080E5E42
- bl PlayerGetZCoord
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- bne _080E5E42
-_080E5E3E:
- movs r0, 0x1
- b _080E5E44
-_080E5E42:
- movs r0, 0
-_080E5E44:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end IsRunningDisallowedByMetatile
-
- thumb_func_start sub_80E5E4C
-sub_80E5E4C: @ 80E5E4C
- push {lr}
- ldr r0, _080E5E68
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E5E62
- ldr r1, _080E5E6C
- ldrb r0, [r1]
- cmp r0, 0x63
- bhi _080E5E62
- adds r0, 0x1
- strb r0, [r1]
-_080E5E62:
- pop {r0}
- bx r0
- .align 2, 0
-_080E5E68: .4byte gUnknown_02039250
-_080E5E6C: .4byte gUnknown_02039251
- thumb_func_end sub_80E5E4C
-
- thumb_func_start sub_80E5E70
-sub_80E5E70: @ 80E5E70
- push {r4,r5,lr}
- lsls r0, 24
- lsls r1, 24
- lsrs r4, r1, 24
- adds r5, r4, 0
- movs r1, 0xFD
- lsls r1, 24
- adds r0, r1
- lsrs r0, 24
- cmp r0, 0x1
- bhi _080E5E9A
- adds r0, r4, 0
- bl MetatileBehavior_IsIsolatedVerticalRail
- lsls r0, 24
- cmp r0, 0
- bne _080E5EB2
- adds r0, r4, 0
- bl MetatileBehavior_IsVerticalRail
- b _080E5EAC
-_080E5E9A:
- adds r0, r5, 0
- bl MetatileBehavior_IsIsolatedHorizontalRail
- lsls r0, 24
- cmp r0, 0
- bne _080E5EB2
- adds r0, r5, 0
- bl MetatileBehavior_IsHorizontalRail
-_080E5EAC:
- lsls r0, 24
- cmp r0, 0
- beq _080E5EB6
-_080E5EB2:
- movs r0, 0
- b _080E5EB8
-_080E5EB6:
- movs r0, 0x1
-_080E5EB8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80E5E70
-
- thumb_func_start sub_80E5EC0
-sub_80E5EC0: @ 80E5EC0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 24
- movs r3, 0xFF
- lsls r3, 24
- adds r1, r3
- lsrs r1, 24
- cmp r1, 0x1
- bhi _080E5EE0
- cmp r0, 0xA
- beq _080E5EE8
- cmp r0, 0xC
- bne _080E5EEC
- b _080E5EE8
-_080E5EE0:
- cmp r2, 0xB
- beq _080E5EE8
- cmp r2, 0xD
- bne _080E5EEC
-_080E5EE8:
- movs r0, 0
- b _080E5EEE
-_080E5EEC:
- movs r0, 0x1
-_080E5EEE:
- pop {r1}
- bx r1
- thumb_func_end sub_80E5EC0
-
- thumb_func_start sub_80E5EF4
-sub_80E5EF4: @ 80E5EF4
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080E5F30
- ldrb r1, [r0]
- movs r0, 0x18
- ands r0, r1
- cmp r0, 0
- bne _080E5F34
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl IsRunningDisallowedByMetatile
- lsls r0, 24
- cmp r0, 0
- bne _080E5F34
- movs r0, 0
- b _080E5F36
- .align 2, 0
-_080E5F30: .4byte gPlayerAvatar
-_080E5F34:
- movs r0, 0x1
-_080E5F36:
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80E5EF4
-
- thumb_func_start player_should_look_direction_be_enforced_upon_movement
-player_should_look_direction_be_enforced_upon_movement: @ 80E5F40
- push {lr}
- movs r0, 0x4
- bl TestPlayerAvatarFlags
- lsls r0, 24
- cmp r0, 0
- beq _080E5F74
- ldr r2, _080E5F6C
- ldr r0, _080E5F70
- ldrb r1, [r0, 0x5]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1E]
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- cmp r0, 0
- beq _080E5F74
- movs r0, 0
- b _080E5F76
- .align 2, 0
-_080E5F6C: .4byte gMapObjects
-_080E5F70: .4byte gPlayerAvatar
-_080E5F74:
- movs r0, 0x1
-_080E5F76:
- pop {r1}
- bx r1
- thumb_func_end player_should_look_direction_be_enforced_upon_movement
-
- thumb_func_start GetOnOffBike
-GetOnOffBike: @ 80E5F7C
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080E5FA4
- movs r0, 0
- strb r0, [r1]
- ldr r0, _080E5FA8
- ldrb r1, [r0]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- beq _080E5FAC
- movs r0, 0x1
- bl SetPlayerAvatarTransitionFlags
- bl sav1_reset_battle_music_maybe
- bl sub_8053E90
- b _080E5FC0
- .align 2, 0
-_080E5FA4: .4byte gUnknown_0202E854
-_080E5FA8: .4byte gPlayerAvatar
-_080E5FAC:
- adds r0, r2, 0
- bl SetPlayerAvatarTransitionFlags
- ldr r4, _080E5FC8
- adds r0, r4, 0
- bl sav1_set_battle_music_maybe
- adds r0, r4, 0
- bl sub_8053FB0
-_080E5FC0:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E5FC8: .4byte 0x00000193
- thumb_func_end GetOnOffBike
-
- thumb_func_start sub_80E5FCC
-sub_80E5FCC: @ 80E5FCC
- push {lr}
- ldr r2, _080E6008
- movs r3, 0
- strb r3, [r2, 0x8]
- strb r3, [r2, 0x9]
- strb r3, [r2, 0xA]
- strb r3, [r2, 0xB]
- str r0, [r2, 0xC]
- str r1, [r2, 0x10]
- movs r1, 0
- adds r2, 0x14
-_080E5FE2:
- adds r0, r1, r2
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _080E5FE2
- movs r1, 0
- ldr r3, _080E600C
- movs r2, 0
-_080E5FF6:
- adds r0, r1, r3
- strb r2, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x7
- bls _080E5FF6
- pop {r0}
- bx r0
- .align 2, 0
-_080E6008: .4byte gPlayerAvatar
-_080E600C: .4byte gUnknown_0202E874
- thumb_func_end sub_80E5FCC
-
- thumb_func_start sub_80E6010
-sub_80E6010: @ 80E6010
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E6020
- strb r0, [r2, 0xA]
- lsrs r1, r0, 1
- adds r0, r1
- strb r0, [r2, 0xB]
- bx lr
- .align 2, 0
-_080E6020: .4byte gPlayerAvatar
- thumb_func_end sub_80E6010
-
- thumb_func_start sub_80E6024
-sub_80E6024: @ 80E6024
- ldr r1, _080E6030
- movs r0, 0
- strb r0, [r1, 0xA]
- strb r0, [r1, 0xB]
- bx lr
- .align 2, 0
-_080E6030: .4byte gPlayerAvatar
- thumb_func_end sub_80E6024
-
- thumb_func_start sub_80E6034
-sub_80E6034: @ 80E6034
- push {lr}
- sub sp, 0x8
- ldr r1, _080E605C
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- ldr r2, _080E6060
- ldrb r1, [r2]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E6064
- ldrb r0, [r2, 0xA]
- lsls r0, 1
- add r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- b _080E607E
- .align 2, 0
-_080E605C: .4byte gUnknown_083DB600
-_080E6060: .4byte gPlayerAvatar
-_080E6064:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080E6070
- movs r0, 0x3
- b _080E607E
-_080E6070:
- movs r0, 0x88
- ands r0, r1
- cmp r0, 0
- bne _080E607C
- movs r0, 0x1
- b _080E607E
-_080E607C:
- movs r0, 0x2
-_080E607E:
- add sp, 0x8
- pop {r1}
- bx r1
- thumb_func_end sub_80E6034
-
- thumb_func_start sub_80E6084
-sub_80E6084: @ 80E6084
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _080E60D4
- ldrb r1, [r5]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080E60CC
- mov r4, sp
- adds r4, 0x2
- mov r0, sp
- adds r1, r4, 0
- bl PlayerGetDestCoords
- mov r0, sp
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r2, 0
- ldrsh r1, [r4, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl MetatileBehavior_IsBumpySlope
- lsls r0, 24
- cmp r0, 0
- beq _080E60CC
- movs r0, 0x2
- strb r0, [r5, 0x8]
- bl player_get_direction_upper_nybble
- lsls r0, 24
- lsrs r0, 24
- bl sub_8059C94
-_080E60CC:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E60D4: .4byte gPlayerAvatar
- thumb_func_end sub_80E6084
-
- thumb_func_start sub_80E60D8
-sub_80E60D8: @ 80E60D8
- push {r4-r7,lr}
- movs r4, 0x3
- ldr r0, _080E60F4
- ldrh r1, [r0]
- adds r7, r0, 0
- cmp r1, 0xD
- bls _080E60E8
- b _080E6284
-_080E60E8:
- lsls r0, r1, 2
- ldr r1, _080E60F8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E60F4: .4byte gUnknown_0202E8CC
-_080E60F8: .4byte _080E60FC
- .align 2, 0
-_080E60FC:
- .4byte _080E6134
- .4byte _080E613C
- .4byte _080E6144
- .4byte _080E614C
- .4byte _080E6154
- .4byte _080E619C
- .4byte _080E616C
- .4byte _080E61BC
- .4byte _080E61E0
- .4byte _080E61FC
- .4byte _080E6200
- .4byte _080E6214
- .4byte _080E623C
- .4byte _080E6260
-_080E6134:
- ldr r1, _080E6138
- b _080E624C
- .align 2, 0
-_080E6138: .4byte gSaveBlock1 + 0x2B1C
-_080E613C:
- ldr r1, _080E6140
- b _080E6276
- .align 2, 0
-_080E6140: .4byte gSaveBlock1 + 0x2B28
-_080E6144:
- ldr r1, _080E6148
- b _080E624C
- .align 2, 0
-_080E6148: .4byte gSaveBlock1 + 0x2B34
-_080E614C:
- ldr r1, _080E6150
- b _080E6276
- .align 2, 0
-_080E6150: .4byte gSaveBlock1 + 0x2B40
-_080E6154:
- ldr r0, _080E6164
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E6168
- adds r1, r0, r1
- b _080E624C
- .align 2, 0
-_080E6164: .4byte gUnknown_0202E8CE
-_080E6168: .4byte gSaveBlock1 + 0x2B4C
-_080E616C:
- ldr r0, _080E6194
- movs r2, 0
- ldr r1, _080E6198
- mov r12, r1
- adds r3, r0, 0
- adds r3, 0xE
- adds r5, r0, 0x2
- adds r6, r3, 0
-_080E617C:
- lsls r0, r2, 1
- adds r1, r3, r0
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _080E617C
- adds r1, r6, 0
- b _080E627A
- .align 2, 0
-_080E6194: .4byte gSaveBlock1 + 0x2D94
-_080E6198: .4byte sub_80546B8
-_080E619C:
- ldr r0, _080E61B0
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E61B4
- adds r1, r0, r1
- ldr r0, _080E61B8
- ldrb r4, [r0]
- b _080E6276
- .align 2, 0
-_080E61B0: .4byte gUnknown_0202E8CE
-_080E61B4: .4byte gSaveBlock1 + 0x273C
-_080E61B8: .4byte gUnknown_0202E8D0
-_080E61BC:
- ldr r0, _080E61D4
- ldrh r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080E61D8
- adds r1, r0
- ldr r0, _080E61DC
- ldrh r0, [r0]
- lsls r0, 1
- adds r1, r0
- b _080E624A
- .align 2, 0
-_080E61D4: .4byte gUnknown_0202E8CE
-_080E61D8: .4byte gSaveBlock1 + 0x2754
-_080E61DC: .4byte gUnknown_0202E8D0
-_080E61E0:
- ldr r0, _080E61F4
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E61F8
- adds r1, r0, r1
- movs r4, 0
- b _080E6276
- .align 2, 0
-_080E61F4: .4byte gUnknown_0202E8CE
-_080E61F8: .4byte gSaveBlock1 + 0x273A
-_080E61FC:
- movs r1, 0
- b _080E624C
-_080E6200:
- ldr r1, _080E620C
- ldr r2, _080E6210
- adds r0, r2, 0
- strh r0, [r1]
- b _080E624A
- .align 2, 0
-_080E620C: .4byte gSaveBlock1 + 0x2B16
-_080E6210: .4byte 0x0000ffff
-_080E6214:
- ldr r0, _080E6230
- ldrh r0, [r0]
- lsls r1, r0, 3
- adds r1, r0
- lsls r1, 2
- ldr r0, _080E6234
- adds r1, r0
- ldr r0, _080E6238
- ldrh r0, [r0]
- lsls r0, 1
- adds r1, r0
- movs r4, 0
- b _080E6276
- .align 2, 0
-_080E6230: .4byte gUnknown_0202E8CE
-_080E6234: .4byte gSaveBlock1 + 0x273C
-_080E6238: .4byte gUnknown_0202E8D0
-_080E623C:
- ldr r0, _080E6254
- ldrh r1, [r0]
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E6258
- adds r1, r0, r1
-_080E624A:
- movs r4, 0x1
-_080E624C:
- ldr r0, _080E625C
- mov r12, r0
- b _080E627A
- .align 2, 0
-_080E6254: .4byte gUnknown_0202E8CE
-_080E6258: .4byte gSaveBlock1 + 0x2750
-_080E625C: .4byte sub_80546B8
-_080E6260:
- ldr r1, _080E628C
- ldr r0, _080E6290
- adds r2, r1, r0
- ldr r0, _080E6294
- strh r0, [r2]
- ldr r0, _080E6298
- adds r1, r0
- movs r0, 0x1
- negs r0, r0
- strh r0, [r1]
- adds r1, r2, 0
-_080E6276:
- ldr r2, _080E629C
- mov r12, r2
-_080E627A:
- ldrb r0, [r7]
- mov r2, r12
- adds r3, r4, 0
- bl sub_80E62A0
-_080E6284:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E628C: .4byte 0x02001000
-_080E6290: .4byte 0x00009c7c
-_080E6294: .4byte 0x0000ffff
-_080E6298: .4byte 0x00009c7e
-_080E629C: .4byte sub_80546B8
- thumb_func_end sub_80E60D8
-
- thumb_func_start sub_80E62A0
-sub_80E62A0: @ 80E62A0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _080E62DC
- str r2, [r4]
- str r1, [r4, 0x4]
- strb r0, [r4, 0x8]
- strb r3, [r4, 0xB]
- cmp r0, 0x9
- bne _080E62D0
- ldr r0, _080E62E0
- adds r2, r4, r0
- str r2, [r4, 0x4]
- ldr r0, _080E62E4
- ldr r3, _080E62E8
- adds r1, r0, r3
- ldrh r1, [r1]
- strh r1, [r2]
- ldr r1, _080E62EC
- adds r0, r1
- ldrh r1, [r0]
- ldr r2, _080E62F0
- adds r0, r4, r2
- strh r1, [r0]
-_080E62D0:
- ldr r0, _080E62F4
- bl SetMainCallback2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E62DC: .4byte 0x02001000
-_080E62E0: .4byte 0x00009c7c
-_080E62E4: .4byte gSaveBlock1
-_080E62E8: .4byte 0x00002dd8
-_080E62EC: .4byte 0x00002dda
-_080E62F0: .4byte 0x00009c7e
-_080E62F4: .4byte sub_80E62F8
- thumb_func_end sub_80E62A0
-
- thumb_func_start sub_80E62F8
-sub_80E62F8: @ 80E62F8
- push {lr}
- sub sp, 0x4
- ldr r0, _080E6314
- ldr r1, _080E6318
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x8
- bhi _080E6344
- lsls r0, 2
- ldr r1, _080E631C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E6314: .4byte gMain
-_080E6318: .4byte 0x0000043c
-_080E631C: .4byte _080E6320
- .align 2, 0
-_080E6320:
- .4byte _080E6344
- .4byte _080E6380
- .4byte _080E638C
- .4byte _080E63A8
- .4byte _080E63AE
- .4byte _080E63B4
- .4byte _080E63BE
- .4byte _080E63D8
- .4byte _080E63EA
-_080E6344:
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- movs r0, 0
- bl SetVBlankCallback
- bl ResetPaletteFade
- bl ResetSpriteData
- bl dp12_8087EA4
- bl remove_some_task
- bl sub_80EAD08
- ldr r2, _080E637C
- ldr r0, [r2]
- ldr r1, [r2, 0x4]
- ldr r2, [r2, 0x8]
- bl sub_80895F8
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- b _080E6402
- .align 2, 0
-_080E637C: .4byte gUnknown_083DB698
-_080E6380:
- ldr r0, _080E6388
- bl SetUpWindowConfig
- b _080E6402
- .align 2, 0
-_080E6388: .4byte gWindowConfig_81E6DA8
-_080E638C:
- ldr r0, _080E63A0
- bl InitMenuWindow
- ldr r0, _080E63A4
- bl InitMenuWindow
- bl MenuZeroFillScreen
- b _080E6402
- .align 2, 0
-_080E63A0: .4byte gWindowConfig_81E6D54
-_080E63A4: .4byte gWindowConfig_81E6DA8
-_080E63A8:
- bl sub_80E6424
- b _080E6402
-_080E63AE:
- bl sub_80E8DD8
- b _080E6402
-_080E63B4:
- bl sub_80E8218
- bl sub_80E8CEC
- b _080E6402
-_080E63BE:
- bl sub_80E69F8
- ldr r0, _080E63D0
- bl sub_80E682C
- ldr r0, _080E63D4
- bl SetVBlankCallback
- b _080E6402
- .align 2, 0
-_080E63D0: .4byte sub_80E6AA8
-_080E63D4: .4byte sub_80E6A6C
-_080E63D8:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- b _080E6402
-_080E63EA:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080E6414
- bl SetMainCallback2
- ldr r0, _080E6418
- bl FlagSet
-_080E6402:
- ldr r1, _080E641C
- ldr r0, _080E6420
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080E6414: .4byte sub_80E6A88
-_080E6418: .4byte 0x00000805
-_080E641C: .4byte gMain
-_080E6420: .4byte 0x0000043c
- thumb_func_end sub_80E62F8
-
- thumb_func_start sub_80E6424
-sub_80E6424: @ 80E6424
- push {lr}
- ldr r2, _080E6444
- ldr r0, _080E6448
- ldrb r1, [r2, 0x8]
- adds r1, r0
- ldrb r0, [r1]
- strb r0, [r2, 0x9]
- ldrb r0, [r2, 0x9]
- adds r3, r2, 0
- cmp r0, 0x5
- bhi _080E6512
- lsls r0, 2
- ldr r1, _080E644C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E6444: .4byte 0x02001000
-_080E6448: .4byte gUnknown_083DB6A4
-_080E644C: .4byte _080E6450
- .align 2, 0
-_080E6450:
- .4byte _080E64A0
- .4byte _080E64B8
- .4byte _080E64DA
- .4byte _080E64F6
- .4byte _080E6468
- .4byte _080E6480
-_080E6468:
- movs r2, 0x4
- strb r2, [r3, 0xA]
- adds r0, r3, 0
- adds r0, 0x83
- movs r1, 0x2
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r3, 0
- adds r1, 0x88
- movs r0, 0x5
- b _080E64D0
-_080E6480:
- movs r1, 0x4
- strb r1, [r3, 0xA]
- adds r2, r3, 0
- adds r2, 0x83
- movs r0, 0x1
- strb r0, [r2]
- adds r0, r3, 0
- adds r0, 0x84
- strb r1, [r0]
- adds r1, r3, 0
- adds r1, 0x88
- movs r0, 0x10
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x2
- b _080E6510
-_080E64A0:
- movs r0, 0x6
- strb r0, [r3, 0xA]
- adds r1, r3, 0
- adds r1, 0x83
- movs r0, 0x2
- strb r0, [r1]
- adds r0, r3, 0
- adds r0, 0x84
- movs r2, 0x3
- strb r2, [r0]
- adds r1, 0x5
- b _080E64CE
-_080E64B8:
- movs r2, 0
- movs r0, 0x9
- strb r0, [r3, 0xA]
- adds r1, r3, 0
- adds r1, 0x83
- movs r0, 0x2
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x5
- strb r0, [r1]
- adds r1, 0x4
-_080E64CE:
- movs r0, 0x4
-_080E64D0:
- strh r0, [r1]
- adds r0, r3, 0
- adds r0, 0x8A
- strh r2, [r0]
- b _080E6512
-_080E64DA:
- movs r1, 0x1
- strb r1, [r3, 0xA]
- adds r0, r3, 0
- adds r0, 0x83
- strb r1, [r0]
- adds r0, 0x1
- strb r1, [r0]
- adds r1, r3, 0
- adds r1, 0x88
- movs r0, 0x10
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x4
- b _080E6510
-_080E64F6:
- movs r0, 0x2
- strb r0, [r3, 0xA]
- adds r1, r3, 0
- adds r1, 0x83
- strb r0, [r1]
- adds r1, 0x1
- movs r0, 0x1
- strb r0, [r1]
- adds r1, 0x4
- movs r0, 0x5
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x3
-_080E6510:
- strh r0, [r1]
-_080E6512:
- adds r1, r3, 0
- adds r1, 0x86
- movs r0, 0
- strb r0, [r1]
- subs r1, 0x1
- strb r0, [r1]
- adds r1, 0x2
- strb r0, [r1]
- subs r1, 0x61
- strb r0, [r1]
- movs r2, 0xDD
- lsls r2, 1
- adds r1, r3, r2
- strh r0, [r1]
- movs r0, 0xDF
- lsls r0, 1
- adds r1, r3, r0
- movs r0, 0x2
- strb r0, [r1]
- bl sub_80E6554
- bl sub_80EAECC
- bl sub_80EB040
- bl sub_80E7E50
- bl sub_80E6630
- bl sub_80E6690
- pop {r0}
- bx r0
- thumb_func_end sub_80E6424
-
- thumb_func_start sub_80E6554
-sub_80E6554: @ 80E6554
- push {r4-r7,lr}
- sub sp, 0x4
- movs r4, 0
- movs r7, 0
- ldr r0, _080E6564
- mov r12, r0
- b _080E656E
- .align 2, 0
-_080E6564: .4byte 0x02001000
-_080E6568:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
-_080E656E:
- movs r5, 0
- lsls r3, r7, 1
- mov r6, r12
- adds r6, 0x2A
- adds r2, r3, r6
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- strb r1, [r2]
- cmp r4, 0x11
- beq _080E65A6
-_080E6586:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bhi _080E65A2
- adds r2, r5, r3
- adds r2, r6
- adds r1, r4, 0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- strb r1, [r2]
- cmp r4, 0x11
- bne _080E6586
-_080E65A2:
- cmp r4, 0x11
- bne _080E6568
-_080E65A6:
- movs r0, 0x11
- mov r1, r12
- strh r0, [r1, 0x28]
- cmp r4, 0x15
- bhi _080E6612
- mov r6, r12
- adds r2, r6, 0
- adds r2, 0x78
-_080E65B6:
- lsls r0, r4, 24
- lsrs r0, 24
- str r2, [sp]
- bl sub_80EAD7C
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r2, [sp]
- cmp r1, 0
- beq _080E65FC
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080E65DC
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- movs r5, 0
-_080E65DC:
- lsls r0, r7, 1
- adds r0, r5, r0
- adds r1, r6, 0
- adds r1, 0x2A
- adds r0, r1
- strb r4, [r0]
- adds r0, r4, 0
- subs r0, 0x11
- adds r0, r2
- movs r1, 0x1
- strb r1, [r0]
- ldrh r0, [r6, 0x28]
- adds r0, 0x1
- strh r0, [r6, 0x28]
- mov r12, r6
- b _080E6608
-_080E65FC:
- adds r0, r4, 0
- subs r0, 0x11
- adds r0, r2
- strb r1, [r0]
- ldr r0, _080E662C
- mov r12, r0
-_080E6608:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x15
- bls _080E65B6
-_080E6612:
- mov r1, r12
- ldrh r0, [r1, 0x28]
- adds r0, 0x1
- asrs r0, 1
- movs r1, 0xDB
- lsls r1, 1
- add r1, r12
- strb r0, [r1]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E662C: .4byte 0x02001000
- thumb_func_end sub_80E6554
-
- thumb_func_start sub_80E6630
-sub_80E6630: @ 80E6630
- push {r4-r7,lr}
- movs r1, 0
- ldr r0, _080E6664
- mov r12, r0
-_080E6638:
- lsls r0, r1, 4
- mov r2, r12
- adds r5, r0, r2
- movs r3, 0
- ldrb r0, [r5]
- adds r7, r1, 0x1
- cmp r0, 0xFF
- beq _080E6680
- lsls r0, r1, 3
- subs r0, r1
- lsls r4, r0, 1
- ldr r6, _080E6668
-_080E6650:
- adds r0, r5, r3
- ldrb r1, [r0]
- adds r2, r1, 0
- cmp r2, 0
- beq _080E666C
- adds r0, r3, r4
- adds r0, r6
- adds r1, 0x46
- strb r1, [r0]
- b _080E6672
- .align 2, 0
-_080E6664: .4byte gUnknown_083DB6B2
-_080E6668: .4byte 0x02001040
-_080E666C:
- adds r0, r3, r4
- adds r0, r6
- strb r2, [r0]
-_080E6672:
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- adds r0, r5, r3
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080E6650
-_080E6680:
- lsls r0, r7, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bls _080E6638
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80E6630
-
- thumb_func_start sub_80E6690
-sub_80E6690: @ 80E6690
- push {r4-r6,lr}
- sub sp, 0x10
- mov r0, sp
- ldr r1, _080E66E0
- ldm r1!, {r2-r4}
- stm r0!, {r2-r4}
- ldr r1, [r1]
- str r1, [r0]
- movs r5, 0
- ldr r6, _080E66E4
-_080E66A4:
- ldr r0, _080E66E8
- ldrb r0, [r0, 0x8]
- lsls r0, 1
- adds r0, r5, r0
- adds r0, r6
- ldrb r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E66EC
- adds r4, r0, r1
- lsls r0, r5, 3
- add r0, sp
- ldr r0, [r0]
- ldr r1, [r4]
- bl StringCopy
- adds r3, r0, 0
- ldrb r0, [r4, 0x8]
- cmp r0, 0
- beq _080E66F0
- lsls r0, r5, 1
- adds r0, 0x1
- lsls r0, 2
- add r0, sp
- ldr r0, [r0]
- ldr r1, [r4, 0x4]
- bl StringCopy
- b _080E670A
- .align 2, 0
-_080E66E0: .4byte gUnknown_083DB7DC
-_080E66E4: .4byte gUnknown_083DB7C0
-_080E66E8: .4byte 0x02001000
-_080E66EC: .4byte gUnknown_083DB6F4
-_080E66F0:
- strb r0, [r3]
- adds r3, 0x1
- ldr r1, [r4, 0x4]
- adds r0, r3, 0
- bl StringCopy
- lsls r0, r5, 1
- adds r0, 0x1
- lsls r0, 2
- add r0, sp
- ldr r1, [r0]
- movs r0, 0xFF
- strb r0, [r1]
-_080E670A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080E66A4
- movs r5, 0
- ldr r3, _080E6758
- ldr r0, _080E675C
- adds r2, r3, r0
- movs r1, 0
-_080E671E:
- adds r0, r5, r2
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x23
- bls _080E671E
- ldr r1, _080E675C
- adds r0, r3, r1
- adds r0, r5, r0
- movs r4, 0x1
- negs r4, r4
- adds r2, r4, 0
- movs r1, 0xFF
- strb r1, [r0]
- ldr r0, _080E6760
- adds r3, r0
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x11
- strb r0, [r3, 0x1]
- movs r0, 0xE0
- strb r0, [r3, 0x2]
- strb r2, [r3, 0x3]
- add sp, 0x10
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6758: .4byte 0x02001000
-_080E675C: .4byte 0x00009da4
-_080E6760: .4byte 0x00009f6e
- thumb_func_end sub_80E6690
-
- thumb_func_start sub_80E6764
-sub_80E6764: @ 80E6764
- push {r4-r6,lr}
- movs r3, 0
- ldr r4, _080E680C
- ldr r2, _080E6810
-_080E676C:
- lsls r0, r3, 1
- adds r1, r0, r4
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080E676C
- movs r3, 0
- ldr r4, _080E6814
- ldr r2, _080E6818
-_080E6786:
- lsls r0, r3, 1
- adds r1, r0, r4
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _080E6786
- movs r3, 0
- ldr r5, _080E681C
- ldr r0, _080E6820
- adds r4, r0, 0
- adds r6, r5, 0
- adds r6, 0xC
-_080E67A6:
- lsls r1, r3, 1
- adds r2, r1, r5
- ldrh r0, [r2]
- orrs r0, r4
- strh r0, [r2]
- adds r1, r6
- ldrh r0, [r1]
- orrs r0, r4
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x5
- bls _080E67A6
- movs r3, 0
- ldr r6, _080E6824
- ldr r0, _080E6820
- adds r5, r0, 0
-_080E67CA:
- movs r2, 0
- lsls r0, r3, 3
- adds r0, r3
- lsls r4, r0, 2
-_080E67D2:
- lsls r0, r2, 1
- adds r0, r4
- adds r0, r6
- ldrh r1, [r0]
- orrs r1, r5
- strh r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x8
- bls _080E67D2
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0xF
- bls _080E67CA
- movs r3, 0
- ldr r2, _080E6828
- movs r1, 0
-_080E67F8:
- adds r0, r3, r2
- strb r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3F
- bls _080E67F8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E680C: .4byte gSaveBlock1 + 0x2B1C
-_080E6810: .4byte gUnknown_083DB7EC
-_080E6814: .4byte gSaveBlock1 + 0x2B28
-_080E6818: .4byte gUnknown_083DB7F4
-_080E681C: .4byte gSaveBlock1 + 0x2B34
-_080E6820: .4byte 0x0000ffff
-_080E6824: .4byte gSaveBlock1 + 0x2B4C
-_080E6828: .4byte gSaveBlock1 + 0x2D8C
- thumb_func_end sub_80E6764
-
- thumb_func_start sub_80E682C
-sub_80E682C: @ 80E682C
- ldr r1, _080E6838
- str r0, [r1, 0x20]
- movs r0, 0
- strh r0, [r1, 0x24]
- bx lr
- .align 2, 0
-_080E6838: .4byte 0x02001000
- thumb_func_end sub_80E682C
-
- thumb_func_start sub_80E683C
-sub_80E683C: @ 80E683C
- push {r4,r5,lr}
- ldr r1, _080E6890
- adds r0, r1, 0
- adds r0, 0x26
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0
- bne _080E6898
- movs r1, 0
- movs r0, 0xDB
- lsls r0, 1
- adds r3, r2, r0
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r1, r0
- bge _080E6876
- movs r0, 0xD5
- lsls r0, 1
- adds r5, r2, r0
- movs r4, 0x2
-_080E6864:
- adds r0, r1, r5
- strb r4, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r1, r0
- blt _080E6864
-_080E6876:
- adds r0, r2, r1
- ldr r1, _080E6894
- adds r3, r0, r1
- ldrh r0, [r2, 0x28]
- movs r1, 0x1
- ands r0, r1
- strb r0, [r3]
- cmp r0, 0
- bne _080E68B8
- movs r0, 0x2
- strb r0, [r3]
- b _080E68B8
- .align 2, 0
-_080E6890: .4byte 0x02001000
-_080E6894: .4byte 0x000001a9
-_080E6898:
- movs r3, 0xD5
- lsls r3, 1
- adds r1, r2, r3
- movs r0, 0x7
- strb r0, [r1]
- ldr r1, _080E68E0
- adds r3, r2, r1
- movs r1, 0x6
- strb r1, [r3]
- movs r3, 0xD6
- lsls r3, 1
- adds r1, r2, r3
- strb r0, [r1]
- adds r3, 0x1
- adds r1, r2, r3
- strb r0, [r1]
-_080E68B8:
- movs r0, 0xD4
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- ldr r3, _080E68E4
- adds r1, r2, r3
- strb r0, [r1]
- adds r3, 0xC
- adds r1, r2, r3
- strb r0, [r1]
- adds r3, 0x2
- adds r1, r2, r3
- strb r0, [r1]
- bl sub_80E9A4C
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E68E0: .4byte 0x000001ab
-_080E68E4: .4byte 0x000001a9
- thumb_func_end sub_80E683C
-
- thumb_func_start sub_80E68E8
-sub_80E68E8: @ 80E68E8
- push {r4-r6,lr}
- bl sub_80EB0B0
- ldr r3, _080E694C
- adds r0, r3, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E695C
- movs r1, 0xDC
- lsls r1, 1
- adds r0, r3, r1
- ldrb r6, [r0]
- lsls r0, r6, 1
- ldr r2, _080E6950
- adds r1, r3, r2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x1
- asrs r0, 1
- ldr r1, _080E6954
- adds r2, r3, r1
- strb r0, [r2]
- movs r1, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r5, r3, 0
- cmp r1, r0
- bge _080E693A
- ldr r3, _080E6958
- adds r4, r5, r3
- movs r3, 0x2
-_080E6928:
- adds r0, r1, r4
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r1, r0
- blt _080E6928
-_080E693A:
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, _080E6958
- adds r0, r5, r2
- adds r2, r1, r0
- lsls r0, r6, 1
- ldr r3, _080E6950
- b _080E69AC
- .align 2, 0
-_080E694C: .4byte 0x02001000
-_080E6950: .4byte 0x00004178
-_080E6954: .4byte 0x00009a28
-_080E6958: .4byte 0x000099a6
-_080E695C:
- movs r1, 0xDC
- lsls r1, 1
- adds r0, r3, r1
- ldrb r6, [r0]
- lsls r0, r6, 1
- ldr r2, _080E69E0
- adds r1, r3, r2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x1
- asrs r0, 1
- ldr r1, _080E69E4
- adds r2, r3, r1
- strb r0, [r2]
- movs r1, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- adds r5, r3, 0
- cmp r1, r0
- bge _080E699C
- ldr r3, _080E69E8
- adds r4, r5, r3
- movs r3, 0x2
-_080E698A:
- adds r0, r1, r4
- strb r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r1, r0
- blt _080E698A
-_080E699C:
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, _080E69E8
- adds r0, r5, r2
- adds r2, r1, r0
- lsls r0, r6, 1
- ldr r3, _080E69E0
-_080E69AC:
- adds r1, r5, r3
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x1
- ands r0, r1
- strb r0, [r2]
- cmp r0, 0
- bne _080E69C0
- movs r0, 0x2
- strb r0, [r2]
-_080E69C0:
- ldr r1, _080E69EC
- adds r0, r5, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080E69F0
- adds r0, r5, r2
- strb r1, [r0]
- ldr r3, _080E69F4
- adds r0, r5, r3
- strb r1, [r0]
- bl sub_80E9A4C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E69E0: .4byte 0x00004142
-_080E69E4: .4byte 0x00009a28
-_080E69E8: .4byte 0x000099a6
-_080E69EC: .4byte 0x000099a4
-_080E69F0: .4byte 0x000099a5
-_080E69F4: .4byte 0x00009a29
- thumb_func_end sub_80E68E8
-
- thumb_func_start sub_80E69F8
-sub_80E69F8: @ 80E69F8
- push {r4,lr}
- ldr r0, _080E6A10
- ldrb r1, [r0, 0x8]
- adds r4, r0, 0
- cmp r1, 0xD
- bhi _080E6A50
- lsls r0, r1, 2
- ldr r1, _080E6A14
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E6A10: .4byte 0x02001000
-_080E6A14: .4byte _080E6A18
- .align 2, 0
-_080E6A18:
- .4byte _080E6A50
- .4byte _080E6A50
- .4byte _080E6A50
- .4byte _080E6A50
- .4byte _080E6A50
- .4byte _080E6A58
- .4byte _080E6A50
- .4byte _080E6A58
- .4byte _080E6A58
- .4byte _080E6A50
- .4byte _080E6A58
- .4byte _080E6A58
- .4byte _080E6A58
- .4byte _080E6A50
-_080E6A50:
- ldrb r0, [r4, 0x8]
- bl sub_80E9368
- b _080E6A66
-_080E6A58:
- ldrb r0, [r4, 0x8]
- bl sub_80E9368
- ldrb r0, [r4, 0xB]
- ldrb r1, [r4, 0x9]
- bl sub_80E8BF4
-_080E6A66:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E69F8
-
- thumb_func_start sub_80E6A6C
-sub_80E6A6C: @ 80E6A6C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl sub_80EAC5C
- bl TransferPlttBuffer
- bl sub_8089668
- pop {r0}
- bx r0
- thumb_func_end sub_80E6A6C
-
- thumb_func_start sub_80E6A88
-sub_80E6A88: @ 80E6A88
- push {lr}
- ldr r0, _080E6AA4
- ldr r0, [r0, 0x20]
- bl _call_via_r0
- bl AnimateSprites
- bl BuildOamBuffer
- bl sub_80EAD08
- pop {r0}
- bx r0
- .align 2, 0
-_080E6AA4: .4byte 0x02001000
- thumb_func_end sub_80E6A88
-
- thumb_func_start sub_80E6AA8
-sub_80E6AA8: @ 80E6AA8
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080E6ABA
- ldr r0, _080E6AC0
- bl sub_80E682C
-_080E6ABA:
- pop {r0}
- bx r0
- .align 2, 0
-_080E6AC0: .4byte sub_80E6AC4
- thumb_func_end sub_80E6AA8
-
- thumb_func_start sub_80E6AC4
-sub_80E6AC4: @ 80E6AC4
- push {lr}
- bl sub_80E88F0
- movs r0, 0
- bl sub_80E8398
- movs r0, 0
- bl sub_80E91D4
- ldr r0, _080E6AE0
- bl sub_80E682C
- pop {r0}
- bx r0
- .align 2, 0
-_080E6AE0: .4byte sub_80E6AE4
- thumb_func_end sub_80E6AC4
-
- thumb_func_start sub_80E6AE4
-sub_80E6AE4: @ 80E6AE4
- push {r4,r5,lr}
- bl sub_80E75D8
- ldr r4, _080E6B44
- adds r1, r4, 0
- adds r1, 0x87
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- beq _080E6AFE
- movs r0, 0x5
- bl PlaySE
-_080E6AFE:
- ldr r2, _080E6B48
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- adds r5, r2, 0
- cmp r0, 0
- beq _080E6BA4
- movs r0, 0x5
- bl PlaySE
- adds r1, r4, 0
- adds r1, 0x86
- adds r0, r4, 0
- adds r0, 0x84
- ldrb r2, [r1]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080E6B78
- adds r0, r4, 0
- adds r0, 0x85
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080E6B60
- cmp r0, 0x1
- bgt _080E6B4C
- cmp r0, 0
- beq _080E6B52
- b _080E6BA4
- .align 2, 0
-_080E6B44: .4byte 0x02001000
-_080E6B48: .4byte gMain
-_080E6B4C:
- cmp r0, 0x2
- beq _080E6B6C
- b _080E6BA4
-_080E6B52:
- ldr r0, _080E6B5C
- bl sub_80E682C
- b _080E6BB4
- .align 2, 0
-_080E6B5C: .4byte sub_80E6BC0
-_080E6B60:
- ldr r0, _080E6B68
- bl sub_80E682C
- b _080E6BB4
- .align 2, 0
-_080E6B68: .4byte sub_80E6C84
-_080E6B6C:
- ldr r0, _080E6B74
- bl sub_80E682C
- b _080E6BB4
- .align 2, 0
-_080E6B74: .4byte sub_80E6D7C
-_080E6B78:
- adds r0, r4, 0
- adds r0, 0x83
- ldrb r0, [r0]
- adds r1, r4, 0
- adds r1, 0x85
- adds r3, r0, 0
- muls r3, r2
- adds r0, r3, 0
- ldrb r1, [r1]
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0x27
- strb r0, [r1]
- bl sub_80E7574
- ldr r0, _080E6BA0
- bl sub_80E682C
- b _080E6BB4
- .align 2, 0
-_080E6BA0: .4byte sub_80E6F68
-_080E6BA4:
- ldrh r1, [r5, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E6BB4
- ldr r0, _080E6BBC
- bl sub_80E682C
-_080E6BB4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6BBC: .4byte sub_80E6C84
- thumb_func_end sub_80E6AE4
-
- thumb_func_start sub_80E6BC0
-sub_80E6BC0: @ 80E6BC0
- push {r4,lr}
- ldr r4, _080E6BD4
- ldrh r0, [r4, 0x24]
- cmp r0, 0x1
- beq _080E6C12
- cmp r0, 0x1
- bgt _080E6BD8
- cmp r0, 0
- beq _080E6BE2
- b _080E6C76
- .align 2, 0
-_080E6BD4: .4byte 0x02001000
-_080E6BD8:
- cmp r0, 0x2
- beq _080E6C54
- cmp r0, 0x64
- beq _080E6C64
- b _080E6C76
-_080E6BE2:
- movs r0, 0x2
- bl sub_80E8398
- ldrb r0, [r4, 0x8]
- cmp r0, 0x6
- bne _080E6BFA
- movs r0, 0x6
- bl sub_80E91D4
- movs r0, 0x64
- strh r0, [r4, 0x24]
- b _080E6C76
-_080E6BFA:
- movs r0, 0x2
- bl sub_80E91D4
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- movs r0, 0x1
- bl MoveMenuCursor
- b _080E6C3E
-_080E6C12:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E6C32
- cmp r1, 0
- bgt _080E6C2C
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080E6C46
- b _080E6C76
-_080E6C2C:
- cmp r1, 0x1
- beq _080E6C46
- b _080E6C76
-_080E6C32:
- bl sub_80E7D6C
- bl sub_80E98C4
- bl sub_80E95A4
-_080E6C3E:
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E6C76
-_080E6C46:
- ldr r1, _080E6C50
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E6C76
- .align 2, 0
-_080E6C50: .4byte 0x02001000
-_080E6C54:
- bl sub_80E81FC
- ldr r0, _080E6C60
- bl sub_80E682C
- b _080E6C76
- .align 2, 0
-_080E6C60: .4byte sub_80E6AC4
-_080E6C64:
- ldr r0, _080E6C7C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080E6C76
- ldr r0, _080E6C80
- bl sub_80E682C
-_080E6C76:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6C7C: .4byte gMain
-_080E6C80: .4byte sub_80E6AC4
- thumb_func_end sub_80E6BC0
-
- thumb_func_start sub_80E6C84
-sub_80E6C84: @ 80E6C84
- push {r4,lr}
- ldr r4, _080E6C98
- ldrh r0, [r4, 0x24]
- cmp r0, 0x1
- beq _080E6CF4
- cmp r0, 0x1
- bgt _080E6C9C
- cmp r0, 0
- beq _080E6CA6
- b _080E6D72
- .align 2, 0
-_080E6C98: .4byte 0x02001000
-_080E6C9C:
- cmp r0, 0x2
- beq _080E6D24
- cmp r0, 0xFF
- beq _080E6D64
- b _080E6D72
-_080E6CA6:
- movs r0, 0x2
- bl sub_80E8398
- movs r0, 0x3
- bl sub_80E91D4
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0
- bl DisplayYesNoMenu
- movs r0, 0x1
- bl MoveMenuCursor
- ldrb r0, [r4, 0x8]
- cmp r0, 0x9
- beq _080E6CE8
- cmp r0, 0x4
- beq _080E6CE8
- cmp r0, 0x7
- beq _080E6CE8
- cmp r0, 0x8
- beq _080E6CE8
- cmp r0, 0xA
- beq _080E6CE8
- cmp r0, 0xB
- beq _080E6CE8
- cmp r0, 0xC
- beq _080E6CE8
- cmp r0, 0x5
- beq _080E6CE8
- cmp r0, 0xD
- bne _080E6D1C
-_080E6CE8:
- ldr r1, _080E6CF0
- movs r0, 0x2
- strh r0, [r1, 0x24]
- b _080E6D72
- .align 2, 0
-_080E6CF0: .4byte 0x02001000
-_080E6CF4:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E6D06
- cmp r1, 0
- ble _080E6D34
- b _080E6D3E
-_080E6D06:
- movs r0, 0x4
- bl sub_80E91D4
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0
- bl DisplayYesNoMenu
- movs r0, 0x1
- bl MoveMenuCursor
-_080E6D1C:
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E6D72
-_080E6D24:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080E6D44
- cmp r1, 0
- bgt _080E6D3E
-_080E6D34:
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080E6D58
- b _080E6D72
-_080E6D3E:
- cmp r1, 0x1
- beq _080E6D58
- b _080E6D72
-_080E6D44:
- ldr r0, _080E6D50
- strh r1, [r0]
- ldr r0, _080E6D54
- bl sub_80E682C
- b _080E6D72
- .align 2, 0
-_080E6D50: .4byte gScriptResult
-_080E6D54: .4byte sub_80E752C
-_080E6D58:
- ldr r1, _080E6D60
- movs r0, 0xFF
- strh r0, [r1, 0x24]
- b _080E6D72
- .align 2, 0
-_080E6D60: .4byte 0x02001000
-_080E6D64:
- bl sub_8072DEC
- bl sub_80E81FC
- ldr r0, _080E6D78
- bl sub_80E682C
-_080E6D72:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6D78: .4byte sub_80E6AC4
- thumb_func_end sub_80E6C84
-
- thumb_func_start sub_80E6D7C
-sub_80E6D7C: @ 80E6D7C
- push {r4-r7,lr}
- ldr r5, _080E6D98
- ldrh r0, [r5, 0x24]
- cmp r0, 0xA
- bne _080E6D88
- b _080E6F06
-_080E6D88:
- cmp r0, 0xA
- bgt _080E6D9C
- cmp r0, 0
- beq _080E6DB6
- cmp r0, 0x1
- beq _080E6E3C
- b _080E6F5E
- .align 2, 0
-_080E6D98: .4byte 0x02001000
-_080E6D9C:
- cmp r0, 0x65
- bne _080E6DA2
- b _080E6F30
-_080E6DA2:
- cmp r0, 0x65
- bgt _080E6DAE
- cmp r0, 0x64
- bne _080E6DAC
- b _080E6F24
-_080E6DAC:
- b _080E6F5E
-_080E6DAE:
- cmp r0, 0x66
- bne _080E6DB4
- b _080E6F50
-_080E6DB4:
- b _080E6F5E
-_080E6DB6:
- movs r0, 0x2
- bl sub_80E8398
- bl sub_80E8054
- lsls r0, 24
- cmp r0, 0
- beq _080E6DCA
- movs r0, 0x5
- b _080E6DEE
-_080E6DCA:
- ldrb r0, [r5, 0x8]
- cmp r0, 0x9
- bne _080E6DFC
- bl sub_80E7FA8
- lsls r0, 24
- cmp r0, 0
- bne _080E6DDE
- movs r0, 0x8
- b _080E6DEE
-_080E6DDE:
- ldrh r0, [r5, 0xC]
- ldr r1, _080E6DF8
- cmp r0, r1
- beq _080E6DEC
- ldrh r0, [r5, 0xE]
- cmp r0, r1
- bne _080E6DFC
-_080E6DEC:
- movs r0, 0x9
-_080E6DEE:
- bl sub_80E91D4
- movs r0, 0xA
- strh r0, [r5, 0x24]
- b _080E6F5E
- .align 2, 0
-_080E6DF8: .4byte 0x0000ffff
-_080E6DFC:
- ldr r0, _080E6E18
- ldrb r0, [r0, 0x8]
- cmp r0, 0x4
- bne _080E6E20
- bl sub_80E7FA8
- lsls r0, 24
- cmp r0, 0
- bne _080E6E20
- ldr r0, _080E6E1C
- bl sub_80E682C
- b _080E6F5E
- .align 2, 0
-_080E6E18: .4byte 0x02001000
-_080E6E1C: .4byte sub_80E6C84
-_080E6E20:
- movs r0, 0x1
- bl sub_80E91D4
- bl sub_80E9744
- movs r0, 0x17
- movs r1, 0x8
- movs r2, 0
- bl DisplayYesNoMenu
- movs r0, 0
- bl MoveMenuCursor
- b _080E6F3C
-_080E6E3C:
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r6, r0, 24
- cmp r6, 0
- beq _080E6E5C
- cmp r6, 0
- bgt _080E6E56
- movs r0, 0x1
- negs r0, r0
- cmp r6, r0
- beq _080E6EDC
- b _080E6F5E
-_080E6E56:
- cmp r6, 0x1
- beq _080E6EDC
- b _080E6F5E
-_080E6E5C:
- ldr r7, _080E6EC8
- bl sub_80E7FA8
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r0, 31
- strh r0, [r7]
- bl sub_80E7D9C
- ldrb r0, [r5, 0x8]
- cmp r0, 0
- bne _080E6E82
- ldr r4, _080E6ECC
- bl sub_80E8094
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_080E6E82:
- ldrb r0, [r5, 0x8]
- cmp r0, 0x9
- bne _080E6E9C
- bl sub_80E81C0
- ldr r4, _080E6ECC
- ldr r1, _080E6ED0
- adds r0, r5, r1
- bl sub_80FA364
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_080E6E9C:
- ldrb r0, [r5, 0x8]
- cmp r0, 0xD
- bne _080E6EBE
- ldrh r0, [r5, 0xC]
- ldr r1, _080E6ED4
- cmp r0, r1
- beq _080E6EB0
- ldrh r0, [r5, 0xE]
- cmp r0, r1
- bne _080E6EB2
-_080E6EB0:
- strh r6, [r7]
-_080E6EB2:
- ldr r4, _080E6ECC
- bl sub_80E810C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
-_080E6EBE:
- ldr r0, _080E6ED8
- bl sub_80E682C
- b _080E6F5E
- .align 2, 0
-_080E6EC8: .4byte gScriptResult
-_080E6ECC: .4byte gUnknown_0202E8CC
-_080E6ED0: .4byte 0x00009c7c
-_080E6ED4: .4byte 0x0000ffff
-_080E6ED8: .4byte sub_80E752C
-_080E6EDC:
- bl sub_8072DEC
- bl sub_80E81FC
- ldr r4, _080E6EFC
- ldrb r0, [r4, 0x8]
- cmp r0, 0x6
- bne _080E6F00
- bl sub_80E7FA8
- lsls r0, 24
- cmp r0, 0
- beq _080E6F00
- movs r0, 0x64
- strh r0, [r4, 0x24]
- b _080E6F5E
- .align 2, 0
-_080E6EFC: .4byte 0x02001000
-_080E6F00:
- bl sub_80E95A4
- b _080E6F12
-_080E6F06:
- ldr r0, _080E6F1C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080E6F5E
-_080E6F12:
- ldr r0, _080E6F20
- bl sub_80E682C
- b _080E6F5E
- .align 2, 0
-_080E6F1C: .4byte gMain
-_080E6F20: .4byte sub_80E6AC4
-_080E6F24:
- movs r0, 0x7
- bl sub_80E91D4
- ldrh r0, [r5, 0x24]
- adds r0, 0x1
- strh r0, [r5, 0x24]
-_080E6F30:
- ldr r0, _080E6F48
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E6F5E
-_080E6F3C:
- ldr r1, _080E6F4C
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E6F5E
- .align 2, 0
-_080E6F48: .4byte gMain
-_080E6F4C: .4byte 0x02001000
-_080E6F50:
- bl sub_80E7E50
- bl sub_80E95A4
- ldr r0, _080E6F64
- bl sub_80E682C
-_080E6F5E:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6F64: .4byte sub_80E6AC4
- thumb_func_end sub_80E6D7C
-
- thumb_func_start sub_80E6F68
-sub_80E6F68: @ 80E6F68
- push {r4,lr}
- ldr r4, _080E6F78
- ldrh r0, [r4, 0x24]
- cmp r0, 0
- beq _080E6F7C
- cmp r0, 0x1
- beq _080E6F9C
- b _080E6FBC
- .align 2, 0
-_080E6F78: .4byte 0x02001000
-_080E6F7C:
- movs r0, 0x1
- bl sub_80E8398
- movs r0, 0xA
- bl sub_80E91D4
- bl sub_80E683C
- bl sub_80E9974
- bl sub_80E9E98
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E6FBC
-_080E6F9C:
- bl sub_80E9EA8
- lsls r0, 24
- cmp r0, 0
- beq _080E6FBC
- movs r0, 0x1
- bl sub_80E8D8C
- bl sub_80E8420
- movs r0, 0
- bl sub_80E8958
- ldr r0, _080E6FC4
- bl sub_80E682C
-_080E6FBC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E6FC4: .4byte sub_80E6FC8
- thumb_func_end sub_80E6F68
-
- thumb_func_start sub_80E6FC8
-sub_80E6FC8: @ 80E6FC8
- push {r4,lr}
- bl sub_80E77C8
- adds r1, r0, 0
- ldr r4, _080E7000
- adds r0, r4, 0
- adds r0, 0x96
- strb r1, [r0]
- movs r2, 0xE0
- lsls r2, 1
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E700C
- movs r0, 0x5
- bl PlaySE
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, _080E7004
- str r1, [r0]
- ldr r0, _080E7008
- bl sub_80E682C
- b _080E710A
- .align 2, 0
-_080E7000: .4byte 0x02001000
-_080E7004: .4byte sub_80E6FC8
-_080E7008: .4byte sub_80E7458
-_080E700C:
- lsls r0, r1, 24
- cmp r0, 0
- beq _080E7018
- movs r0, 0x5
- bl PlaySE
-_080E7018:
- ldr r0, _080E7054
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E70E8
- ldr r2, _080E7058
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E7090
- movs r0, 0x5
- bl PlaySE
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- beq _080E7070
- cmp r0, 0x2
- bgt _080E705C
- cmp r0, 0x1
- beq _080E7062
- b _080E710A
- .align 2, 0
-_080E7054: .4byte gMain
-_080E7058: .4byte 0x000001b7
-_080E705C:
- cmp r0, 0x3
- beq _080E70F0
- b _080E710A
-_080E7062:
- ldr r0, _080E706C
- bl sub_80E682C
- b _080E710A
- .align 2, 0
-_080E706C: .4byte sub_80E718C
-_080E7070:
- ldrb r0, [r4, 0x8]
- cmp r0, 0x6
- beq _080E710A
- adds r0, r4, 0
- adds r0, 0x27
- ldrb r0, [r0]
- ldr r1, _080E708C
- bl sub_80E7F00
- bl sub_80E7574
- bl sub_80E95A4
- b _080E710A
- .align 2, 0
-_080E708C: .4byte 0x0000ffff
-_080E7090:
- adds r0, r4, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E70CA
- ldr r2, _080E70DC
- adds r0, r4, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r4, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r2, r0
- adds r0, r4, 0
- adds r0, 0x40
- adds r2, r0
- ldrb r0, [r2]
- lsls r0, 1
- ldr r2, _080E70E0
- adds r1, r4, r2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0
- beq _080E710A
-_080E70CA:
- movs r0, 0x5
- bl PlaySE
- bl sub_80E7AD4
- ldr r0, _080E70E4
- bl sub_80E682C
- b _080E710A
- .align 2, 0
-_080E70DC: .4byte 0x000001a9
-_080E70E0: .4byte 0x00004142
-_080E70E4: .4byte sub_80E7218
-_080E70E8:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E70FC
-_080E70F0:
- ldr r0, _080E70F8
- bl sub_80E682C
- b _080E710A
- .align 2, 0
-_080E70F8: .4byte sub_80E7114
-_080E70FC:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080E710A
- ldr r0, _080E7110
- bl sub_80E682C
-_080E710A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7110: .4byte sub_80E718C
- thumb_func_end sub_80E6FC8
-
- thumb_func_start sub_80E7114
-sub_80E7114: @ 80E7114
- push {lr}
- ldr r0, _080E712C
- ldrh r1, [r0, 0x24]
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _080E7182
- lsls r0, r1, 2
- ldr r1, _080E7130
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E712C: .4byte 0x02001000
-_080E7130: .4byte _080E7134
- .align 2, 0
-_080E7134:
- .4byte _080E7148
- .4byte _080E715C
- .4byte _080E715C
- .4byte _080E7164
- .4byte _080E717C
-_080E7148:
- bl sub_80E8504
- bl sub_80E9E98
- bl sub_80E88F0
- movs r0, 0
- bl sub_80E8D8C
- b _080E716E
-_080E715C:
- ldrh r0, [r2, 0x24]
- adds r0, 0x1
- strh r0, [r2, 0x24]
- b _080E7182
-_080E7164:
- bl sub_80E9F50
- lsls r0, 24
- cmp r0, 0
- beq _080E7182
-_080E716E:
- ldr r1, _080E7178
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E7182
- .align 2, 0
-_080E7178: .4byte 0x02001000
-_080E717C:
- ldr r0, _080E7188
- bl sub_80E682C
-_080E7182:
- pop {r0}
- bx r0
- .align 2, 0
-_080E7188: .4byte sub_80E6AC4
- thumb_func_end sub_80E7114
-
- thumb_func_start sub_80E718C
-sub_80E718C: @ 80E718C
- push {r4,lr}
- ldr r0, _080E71A4
- ldrh r1, [r0, 0x24]
- adds r4, r0, 0
- cmp r1, 0x1
- beq _080E71C6
- cmp r1, 0x1
- bgt _080E71A8
- cmp r1, 0
- beq _080E71AE
- b _080E71EC
- .align 2, 0
-_080E71A4: .4byte 0x02001000
-_080E71A8:
- cmp r1, 0x8
- beq _080E71F4
- b _080E71EC
-_080E71AE:
- bl sub_80E8504
- bl sub_80E9E98
- bl sub_80E88F0
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- bl sub_80E8D54
- b _080E720E
-_080E71C6:
- bl sub_80E9FD4
- lsls r0, 24
- cmp r0, 0
- beq _080E720E
- movs r2, 0
- adds r1, r4, 0
- adds r1, 0x26
- ldrb r0, [r1]
- cmp r0, 0
- bne _080E71DE
- movs r2, 0x1
-_080E71DE:
- strb r2, [r1]
- bl sub_80E683C
- bl sub_80E9974
- bl sub_80E9E98
-_080E71EC:
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E720E
-_080E71F4:
- bl sub_80EA014
- lsls r0, 24
- cmp r0, 0
- beq _080E720E
- bl sub_80E8420
- movs r0, 0
- bl sub_80E8958
- ldr r0, _080E7214
- bl sub_80E682C
-_080E720E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7214: .4byte sub_80E6FC8
- thumb_func_end sub_80E718C
-
- thumb_func_start sub_80E7218
-sub_80E7218: @ 80E7218
- push {r4,lr}
- ldr r4, _080E7230
- ldrh r0, [r4, 0x24]
- adds r1, r4, 0
- cmp r0, 0x9
- beq _080E7260
- cmp r0, 0x9
- bgt _080E7234
- cmp r0, 0x8
- beq _080E7244
- b _080E723C
- .align 2, 0
-_080E7230: .4byte 0x02001000
-_080E7234:
- cmp r0, 0xA
- beq _080E7276
- cmp r0, 0xB
- beq _080E7288
-_080E723C:
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E7288
-_080E7244:
- movs r0, 0
- bl sub_80E8D8C
- bl sub_80E8504
- bl sub_80E9AD4
- bl sub_80E68E8
- bl sub_80E88F0
- bl sub_80E9E98
- b _080E726E
-_080E7260:
- bl sub_80EA050
- lsls r0, 24
- cmp r0, 0
- beq _080E7288
- bl sub_80E9C94
-_080E726E:
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E7288
-_080E7276:
- movs r0, 0x1
- bl sub_80E87CC
- movs r0, 0x1
- bl sub_80E8958
- ldr r0, _080E7290
- bl sub_80E682C
-_080E7288:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7290: .4byte sub_80E7294
- thumb_func_end sub_80E7218
-
- thumb_func_start sub_80E7294
-sub_80E7294: @ 80E7294
- push {r4,lr}
- bl sub_80E7B40
- adds r1, r0, 0
- ldr r4, _080E72CC
- ldr r2, _080E72D0
- adds r0, r4, r2
- strb r1, [r0]
- adds r2, 0x7
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E72DC
- movs r0, 0x5
- bl PlaySE
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, _080E72D4
- str r1, [r0]
- ldr r0, _080E72D8
- bl sub_80E682C
- b _080E731A
- .align 2, 0
-_080E72CC: .4byte 0x02001000
-_080E72D0: .4byte 0x000001b9
-_080E72D4: .4byte sub_80E7294
-_080E72D8: .4byte sub_80E7458
-_080E72DC:
- lsls r0, r1, 24
- cmp r0, 0
- beq _080E72E8
- movs r0, 0x5
- bl PlaySE
-_080E72E8:
- ldr r0, _080E7304
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E730C
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080E7308
- bl sub_80E682C
- b _080E731A
- .align 2, 0
-_080E7304: .4byte gMain
-_080E7308: .4byte sub_80E7324
-_080E730C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080E731A
- ldr r0, _080E7320
- bl sub_80E682C
-_080E731A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7320: .4byte sub_80E73D0
- thumb_func_end sub_80E7294
-
- thumb_func_start sub_80E7324
-sub_80E7324: @ 80E7324
- push {lr}
- ldr r0, _080E733C
- ldrh r1, [r0, 0x24]
- adds r2, r0, 0
- cmp r1, 0x4
- bhi _080E73C6
- lsls r0, r1, 2
- ldr r1, _080E7340
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E733C: .4byte 0x02001000
-_080E7340: .4byte _080E7344
- .align 2, 0
-_080E7344:
- .4byte _080E7358
- .4byte _080E737C
- .4byte _080E7384
- .4byte _080E738A
- .4byte _080E73A4
-_080E7358:
- bl sub_80E7DD0
- lsls r0, 24
- cmp r0, 0
- bne _080E7370
- ldr r0, _080E736C
- bl sub_80E682C
- b _080E73C6
- .align 2, 0
-_080E736C: .4byte sub_80E7294
-_080E7370:
- bl sub_80E88F0
- movs r0, 0
- bl sub_80E87CC
- b _080E7394
-_080E737C:
- ldrh r0, [r2, 0x24]
- adds r0, 0x1
- strh r0, [r2, 0x24]
- b _080E73C6
-_080E7384:
- bl sub_80E9E98
- b _080E7394
-_080E738A:
- bl sub_80EA184
- lsls r0, 24
- cmp r0, 0
- beq _080E73C6
-_080E7394:
- ldr r1, _080E73A0
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E73C6
- .align 2, 0
-_080E73A0: .4byte 0x02001000
-_080E73A4:
- ldrb r0, [r2, 0x8]
- cmp r0, 0x6
- bne _080E73C0
- bl sub_80E7FA8
- lsls r0, 24
- cmp r0, 0
- beq _080E73C0
- ldr r0, _080E73BC
- bl sub_80E682C
- b _080E73C6
- .align 2, 0
-_080E73BC: .4byte sub_80E6D7C
-_080E73C0:
- ldr r0, _080E73CC
- bl sub_80E682C
-_080E73C6:
- pop {r0}
- bx r0
- .align 2, 0
-_080E73CC: .4byte sub_80E6AC4
- thumb_func_end sub_80E7324
-
- thumb_func_start sub_80E73D0
-sub_80E73D0: @ 80E73D0
- push {lr}
- ldr r0, _080E73E4
- ldrh r0, [r0, 0x24]
- cmp r0, 0x4
- bhi _080E744E
- lsls r0, 2
- ldr r1, _080E73E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E73E4: .4byte 0x02001000
-_080E73E8: .4byte _080E73EC
- .align 2, 0
-_080E73EC:
- .4byte _080E7400
- .4byte _080E740C
- .4byte _080E7416
- .4byte _080E742C
- .4byte _080E7444
-_080E7400:
- movs r0, 0
- bl sub_80E87CC
- bl sub_80E88F0
- b _080E7436
-_080E740C:
- bl sub_80E9AD4
- bl sub_80E9E98
- b _080E7436
-_080E7416:
- bl sub_80EA0E4
- lsls r0, 24
- cmp r0, 0
- beq _080E744E
- movs r0, 0x1
- bl sub_80E8D8C
- bl sub_80E9A14
- b _080E7436
-_080E742C:
- bl sub_80E8420
- movs r0, 0
- bl sub_80E8958
-_080E7436:
- ldr r1, _080E7440
- ldrh r0, [r1, 0x24]
- adds r0, 0x1
- strh r0, [r1, 0x24]
- b _080E744E
- .align 2, 0
-_080E7440: .4byte 0x02001000
-_080E7444:
- bl sub_80E9974
- ldr r0, _080E7454
- bl sub_80E682C
-_080E744E:
- pop {r0}
- bx r0
- .align 2, 0
-_080E7454: .4byte sub_80E6FC8
- thumb_func_end sub_80E73D0
-
- thumb_func_start sub_80E7458
-sub_80E7458: @ 80E7458
- push {r4,r5,lr}
- ldr r4, _080E7468
- ldrh r5, [r4, 0x24]
- cmp r5, 0
- beq _080E746C
- cmp r5, 0x1
- beq _080E74A4
- b _080E7518
- .align 2, 0
-_080E7468: .4byte 0x02001000
-_080E746C:
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, [r0]
- ldr r0, _080E7480
- cmp r1, r0
- bne _080E7484
- bl sub_80E9D7C
- b _080E7488
- .align 2, 0
-_080E7480: .4byte sub_80E6FC8
-_080E7484:
- bl sub_80E9D00
-_080E7488:
- ldr r4, _080E74A0
- movs r2, 0xDF
- lsls r2, 1
- adds r0, r4, r2
- ldrb r0, [r0]
- bl sub_80E9E08
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E7518
- .align 2, 0
-_080E74A0: .4byte 0x02001000
-_080E74A4:
- bl sub_80E9E54
- lsls r0, 24
- cmp r0, 0
- beq _080E7518
- movs r1, 0xE2
- lsls r1, 1
- adds r0, r4, r1
- ldr r1, [r0]
- ldr r0, _080E74DC
- cmp r1, r0
- bne _080E74E4
- bl sub_80E9D7C
- ldr r2, _080E74E0
- adds r1, r4, r2
- adds r2, 0xB
- adds r0, r4, r2
- ldrb r0, [r0]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- bl sub_80E7A98
- adds r0, r4, 0
- adds r0, 0x96
- b _080E74FE
- .align 2, 0
-_080E74DC: .4byte sub_80E6FC8
-_080E74E0: .4byte 0x000001b5
-_080E74E4:
- ldr r0, _080E7520
- adds r1, r4, r0
- movs r2, 0xE0
- lsls r2, 1
- adds r0, r4, r2
- ldrb r0, [r0]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- bl sub_80E7D30
- ldr r1, _080E7524
- adds r0, r4, r1
-_080E74FE:
- strb r5, [r0]
- ldr r1, _080E7528
- movs r0, 0xDF
- lsls r0, 1
- adds r2, r1, r0
- movs r0, 0x2
- strb r0, [r2]
- movs r2, 0xE2
- lsls r2, 1
- adds r0, r1, r2
- ldr r0, [r0]
- bl sub_80E682C
-_080E7518:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7520: .4byte 0x00009a29
-_080E7524: .4byte 0x000001b9
-_080E7528: .4byte 0x02001000
- thumb_func_end sub_80E7458
-
- thumb_func_start sub_80E752C
-sub_80E752C: @ 80E752C
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080E7540
- ldrh r1, [r4, 0x24]
- cmp r1, 0
- beq _080E7544
- cmp r1, 0x1
- beq _080E755C
- b _080E756C
- .align 2, 0
-_080E7540: .4byte 0x02001000
-_080E7544:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x24]
- adds r0, 0x1
- strh r0, [r4, 0x24]
- b _080E756C
-_080E755C:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080E756C
- ldr r0, [r4]
- bl SetMainCallback2
-_080E756C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80E752C
-
- thumb_func_start sub_80E7574
-sub_80E7574: @ 80E7574
- push {r4,r5,lr}
- ldr r4, _080E75B8
- ldrb r5, [r4, 0x8]
- cmp r5, 0x1
- bne _080E75BC
- adds r0, r4, 0
- adds r0, 0x86
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r4, 0
- adds r1, 0x7E
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080E75BC
- adds r0, r4, 0
- adds r0, 0x27
- ldrb r0, [r0]
- lsls r0, 1
- subs r1, 0x72
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80EB2D4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- beq _080E75BC
- adds r0, r4, 0
- adds r0, 0x7D
- strb r5, [r0]
- adds r1, r4, 0
- b _080E75C6
- .align 2, 0
-_080E75B8: .4byte 0x02001000
-_080E75BC:
- ldr r1, _080E75D4
- adds r2, r1, 0
- adds r2, 0x7D
- movs r0, 0
- strb r0, [r2]
-_080E75C6:
- adds r1, 0x7D
- movs r0, 0
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E75D4: .4byte 0x02001000
- thumb_func_end sub_80E7574
-
- thumb_func_start sub_80E75D8
-sub_80E75D8: @ 80E75D8
- push {r4-r6,lr}
- movs r4, 0
- ldr r2, _080E75FC
- ldrh r1, [r2, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080E7604
- ldr r1, _080E7600
- adds r0, r1, 0
- adds r0, 0x84
- ldrb r0, [r0]
- adds r2, r1, 0
- adds r2, 0x86
- strb r0, [r2]
- adds r1, 0x85
- movs r0, 0x2
- b _080E768E
- .align 2, 0
-_080E75FC: .4byte gMain
-_080E7600: .4byte 0x02001000
-_080E7604:
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080E7630
- ldr r2, _080E762C
- adds r1, r2, 0
- adds r1, 0x86
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080E765C
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r0, [r0]
- strb r0, [r1]
- b _080E765C
- .align 2, 0
-_080E762C: .4byte 0x02001000
-_080E7630:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080E7658
- ldr r0, _080E7684
- adds r3, r0, 0
- adds r3, 0x86
- ldrb r1, [r3]
- adds r1, 0x1
- strb r1, [r3]
- adds r0, 0x84
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- ble _080E7656
- strb r4, [r3]
-_080E7656:
- movs r4, 0x1
-_080E7658:
- cmp r4, 0
- beq _080E76EA
-_080E765C:
- ldr r2, _080E7684
- ldrb r3, [r2, 0x9]
- cmp r3, 0x2
- bne _080E7692
- adds r1, r2, 0
- adds r1, 0x86
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080E7688
- adds r0, r2, 0
- adds r0, 0x85
- strb r3, [r0]
- b _080E77BC
- .align 2, 0
-_080E7684: .4byte 0x02001000
-_080E7688:
- adds r1, r2, 0
- adds r1, 0x85
- movs r0, 0
-_080E768E:
- strb r0, [r1]
- b _080E77BC
-_080E7692:
- movs r0, 0x85
- adds r0, r2
- mov r12, r0
- adds r4, r2, 0
- adds r4, 0x83
- movs r1, 0
- ldrsb r1, [r0, r1]
- ldrb r3, [r4]
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r1, r0
- blt _080E76B0
- subs r0, r3, 0x1
- mov r1, r12
- strb r0, [r1]
-_080E76B0:
- adds r1, r2, 0
- adds r1, 0x86
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r3, [r1]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- beq _080E77BC
- ldrb r0, [r4]
- adds r4, r0, 0
- muls r4, r3
- adds r0, r4, 0
- mov r5, r12
- ldrb r5, [r5]
- adds r0, r5
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2, 0xA]
- cmp r0, r1
- bcc _080E77BC
- subs r0, r1
- mov r6, r12
- strb r0, [r6]
- b _080E77BC
-_080E76EA:
- ldrh r2, [r2, 0x30]
- movs r0, 0x20
- ands r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- beq _080E7744
- ldr r2, _080E7728
- adds r3, r2, 0
- adds r3, 0x85
- ldrb r0, [r3]
- subs r0, 0x1
- strb r0, [r3]
- lsls r0, 24
- cmp r0, 0
- bge _080E77BC
- adds r1, r2, 0
- adds r1, 0x86
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r4, [r1]
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080E772C
- movs r0, 0x2
- b _080E77BA
- .align 2, 0
-_080E7728: .4byte 0x02001000
-_080E772C:
- adds r0, r2, 0
- adds r0, 0x83
- ldrb r0, [r0]
- subs r1, r0, 0x1
- strb r1, [r3]
- adds r5, r4, 0
- muls r5, r0
- adds r0, r5, 0
- adds r1, r0
- lsls r1, 24
- lsrs r0, r1, 24
- b _080E77B2
-_080E7744:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _080E77C0
- ldr r2, _080E777C
- adds r5, r2, 0
- adds r5, 0x86
- adds r0, r2, 0
- adds r0, 0x84
- movs r1, 0
- ldrsb r1, [r5, r1]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080E7780
- adds r1, r2, 0
- adds r1, 0x85
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x2
- ble _080E77BC
- strb r4, [r1]
- b _080E77BC
- .align 2, 0
-_080E777C: .4byte 0x02001000
-_080E7780:
- adds r3, r2, 0
- adds r3, 0x85
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r3]
- movs r6, 0x83
- adds r6, r2
- mov r12, r6
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r6, r1]
- cmp r0, r1
- blt _080E779E
- strb r4, [r3]
-_080E779E:
- ldrb r1, [r5]
- mov r4, r12
- ldrb r0, [r4]
- adds r5, r0, 0
- muls r5, r1
- adds r0, r5, 0
- ldrb r6, [r3]
- adds r0, r6
- lsls r0, 24
- lsrs r0, 24
-_080E77B2:
- ldrb r1, [r2, 0xA]
- cmp r0, r1
- bcc _080E77BC
- subs r0, r1
-_080E77BA:
- strb r0, [r3]
-_080E77BC:
- movs r0, 0x1
- b _080E77C2
-_080E77C0:
- movs r0, 0
-_080E77C2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80E75D8
-
- thumb_func_start sub_80E77C8
-sub_80E77C8: @ 80E77C8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- ldr r1, _080E780C
- ldr r2, _080E7810
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r3, r1, 0
- cmp r0, 0
- beq _080E783E
- ldr r1, _080E7814
- ldrh r2, [r1, 0x30]
- movs r0, 0x40
- ands r0, r2
- adds r6, r1, 0
- cmp r0, 0
- beq _080E7818
- movs r4, 0xD4
- lsls r4, 1
- adds r1, r3, r4
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- ble _080E7806
- b _080E7948
-_080E7806:
- movs r0, 0x3
- strb r0, [r1]
- b _080E7948
- .align 2, 0
-_080E780C: .4byte 0x02001000
-_080E7810: .4byte 0x000001b7
-_080E7814: .4byte gMain
-_080E7818:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- bne _080E7822
- b _080E7950
-_080E7822:
- movs r5, 0xD4
- lsls r5, 1
- adds r1, r3, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- bgt _080E7838
- b _080E7948
-_080E7838:
- movs r0, 0x1
- strb r0, [r1]
- b _080E7948
-_080E783E:
- adds r0, r3, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080E789A
- movs r4, 0
- ldr r1, _080E7870
- ldrh r2, [r1, 0x30]
- movs r0, 0x40
- ands r0, r2
- adds r6, r1, 0
- cmp r0, 0
- beq _080E7874
- movs r6, 0xD4
- lsls r6, 1
- adds r1, r3, r6
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080E7944
- movs r0, 0x3
- strb r0, [r1]
- b _080E7944
- .align 2, 0
-_080E7870: .4byte gMain
-_080E7874:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _080E7894
- movs r0, 0xD4
- lsls r0, 1
- adds r1, r3, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x3
- ble _080E7892
- strb r7, [r1]
-_080E7892:
- movs r4, 0x1
-_080E7894:
- cmp r4, 0
- beq _080E7950
- b _080E7944
-_080E789A:
- movs r4, 0
- movs r1, 0xE0
- lsls r1, 1
- adds r5, r3, r1
- strb r7, [r5]
- ldr r1, _080E78E0
- ldrh r2, [r1, 0x30]
- movs r0, 0x40
- ands r0, r2
- adds r6, r1, 0
- cmp r0, 0
- beq _080E78E8
- movs r2, 0xD4
- lsls r2, 1
- adds r1, r3, r2
- ldrb r2, [r1]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bne _080E78C4
- b _080E7A88
-_080E78C4:
- subs r0, r2, 0x1
- strb r0, [r1]
- ldr r4, _080E78E4
- adds r1, r3, r4
- lsls r0, 24
- asrs r0, 24
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- cmp r0, r1
- bge _080E7932
- movs r0, 0xFF
- strb r0, [r5]
- b _080E7932
- .align 2, 0
-_080E78E0: .4byte gMain
-_080E78E4: .4byte 0x000001b5
-_080E78E8:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _080E792E
- movs r0, 0xD4
- lsls r0, 1
- adds r2, r3, r0
- movs r1, 0
- ldrsb r1, [r2, r1]
- movs r4, 0xDB
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r0, 0x1
- cmp r1, r0
- blt _080E790E
- b _080E7A88
-_080E790E:
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- movs r1, 0
- ldrsb r1, [r2, r1]
- ldr r2, _080E794C
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x3
- cmp r1, r0
- ble _080E792C
- movs r0, 0x1
- strb r0, [r5]
-_080E792C:
- movs r4, 0x1
-_080E792E:
- cmp r4, 0
- beq _080E7950
-_080E7932:
- movs r4, 0xE0
- lsls r4, 1
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E7944
- b _080E7A88
-_080E7944:
- bl sub_80E7A98
-_080E7948:
- movs r0, 0x1
- b _080E7A8A
- .align 2, 0
-_080E794C: .4byte 0x000001b5
-_080E7950:
- ldrh r1, [r6, 0x30]
- movs r0, 0x20
- ands r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0
- beq _080E7992
- ldr r5, _080E7974
- adds r2, r3, r5
- ldrb r1, [r2]
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- beq _080E7978
- subs r0, r1, 0x1
- strb r0, [r2]
- b _080E79E6
- .align 2, 0
-_080E7974: .4byte 0x000001a9
-_080E7978:
- movs r6, 0xD4
- lsls r6, 1
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- movs r4, 0xD5
- lsls r4, 1
- adds r1, r3, r4
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- b _080E79E6
-_080E7992:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080E79E2
- ldr r5, _080E79D4
- adds r0, r3, r5
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080E79CC
- ldr r0, _080E79D8
- adds r4, r3, r0
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r3, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r2, 0xD5
- lsls r2, 1
- adds r0, r3, r2
- adds r1, r0
- ldrb r5, [r4]
- movs r2, 0
- ldrsb r2, [r4, r2]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bne _080E79DC
-_080E79CC:
- ldr r4, _080E79D8
- adds r0, r3, r4
- strb r6, [r0]
- b _080E79E0
- .align 2, 0
-_080E79D4: .4byte 0x000001b7
-_080E79D8: .4byte 0x000001a9
-_080E79DC:
- adds r0, r5, 0x1
- strb r0, [r4]
-_080E79E0:
- movs r7, 0x1
-_080E79E2:
- cmp r7, 0
- beq _080E7A88
-_080E79E6:
- adds r2, r3, 0
- ldr r5, _080E7A48
- adds r7, r2, r5
- ldrb r6, [r7]
- mov r9, r6
- movs r1, 0
- ldr r0, _080E7A4C
- adds r0, r2
- mov r12, r0
- subs r5, 0xF
- adds r4, r2, r5
- movs r0, 0
- ldrsb r0, [r4, r0]
- movs r6, 0xD5
- lsls r6, 1
- adds r6, r2
- mov r8, r6
- add r0, r8
- mov r6, r12
- movs r5, 0
- ldrsb r5, [r6, r5]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r5, r0
- bne _080E7A1C
- movs r1, 0x1
-_080E7A1C:
- strb r1, [r7]
- cmp r1, 0
- beq _080E7A58
- ldr r0, _080E7A50
- adds r1, r2, r0
- ldrb r0, [r4]
- ldrb r1, [r1]
- subs r0, r1
- strb r0, [r4]
- lsls r0, 24
- cmp r0, 0
- beq _080E7A36
- b _080E7948
-_080E7A36:
- movs r0, 0x1
- strb r0, [r4]
- ldr r1, _080E7A54
- adds r0, r2, r1
- ldrb r0, [r0]
- mov r2, r12
- strb r0, [r2]
- b _080E7948
- .align 2, 0
-_080E7A48: .4byte 0x000001b7
-_080E7A4C: .4byte 0x000001a9
-_080E7A50: .4byte 0x000001b5
-_080E7A54: .4byte 0x000001ab
-_080E7A58:
- mov r6, r9
- cmp r6, 0
- bne _080E7A60
- b _080E7948
-_080E7A60:
- ldr r1, _080E7A84
- adds r0, r3, r1
- ldrb r0, [r0]
- ldrb r2, [r4]
- adds r0, r2
- strb r0, [r4]
- cmp r5, 0
- bne _080E7A72
- b _080E7948
-_080E7A72:
- movs r0, 0
- ldrsb r0, [r4, r0]
- add r0, r8
- ldrb r0, [r0]
- subs r0, 0x1
- mov r4, r12
- strb r0, [r4]
- b _080E7948
- .align 2, 0
-_080E7A84: .4byte 0x000001b5
-_080E7A88:
- movs r0, 0
-_080E7A8A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80E77C8
-
- thumb_func_start sub_80E7A98
-sub_80E7A98: @ 80E7A98
- push {lr}
- ldr r1, _080E7ACC
- ldr r0, _080E7AD0
- adds r3, r1, r0
- movs r2, 0xD4
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r2, 0x2
- adds r1, r2
- adds r0, r1
- movs r1, 0
- ldrsb r1, [r3, r1]
- ldrb r2, [r0]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- blt _080E7AC6
- subs r0, r2, 0x1
- strb r0, [r3]
-_080E7AC6:
- pop {r0}
- bx r0
- .align 2, 0
-_080E7ACC: .4byte 0x02001000
-_080E7AD0: .4byte 0x000001a9
- thumb_func_end sub_80E7A98
-
- thumb_func_start sub_80E7AD4
-sub_80E7AD4: @ 80E7AD4
- push {lr}
- ldr r3, _080E7B08
- adds r0, r3, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E7B10
- ldr r1, _080E7B0C
- adds r0, r3, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r2, 0xD4
- lsls r2, 1
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- adds r1, r0
- adds r0, r3, 0
- adds r0, 0x2A
- adds r1, r0
- ldrb r1, [r1]
- adds r2, 0x10
- b _080E7B34
- .align 2, 0
-_080E7B08: .4byte 0x02001000
-_080E7B0C: .4byte 0x000001a9
-_080E7B10:
- ldr r1, _080E7B3C
- adds r0, r3, r1
- movs r2, 0
- ldrsb r2, [r0, r2]
- subs r1, 0x1
- adds r0, r3, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 1
- adds r2, r0
- adds r0, r3, 0
- adds r0, 0x40
- adds r2, r0
- ldrb r1, [r2]
- movs r2, 0xDC
- lsls r2, 1
-_080E7B34:
- adds r0, r3, r2
- strb r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080E7B3C: .4byte 0x000001a9
- thumb_func_end sub_80E7AD4
-
- thumb_func_start sub_80E7B40
-sub_80E7B40: @ 80E7B40
- push {r4-r7,lr}
- movs r5, 0
- ldr r2, _080E7B8C
- movs r0, 0xE0
- lsls r0, 1
- adds r6, r2, r0
- strb r5, [r6]
- ldr r1, _080E7B90
- ldrh r4, [r1, 0x30]
- movs r0, 0x40
- ands r0, r4
- adds r3, r2, 0
- adds r7, r1, 0
- cmp r0, 0
- beq _080E7B9C
- ldr r2, _080E7B94
- adds r1, r3, r2
- ldrb r2, [r1]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bne _080E7B6E
- b _080E7D1A
-_080E7B6E:
- subs r0, r2, 0x1
- strb r0, [r1]
- ldr r4, _080E7B98
- adds r1, r3, r4
- lsls r0, 24
- asrs r0, 24
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- cmp r0, r1
- bge _080E7BF2
- movs r0, 0xFF
- strb r0, [r6]
- b _080E7D1A
- .align 2, 0
-_080E7B8C: .4byte 0x02001000
-_080E7B90: .4byte gMain
-_080E7B94: .4byte 0x000099a4
-_080E7B98: .4byte 0x00009a29
-_080E7B9C:
- movs r0, 0x80
- ands r0, r4
- cmp r0, 0
- beq _080E7BEE
- ldr r0, _080E7BE0
- adds r2, r3, r0
- movs r1, 0
- ldrsb r1, [r2, r1]
- ldr r4, _080E7BE4
- adds r0, r3, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r0, 0x1
- cmp r1, r0
- blt _080E7BBE
- b _080E7D1A
-_080E7BBE:
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- movs r1, 0
- ldrsb r1, [r2, r1]
- ldr r2, _080E7BE8
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x4
- cmp r1, r0
- blt _080E7BEC
- movs r0, 0x1
- strb r0, [r6]
- b _080E7D1A
- .align 2, 0
-_080E7BE0: .4byte 0x000099a4
-_080E7BE4: .4byte 0x00009a28
-_080E7BE8: .4byte 0x00009a29
-_080E7BEC:
- movs r5, 0x1
-_080E7BEE:
- cmp r5, 0
- beq _080E7BFA
-_080E7BF2:
- bl sub_80E7D30
-_080E7BF6:
- movs r0, 0x1
- b _080E7D1C
-_080E7BFA:
- ldrh r1, [r7, 0x30]
- movs r0, 0x20
- ands r0, r1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0
- beq _080E7C38
- ldr r4, _080E7C30
- adds r2, r3, r4
- ldrb r0, [r2]
- subs r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- cmp r0, 0
- bge _080E7BF6
- ldr r6, _080E7C34
- adds r0, r3, r6
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r4, 0x1
- adds r1, r3, r4
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x1
- strb r0, [r2]
- b _080E7BF6
- .align 2, 0
-_080E7C30: .4byte 0x000099a5
-_080E7C34: .4byte 0x000099a4
-_080E7C38:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080E7C70
- ldr r6, _080E7C68
- adds r4, r3, r6
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- ldr r2, _080E7C6C
- adds r1, r3, r2
- movs r2, 0
- ldrsb r2, [r1, r2]
- adds r6, 0x1
- adds r1, r3, r6
- adds r2, r1
- lsls r0, 24
- asrs r0, 24
- movs r1, 0
- ldrsb r1, [r2, r1]
- cmp r0, r1
- blt _080E7BF6
- strb r5, [r4]
- b _080E7BF6
- .align 2, 0
-_080E7C68: .4byte 0x000099a5
-_080E7C6C: .4byte 0x000099a4
-_080E7C70:
- ldrh r1, [r7, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _080E7CC4
- ldr r1, _080E7CBC
- adds r0, r3, r1
- ldrb r1, [r0]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080E7CA2
- negs r0, r1
- movs r4, 0xE0
- lsls r4, 1
- adds r2, r3, r4
- strb r0, [r2]
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x4
- negs r1, r1
- cmp r0, r1
- bge _080E7CA2
- strb r1, [r2]
-_080E7CA2:
- ldr r6, _080E7CC0
- adds r1, r3, r6
- movs r2, 0xE0
- lsls r2, 1
- adds r0, r3, r2
- ldrb r0, [r0]
- ldrb r4, [r1]
- adds r0, r4
- strb r0, [r1]
- movs r6, 0xDF
- lsls r6, 1
- adds r1, r3, r6
- b _080E7D16
- .align 2, 0
-_080E7CBC: .4byte 0x00009a29
-_080E7CC0: .4byte 0x000099a4
-_080E7CC4:
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _080E7D1A
- ldr r0, _080E7D24
- adds r4, r3, r0
- movs r1, 0
- ldrsb r1, [r4, r1]
- ldr r6, _080E7D28
- adds r2, r3, r6
- movs r0, 0
- ldrsb r0, [r2, r0]
- subs r0, 0x4
- cmp r1, r0
- bge _080E7CFE
- ldrb r1, [r4]
- adds r1, 0x4
- ldrb r0, [r2]
- subs r0, r1
- movs r2, 0xE0
- lsls r2, 1
- adds r1, r3, r2
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x4
- ble _080E7CFE
- movs r0, 0x4
- strb r0, [r1]
-_080E7CFE:
- ldr r4, _080E7D2C
- adds r1, r3, r4
- movs r6, 0xE0
- lsls r6, 1
- adds r0, r3, r6
- ldrb r0, [r0]
- ldrb r2, [r1]
- adds r0, r2
- strb r0, [r1]
- movs r4, 0xDF
- lsls r4, 1
- adds r1, r3, r4
-_080E7D16:
- movs r0, 0x4
- strb r0, [r1]
-_080E7D1A:
- movs r0, 0
-_080E7D1C:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080E7D24: .4byte 0x00009a29
-_080E7D28: .4byte 0x00009a28
-_080E7D2C: .4byte 0x000099a4
- thumb_func_end sub_80E7B40
-
- thumb_func_start sub_80E7D30
-sub_80E7D30: @ 80E7D30
- push {r4,lr}
- ldr r0, _080E7D60
- ldr r1, _080E7D64
- adds r4, r0, r1
- ldr r2, _080E7D68
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- adds r2, 0x2
- adds r0, r2
- adds r1, r0
- movs r2, 0
- ldrsb r2, [r4, r2]
- ldrb r3, [r1]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- blt _080E7D5A
- subs r0, r3, 0x1
- strb r0, [r4]
-_080E7D5A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7D60: .4byte 0x02001000
-_080E7D64: .4byte 0x000099a5
-_080E7D68: .4byte 0x000099a4
- thumb_func_end sub_80E7D30
-
- thumb_func_start sub_80E7D6C
-sub_80E7D6C: @ 80E7D6C
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _080E7D94
- ldrb r1, [r0, 0xA]
- cmp r4, r1
- bcs _080E7D8E
- adds r5, r0, 0
-_080E7D7A:
- adds r0, r4, 0
- ldr r1, _080E7D98
- bl sub_80E7F00
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrb r0, [r5, 0xA]
- cmp r4, r0
- bcc _080E7D7A
-_080E7D8E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7D94: .4byte 0x02001000
-_080E7D98: .4byte 0x0000ffff
- thumb_func_end sub_80E7D6C
-
- thumb_func_start sub_80E7D9C
-sub_80E7D9C: @ 80E7D9C
- push {r4,r5,lr}
- movs r2, 0
- ldr r0, _080E7DCC
- ldrb r1, [r0, 0xA]
- cmp r2, r1
- bcs _080E7DC6
- adds r3, r0, 0
- ldr r4, [r3, 0x4]
- adds r5, r3, 0
- adds r5, 0xC
-_080E7DB0:
- lsls r0, r2, 1
- adds r1, r0, r4
- adds r0, r5
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrb r0, [r3, 0xA]
- cmp r2, r0
- bcc _080E7DB0
-_080E7DC6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7DCC: .4byte 0x02001000
- thumb_func_end sub_80E7D9C
-
- thumb_func_start sub_80E7DD0
-sub_80E7DD0: @ 80E7DD0
- push {r4,lr}
- ldr r2, _080E7E28
- ldr r1, _080E7E2C
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 1
- ldr r3, _080E7E30
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 2
- adds r1, r0
- adds r3, 0x86
- adds r0, r2, r3
- adds r1, r0
- ldrh r4, [r1]
- adds r0, r2, 0
- adds r0, 0x7D
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E7E34
- adds r0, r2, 0
- adds r0, 0x86
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r2, 0
- adds r1, 0x7E
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bls _080E7E34
- adds r0, r4, 0
- bl sub_80EB2D4
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x7
- bne _080E7E34
- movs r0, 0
- b _080E7E46
- .align 2, 0
-_080E7E28: .4byte 0x02001000
-_080E7E2C: .4byte 0x000099a5
-_080E7E30: .4byte 0x000099a4
-_080E7E34:
- ldr r0, _080E7E4C
- adds r0, 0x27
- ldrb r0, [r0]
- adds r1, r4, 0
- bl sub_80E7F00
- bl sub_80E95A4
- movs r0, 0x1
-_080E7E46:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080E7E4C: .4byte 0x02001000
- thumb_func_end sub_80E7DD0
-
- thumb_func_start sub_80E7E50
-sub_80E7E50: @ 80E7E50
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r5, 0
- movs r2, 0
- ldr r1, _080E7EF0
- adds r3, r1, 0
- adds r3, 0x84
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r2, r0
- bge _080E7EDE
- mov r8, r1
- adds r0, r1, 0
- str r0, [sp]
-_080E7E74:
- mov r0, r8
- adds r0, 0x7E
- adds r0, r2, r0
- movs r1, 0
- strb r1, [r0]
- movs r3, 0
- ldr r6, _080E7EF4
- movs r0, 0
- ldrsb r0, [r6, r0]
- adds r1, r2, 0x1
- str r1, [sp, 0x4]
- cmp r3, r0
- bge _080E7ECE
- ldr r6, [sp]
- mov r12, r6
- movs r0, 0
- mov r10, r0
- ldr r1, _080E7EF4
- mov r9, r1
- ldr r7, _080E7EF8
- lsls r4, r2, 1
-_080E7E9E:
- lsls r1, r5, 1
- adds r2, r1, r7
- mov r6, r12
- ldr r0, [r6, 0x4]
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- adds r0, r3, r4
- mov r1, r12
- adds r1, 0x8C
- adds r0, r1
- mov r1, r10
- strb r1, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- mov r6, r9
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r3, r0
- blt _080E7E9E
-_080E7ECE:
- ldr r1, [sp, 0x4]
- lsls r0, r1, 16
- lsrs r2, r0, 16
- ldr r6, _080E7EFC
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r2, r0
- blt _080E7E74
-_080E7EDE:
- 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
-_080E7EF0: .4byte 0x02001000
-_080E7EF4: .4byte 0x02001083
-_080E7EF8: .4byte 0x0200100c
-_080E7EFC: .4byte 0x02001084
- thumb_func_end sub_80E7E50
-
- thumb_func_start sub_80E7F00
-sub_80E7F00: @ 80E7F00
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r1, 16
- mov r9, r1
- ldr r7, _080E7F68
- adds r0, r7, 0
- adds r0, 0x83
- movs r4, 0
- ldrsb r4, [r0, r4]
- adds r0, r6, 0
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r6, 0
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- lsls r0, r6, 1
- adds r1, r7, 0
- adds r1, 0xC
- adds r0, r1
- ldrh r0, [r0]
- bl sub_80EB2D4
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, r9
- bl sub_80EB2D4
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r4, 0x7
- bne _080E7F6C
- cmp r3, 0x7
- beq _080E7F7C
- adds r1, r7, 0
- adds r1, 0x7E
- adds r1, r5, r1
- ldrb r0, [r1]
- subs r0, 0x1
- b _080E7F7A
- .align 2, 0
-_080E7F68: .4byte 0x02001000
-_080E7F6C:
- cmp r3, 0x7
- bne _080E7F7C
- adds r1, r7, 0
- adds r1, 0x7E
- adds r1, r5, r1
- ldrb r0, [r1]
- adds r0, 0x1
-_080E7F7A:
- strb r0, [r1]
-_080E7F7C:
- movs r3, 0
- ldr r2, _080E7FA4
- lsls r0, r5, 1
- add r0, r8
- adds r1, r2, 0
- adds r1, 0x8C
- adds r0, r1
- strb r3, [r0]
- lsls r0, r6, 1
- adds r2, 0xC
- adds r0, r2
- mov r1, r9
- strh r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E7FA4: .4byte 0x02001000
- thumb_func_end sub_80E7F00
-
- thumb_func_start sub_80E7FA8
-sub_80E7FA8: @ 80E7FA8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r0, 0
- mov r8, r0
- movs r5, 0
- ldr r0, _080E8040
- ldrb r1, [r0, 0xA]
- cmp r8, r1
- bcs _080E802E
- ldr r3, _080E8044
- adds r6, r0, r3
- ldr r1, _080E8048
- adds r1, r0
- mov r9, r1
-_080E7FC8:
- ldr r3, _080E804C
- adds r7, r6, r3
- ldr r0, [r7, 0x4]
- lsls r4, r5, 1
- adds r0, r4, r0
- ldrh r1, [r0]
- adds r0, r6, 0
- movs r2, 0
- bl sub_80EB218
- ldr r1, _080E8050
- adds r0, r6, r1
- adds r0, r4
- ldrh r1, [r0]
- mov r0, r9
- movs r2, 0
- bl sub_80EB218
- adds r1, r6, 0
- mov r2, r9
- ldrb r0, [r1]
- adds r4, r5, 0x1
- ldrb r3, [r2]
- cmp r0, r3
- bne _080E8018
- adds r3, r7, 0
- cmp r0, 0xFF
- beq _080E8010
-_080E8000:
- adds r1, 0x1
- adds r2, 0x1
- ldrb r0, [r1]
- ldrb r5, [r2]
- cmp r0, r5
- bne _080E8018
- cmp r0, 0xFF
- bne _080E8000
-_080E8010:
- ldrb r0, [r1]
- ldrb r2, [r2]
- cmp r0, r2
- beq _080E8024
-_080E8018:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r3, _080E8040
-_080E8024:
- lsls r0, r4, 16
- lsrs r5, r0, 16
- ldrb r3, [r3, 0xA]
- cmp r5, r3
- bcc _080E7FC8
-_080E802E:
- mov r1, r8
- lsls r0, r1, 24
- lsrs r0, 24
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080E8040: .4byte 0x02001000
-_080E8044: .4byte 0x00009e14
-_080E8048: .4byte 0x00009e41
-_080E804C: .4byte 0xffff61ec
-_080E8050: .4byte 0xffff61f8
- thumb_func_end sub_80E7FA8
-
- thumb_func_start sub_80E8054
-sub_80E8054: @ 80E8054
- push {r4,lr}
- movs r1, 0
- ldr r2, _080E8078
- ldrb r0, [r2, 0xA]
- cmp r1, r0
- bcs _080E808A
- adds r4, r2, 0
- adds r4, 0xC
- ldr r3, _080E807C
- adds r2, r0, 0
-_080E8068:
- lsls r0, r1, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, r3
- beq _080E8080
- movs r0, 0
- b _080E808C
- .align 2, 0
-_080E8078: .4byte 0x02001000
-_080E807C: .4byte 0x0000ffff
-_080E8080:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bcc _080E8068
-_080E808A:
- movs r0, 0x1
-_080E808C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80E8054
-
- thumb_func_start sub_80E8094
-sub_80E8094: @ 80E8094
- push {r4-r7,lr}
- movs r5, 0
- ldr r6, _080E80C4
- adds r7, r6, 0
- adds r7, 0x2D
-_080E809E:
- lsls r4, r5, 1
- ldr r1, _080E80C8
- adds r0, r6, r1
- adds r0, r4
- ldrh r1, [r0]
- adds r0, r6, 0
- movs r2, 0
- bl sub_80EB218
- ldr r0, _080E80CC
- adds r4, r0
- ldrh r1, [r4]
- adds r0, r7, 0
- movs r2, 0
- bl sub_80EB218
- adds r3, r6, 0
- adds r4, r7, 0
- b _080E80D8
- .align 2, 0
-_080E80C4: .4byte 0x0200ae14
-_080E80C8: .4byte 0xffff61f8
-_080E80CC: .4byte gMysteryEventPhrase
-_080E80D0:
- adds r4, 0x1
- adds r3, 0x1
- cmp r2, r1
- bne _080E80F4
-_080E80D8:
- ldrb r2, [r3]
- adds r0, r2, 0
- cmp r0, 0xFF
- beq _080E80EE
- ldrb r1, [r4]
- adds r0, r1, 0
- cmp r0, 0xFF
- bne _080E80D0
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _080E80F4
-_080E80EE:
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080E80F8
-_080E80F4:
- movs r0, 0
- b _080E8104
-_080E80F8:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080E809E
- movs r0, 0x1
-_080E8104:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80E8094
-
- thumb_func_start sub_80E810C
-sub_80E810C: @ 80E810C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r5, 0
- ldr r6, _080E8198
- ldr r0, _080E819C
- adds r0, r6
- mov r9, r0
- movs r1, 0
- mov r8, r1
- adds r7, r6, 0
- adds r7, 0x80
- ldr r2, _080E81A0
- mov r10, r2
-_080E812C:
- mov r0, r9
- ldrh r1, [r0, 0xC]
- adds r0, r6, 0
- movs r2, 0
- bl sub_80EB218
- mov r1, r8
- strb r1, [r0]
- adds r0, 0x1
- mov r2, r9
- ldrh r1, [r2, 0xE]
- movs r2, 0
- bl sub_80EB218
- lsls r4, r5, 2
- mov r1, r10
- adds r0, r4, r1
- ldrh r1, [r0]
- adds r0, r7, 0
- movs r2, 0
- bl sub_80EB218
- mov r2, r8
- strb r2, [r0]
- adds r0, 0x1
- ldr r1, _080E81A4
- adds r4, r1
- ldrh r1, [r4]
- movs r2, 0
- bl sub_80EB218
- adds r0, r6, 0
- adds r3, r7, 0
- adds r4, r5, 0x1
-_080E8170:
- ldrb r2, [r0]
- cmp r2, 0xFF
- beq _080E818A
- ldrb r1, [r3]
- cmp r1, 0xFF
- beq _080E8184
- adds r3, 0x1
- adds r0, 0x1
- cmp r2, r1
- beq _080E8170
-_080E8184:
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _080E81A8
-_080E818A:
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _080E81A8
- lsls r0, r4, 24
- lsrs r0, 24
- b _080E81B2
- .align 2, 0
-_080E8198: .4byte 0x0200ae6e
-_080E819C: .4byte 0xffff6192
-_080E81A0: .4byte gBerryMasterWifePhrases
-_080E81A4: .4byte gBerryMasterWifePhrases + 0x2
-_080E81A8:
- lsls r0, r4, 16
- lsrs r5, r0, 16
- cmp r5, 0x4
- bls _080E812C
- movs r0, 0
-_080E81B2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80E810C
-
- thumb_func_start sub_80E81C0
-sub_80E81C0: @ 80E81C0
- push {r4,lr}
- ldr r0, _080E81EC
- ldr r4, _080E81F0
- ldr r2, _080E81F4
- adds r1, r4, r2
- ldrh r1, [r1]
- movs r2, 0
- bl sub_80EB218
- movs r1, 0
- strb r1, [r0]
- adds r0, 0x1
- ldr r1, _080E81F8
- adds r4, r1
- ldrh r1, [r4]
- movs r2, 0
- bl sub_80EB218
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E81EC: .4byte gStringVar2
-_080E81F0: .4byte 0x02001000
-_080E81F4: .4byte 0x00009c7c
-_080E81F8: .4byte 0x00009c7e
- thumb_func_end sub_80E81C0
-
- thumb_func_start sub_80E81FC
-sub_80E81FC: @ 80E81FC
- push {lr}
- movs r0, 0x5
- bl PlaySE
- bl sub_80E95A4
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0xD
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_80E81FC
-
- thumb_func_start sub_80E8218
-sub_80E8218: @ 80E8218
- push {r4,r5,lr}
- sub sp, 0x40
- mov r1, sp
- ldr r0, _080E8260
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r4,r5}
- stm r1!, {r2,r4,r5}
- ldr r0, [r0]
- str r0, [r1]
- add r4, sp, 0x28
- adds r1, r4, 0
- ldr r0, _080E8264
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- ldm r0!, {r2,r3,r5}
- stm r1!, {r2,r3,r5}
- mov r0, sp
- bl LoadSpriteSheets
- adds r0, r4, 0
- bl LoadSpritePalettes
- bl sub_80E8268
- bl sub_80E8818
- bl sub_80E8A7C
- add sp, 0x40
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8260: .4byte gSpriteSheets_Interview
-_080E8264: .4byte gSpritePalettes_Interview
- thumb_func_end sub_80E8218
-
- thumb_func_start sub_80E8268
-sub_80E8268: @ 80E8268
- push {lr}
- ldr r0, _080E82B0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E82B4
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldr r0, _080E82B8
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0x8A
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x8
- movs r2, 0
- strh r0, [r1, 0x22]
- adds r0, r3, 0
- adds r0, 0x88
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x20]
- strh r2, [r1, 0x2E]
- strh r2, [r1, 0x30]
- adds r0, r3, 0
- adds r0, 0x98
- str r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080E82B0: .4byte gSpriteTemplate_83DBBFC
-_080E82B4: .4byte gSprites
-_080E82B8: .4byte gUnknown_083DB694
- thumb_func_end sub_80E8268
-
- thumb_func_start sub_80E82BC
-sub_80E82BC: @ 80E82BC
- push {r4-r7,lr}
- adds r3, r0, 0
- movs r1, 0x30
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080E838C
- ldr r0, _080E8334
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x87
- ldrb r1, [r1]
- mov r12, r0
- cmp r1, 0
- beq _080E836C
- adds r0, r2, 0
- adds r0, 0x86
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r2, 0
- adds r0, 0x85
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r4, r0, 16
- movs r7, 0
- movs r1, 0
- cmp r7, r4
- bcs _080E8316
- lsls r6, r5, 1
- adds r2, 0x8C
-_080E8300:
- adds r0, r1, r6
- adds r0, r2, r0
- ldrb r0, [r0]
- adds r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- bcc _080E8300
-_080E8316:
- mov r0, r12
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x84
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r5, r0
- bne _080E8338
- movs r0, 0x60
- strh r0, [r3, 0x22]
- lsls r0, r4, 3
- subs r0, r4
- adds r0, 0x3
- b _080E8356
- .align 2, 0
-_080E8334: .4byte gUnknown_083DB694
-_080E8338:
- adds r1, r2, 0
- adds r1, 0x8A
- lsls r0, r5, 1
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 3
- adds r0, 0x8
- strh r0, [r3, 0x22]
- adds r0, r2, 0
- adds r0, 0x88
- ldrh r0, [r0]
- adds r0, r7
- movs r1, 0xB
- muls r1, r4
- adds r0, r1
-_080E8356:
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r3, 0x20]
- movs r1, 0
- ldr r0, _080E8368
- strh r0, [r3, 0x24]
- strh r1, [r3, 0x2E]
- b _080E838C
- .align 2, 0
-_080E8368: .4byte 0x0000fffa
-_080E836C:
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080E838C
- strh r1, [r3, 0x2E]
- ldrh r0, [r3, 0x24]
- adds r0, 0x1
- strh r0, [r3, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _080E838C
- ldr r0, _080E8394
- strh r0, [r3, 0x24]
-_080E838C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8394: .4byte 0x0000fffa
- thumb_func_end sub_80E82BC
-
- thumb_func_start sub_80E8398
-sub_80E8398: @ 80E8398
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1
- beq _080E83D4
- cmp r3, 0x1
- bgt _080E83AC
- cmp r3, 0
- beq _080E83B2
- b _080E8416
-_080E83AC:
- cmp r3, 0x2
- beq _080E83F8
- b _080E8416
-_080E83B2:
- ldr r0, _080E83D0
- ldr r0, [r0]
- adds r0, 0x98
- ldr r1, [r0]
- strh r3, [r1, 0x30]
- ldr r1, [r0]
- strh r3, [r1, 0x24]
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- b _080E8414
- .align 2, 0
-_080E83D0: .4byte gUnknown_083DB694
-_080E83D4:
- ldr r0, _080E83F4
- ldr r1, [r0]
- adds r1, 0x98
- ldr r0, [r1]
- movs r2, 0
- strh r3, [r0, 0x30]
- ldr r0, [r1]
- strh r2, [r0, 0x24]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- b _080E8414
- .align 2, 0
-_080E83F4: .4byte gUnknown_083DB694
-_080E83F8:
- ldr r0, _080E841C
- ldr r1, [r0]
- adds r1, 0x98
- ldr r2, [r1]
- movs r3, 0
- movs r0, 0x1
- strh r0, [r2, 0x30]
- ldr r0, [r1]
- strh r3, [r0, 0x24]
- ldr r1, [r1]
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r2, 0x4
- orrs r0, r2
-_080E8414:
- strb r0, [r1]
-_080E8416:
- pop {r0}
- bx r0
- .align 2, 0
-_080E841C: .4byte gUnknown_083DB694
- thumb_func_end sub_80E8398
-
- thumb_func_start sub_80E8420
-sub_80E8420: @ 80E8420
- push {r4-r7,lr}
- sub sp, 0x18
- mov r1, sp
- ldr r0, _080E84E0
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080E84E4
- ldr r7, [r1]
- adds r5, r7, 0
- adds r5, 0x9C
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r4, _080E84E8
- adds r1, r4
- str r1, [r5]
- ldr r0, _080E84EC
- str r0, [sp, 0x8]
- ldr r0, _080E84F0
- str r0, [sp, 0x14]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x4
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- adds r6, r7, 0
- adds r6, 0xA0
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r6]
- ldr r0, _080E84F4
- str r0, [sp, 0x8]
- ldr r0, _080E84F8
- str r0, [sp, 0x14]
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- adds r2, r7, 0
- adds r2, 0xA4
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- str r1, [r2]
- ldr r0, [r5]
- movs r1, 0
- strh r1, [r0, 0x2E]
- ldr r0, [r6]
- strh r1, [r0, 0x2E]
- ldr r0, [r2]
- strh r1, [r0, 0x2E]
- movs r0, 0x1
- bl IndexOfSpritePaletteTag
- ldr r1, [r5]
- lsls r0, 24
- lsrs r0, 20
- ldr r2, _080E84FC
- adds r0, r2
- strh r0, [r1, 0x34]
- bl sub_80E8534
- adds r1, r7, 0
- adds r1, 0x96
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080E8500
- movs r3, 0xFD
- lsls r3, 6
- adds r0, r3, 0
- strh r0, [r1]
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E84E0: .4byte gSpriteTemplate_83DBCAC
-_080E84E4: .4byte gUnknown_083DB694
-_080E84E8: .4byte gSprites
-_080E84EC: .4byte gSpriteAnimTable_83DBC8C
-_080E84F0: .4byte sub_80E872C
-_080E84F4: .4byte gSpriteAnimTable_83DBC9C
-_080E84F8: .4byte sub_80E8760
-_080E84FC: .4byte 0x00000101
-_080E8500: .4byte REG_BLDCNT
- thumb_func_end sub_80E8420
-
- thumb_func_start sub_80E8504
-sub_80E8504: @ 80E8504
- push {r4,lr}
- ldr r0, _080E8530
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x9C
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0
- adds r0, 0xA0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0
- adds r0, 0xA4
- ldr r0, [r0]
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8530: .4byte gUnknown_083DB694
- thumb_func_end sub_80E8504
-
- thumb_func_start sub_80E8534
-sub_80E8534: @ 80E8534
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r1, _080E8554
- ldr r3, [r1]
- ldr r2, _080E8558
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r4, r1, 0
- cmp r0, 0
- beq _080E8560
- ldr r1, _080E855C
- movs r0, 0x1
- b _080E8598
- .align 2, 0
-_080E8554: .4byte gUnknown_083DB694
-_080E8558: .4byte 0x000001b7
-_080E855C: .4byte gUnknown_020388AC
-_080E8560:
- adds r0, r3, 0
- adds r0, 0x26
- ldrb r2, [r0]
- cmp r2, 0
- bne _080E8578
- ldr r0, _080E8574
- strb r2, [r0]
- adds r7, r0, 0
- b _080E859C
- .align 2, 0
-_080E8574: .4byte gUnknown_020388AC
-_080E8578:
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r3, r1
- ldrh r1, [r0]
- movs r0, 0xC0
- lsls r0, 3
- cmp r1, r0
- bne _080E8594
- ldr r1, _080E8590
- movs r0, 0x2
- b _080E8598
- .align 2, 0
-_080E8590: .4byte gUnknown_020388AC
-_080E8594:
- ldr r1, _080E85F4
- movs r0, 0x3
-_080E8598:
- strb r0, [r1]
- adds r7, r1, 0
-_080E859C:
- ldr r2, [r4]
- adds r4, r2, 0
- adds r4, 0x9C
- ldr r1, [r4]
- ldrb r0, [r7]
- movs r3, 0
- mov r8, r3
- strh r0, [r1, 0x32]
- adds r5, r2, 0
- adds r5, 0xA0
- ldr r1, [r5]
- ldrb r0, [r7]
- strh r0, [r1, 0x32]
- adds r6, r2, 0
- adds r6, 0xA4
- ldr r1, [r6]
- ldrb r0, [r7]
- strh r0, [r1, 0x32]
- ldr r0, [r4]
- ldrb r1, [r7]
- bl StartSpriteAnim
- ldr r0, [r5]
- ldrb r1, [r7]
- bl StartSpriteAnim
- ldr r0, [r6]
- ldrb r1, [r7]
- bl StartSpriteAnim
- ldr r0, [r4]
- movs r1, 0x8
- strh r1, [r0, 0x38]
- ldr r0, [r4]
- strh r1, [r0, 0x3A]
- ldr r0, [r4]
- mov r1, r8
- strh r1, [r0, 0x30]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E85F4: .4byte gUnknown_020388AC
- thumb_func_end sub_80E8534
-
- thumb_func_start sub_80E85F8
-sub_80E85F8: @ 80E85F8
- push {r4-r6,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080E8624
- ldr r1, _080E8620
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- adds r0, 0x8
- strh r0, [r5, 0x38]
- b _080E863A
- .align 2, 0
-_080E8620: .4byte gSineTable
-_080E8624:
- ldr r1, _080E8688
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- lsls r0, 1
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 16
- asrs r1, 21
- movs r0, 0x8
- subs r0, r1
- strh r0, [r5, 0x3A]
-_080E863A:
- ldrh r0, [r5, 0x30]
- adds r0, 0x5
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x30]
- ldr r2, _080E868C
- ldrh r0, [r5, 0x3A]
- lsls r0, 8
- ldrh r1, [r5, 0x38]
- orrs r0, r1
- strh r0, [r2]
- ldr r0, _080E8690
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0x96
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E871A
- bl sub_80E8534
- adds r1, r6, 0
- adds r1, 0x9C
- ldr r0, [r1]
- movs r2, 0x8
- strh r2, [r0, 0x38]
- ldr r0, [r1]
- strh r2, [r0, 0x3A]
- ldr r1, [r1]
- movs r0, 0
- strh r0, [r1, 0x30]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080E86C4
- cmp r0, 0x1
- bgt _080E8694
- cmp r0, 0
- beq _080E869E
- b _080E871A
- .align 2, 0
-_080E8688: .4byte gSineTable
-_080E868C: .4byte REG_BLDALPHA
-_080E8690: .4byte gUnknown_083DB694
-_080E8694:
- cmp r0, 0x2
- beq _080E86D6
- cmp r0, 0x3
- beq _080E86DE
- b _080E871A
-_080E869E:
- ldr r2, _080E86C0
- adds r0, r6, r2
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x58
- muls r0, r1
- adds r0, 0x20
- strh r0, [r5, 0x20]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r6, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r2, 0xC
- b _080E870A
- .align 2, 0
-_080E86C0: .4byte 0x000001a9
-_080E86C4:
- movs r0, 0xD8
- strh r0, [r5, 0x20]
- movs r1, 0xD4
- lsls r1, 1
- adds r0, r6, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- b _080E8714
-_080E86D6:
- movs r0, 0x97
- strh r0, [r5, 0x20]
- movs r0, 0x60
- b _080E8718
-_080E86DE:
- ldr r4, _080E8720
- ldr r2, _080E8724
- adds r0, r6, r2
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xD4
- lsls r0, 1
- adds r3, r6, r0
- movs r2, 0
- ldrsb r2, [r3, r2]
- lsls r0, r2, 3
- subs r0, r2
- adds r1, r0
- adds r1, r4
- movs r0, 0
- ldrsb r0, [r1, r0]
- lsls r0, 3
- adds r0, 0x1F
- strh r0, [r5, 0x20]
- movs r0, 0
- ldrsb r0, [r3, r0]
- ldr r2, _080E8728
-_080E870A:
- adds r1, r6, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- subs r0, r1
-_080E8714:
- lsls r0, 4
- adds r0, 0x60
-_080E8718:
- strh r0, [r5, 0x22]
-_080E871A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8720: .4byte gUnknown_083DBCC4
-_080E8724: .4byte 0x000001a9
-_080E8728: .4byte 0x000001b5
- thumb_func_end sub_80E85F8
-
- thumb_func_start sub_80E872C
-sub_80E872C: @ 80E872C
- push {lr}
- adds r2, r0, 0
- ldr r0, _080E875C
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x96
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E8756
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bne _080E8756
- adds r1, 0x9C
- ldr r0, [r1]
- ldrh r0, [r0, 0x20]
- adds r0, 0x20
- strh r0, [r2, 0x20]
- ldr r0, [r1]
- ldrh r0, [r0, 0x22]
- strh r0, [r2, 0x22]
-_080E8756:
- pop {r0}
- bx r0
- .align 2, 0
-_080E875C: .4byte gUnknown_083DB694
- thumb_func_end sub_80E872C
-
- thumb_func_start sub_80E8760
-sub_80E8760: @ 80E8760
- push {lr}
- adds r2, r0, 0
- ldr r0, _080E8780
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x96
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E879E
- movs r3, 0x32
- ldrsh r0, [r2, r3]
- cmp r0, 0
- beq _080E8784
- cmp r0, 0x2
- beq _080E878E
- b _080E879E
- .align 2, 0
-_080E8780: .4byte gUnknown_083DB694
-_080E8784:
- adds r1, 0x9C
- ldr r0, [r1]
- ldrh r0, [r0, 0x20]
- adds r0, 0x40
- b _080E8796
-_080E878E:
- adds r1, 0x9C
- ldr r0, [r1]
- ldrh r0, [r0, 0x20]
- adds r0, 0x15
-_080E8796:
- strh r0, [r2, 0x20]
- ldr r0, [r1]
- ldrh r0, [r0, 0x22]
- strh r0, [r2, 0x22]
-_080E879E:
- pop {r0}
- bx r0
- thumb_func_end sub_80E8760
-
- thumb_func_start sub_80E87A4
-sub_80E87A4: @ 80E87A4
- push {r4,lr}
- lsls r0, 24
- ldr r1, _080E87C8
- ldr r1, [r1]
- adds r2, r1, 0
- adds r2, 0xA8
- ldr r3, [r2]
- movs r4, 0
- cmp r0, 0
- bne _080E87BA
- movs r4, 0x1
-_080E87BA:
- movs r1, 0
- strh r4, [r3, 0x30]
- ldr r0, [r2]
- strh r1, [r0, 0x24]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E87C8: .4byte gUnknown_083DB694
- thumb_func_end sub_80E87A4
-
- thumb_func_start sub_80E87CC
-sub_80E87CC: @ 80E87CC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r0, _080E8810
- ldr r5, [r0]
- adds r0, r5, 0
- adds r0, 0xA8
- ldr r0, [r0]
- movs r3, 0
- cmp r4, 0
- bne _080E87E6
- movs r3, 0x1
-_080E87E6:
- 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]
- adds r0, r4, 0
- bl sub_80E87A4
- cmp r4, 0
- beq _080E880A
- ldr r0, _080E8814
- adds r1, r5, r0
- movs r0, 0x1
- strb r0, [r1]
-_080E880A:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8810: .4byte gUnknown_083DB694
-_080E8814: .4byte 0x000001b9
- thumb_func_end sub_80E87CC
-
- thumb_func_start sub_80E8818
-sub_80E8818: @ 80E8818
- push {lr}
- ldr r0, _080E8850
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080E8854
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0
- strh r0, [r1, 0x2E]
- strh r0, [r1, 0x30]
- ldr r0, _080E8858
- ldr r0, [r0]
- adds r0, 0xA8
- str r1, [r0]
- ldr r0, _080E885C
- str r0, [r1, 0x1C]
- movs r0, 0
- bl sub_80E87CC
- pop {r0}
- bx r0
- .align 2, 0
-_080E8850: .4byte gSpriteTemplate_83DBBFC
-_080E8854: .4byte gSprites
-_080E8858: .4byte gUnknown_083DB694
-_080E885C: .4byte sub_80E8860
- thumb_func_end sub_80E8818
-
- thumb_func_start sub_80E8860
-sub_80E8860: @ 80E8860
- push {r4,r5,lr}
- adds r2, r0, 0
- movs r0, 0x30
- ldrsh r4, [r2, r0]
- cmp r4, 0
- bne _080E88E4
- ldr r0, _080E88B0
- ldr r3, [r0]
- ldr r1, _080E88B4
- adds r0, r3, r1
- ldrb r1, [r0]
- cmp r1, 0
- beq _080E88C4
- ldr r5, _080E88B8
- adds r0, r3, r5
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0x58
- muls r0, r1
- adds r0, 0x2C
- strh r0, [r2, 0x20]
- ldr r1, _080E88BC
- adds r0, r3, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r5, 0x84
- adds r1, r3, r5
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- subs r0, r1
- lsls r0, 4
- adds r0, 0x60
- strh r0, [r2, 0x22]
- ldr r0, _080E88C0
- strh r0, [r2, 0x24]
- strh r4, [r2, 0x2E]
- b _080E88E4
- .align 2, 0
-_080E88B0: .4byte gUnknown_083DB694
-_080E88B4: .4byte 0x000001b9
-_080E88B8: .4byte 0x000099a5
-_080E88BC: .4byte 0x000099a4
-_080E88C0: .4byte 0x0000fffa
-_080E88C4:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _080E88E4
- strh r1, [r2, 0x2E]
- ldrh r0, [r2, 0x24]
- adds r0, 0x1
- strh r0, [r2, 0x24]
- lsls r0, 16
- cmp r0, 0
- ble _080E88E4
- ldr r0, _080E88EC
- strh r0, [r2, 0x24]
-_080E88E4:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E88EC: .4byte 0x0000fffa
- thumb_func_end sub_80E8860
-
- thumb_func_start sub_80E88F0
-sub_80E88F0: @ 80E88F0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r4, 0
- ldr r0, _080E8950
- mov r8, r0
- ldr r0, [r0]
- movs r6, 0x4
- movs r5, 0
- movs r1, 0xB4
- adds r1, r0
- mov r12, r1
- adds r7, r0, 0
- adds r7, 0xAC
-_080E890C:
- lsls r2, r4, 2
- adds r3, r7, r2
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r6
- strb r0, [r1]
- ldr r0, [r3]
- strh r5, [r0, 0x30]
- add r2, r12
- ldr r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- orrs r0, r6
- strb r0, [r1]
- ldr r0, [r2]
- strh r5, [r0, 0x30]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080E890C
- mov r1, r8
- ldr r0, [r1]
- ldr r1, _080E8954
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8950: .4byte gUnknown_083DB694
-_080E8954: .4byte 0x00009c70
- thumb_func_end sub_80E88F0
-
- thumb_func_start sub_80E8958
-sub_80E8958: @ 80E8958
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- bne _080E89B4
- movs r0, 0x64
- mov r9, r0
- ldr r0, _080E8998
- ldr r2, [r0]
- ldr r3, _080E899C
- adds r1, r2, r3
- ldr r3, _080E89A0
- adds r0, r2, r3
- str r0, [r1]
- adds r0, r2, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E89A8
- movs r1, 0xDB
- lsls r1, 1
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x4
- ldr r3, _080E89A4
- adds r1, r2, r3
- strb r0, [r1]
- b _080E8A00
- .align 2, 0
-_080E8998: .4byte gUnknown_083DB694
-_080E899C: .4byte 0x00009c6c
-_080E89A0: .4byte 0x000001b5
-_080E89A4: .4byte 0x00009c71
-_080E89A8:
- ldr r1, _080E89B0
- adds r0, r2, r1
- strb r7, [r0]
- b _080E8A00
- .align 2, 0
-_080E89B0: .4byte 0x00009c71
-_080E89B4:
- movs r3, 0x78
- mov r9, r3
- ldr r0, _080E8A64
- ldr r2, [r0]
- ldr r0, _080E8A68
- adds r1, r2, r0
- ldr r3, _080E8A6C
- adds r0, r2, r3
- str r0, [r1]
- ldr r1, _080E8A70
- adds r0, r2, r1
- ldrb r0, [r0]
- subs r0, 0x4
- ldr r3, _080E8A74
- adds r1, r2, r3
- strb r0, [r1]
- movs r4, 0
- adds r5, r2, 0
- adds r5, 0xB4
- movs r0, 0x5
- negs r0, r0
- mov r12, r0
- movs r6, 0x1
-_080E89E2:
- lsls r3, r4, 2
- adds r3, r5, r3
- ldr r1, [r3]
- adds r1, 0x3E
- ldrb r2, [r1]
- mov r0, r12
- ands r0, r2
- strb r0, [r1]
- ldr r0, [r3]
- strh r6, [r0, 0x30]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080E89E2
-_080E8A00:
- ldr r0, _080E8A64
- ldr r2, [r0]
- ldr r3, _080E8A74
- adds r1, r2, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bge _080E8A14
- movs r0, 0
- strb r0, [r1]
-_080E8A14:
- movs r4, 0
- adds r6, r2, 0
- adds r6, 0xAC
- movs r0, 0x5
- negs r0, r0
- mov r8, r0
-_080E8A20:
- lsls r2, r4, 2
- adds r2, r6, r2
- ldr r0, [r2]
- mov r1, r9
- strh r1, [r0, 0x20]
- ldr r1, [r2]
- adds r1, 0x3E
- ldrb r0, [r1]
- mov r3, r8
- ands r0, r3
- strb r0, [r1]
- ldr r0, [r2]
- movs r5, 0x1
- strh r5, [r0, 0x30]
- ldr r0, [r2]
- adds r1, r7, 0
- bl StartSpriteAnim
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080E8A20
- ldr r0, _080E8A64
- ldr r0, [r0]
- ldr r1, _080E8A78
- adds r0, r1
- strb r5, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8A64: .4byte gUnknown_083DB694
-_080E8A68: .4byte 0x00009c6c
-_080E8A6C: .4byte 0x00009a29
-_080E8A70: .4byte 0x00009a28
-_080E8A74: .4byte 0x00009c71
-_080E8A78: .4byte 0x00009c70
- thumb_func_end sub_80E8958
-
- thumb_func_start sub_80E8A7C
-sub_80E8A7C: @ 80E8A7C
- push {r4-r7,lr}
- sub sp, 0x18
- mov r1, sp
- ldr r0, _080E8B68
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- movs r5, 0
-_080E8A8E:
- lsls r2, r5, 3
- adds r2, r5
- lsls r2, 19
- movs r0, 0xA8
- lsls r0, 15
- adds r2, r0
- asrs r2, 16
- mov r0, sp
- movs r1, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080E8B6C
- ldr r2, [r0]
- lsls r0, r5, 2
- adds r2, 0xAC
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E8B70
- adds r0, r1
- str r0, [r2]
- strh r5, [r0, 0x2E]
- ldr r3, [r2]
- adds r3, 0x3F
- movs r0, 0x1
- adds r2, r5, 0
- ands r2, r0
- lsls r2, 1
- ldrb r0, [r3]
- movs r4, 0x3
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080E8A8E
- mov r0, sp
- movs r1, 0x3
- strh r1, [r0]
- ldr r0, _080E8B74
- str r0, [sp, 0x8]
- movs r5, 0
- movs r7, 0x3F
- movs r6, 0x40
-_080E8AF6:
- lsls r4, r5, 2
- adds r1, r4, r5
- lsls r1, 19
- movs r0, 0x8E
- lsls r0, 16
- adds r1, r0
- asrs r1, 16
- mov r0, sp
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080E8B6C
- ldr r2, [r0]
- adds r2, 0xB4
- adds r2, r4
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E8B70
- adds r0, r1
- str r0, [r2]
- strh r5, [r0, 0x2E]
- ldr r3, [r2]
- ldrb r1, [r3, 0x1]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r6
- strb r0, [r3, 0x1]
- ldr r3, [r2]
- ldrb r1, [r3, 0x3]
- adds r0, r7, 0
- ands r0, r1
- orrs r0, r6
- strb r0, [r3, 0x3]
- ldr r0, [r2]
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080E8AF6
- movs r0, 0
- bl sub_80E8958
- bl sub_80E88F0
- add sp, 0x18
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8B68: .4byte gSpriteTemplate_83DBD18
-_080E8B6C: .4byte gUnknown_083DB694
-_080E8B70: .4byte gSprites
-_080E8B74: .4byte gUnknown_083DBD10
- thumb_func_end sub_80E8A7C
-
- thumb_func_start sub_80E8B78
-sub_80E8B78: @ 80E8B78
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _080E8BB0
- ldr r1, [r0]
- ldr r2, _080E8BB4
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E8BE8
- movs r2, 0x30
- ldrsh r0, [r3, r2]
- cmp r0, 0
- beq _080E8BE8
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bne _080E8BBC
- movs r4, 0
- ldr r2, _080E8BB8
- adds r0, r1, r2
- ldr r0, [r0]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bne _080E8BD6
- b _080E8BD4
- .align 2, 0
-_080E8BB0: .4byte gUnknown_083DB694
-_080E8BB4: .4byte 0x00009c70
-_080E8BB8: .4byte 0x00009c6c
-_080E8BBC:
- movs r4, 0
- ldr r2, _080E8BF0
- adds r0, r1, r2
- ldr r0, [r0]
- adds r2, 0x5
- adds r1, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bne _080E8BD6
-_080E8BD4:
- movs r4, 0x1
-_080E8BD6:
- adds r2, r3, 0
- adds r2, 0x3E
- lsls r3, r4, 2
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r3
- strb r0, [r2]
-_080E8BE8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8BF0: .4byte 0x00009c6c
- thumb_func_end sub_80E8B78
-
- thumb_func_start sub_80E8BF4
-sub_80E8BF4: @ 80E8BF4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r2, r1, 24
- ldr r0, _080E8C28
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- ldr r0, _080E8C2C
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- cmp r2, 0x2
- beq _080E8C20
- cmp r2, 0x5
- beq _080E8C30
-_080E8C20:
- movs r4, 0x40
- movs r5, 0x28
- b _080E8C34
- .align 2, 0
-_080E8C28: .4byte gUnknown_083DBD30
-_080E8C2C: .4byte gUnknown_083DBD38
-_080E8C30:
- movs r4, 0x24
- movs r5, 0x30
-_080E8C34:
- cmp r3, 0
- beq _080E8C3C
- cmp r3, 0x1
- beq _080E8C40
-_080E8C3C:
- movs r0, 0x43
- b _080E8C42
-_080E8C40:
- movs r0, 0x44
-_080E8C42:
- mov r8, r0
- add r0, sp, 0x4
- bl LoadCompressedObjectPic
- add r0, sp, 0xC
- bl LoadSpritePalette
- ldr r0, _080E8CDC
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl CreateSprite
- ldr r0, _080E8CE0
- ldrb r0, [r0, 0x8]
- movs r1, 0x69
- cmp r0, 0
- bne _080E8C68
- movs r1, 0x64
-_080E8C68:
- ldr r7, _080E8CE4
- adds r2, r4, 0
- subs r2, 0xC
- movs r6, 0
- str r6, [sp]
- adds r0, r1, 0
- adds r1, r7, 0
- adds r3, r5, 0
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080E8C9E
- ldr r1, _080E8CE8
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x3
- bl StartSpriteAnim
-_080E8C9E:
- adds r2, r4, 0
- adds r2, 0xC
- str r6, [sp]
- mov r0, r8
- adds r1, r7, 0
- adds r3, r5, 0
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x40
- beq _080E8CD0
- ldr r1, _080E8CE8
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0x2
- bl StartSpriteAnim
-_080E8CD0:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8CDC: .4byte gSpriteTemplate_83DBD48
-_080E8CE0: .4byte gSaveBlock2
-_080E8CE4: .4byte SpriteCallbackDummy
-_080E8CE8: .4byte gSprites
- thumb_func_end sub_80E8BF4
-
- thumb_func_start sub_80E8CEC
-sub_80E8CEC: @ 80E8CEC
- push {lr}
- ldr r0, _080E8D24
- bl LoadCompressedObjectPic
- ldr r0, _080E8D28
- bl LoadSpritePalette
- ldr r0, _080E8D2C
- movs r1, 0xE0
- movs r2, 0x58
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080E8D3C
- ldr r0, _080E8D30
- ldr r2, [r0]
- ldr r0, _080E8D34
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080E8D38
- adds r0, r1
- str r0, [r2]
- b _080E8D48
- .align 2, 0
-_080E8D24: .4byte gUnknown_083DBD60
-_080E8D28: .4byte gUnknown_083DBD68
-_080E8D2C: .4byte gSpriteTemplate_83DBDE4
-_080E8D30: .4byte gUnknown_083DB694
-_080E8D34: .4byte 0x00009c74
-_080E8D38: .4byte gSprites
-_080E8D3C:
- ldr r0, _080E8D4C
- ldr r0, [r0]
- ldr r1, _080E8D50
- adds r0, r1
- movs r1, 0
- str r1, [r0]
-_080E8D48:
- pop {r0}
- bx r0
- .align 2, 0
-_080E8D4C: .4byte gUnknown_083DB694
-_080E8D50: .4byte 0x00009c74
- thumb_func_end sub_80E8CEC
-
- thumb_func_start sub_80E8D54
-sub_80E8D54: @ 80E8D54
- push {lr}
- ldr r0, _080E8D78
- ldr r2, [r0]
- ldr r1, _080E8D7C
- adds r0, r2, r1
- ldr r1, [r0]
- cmp r1, 0
- beq _080E8D88
- adds r0, r2, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E8D80
- adds r0, r1, 0
- movs r1, 0x1
- bl StartSpriteAnim
- b _080E8D88
- .align 2, 0
-_080E8D78: .4byte gUnknown_083DB694
-_080E8D7C: .4byte 0x00009c74
-_080E8D80:
- adds r0, r1, 0
- movs r1, 0x2
- bl StartSpriteAnim
-_080E8D88:
- pop {r0}
- bx r0
- thumb_func_end sub_80E8D54
-
- thumb_func_start sub_80E8D8C
-sub_80E8D8C: @ 80E8D8C
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _080E8DB8
- ldr r2, [r0]
- ldr r1, _080E8DBC
- adds r0, r2, r1
- ldr r1, [r0]
- cmp r1, 0
- beq _080E8DD2
- cmp r3, 0
- beq _080E8DCA
- adds r0, r2, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E8DC0
- adds r0, r1, 0
- movs r1, 0x3
- bl StartSpriteAnim
- b _080E8DD2
- .align 2, 0
-_080E8DB8: .4byte gUnknown_083DB694
-_080E8DBC: .4byte 0x00009c74
-_080E8DC0:
- adds r0, r1, 0
- movs r1, 0x4
- bl StartSpriteAnim
- b _080E8DD2
-_080E8DCA:
- adds r0, r1, 0
- movs r1, 0x5
- bl StartSpriteAnim
-_080E8DD2:
- pop {r0}
- bx r0
- thumb_func_end sub_80E8D8C
-
- thumb_func_start sub_80E8DD8
-sub_80E8DD8: @ 80E8DD8
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- sub sp, 0x8
- ldr r0, _080E8F2C
- movs r6, 0
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- adds r0, 0x4
- strh r6, [r0]
- subs r0, 0x2
- strh r6, [r0]
- adds r0, 0x4
- strh r6, [r0]
- adds r0, 0x2
- strh r6, [r0]
- ldr r1, _080E8F30
- movs r2, 0x8B
- lsls r2, 8
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080E8F34
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080E8F38
- ldr r1, _080E8F3C
- ldr r1, [r1]
- mov r8, r1
- movs r4, 0xE4
- lsls r4, 1
- add r4, r8
- movs r5, 0xA0
- lsls r5, 2
- adds r1, r4, 0
- adds r2, r5, 0
- bl CpuSet
- ldr r0, _080E8F40
- movs r1, 0xD9
- lsls r1, 3
- add r1, r8
- bl LZ77UnCompWram
- ldr r0, _080E8F44
- ldr r1, _080E8F48
- bl LZ77UnCompVram
- ldr r1, _080E8F4C
- adds r0, r4, 0
- adds r2, r5, 0
- bl CpuSet
- ldr r0, _080E8F50
- movs r1, 0x40
- movs r2, 0x40
- bl LoadPalette
- ldr r1, _080E8F54
- ldr r2, _080E8F58
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080E8F5C
- movs r5, 0x80
- lsls r5, 4
- mov r0, sp
- strh r6, [r0]
- ldr r4, _080E8F60
- str r0, [r4]
- str r1, [r4, 0x4]
- lsrs r0, r5, 1
- movs r2, 0x81
- lsls r2, 24
- orrs r0, r2
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _080E8F64
- ldr r2, _080E8F68
- str r0, [r4]
- str r2, [r4, 0x4]
- ldr r0, _080E8F6C
- str r0, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _080E8F70
- bl LZ77UnCompVram
- ldr r0, _080E8F74
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080E8F78
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _080E8F7C
- ldr r2, _080E8F80
- adds r0, r2, 0
- strh r0, [r1]
- ldr r1, _080E8F84
- movs r0, 0
- mov r9, r0
- str r0, [sp, 0x4]
- add r0, sp, 0x4
- str r0, [r4]
- str r1, [r4, 0x4]
- lsrs r5, 2
- movs r0, 0x85
- lsls r0, 24
- orrs r5, r0
- str r5, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _080E8F88
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080E8F8C
- adds r1, r0, 0
- adds r1, 0x7E
- ldr r3, _080E8F90
- strh r3, [r1]
- subs r1, 0x1C
- ldr r2, _080E8F94
- strh r2, [r1]
- adds r0, 0x70
- ldr r1, _080E8F98
- strh r1, [r0]
- ldr r0, _080E8F9C
- adds r4, r0, 0
- adds r4, 0x7E
- strh r3, [r4]
- adds r3, r0, 0
- adds r3, 0x62
- strh r2, [r3]
- adds r0, 0x70
- strh r1, [r0]
- movs r1, 0xBC
- add r8, r1
- mov r2, r8
- strb r6, [r2]
- bl sub_80E8FA4
- bl sub_80E948C
- movs r0, 0xA
- bl sub_80E9198
- movs r0, 0
- bl sub_80E91D4
- bl sub_80E95A4
- ldr r0, _080E8FA0
- mov r1, r9
- strh r1, [r0]
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E8F2C: .4byte REG_BG0HOFS
-_080E8F30: .4byte REG_BG0CNT
-_080E8F34: .4byte 0x00000d09
-_080E8F38: .4byte gUnknown_08E945D0
-_080E8F3C: .4byte gUnknown_083DB694
-_080E8F40: .4byte gUnknown_08E953D0
-_080E8F44: .4byte gMenuWordGroupFrame_Gfx
-_080E8F48: .4byte 0x06008000
-_080E8F4C: .4byte 0x06006800
-_080E8F50: .4byte gMenuWordGroupFrame1_Pal
-_080E8F54: .4byte REG_BG2CNT
-_080E8F58: .4byte 0x00000e02
-_080E8F5C: .4byte 0x06007000
-_080E8F60: .4byte 0x040000d4
-_080E8F64: .4byte gUnknown_08E9AB00
-_080E8F68: .4byte 0x06006000
-_080E8F6C: .4byte 0x80000020
-_080E8F70: .4byte gUnknown_08E9AB60
-_080E8F74: .4byte gUnknown_08E9AB40
-_080E8F78: .4byte gUnknown_083DBDFC
-_080E8F7C: .4byte REG_BG3CNT
-_080E8F80: .4byte 0x00000f0f
-_080E8F84: .4byte 0x06007800
-_080E8F88: .4byte gUnknown_083DBE40
-_080E8F8C: .4byte gPlttBufferUnfaded
-_080E8F90: .4byte 0x00007fff
-_080E8F94: .4byte 0x00006f5b
-_080E8F98: .4byte 0x0000739c
-_080E8F9C: .4byte gPlttBufferFaded
-_080E8FA0: .4byte REG_BLDCNT
- thumb_func_end sub_80E8DD8
-
- thumb_func_start sub_80E8FA4
-sub_80E8FA4: @ 80E8FA4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x2C
- movs r0, 0
- mov r9, r0
- mov r1, sp
- adds r1, 0x18
- str r1, [sp, 0x24]
- add r2, sp, 0xC
- mov r12, r2
-_080E8FBE:
- mov r3, r9
- lsls r1, r3, 1
- ldr r4, _080E90F4
- adds r0, r1, r4
- ldrh r2, [r0]
- movs r0, 0x1F
- ands r0, r2
- lsls r0, 8
- str r0, [sp]
- ldr r5, _080E90F8
- adds r1, r5
- ldrh r1, [r1]
- movs r0, 0x1F
- ands r0, r1
- lsls r0, 8
- str r0, [sp, 0xC]
- lsls r2, 16
- lsrs r0, r2, 21
- movs r3, 0x1F
- ands r0, r3
- lsls r0, 8
- str r0, [sp, 0x4]
- lsls r1, 16
- lsrs r0, r1, 21
- ands r0, r3
- lsls r0, 8
- mov r4, r12
- str r0, [r4, 0x4]
- lsrs r2, 26
- ands r2, r3
- lsls r2, 8
- str r2, [sp, 0x8]
- lsrs r1, 26
- ands r1, r3
- lsls r1, 8
- str r1, [r4, 0x8]
- movs r3, 0
- mov r5, r9
- lsls r5, 3
- mov r10, r5
- mov r0, r9
- adds r0, 0x1
- str r0, [sp, 0x28]
- ldr r4, [sp, 0x24]
-_080E9016:
- lsls r0, r3, 2
- adds r2, r4, r0
- mov r5, r12
- adds r1, r5, r0
- add r0, sp
- ldr r1, [r1]
- ldr r0, [r0]
- subs r0, r1, r0
- cmp r0, 0
- bge _080E902C
- adds r0, 0x7
-_080E902C:
- asrs r0, 3
- str r0, [r2]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x2
- bls _080E9016
- movs r4, 0
- ldr r0, _080E90FC
- ldr r1, [r0]
- mov r0, r10
- add r0, r9
- lsls r0, 1
- mov r8, r0
- movs r5, 0x1F
- ldr r6, [sp, 0x24]
- ldr r0, _080E9100
- adds r7, r1, r0
-_080E9050:
- lsls r2, r4, 1
- add r2, r8
- adds r2, r7, r2
- ldr r1, [sp, 0x8]
- asrs r1, 8
- ands r1, r5
- lsls r1, 10
- ldr r0, [sp, 0x4]
- asrs r0, 8
- ands r0, r5
- lsls r0, 5
- orrs r1, r0
- ldr r0, [sp]
- asrs r0, 8
- ands r0, r5
- orrs r1, r0
- strh r1, [r2]
- movs r3, 0
- adds r4, 0x1
-_080E9076:
- lsls r0, r3, 2
- mov r1, sp
- adds r2, r1, r0
- adds r0, r6, r0
- ldr r1, [r2]
- ldr r0, [r0]
- adds r1, r0
- str r1, [r2]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x2
- bls _080E9076
- lsls r0, r4, 16
- lsrs r4, r0, 16
- cmp r4, 0x7
- bls _080E9050
- ldr r2, _080E90FC
- ldr r3, [r2]
- mov r0, r10
- add r0, r9
- adds r0, r4
- lsls r0, 1
- ldr r4, _080E9100
- adds r2, r3, r4
- adds r2, r0
- mov r5, r12
- ldr r1, [r5, 0x8]
- asrs r1, 8
- movs r0, 0x1F
- ands r1, r0
- lsls r1, 10
- ldr r0, [r5, 0x4]
- asrs r0, 8
- movs r4, 0x1F
- ands r0, r4
- lsls r0, 5
- orrs r1, r0
- ldr r0, [sp, 0xC]
- asrs r0, 8
- ands r0, r4
- orrs r1, r0
- strh r1, [r2]
- ldr r5, [sp, 0x28]
- lsls r0, r5, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0x2
- bhi _080E90DA
- b _080E8FBE
-_080E90DA:
- ldr r0, _080E9104
- adds r1, r3, r0
- movs r0, 0
- strb r0, [r1]
- 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
-_080E90F4: .4byte gMenuWordGroupFrame2_Pal + 0x2
-_080E90F8: .4byte gMenuWordGroupFrame2_Pal + 0x8
-_080E90FC: .4byte gUnknown_083DB694
-_080E9100: .4byte 0x00009c34
-_080E9104: .4byte 0x00009c32
- thumb_func_end sub_80E8FA4
-
- thumb_func_start sub_80E9108
-sub_80E9108: @ 80E9108
- push {r4-r7,lr}
- lsls r0, 24
- ldr r1, _080E9164
- ldr r2, [r1]
- ldr r3, _080E9168
- adds r1, r2, r3
- lsrs r0, 24
- ldrb r3, [r1]
- adds r0, r3
- strb r0, [r1]
- movs r4, 0
- ldr r0, _080E916C
- mov r12, r0
- adds r6, r1, 0
- ldr r3, _080E9170
- adds r5, r2, r3
- ldr r7, _080E9174
-_080E912A:
- adds r2, r4, 0
- adds r2, 0x51
- lsls r2, 1
- mov r0, r12
- adds r3, r2, r0
- ldrb r0, [r6]
- lsls r0, 1
- lsls r1, r4, 3
- adds r1, r4
- lsls r1, 1
- adds r0, r1
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r3]
- adds r2, r7
- ldrb r0, [r6]
- lsls r0, 1
- adds r0, r1
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x2
- bls _080E912A
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9164: .4byte gUnknown_083DB694
-_080E9168: .4byte 0x00009c32
-_080E916C: .4byte gPlttBufferUnfaded
-_080E9170: .4byte 0x00009c34
-_080E9174: .4byte gPlttBufferFaded
- thumb_func_end sub_80E9108
-
- thumb_func_start sub_80E9178
-sub_80E9178: @ 80E9178
- push {lr}
- ldr r0, _080E9190
- ldr r0, [r0]
- ldr r1, _080E9194
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- movs r0, 0
- bl sub_80E9108
- pop {r0}
- bx r0
- .align 2, 0
-_080E9190: .4byte gUnknown_083DB694
-_080E9194: .4byte 0x00009c32
- thumb_func_end sub_80E9178
-
- thumb_func_start sub_80E9198
-sub_80E9198: @ 80E9198
- ldr r1, _080E91A0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080E91A0: .4byte gUnknown_03000740
- thumb_func_end sub_80E9198
-
- thumb_func_start sub_80E91A4
-sub_80E91A4: @ 80E91A4
- ldr r0, _080E91AC
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080E91AC: .4byte gUnknown_03000740
- thumb_func_end sub_80E91A4
-
- thumb_func_start sub_80E91B0
-sub_80E91B0: @ 80E91B0
- push {lr}
- sub sp, 0x8
- lsls r2, 24
- lsls r1, 27
- lsrs r1, 24
- lsrs r2, 21
- lsls r3, 27
- lsrs r3, 24
- str r3, [sp]
- movs r3, 0x1
- str r3, [sp, 0x4]
- movs r3, 0xB0
- bl sub_8072AB0
- add sp, 0x8
- pop {r0}
- bx r0
- thumb_func_end sub_80E91B0
-
- thumb_func_start sub_80E91D4
-sub_80E91D4: @ 80E91D4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r0, _080E91FC
- bl BasicInitMenuWindow
- cmp r4, 0xA
- bne _080E9200
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0x1A
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0xA
- bl sub_80E9198
- b _080E935C
- .align 2, 0
-_080E91FC: .4byte gWindowConfig_81E6DA8
-_080E9200:
- bl sub_80E91A4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xA
- bne _080E9218
- movs r0, 0x3
- movs r1, 0xE
- movs r2, 0x1A
- movs r3, 0x13
- bl MenuDrawTextWindow
-_080E9218:
- adds r0, r4, 0
- bl sub_80E9198
- cmp r4, 0x9
- bls _080E9224
- b _080E935C
-_080E9224:
- lsls r0, r4, 2
- ldr r1, _080E9230
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E9230: .4byte _080E9234
- .align 2, 0
-_080E9234:
- .4byte _080E925C
- .4byte _080E9284
- .4byte _080E92AC
- .4byte _080E92C4
- .4byte _080E92F0
- .4byte _080E9308
- .4byte _080E9310
- .4byte _080E9318
- .4byte _080E933C
- .4byte _080E9350
-_080E925C:
- ldr r0, _080E9278
- ldr r4, [r0]
- ldr r1, _080E927C
- adds r0, r4, r1
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E9280
- adds r4, r0
- adds r0, r4, 0
- b _080E9326
- .align 2, 0
-_080E9278: .4byte gUnknown_083DB694
-_080E927C: .4byte 0x00009c80
-_080E9280: .4byte 0x00009cc9
-_080E9284:
- ldr r0, _080E92A0
- ldr r4, [r0]
- ldr r1, _080E92A4
- adds r0, r4, r1
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E92A8
- adds r4, r0
- adds r0, r4, 0
- b _080E9326
- .align 2, 0
-_080E92A0: .4byte gUnknown_083DB694
-_080E92A4: .4byte 0x00009d12
-_080E92A8: .4byte 0x00009d5b
-_080E92AC:
- ldr r0, _080E92BC
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E92C0
- b _080E9326
- .align 2, 0
-_080E92BC: .4byte gOtherText_TextDeletedConfirmPage1
-_080E92C0: .4byte gOtherText_TextDeletedConfirmPage2
-_080E92C4:
- ldr r0, _080E92D8
- ldr r0, [r0]
- ldrb r0, [r0, 0x8]
- cmp r0, 0x4
- beq _080E92E0
- cmp r0, 0x9
- bne _080E92E8
- ldr r0, _080E92DC
- b _080E933E
- .align 2, 0
-_080E92D8: .4byte gUnknown_083DB694
-_080E92DC: .4byte gOtherText_QuitGivingInfo
-_080E92E0:
- ldr r0, _080E92E4
- b _080E933E
- .align 2, 0
-_080E92E4: .4byte gOtherText_StopGivingMail
-_080E92E8:
- ldr r0, _080E92EC
- b _080E933E
- .align 2, 0
-_080E92EC: .4byte gOtherText_QuitEditing
-_080E92F0:
- ldr r0, _080E9300
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E9304
- b _080E9326
- .align 2, 0
-_080E9300: .4byte gOtherText_EditedTextNoSavePage1
-_080E9304: .4byte gOtherText_EditedTextNoSavePage2
-_080E9308:
- ldr r0, _080E930C
- b _080E933E
- .align 2, 0
-_080E930C: .4byte gOtherText_EnterAPhraseOrWord
-_080E9310:
- ldr r0, _080E9314
- b _080E933E
- .align 2, 0
-_080E9314: .4byte gOtherText_TextNoDelete
-_080E9318:
- ldr r0, _080E9334
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x2
- bl sub_80E91B0
- ldr r0, _080E9338
-_080E9326:
- movs r1, 0x4
- movs r2, 0x11
- movs r3, 0x2
- bl sub_80E91B0
- b _080E935C
- .align 2, 0
-_080E9334: .4byte gOtherText_OnlyOnePhrase
-_080E9338: .4byte gOtherText_OriginalSongRestored
-_080E933C:
- ldr r0, _080E934C
-_080E933E:
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x4
- bl sub_80E91B0
- b _080E935C
- .align 2, 0
-_080E934C: .4byte gOtherText_TrendyAlready
-_080E9350:
- ldr r0, _080E9364
- movs r1, 0x4
- movs r2, 0xF
- movs r3, 0x4
- bl sub_80E91B0
-_080E935C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9364: .4byte gOtherText_CombineTwoPhrases
- thumb_func_end sub_80E91D4
-
- thumb_func_start sub_80E9368
-sub_80E9368: @ 80E9368
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xD
- bhi _080E93F8
- lsls r0, 2
- ldr r1, _080E937C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E937C: .4byte _080E9380
- .align 2, 0
-_080E9380:
- .4byte _080E93B8
- .4byte _080E93C0
- .4byte _080E93C8
- .4byte _080E93D0
- .4byte _080E93F8
- .4byte _080E93E8
- .4byte _080E93D8
- .4byte _080E93E8
- .4byte _080E93E8
- .4byte _080E93E0
- .4byte _080E93E8
- .4byte _080E93E8
- .4byte _080E93E8
- .4byte _080E93F0
-_080E93B8:
- ldr r4, _080E93BC
- b _080E93FA
- .align 2, 0
-_080E93BC: .4byte gOtherText_Profile
-_080E93C0:
- ldr r4, _080E93C4
- b _080E93FA
- .align 2, 0
-_080E93C4: .4byte gOtherText_AtBattleStart
-_080E93C8:
- ldr r4, _080E93CC
- b _080E93FA
- .align 2, 0
-_080E93CC: .4byte gOtherText_UponWinningBattle
-_080E93D0:
- ldr r4, _080E93D4
- b _080E93FA
- .align 2, 0
-_080E93D4: .4byte gOtherText_UponLosingBattle
-_080E93D8:
- ldr r4, _080E93DC
- b _080E93FA
- .align 2, 0
-_080E93DC: .4byte gOtherText_TheBardsSong
-_080E93E0:
- ldr r4, _080E93E4
- b _080E93FA
- .align 2, 0
-_080E93E4: .4byte gOtherText_WhatsHipHappening
-_080E93E8:
- ldr r4, _080E93EC
- b _080E93FA
- .align 2, 0
-_080E93EC: .4byte gOtherText_Interview
-_080E93F0:
- ldr r4, _080E93F4
- b _080E93FA
- .align 2, 0
-_080E93F4: .4byte gOtherText_GoodSaying
-_080E93F8:
- movs r4, 0
-_080E93FA:
- ldr r0, _080E943C
- bl BasicInitMenuWindow
- ldr r0, _080E9440
- ldr r2, [r0]
- ldr r0, _080E9444
- adds r5, r2, r0
- movs r3, 0xFC
- strb r3, [r5]
- adds r0, 0x1
- adds r1, r2, r0
- movs r0, 0x5
- strb r0, [r1]
- ldr r0, _080E9448
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- cmp r4, 0
- beq _080E9450
- ldr r1, _080E944C
- adds r0, r2, r1
- adds r1, r4, 0
- movs r2, 0xF0
- movs r3, 0x2
- bl sub_8072C74
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl MenuPrint
- b _080E9476
- .align 2, 0
-_080E943C: .4byte gWindowConfig_81E6D8C
-_080E9440: .4byte gUnknown_083DB694
-_080E9444: .4byte 0x00009f8e
-_080E9448: .4byte 0x00009f90
-_080E944C: .4byte 0x00009f91
-_080E9450:
- ldr r0, _080E9484
- adds r1, r2, r0
- strb r3, [r1]
- movs r0, 0x11
- strb r0, [r1, 0x1]
- movs r0, 0x10
- strb r0, [r1, 0x2]
- movs r0, 0xFF
- strb r0, [r1, 0x3]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0
- bl MenuPrint
- adds r0, r5, 0
- movs r1, 0x1C
- movs r2, 0
- bl MenuPrint
-_080E9476:
- ldr r0, _080E9488
- bl BasicInitMenuWindow
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9484: .4byte 0x00009f91
-_080E9488: .4byte gWindowConfig_81E6DA8
- thumb_func_end sub_80E9368
-
- thumb_func_start sub_80E948C
-sub_80E948C: @ 80E948C
- push {lr}
- sub sp, 0x10
- ldr r0, _080E94A8
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0x5
- bls _080E949C
- b _080E9594
-_080E949C:
- lsls r0, 2
- ldr r1, _080E94AC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E94A8: .4byte gUnknown_083DB694
-_080E94AC: .4byte _080E94B0
- .align 2, 0
-_080E94B0:
- .4byte _080E9508
- .4byte _080E9530
- .4byte _080E9554
- .4byte _080E9578
- .4byte _080E94C8
- .4byte _080E94E8
-_080E94C8:
- ldr r0, _080E94E0
- ldr r3, _080E94E4
- movs r1, 0
- str r1, [sp]
- movs r1, 0x1A
- str r1, [sp, 0x4]
- movs r1, 0x18
- str r1, [sp, 0x8]
- movs r1, 0x6
- str r1, [sp, 0xC]
- movs r1, 0x3
- b _080E9568
- .align 2, 0
-_080E94E0: .4byte 0x06006800
-_080E94E4: .4byte gUnknown_08E94AD0
-_080E94E8:
- ldr r0, _080E9500
- ldr r3, _080E9504
- movs r1, 0
- str r1, [sp]
- movs r1, 0x12
- str r1, [sp, 0x4]
- movs r1, 0xD
- str r1, [sp, 0x8]
- movs r1, 0x8
- str r1, [sp, 0xC]
- movs r1, 0xE
- b _080E951E
- .align 2, 0
-_080E9500: .4byte 0x06006800
-_080E9504: .4byte gUnknown_08E94AD0
-_080E9508:
- ldr r0, _080E9528
- ldr r3, _080E952C
- movs r1, 0
- str r1, [sp]
- movs r1, 0xA
- str r1, [sp, 0x4]
- movs r1, 0x1A
- str r1, [sp, 0x8]
- movs r1, 0x8
- str r1, [sp, 0xC]
- movs r1, 0x2
-_080E951E:
- movs r2, 0x2
- bl sub_809D104
- b _080E9594
- .align 2, 0
-_080E9528: .4byte 0x06006800
-_080E952C: .4byte gUnknown_08E94AD0
-_080E9530:
- ldr r0, _080E954C
- ldr r3, _080E9550
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0x1A
- str r1, [sp, 0x8]
- movs r1, 0xA
- str r1, [sp, 0xC]
- movs r1, 0x2
- movs r2, 0
- bl sub_809D104
- b _080E9594
- .align 2, 0
-_080E954C: .4byte 0x06006800
-_080E9550: .4byte gUnknown_08E94AD0
-_080E9554:
- ldr r0, _080E9570
- ldr r3, _080E9574
- movs r2, 0xD
- str r2, [sp]
- movs r1, 0x12
- str r1, [sp, 0x4]
- str r2, [sp, 0x8]
- movs r1, 0x4
- str r1, [sp, 0xC]
- movs r1, 0xE
-_080E9568:
- movs r2, 0x3
- bl sub_809D104
- b _080E9594
- .align 2, 0
-_080E9570: .4byte 0x06006800
-_080E9574: .4byte gUnknown_08E94AD0
-_080E9578:
- ldr r0, _080E959C
- ldr r3, _080E95A0
- movs r1, 0
- str r1, [sp]
- movs r1, 0x20
- str r1, [sp, 0x4]
- movs r1, 0x18
- str r1, [sp, 0x8]
- movs r1, 0x4
- str r1, [sp, 0xC]
- movs r1, 0x3
- movs r2, 0x2
- bl sub_809D104
-_080E9594:
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_080E959C: .4byte 0x06006800
-_080E95A0: .4byte gUnknown_08E94AD0
- thumb_func_end sub_80E948C
-
- thumb_func_start sub_80E95A4
-sub_80E95A4: @ 80E95A4
- push {lr}
- ldr r0, _080E95C0
- bl BasicInitMenuWindow
- ldr r0, _080E95C4
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0x5
- bhi _080E9612
- lsls r0, 2
- ldr r1, _080E95C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E95C0: .4byte gWindowConfig_81E6D8C
-_080E95C4: .4byte gUnknown_083DB694
-_080E95C8: .4byte _080E95CC
- .align 2, 0
-_080E95CC:
- .4byte _080E95F2
- .4byte _080E95F6
- .4byte _080E9600
- .4byte _080E960A
- .4byte _080E95E4
- .4byte _080E95EE
-_080E95E4:
- movs r0, 0x4
- movs r1, 0x6
- bl sub_80E9620
- b _080E9612
-_080E95EE:
- movs r0, 0x2
- b _080E9602
-_080E95F2:
- movs r0, 0x3
- b _080E95F8
-_080E95F6:
- movs r0, 0
-_080E95F8:
- movs r1, 0x5
- bl sub_80E9620
- b _080E9612
-_080E9600:
- movs r0, 0x4
-_080E9602:
- movs r1, 0x11
- bl sub_80E9620
- b _080E9612
-_080E960A:
- movs r0, 0x3
- movs r1, 0x6
- bl sub_80E9620
-_080E9612:
- ldr r0, _080E961C
- bl BasicInitMenuWindow
- pop {r0}
- bx r0
- .align 2, 0
-_080E961C: .4byte gWindowConfig_81E6DA8
- thumb_func_end sub_80E95A4
-
- thumb_func_start sub_80E9620
-sub_80E9620: @ 80E9620
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x14]
- movs r1, 0
- mov r10, r1
- lsrs r7, r0, 16
- mov r9, r1
- ldr r0, _080E9644
- ldr r0, [r0]
- b _080E971A
- .align 2, 0
-_080E9644: .4byte gUnknown_083DB694
-_080E9648:
- ldr r6, [sp, 0x14]
- movs r2, 0
- mov r8, r2
- adds r0, r7, 0x2
- str r0, [sp, 0x1C]
- mov r1, r9
- adds r1, 0x1
- str r1, [sp, 0x18]
- b _080E96E4
-_080E965A:
- mov r2, r10
- lsls r0, r2, 1
- adds r1, r5, 0
- adds r1, 0xC
- adds r1, r0
- ldrh r0, [r1]
- ldr r2, _080E9690
- cmp r0, r2
- bne _080E969C
- movs r0, 0
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r1, 0x9
- str r1, [sp, 0x8]
- movs r0, 0x2
- str r0, [sp, 0xC]
- str r1, [sp, 0x10]
- ldr r0, _080E9694
- adds r1, r6, 0
- adds r2, r7, 0
- ldr r3, _080E9698
- bl sub_8095C8C
- adds r0, r6, 0
- adds r0, 0xB
- b _080E96CC
- .align 2, 0
-_080E9690: .4byte 0x0000ffff
-_080E9694: .4byte 0x06007000
-_080E9698: .4byte gUnknown_083DBE1C
-_080E969C:
- ldr r0, _080E9738
- adds r4, r5, r0
- ldrh r1, [r1]
- adds r0, r4, 0
- movs r2, 0xB
- bl sub_80EB218
- lsls r1, r6, 24
- lsrs r1, 24
- lsls r2, r7, 24
- lsrs r2, 24
- adds r0, r4, 0
- bl MenuPrint
- mov r1, r9
- lsls r0, r1, 1
- add r0, r8
- adds r1, r5, 0
- adds r1, 0x8C
- adds r1, r0
- adds r0, r6, 0
- adds r0, 0xB
- ldrb r1, [r1]
- adds r0, r1
-_080E96CC:
- lsls r0, 16
- lsrs r6, r0, 16
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_080E96E4:
- ldr r0, _080E973C
- ldr r5, [r0]
- adds r0, r5, 0
- adds r0, 0x83
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r8, r0
- bge _080E970A
- ldrb r2, [r5, 0xA]
- cmp r10, r2
- bcc _080E965A
- lsls r1, r6, 24
- lsrs r1, 24
- lsls r2, r7, 24
- lsrs r2, 24
- ldr r0, _080E9740
- bl MenuPrint
-_080E970A:
- ldr r1, [sp, 0x1C]
- lsls r0, r1, 16
- lsrs r7, r0, 16
- ldr r2, [sp, 0x18]
- lsls r0, r2, 16
- lsrs r0, 16
- mov r9, r0
- adds r0, r5, 0
-_080E971A:
- adds r0, 0x84
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r9, r0
- blt _080E9648
- 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
-_080E9738: .4byte 0x00009e14
-_080E973C: .4byte gUnknown_083DB694
-_080E9740: .4byte gUnknown_083DBEA8
- thumb_func_end sub_80E9620
-
- thumb_func_start sub_80E9744
-sub_80E9744: @ 80E9744
- push {lr}
- ldr r0, _080E9760
- bl BasicInitMenuWindow
- ldr r0, _080E9764
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0x5
- bhi _080E97B2
- lsls r0, 2
- ldr r1, _080E9768
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E9760: .4byte gWindowConfig_81E6D8C
-_080E9764: .4byte gUnknown_083DB694
-_080E9768: .4byte _080E976C
- .align 2, 0
-_080E976C:
- .4byte _080E9792
- .4byte _080E9796
- .4byte _080E97A0
- .4byte _080E97AA
- .4byte _080E9784
- .4byte _080E978E
-_080E9784:
- movs r0, 0x4
- movs r1, 0x6
- bl sub_80E97C0
- b _080E97B2
-_080E978E:
- movs r0, 0x2
- b _080E97A2
-_080E9792:
- movs r0, 0x3
- b _080E9798
-_080E9796:
- movs r0, 0
-_080E9798:
- movs r1, 0x5
- bl sub_80E97C0
- b _080E97B2
-_080E97A0:
- movs r0, 0x4
-_080E97A2:
- movs r1, 0x11
- bl sub_80E97C0
- b _080E97B2
-_080E97AA:
- movs r0, 0x3
- movs r1, 0x6
- bl sub_80E97C0
-_080E97B2:
- ldr r0, _080E97BC
- bl BasicInitMenuWindow
- pop {r0}
- bx r0
- .align 2, 0
-_080E97BC: .4byte gWindowConfig_81E6DA8
- thumb_func_end sub_80E9744
-
- thumb_func_start sub_80E97C0
-sub_80E97C0: @ 80E97C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- movs r7, 0
- movs r3, 0
- ldr r1, _080E98B8
- ldr r0, [r1]
- adds r0, 0x84
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r3, r0
- bge _080E98A6
-_080E97EA:
- ldr r1, [r1]
- ldr r0, _080E98BC
- adds r2, r1, r0
- movs r6, 0
- adds r0, r1, 0
- adds r0, 0x83
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldr r4, [sp]
- lsls r4, 24
- mov r8, r4
- lsls r4, r5, 24
- mov r9, r4
- adds r5, 0x2
- mov r10, r5
- adds r3, 0x1
- str r3, [sp, 0x4]
- cmp r6, r0
- bge _080E985E
- ldrb r1, [r1, 0xA]
- cmp r7, r1
- bcs _080E985E
- ldr r0, _080E98B8
- ldr r4, [r0]
- ldr r5, _080E98C0
-_080E981E:
- lsls r0, r7, 1
- adds r1, r4, 0
- adds r1, 0xC
- adds r1, r0
- ldrh r0, [r1]
- cmp r0, r5
- beq _080E983E
- adds r1, r0, 0
- adds r0, r2, 0
- movs r2, 0
- bl sub_80EB218
- adds r2, r0, 0
- movs r0, 0
- strb r0, [r2]
- adds r2, 0x1
-_080E983E:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r4, 0
- adds r0, 0x83
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r6, r0
- bge _080E985E
- ldrb r0, [r4, 0xA]
- cmp r7, r0
- bcc _080E981E
-_080E985E:
- ldr r1, _080E98B8
- ldr r4, [r1]
- adds r0, r4, 0
- adds r0, 0x83
- movs r1, 0
- ldrsb r1, [r0, r1]
- movs r0, 0xB
- muls r1, r0
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x13
- strb r0, [r2, 0x1]
- lsls r1, 3
- strb r1, [r2, 0x2]
- movs r0, 0xFF
- strb r0, [r2, 0x3]
- ldr r2, _080E98BC
- adds r0, r4, r2
- mov r3, r8
- lsrs r1, r3, 24
- mov r3, r9
- lsrs r2, r3, 24
- bl MenuPrint
- mov r1, r10
- lsls r0, r1, 16
- lsrs r5, r0, 16
- ldr r2, [sp, 0x4]
- lsls r0, r2, 24
- lsrs r3, r0, 24
- ldr r1, _080E98B8
- adds r4, 0x84
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r3, r0
- blt _080E97EA
-_080E98A6:
- 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
-_080E98B8: .4byte gUnknown_083DB694
-_080E98BC: .4byte 0x00009e6e
-_080E98C0: .4byte 0x0000ffff
- thumb_func_end sub_80E97C0
-
- thumb_func_start sub_80E98C4
-sub_80E98C4: @ 80E98C4
- push {lr}
- ldr r0, _080E98E0
- bl BasicInitMenuWindow
- ldr r0, _080E98E4
- ldr r0, [r0]
- ldrb r0, [r0, 0x9]
- cmp r0, 0x5
- bhi _080E9936
- lsls r0, 2
- ldr r1, _080E98E8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E98E0: .4byte gWindowConfig_81E6D8C
-_080E98E4: .4byte gUnknown_083DB694
-_080E98E8: .4byte _080E98EC
- .align 2, 0
-_080E98EC:
- .4byte _080E990A
- .4byte _080E9910
- .4byte _080E9916
- .4byte _080E991A
- .4byte _080E9904
- .4byte _080E990A
-_080E9904:
- movs r1, 0x4
- movs r3, 0x2
- b _080E991E
-_080E990A:
- movs r1, 0x3
- movs r3, 0x2
- b _080E991E
-_080E9910:
- movs r1, 0x1
- movs r3, 0x3
- b _080E991E
-_080E9916:
- movs r1, 0x4
- b _080E991C
-_080E991A:
- movs r1, 0x3
-_080E991C:
- movs r3, 0x1
-_080E991E:
- lsls r3, 1
- adds r3, r1, r3
- subs r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- movs r0, 0x2
- movs r2, 0x1B
- bl MenuFillWindowRectWithBlankTile
- ldr r0, _080E993C
- bl BasicInitMenuWindow
-_080E9936:
- pop {r0}
- bx r0
- .align 2, 0
-_080E993C: .4byte gWindowConfig_81E6DA8
- thumb_func_end sub_80E98C4
-
- thumb_func_start sub_80E9940
-sub_80E9940: @ 80E9940
- push {r4-r6,lr}
- adds r6, r0, 0
- lsls r5, r1, 24
- lsrs r5, 24
- movs r4, 0x7
- ands r4, r5
- lsls r3, r4, 1
- adds r1, r3, 0
- adds r3, 0x1
- movs r0, 0x2
- movs r2, 0x1F
- bl MenuFillWindowRectWithBlankTile
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_80E9A7C
- lsls r4, 1
- adds r0, r6, 0
- movs r1, 0x2
- adds r2, r4, 0
- bl sub_80E9A60
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E9940
-
- thumb_func_start sub_80E9974
-sub_80E9974: @ 80E9974
- push {r4-r6,lr}
- ldr r0, _080E99C4
- bl BasicInitMenuWindow
- ldr r0, _080E99C8
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E99D4
- ldr r1, _080E99CC
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r1, r0, 16
- lsrs r4, r1, 16
- adds r0, 0x4
- cmp r4, r0
- bge _080E9A08
- adds r5, r2, 0
- ldr r2, _080E99CC
- adds r6, r5, r2
-_080E99A4:
- lsls r1, r4, 24
- lsrs r1, 24
- ldr r2, _080E99D0
- adds r0, r5, r2
- bl sub_80E9940
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- movs r0, 0
- ldrsb r0, [r6, r0]
- adds r0, 0x4
- cmp r4, r0
- blt _080E99A4
- b _080E9A08
- .align 2, 0
-_080E99C4: .4byte gWindowConfig_81E6D54
-_080E99C8: .4byte gUnknown_083DB694
-_080E99CC: .4byte 0x000001b5
-_080E99D0: .4byte 0x00009dc9
-_080E99D4:
- bl sub_80E9AD4
- ldr r4, _080E9A10
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0
- bl sub_80E9A60
- adds r0, r4, 0
- adds r0, 0x20
- movs r1, 0x2
- movs r2, 0x2
- bl sub_80E9A60
- adds r0, r4, 0
- adds r0, 0x40
- movs r1, 0x2
- movs r2, 0x4
- bl sub_80E9A60
- adds r4, 0x60
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0x6
- bl sub_80E9A60
-_080E9A08:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9A10: .4byte gUnknown_083DBEAC
- thumb_func_end sub_80E9974
-
- thumb_func_start sub_80E9A14
-sub_80E9A14: @ 80E9A14
- push {lr}
- bl sub_80E9A4C
- ldr r0, _080E9A44
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x26
- ldrb r0, [r0]
- cmp r0, 0
- bne _080E9A40
- movs r0, 0xDD
- lsls r0, 1
- adds r2, r1, r0
- ldr r3, _080E9A48
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 4
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
-_080E9A40:
- pop {r0}
- bx r0
- .align 2, 0
-_080E9A44: .4byte gUnknown_083DB694
-_080E9A48: .4byte 0x000001b5
- thumb_func_end sub_80E9A14
-
- thumb_func_start sub_80E9A4C
-sub_80E9A4C: @ 80E9A4C
- ldr r0, _080E9A5C
- ldr r0, [r0]
- movs r2, 0xDD
- lsls r2, 1
- adds r1, r0, r2
- movs r0, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080E9A5C: .4byte gUnknown_083DB694
- thumb_func_end sub_80E9A4C
-
- thumb_func_start sub_80E9A60
-sub_80E9A60: @ 80E9A60
- push {lr}
- lsls r2, 16
- movs r3, 0xF0
- lsls r3, 12
- ands r3, r2
- lsls r1, 24
- lsrs r1, 24
- lsrs r3, 16
- adds r2, r3, 0
- bl MenuPrint
- pop {r0}
- bx r0
- thumb_func_end sub_80E9A60
-
- thumb_func_start sub_80E9A7C
-sub_80E9A7C: @ 80E9A7C
- push {r4-r7,lr}
- adds r2, r0, 0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r0, r7, 17
- lsrs r5, r0, 16
- movs r4, 0
- ldr r0, _080E9AD0
- ldr r6, [r0]
-_080E9A8E:
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x12
- strb r0, [r2, 0x1]
- movs r0, 0x58
- muls r0, r4
- strb r0, [r2, 0x2]
- adds r2, 0x3
- lsls r1, r7, 1
- adds r1, r4, r1
- adds r0, r6, 0
- adds r0, 0x2A
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- movs r2, 0xB
- bl sub_80EAD64
- adds r2, r0, 0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r0, [r6, 0x28]
- cmp r5, r0
- bcs _080E9ACA
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080E9A8E
-_080E9ACA:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9AD0: .4byte gUnknown_083DB694
- thumb_func_end sub_80E9A7C
-
- thumb_func_start sub_80E9AD4
-sub_80E9AD4: @ 80E9AD4
- push {r4,lr}
- ldr r0, _080E9AF4
- bl BasicInitMenuWindow
- movs r4, 0
-_080E9ADE:
- adds r0, r4, 0
- bl sub_80E9C74
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _080E9ADE
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9AF4: .4byte gWindowConfig_81E6D54
- thumb_func_end sub_80E9AD4
-
- thumb_func_start sub_80E9AF8
-sub_80E9AF8: @ 80E9AF8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 16
- lsrs r7, r0, 16
- adds r0, r7, 0
- bl sub_80E9C74
- ldr r4, _080E9B7C
- ldr r5, [r4]
- ldr r0, _080E9B80
- adds r0, r5
- mov r8, r0
- movs r0, 0xFC
- mov r1, r8
- strb r0, [r1]
- movs r0, 0x11
- strb r0, [r1, 0x1]
- movs r0, 0x10
- strb r0, [r1, 0x2]
- ldr r2, _080E9B84
- adds r2, r5
- mov r8, r2
- adds r0, r5, 0
- adds r0, 0x7D
- ldrb r0, [r0]
- cmp r0, 0
- beq _080E9BF4
- movs r6, 0
- ldr r3, _080E9B88
- adds r0, r5, r3
- adds r0, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r6, r0
- blt _080E9B4A
- b _080E9C52
-_080E9B4A:
- lsls r0, r7, 2
- mov r9, r0
- ldr r1, _080E9B8C
- adds r1, r5, r1
- str r1, [sp]
- lsls r2, r7, 17
- mov r10, r2
-_080E9B58:
- lsls r4, r6, 1
- mov r3, r9
- adds r0, r4, r3
- ldr r1, [sp]
- adds r0, r1, r0
- ldrh r0, [r0]
- bl sub_80EB2D4
- lsls r0, 16
- lsrs r0, 16
- adds r5, r4, 0
- cmp r0, 0x7
- bne _080E9B94
- ldr r0, _080E9B90
- bl BasicInitMenuWindow
- b _080E9B9A
- .align 2, 0
-_080E9B7C: .4byte gUnknown_083DB694
-_080E9B80: .4byte 0x00009e14
-_080E9B84: .4byte 0x00009e17
-_080E9B88: .4byte 0x000099a6
-_080E9B8C: .4byte 0x00009a2a
-_080E9B90: .4byte gWindowConfig_81E6D70
-_080E9B94:
- ldr r0, _080E9BE0
- bl BasicInitMenuWindow
-_080E9B9A:
- ldr r2, _080E9BE4
- ldr r4, [r2]
- mov r3, r9
- adds r1, r5, r3
- ldr r2, _080E9BE8
- adds r0, r4, r2
- adds r0, r1
- ldrh r1, [r0]
- mov r0, r8
- movs r2, 0x9
- bl sub_80EB218
- ldr r3, _080E9BEC
- adds r0, r4, r3
- movs r1, 0xB
- muls r1, r6
- adds r1, 0x4
- lsls r1, 16
- lsrs r1, 16
- mov r3, r10
- lsrs r2, r3, 16
- bl sub_80E9A60
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _080E9BF0
- adds r4, r0
- adds r4, r7
- movs r0, 0
- ldrsb r0, [r4, r0]
- cmp r6, r0
- blt _080E9B58
- b _080E9C52
- .align 2, 0
-_080E9BE0: .4byte gWindowConfig_81E6D54
-_080E9BE4: .4byte gUnknown_083DB694
-_080E9BE8: .4byte 0x00009a2a
-_080E9BEC: .4byte 0x00009e14
-_080E9BF0: .4byte 0x000099a6
-_080E9BF4:
- ldr r0, _080E9C64
- bl BasicInitMenuWindow
- movs r6, 0
- ldr r1, _080E9C68
- adds r0, r5, r1
- adds r0, r7
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r6, r0
- bge _080E9C52
- adds r4, r5, 0
- adds r0, r4, r1
- adds r0, r7
- mov r9, r0
- lsls r5, r7, 17
-_080E9C16:
- lsls r1, r6, 1
- lsls r0, r7, 2
- adds r1, r0
- ldr r2, _080E9C6C
- adds r0, r4, r2
- adds r0, r1
- ldrh r1, [r0]
- mov r0, r8
- movs r2, 0x9
- bl sub_80EB218
- movs r0, 0xB
- adds r1, r6, 0
- muls r1, r0
- adds r1, 0x4
- lsls r1, 16
- lsrs r1, 16
- ldr r3, _080E9C70
- adds r0, r4, r3
- lsrs r2, r5, 16
- bl sub_80E9A60
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- mov r1, r9
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r6, r0
- blt _080E9C16
-_080E9C52:
- 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
-_080E9C64: .4byte gWindowConfig_81E6D54
-_080E9C68: .4byte 0x000099a6
-_080E9C6C: .4byte 0x00009a2a
-_080E9C70: .4byte 0x00009e14
- thumb_func_end sub_80E9AF8
-
- thumb_func_start sub_80E9C74
-sub_80E9C74: @ 80E9C74
- push {lr}
- lsls r0, 16
- movs r1, 0xE0
- lsls r1, 11
- ands r1, r0
- lsrs r1, 16
- lsls r3, r1, 1
- adds r1, r3, 0
- adds r3, 0x1
- movs r0, 0
- movs r2, 0x1D
- bl MenuFillWindowRectWithBlankTile
- pop {r0}
- bx r0
- thumb_func_end sub_80E9C74
-
- thumb_func_start sub_80E9C94
-sub_80E9C94: @ 80E9C94
- push {r4-r6,lr}
- ldr r0, _080E9CAC
- ldr r0, [r0]
- ldr r2, _080E9CB0
- adds r1, r0, r2
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0x3
- bgt _080E9CB4
- lsls r0, 16
- lsrs r0, 16
- b _080E9CB6
- .align 2, 0
-_080E9CAC: .4byte gUnknown_083DB694
-_080E9CB0: .4byte 0x00009a28
-_080E9CB4:
- movs r0, 0x4
-_080E9CB6:
- adds r5, r0, 0
- movs r4, 0
- cmp r4, r5
- bcs _080E9CF4
- ldr r0, _080E9CE0
- ldr r0, [r0]
- ldr r1, _080E9CE4
- adds r6, r0, r1
-_080E9CC6:
- movs r0, 0
- ldrsb r0, [r6, r0]
- adds r0, r4, r0
- lsls r0, 16
- lsrs r0, 16
- bl sub_80E9AF8
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bcc _080E9CC6
- b _080E9CF4
- .align 2, 0
-_080E9CE0: .4byte gUnknown_083DB694
-_080E9CE4: .4byte 0x00009a29
-_080E9CE8:
- adds r0, r4, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r4, r1, 16
- bl sub_80E9C74
-_080E9CF4:
- cmp r4, 0x3
- bls _080E9CE8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80E9C94
-
- thumb_func_start sub_80E9D00
-sub_80E9D00: @ 80E9D00
- push {r4-r6,lr}
- ldr r0, _080E9D28
- ldr r2, [r0]
- movs r0, 0xE0
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- ble _080E9D30
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, _080E9D2C
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x4
- b _080E9D46
- .align 2, 0
-_080E9D28: .4byte gUnknown_083DB694
-_080E9D2C: .4byte 0x00009a29
-_080E9D30:
- movs r0, 0
- ldrsb r0, [r1, r0]
- negs r0, r0
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, _080E9D74
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r0, r4
-_080E9D46:
- lsls r0, 16
- lsrs r5, r0, 16
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _080E9D78
- cmp r4, r0
- beq _080E9D6E
- adds r6, r0, 0
-_080E9D58:
- adds r0, r5, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r5, r1, 16
- bl sub_80E9AF8
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r6
- bne _080E9D58
-_080E9D6E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9D74: .4byte 0x00009a29
-_080E9D78: .4byte 0x0000ffff
- thumb_func_end sub_80E9D00
-
- thumb_func_start sub_80E9D7C
-sub_80E9D7C: @ 80E9D7C
- push {r4-r7,lr}
- ldr r0, _080E9DAC
- bl BasicInitMenuWindow
- ldr r0, _080E9DB0
- ldr r2, [r0]
- movs r0, 0xE0
- lsls r0, 1
- adds r1, r2, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bge _080E9DB8
- negs r0, r0
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, _080E9DB4
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r0, r6
- b _080E9DCC
- .align 2, 0
-_080E9DAC: .4byte gWindowConfig_81E6D54
-_080E9DB0: .4byte gUnknown_083DB694
-_080E9DB4: .4byte 0x000001b5
-_080E9DB8:
- movs r0, 0
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, _080E9DFC
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, 0x4
-_080E9DCC:
- lsls r0, 16
- lsrs r4, r0, 16
- movs r5, 0
- cmp r5, r6
- bcs _080E9DF6
- ldr r0, _080E9E00
- ldr r7, [r0]
-_080E9DDA:
- lsls r1, r4, 24
- lsrs r1, 24
- ldr r2, _080E9E04
- adds r0, r7, r2
- bl sub_80E9940
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r6
- bcc _080E9DDA
-_080E9DF6:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9DFC: .4byte 0x000001b5
-_080E9E00: .4byte gUnknown_083DB694
-_080E9E04: .4byte 0x00009dc9
- thumb_func_end sub_80E9D7C
-
- thumb_func_start sub_80E9E08
-sub_80E9E08: @ 80E9E08
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080E9E4C
- ldr r3, [r0]
- movs r0, 0xDD
- lsls r0, 1
- adds r1, r3, r0
- movs r5, 0xE0
- lsls r5, 1
- adds r2, r3, r5
- movs r0, 0
- ldrsb r0, [r2, r0]
- lsls r0, 4
- ldrh r1, [r1]
- adds r0, r1
- movs r1, 0x7F
- ands r0, r1
- subs r5, 0x4
- adds r1, r3, r5
- strh r0, [r1]
- adds r1, r4, 0
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, 0
- bge _080E9E3E
- negs r1, r4
-_080E9E3E:
- ldr r2, _080E9E50
- adds r0, r3, r2
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080E9E4C: .4byte gUnknown_083DB694
-_080E9E50: .4byte 0x000001bf
- thumb_func_end sub_80E9E08
-
- thumb_func_start sub_80E9E54
-sub_80E9E54: @ 80E9E54
- push {r4,lr}
- ldr r0, _080E9E8C
- ldr r2, [r0]
- movs r0, 0xDD
- lsls r0, 1
- adds r3, r2, r0
- ldr r1, _080E9E90
- adds r0, r2, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrh r4, [r3]
- adds r0, r4
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r3]
- movs r3, 0
- movs r4, 0xDE
- lsls r4, 1
- adds r1, r2, r4
- ldrh r1, [r1]
- cmp r0, r1
- bne _080E9E84
- movs r3, 0x1
-_080E9E84:
- adds r0, r3, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080E9E8C: .4byte gUnknown_083DB694
-_080E9E90: .4byte 0x000001bf
- thumb_func_end sub_80E9E54
-
- thumb_func_start nullsub_23
-nullsub_23: @ 80E9E94
- bx lr
- thumb_func_end nullsub_23
-
- thumb_func_start sub_80E9E98
-sub_80E9E98: @ 80E9E98
- ldr r0, _080E9EA4
- ldr r0, [r0]
- adds r0, 0xBE
- movs r1, 0
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080E9EA4: .4byte gUnknown_083DB694
- thumb_func_end sub_80E9E98
-
- thumb_func_start sub_80E9EA8
-sub_80E9EA8: @ 80E9EA8
- push {lr}
- ldr r1, _080E9EC4
- ldr r0, [r1]
- adds r0, 0xBE
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x5
- bhi _080E9F48
- lsls r0, 2
- ldr r1, _080E9EC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E9EC4: .4byte gUnknown_083DB694
-_080E9EC8: .4byte _080E9ECC
- .align 2, 0
-_080E9ECC:
- .4byte _080E9EE4
- .4byte _080E9EF4
- .4byte _080E9F0C
- .4byte _080E9F24
- .4byte _080E9F38
- .4byte _080E9F44
-_080E9EE4:
- bl sub_80EA24C
- ldr r0, _080E9F08
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080E9EF4:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080E9F48
- bl sub_80EA4A4
- ldr r0, _080E9F08
- ldr r1, [r0]
- b _080E9F3A
- .align 2, 0
-_080E9F08: .4byte gUnknown_083DB694
-_080E9F0C:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080E9F48
- bl sub_80EA704
- ldr r0, _080E9F20
- ldr r1, [r0]
- b _080E9F3A
- .align 2, 0
-_080E9F20: .4byte gUnknown_083DB694
-_080E9F24:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080E9F48
- ldr r0, _080E9F34
- ldr r1, [r0]
- b _080E9F3A
- .align 2, 0
-_080E9F34: .4byte gUnknown_083DB694
-_080E9F38:
- ldr r1, [r2]
-_080E9F3A:
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080E9F48
-_080E9F44:
- movs r0, 0x1
- b _080E9F4A
-_080E9F48:
- movs r0, 0
-_080E9F4A:
- pop {r1}
- bx r1
- thumb_func_end sub_80E9EA8
-
- thumb_func_start sub_80E9F50
-sub_80E9F50: @ 80E9F50
- push {lr}
- ldr r0, _080E9F68
- ldr r0, [r0]
- adds r0, 0xBE
- ldrh r0, [r0]
- cmp r0, 0x6
- bhi _080E9FCC
- lsls r0, 2
- ldr r1, _080E9F6C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080E9F68: .4byte gUnknown_083DB694
-_080E9F6C: .4byte _080E9F70
- .align 2, 0
-_080E9F70:
- .4byte _080E9F8C
- .4byte _080E9FAC
- .4byte _080E9F96
- .4byte _080E9FAC
- .4byte _080E9F9C
- .4byte _080E9FAC
- .4byte _080E9FC8
-_080E9F8C:
- bl nullsub_23
- bl sub_80EA764
- b _080E9FA0
-_080E9F96:
- bl sub_80EA5A0
- b _080E9FA0
-_080E9F9C:
- bl sub_80EA348
-_080E9FA0:
- ldr r0, _080E9FC4
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080E9FAC:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080E9FCC
- ldr r0, _080E9FC4
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080E9FCC
- .align 2, 0
-_080E9FC4: .4byte gUnknown_083DB694
-_080E9FC8:
- movs r0, 0x1
- b _080E9FCE
-_080E9FCC:
- movs r0, 0
-_080E9FCE:
- pop {r1}
- bx r1
- thumb_func_end sub_80E9F50
-
- thumb_func_start sub_80E9FD4
-sub_80E9FD4: @ 80E9FD4
- push {r4,lr}
- ldr r0, _080E9FEC
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0xBE
- ldrh r0, [r4]
- cmp r0, 0
- beq _080E9FF0
- cmp r0, 0x1
- beq _080E9FFE
- b _080EA00C
- .align 2, 0
-_080E9FEC: .4byte gUnknown_083DB694
-_080E9FF0:
- bl nullsub_23
- bl sub_80EA5A0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080E9FFE:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA00C
- movs r0, 0x1
- b _080EA00E
-_080EA00C:
- movs r0, 0
-_080EA00E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80E9FD4
-
- thumb_func_start sub_80EA014
-sub_80EA014: @ 80EA014
- push {r4,lr}
- ldr r0, _080EA02C
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0xBE
- ldrh r0, [r4]
- cmp r0, 0
- beq _080EA030
- cmp r0, 0x1
- beq _080EA03A
- b _080EA048
- .align 2, 0
-_080EA02C: .4byte gUnknown_083DB694
-_080EA030:
- bl sub_80EA4A4
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080EA03A:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA048
- movs r0, 0x1
- b _080EA04A
-_080EA048:
- movs r0, 0
-_080EA04A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EA014
-
- thumb_func_start sub_80EA050
-sub_80EA050: @ 80EA050
- push {lr}
- ldr r0, _080EA068
- ldr r0, [r0]
- adds r0, 0xBE
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080EA0DC
- lsls r0, 2
- ldr r1, _080EA06C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EA068: .4byte gUnknown_083DB694
-_080EA06C: .4byte _080EA070
- .align 2, 0
-_080EA070:
- .4byte _080EA084
- .4byte _080EA08E
- .4byte _080EA09E
- .4byte _080EA0B4
- .4byte _080EA0D8
-_080EA084:
- bl nullsub_23
- bl sub_80EA764
- b _080EA0C4
-_080EA08E:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA0DC
- bl sub_80EA7F4
- b _080EA0C4
-_080EA09E:
- movs r0, 0x1
- bl sub_80E9108
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA0DC
- bl sub_80EA8BC
- b _080EA0C4
-_080EA0B4:
- movs r0, 0x1
- bl sub_80E9108
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA0DC
-_080EA0C4:
- ldr r0, _080EA0D4
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EA0DC
- .align 2, 0
-_080EA0D4: .4byte gUnknown_083DB694
-_080EA0D8:
- movs r0, 0x1
- b _080EA0DE
-_080EA0DC:
- movs r0, 0
-_080EA0DE:
- pop {r1}
- bx r1
- thumb_func_end sub_80EA050
-
- thumb_func_start sub_80EA0E4
-sub_80EA0E4: @ 80EA0E4
- push {lr}
- ldr r0, _080EA0FC
- ldr r0, [r0]
- adds r0, 0xBE
- ldrh r0, [r0]
- cmp r0, 0x4
- bhi _080EA17C
- lsls r0, 2
- ldr r1, _080EA100
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EA0FC: .4byte gUnknown_083DB694
-_080EA100: .4byte _080EA104
- .align 2, 0
-_080EA104:
- .4byte _080EA118
- .4byte _080EA128
- .4byte _080EA144
- .4byte _080EA15C
- .4byte _080EA178
-_080EA118:
- bl sub_80EA948
- ldr r0, _080EA140
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EA128:
- movs r0, 0x1
- negs r0, r0
- bl sub_80E9108
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA17C
- bl sub_80EAA44
- b _080EA166
- .align 2, 0
-_080EA140: .4byte gUnknown_083DB694
-_080EA144:
- movs r0, 0x1
- negs r0, r0
- bl sub_80E9108
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA17C
- bl sub_80EA704
- b _080EA166
-_080EA15C:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA17C
-_080EA166:
- ldr r0, _080EA174
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EA17C
- .align 2, 0
-_080EA174: .4byte gUnknown_083DB694
-_080EA178:
- movs r0, 0x1
- b _080EA17E
-_080EA17C:
- movs r0, 0
-_080EA17E:
- pop {r1}
- bx r1
- thumb_func_end sub_80EA0E4
-
- thumb_func_start sub_80EA184
-sub_80EA184: @ 80EA184
- push {r4,lr}
- ldr r0, _080EA1A0
- ldr r0, [r0]
- adds r4, r0, 0
- adds r4, 0xBE
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080EA1B4
- cmp r0, 0x1
- bgt _080EA1A4
- cmp r0, 0
- beq _080EA1AA
- b _080EA1D8
- .align 2, 0
-_080EA1A0: .4byte gUnknown_083DB694
-_080EA1A4:
- cmp r0, 0x2
- beq _080EA1D0
- b _080EA1D8
-_080EA1AA:
- bl sub_80EAAD4
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080EA1B4:
- bl sub_80EA1E0
- lsls r0, 24
- cmp r0, 0
- beq _080EA1D8
- ldr r0, _080EA1CC
- ldr r1, [r0]
- adds r1, 0xBE
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EA1D8
- .align 2, 0
-_080EA1CC: .4byte gUnknown_083DB694
-_080EA1D0:
- bl sub_80E9178
- movs r0, 0x1
- b _080EA1DA
-_080EA1D8:
- movs r0, 0
-_080EA1DA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EA184
-
- thumb_func_start sub_80EA1E0
-sub_80EA1E0: @ 80EA1E0
- push {r4-r6,lr}
- ldr r0, _080EA240
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xC4
- ldrh r0, [r0]
- cmp r0, 0
- beq _080EA244
- movs r4, 0
- adds r0, r1, 0
- adds r0, 0xC2
- ldrh r2, [r0]
- cmp r4, r2
- bcs _080EA228
- adds r5, r1, 0
- adds r6, r0, 0
-_080EA200:
- lsls r0, r4, 4
- adds r0, 0xC8
- adds r0, r5, r0
- bl sub_80EAC0C
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 2
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r1
- adds r0, r5, r0
- bl sub_80EAC48
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrh r2, [r6]
- cmp r4, r2
- bcc _080EA200
-_080EA228:
- ldr r0, _080EA240
- ldr r1, [r0]
- adds r2, r1, 0
- adds r2, 0xBC
- movs r0, 0x1
- strb r0, [r2]
- adds r1, 0xC4
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- movs r0, 0
- b _080EA246
- .align 2, 0
-_080EA240: .4byte gUnknown_083DB694
-_080EA244:
- movs r0, 0x1
-_080EA246:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80EA1E0
-
- thumb_func_start sub_80EA24C
-sub_80EA24C: @ 80EA24C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EA340
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0xF
- str r6, [sp]
- ldr r1, _080EA344
- mov r8, r1
- str r1, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xD
- movs r2, 0xE
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r1, 0x2
- mov r9, r1
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xE
- movs r3, 0xC
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x1E
- movs r2, 0
- mov r3, r8
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r6, 0x10
- str r6, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xD
- movs r2, 0xF
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0x9
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- str r6, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r1, r9
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xF
- movs r3, 0xC
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x1E
- movs r2, 0x9
- mov r3, r8
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x4
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x6
- strh r0, [r1]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA340: .4byte gUnknown_083DB694
-_080EA344: .4byte 0x0000fffe
- thumb_func_end sub_80EA24C
-
- thumb_func_start sub_80EA348
-sub_80EA348: @ 80EA348
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EA49C
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r5, 0xF
- str r5, [sp]
- movs r1, 0x2
- mov r9, r1
- str r1, [sp, 0x4]
- movs r4, 0
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r6, r7, r1
- str r6, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r1, _080EA4A0
- mov r8, r1
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xE
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r6, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0
- movs r3, 0x2
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r5, 0x10
- str r5, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r6, [sp, 0x4]
- movs r1, 0
- movs r2, 0x9
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r1, r8
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xF
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r6, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0x9
- movs r3, 0x2
- bl sub_80EAC30
- movs r1, 0x84
- lsls r1, 1
- adds r0, r7, r1
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- mov r1, r9
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0x1
- bl sub_80EABD4
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- adds r1, 0x50
- adds r6, r7, r1
- str r6, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0
- bl sub_80EAC30
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r7, r1
- str r5, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x18
- movs r2, 0xE
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xC2
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r6, [sp, 0x4]
- movs r1, 0x18
- movs r2, 0xE
- mov r3, r8
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xC2
- movs r1, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA49C: .4byte gUnknown_083DB694
-_080EA4A0: .4byte 0x0000fffe
- thumb_func_end sub_80EA348
-
- thumb_func_start sub_80EA4A4
-sub_80EA4A4: @ 80EA4A4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EA598
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0xF
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r1, _080EA59C
- mov r8, r1
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xE
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r4, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xE
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r1, 0x10
- mov r9, r1
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- movs r6, 0x1
- str r6, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0x9
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r6, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xF
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0x9
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xC2
- movs r1, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA598: .4byte gUnknown_083DB694
-_080EA59C: .4byte 0x0000ffff
- thumb_func_end sub_80EA4A4
-
- thumb_func_start sub_80EA5A0
-sub_80EA5A0: @ 80EA5A0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EA6FC
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0xF
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r1, 0x1
- mov r8, r1
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r2, 0xA
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r4, [sp, 0x4]
- mov r1, r8
- str r1, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xA
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r1, 0x14
- mov r9, r1
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- ldr r6, _080EA700
- str r6, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xF
- movs r3, 0xD
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0x5
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r6, [sp, 0x10]
- movs r1, 0xC
- movs r2, 0xF
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r8
- str r1, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x12
- movs r2, 0x5
- movs r3, 0
- bl sub_80EAC30
- movs r1, 0x84
- lsls r1, 1
- adds r0, r7, r1
- movs r1, 0xA
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- mov r1, r8
- str r1, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xA
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xBC
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- adds r1, 0x50
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- movs r1, 0x8C
- lsls r1, 1
- adds r0, r7, r1
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0x14
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xC2
- lsls r1, 1
- adds r0, r7, r1
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r1, 0x1
- movs r2, 0x14
- movs r3, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x6
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x4
- strh r0, [r1]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA6FC: .4byte gUnknown_083DB694
-_080EA700: .4byte 0x0000ffff
- thumb_func_end sub_80EA5A0
-
- thumb_func_start sub_80EA704
-sub_80EA704: @ 80EA704
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, _080EA75C
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0xC8
- movs r1, 0x14
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r5, 0x1
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x18
- movs r2, 0xC
- movs r3, 0x19
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- ldr r3, _080EA760
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0x5
- movs r2, 0xA
- bl sub_80EAC30
- adds r0, r6, 0
- adds r0, 0xC2
- strh r5, [r0]
- adds r1, r6, 0
- adds r1, 0xC4
- movs r0, 0x5
- strh r0, [r1]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA75C: .4byte gUnknown_083DB694
-_080EA760: .4byte 0x0000ffff
- thumb_func_end sub_80EA704
-
- thumb_func_start sub_80EA764
-sub_80EA764: @ 80EA764
- push {r4-r7,lr}
- sub sp, 0x14
- ldr r0, _080EA7EC
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0x14
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r5, _080EA7F0
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x18
- movs r2, 0xC
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r1, r7, r2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1E
- movs r2, 0xC
- movs r3, 0x1F
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r7, r2
- str r1, [sp, 0x4]
- movs r1, 0x1E
- movs r2, 0xC
- adds r3, r5, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x2
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x6
- strh r0, [r1]
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA7EC: .4byte gUnknown_083DB694
-_080EA7F0: .4byte 0x0000ffff
- thumb_func_end sub_80EA764
-
- thumb_func_start sub_80EA7F4
-sub_80EA7F4: @ 80EA7F4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- ldr r0, _080EA8B4
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0x14
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r5, 0x1
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x14
- movs r2, 0xA
- movs r3, 0x19
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- ldr r3, _080EA8B8
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r2, r7
- mov r8, r2
- str r2, [sp, 0x4]
- movs r1, 0x19
- movs r2, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r7, r2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1
- movs r2, 0xA
- movs r3, 0x4
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- mov r2, r8
- str r2, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x3
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x2
- strh r0, [r1]
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA8B4: .4byte gUnknown_083DB694
-_080EA8B8: .4byte 0x0000ffff
- thumb_func_end sub_80EA7F4
-
- thumb_func_start sub_80EA8BC
-sub_80EA8BC: @ 80EA8BC
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, _080EA944
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0xC8
- movs r5, 0x14
- str r5, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x3
- movs r2, 0xA
- movs r3, 0x4
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r6, 0
- adds r0, 0xD8
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x2
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r6, r1
- str r4, [sp]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r1, r6, 0
- adds r1, 0xC2
- movs r0, 0x2
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1
- strh r0, [r1]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EA944: .4byte gUnknown_083DB694
- thumb_func_end sub_80EA8BC
-
- thumb_func_start sub_80EA948
-sub_80EA948: @ 80EA948
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EAA3C
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r6, 0x14
- str r6, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r5, _080EAA40
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x2
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- adds r1, 0x80
- adds r1, r7
- mov r9, r1
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x3
- movs r2, 0xA
- movs r3, 0x5
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r1, r7
- mov r8, r1
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x1A
- movs r2, 0xA
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- mov r1, r9
- str r1, [sp, 0x4]
- movs r1, 0x1A
- movs r2, 0xA
- adds r3, r5, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- str r6, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- str r5, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x19
- movs r2, 0xA
- movs r3, 0x1A
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- movs r1, 0x1D
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x4
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x2
- strh r0, [r1]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EAA3C: .4byte gUnknown_083DB694
-_080EAA40: .4byte 0x0000ffff
- thumb_func_end sub_80EA948
-
- thumb_func_start sub_80EAA44
-sub_80EAA44: @ 80EAA44
- push {r4-r6,lr}
- sub sp, 0x14
- ldr r0, _080EAACC
- ldr r6, [r0]
- adds r0, r6, 0
- adds r0, 0xC8
- movs r5, 0x14
- str r5, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x18
- movs r2, 0xA
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r6, r1
- str r4, [sp]
- movs r2, 0xE4
- lsls r2, 1
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0x18
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r0, r6, 0
- adds r0, 0xD8
- str r5, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- ldr r1, _080EAAD0
- str r1, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0x17
- movs r2, 0xA
- movs r3, 0x18
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r6, r1
- str r4, [sp]
- movs r2, 0xD9
- lsls r2, 3
- adds r1, r6, r2
- str r1, [sp, 0x4]
- movs r1, 0x1D
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r1, r6, 0
- adds r1, 0xC2
- movs r0, 0x2
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1
- strh r0, [r1]
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EAACC: .4byte gUnknown_083DB694
-_080EAAD0: .4byte 0x0000ffff
- thumb_func_end sub_80EAA44
-
- thumb_func_start sub_80EAAD4
-sub_80EAAD4: @ 80EAAD4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EABCC
- ldr r7, [r0]
- adds r0, r7, 0
- adds r0, 0xC8
- movs r1, 0xF
- str r1, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r5, 0x1
- str r5, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xA4
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- movs r1, 0xD9
- lsls r1, 3
- adds r1, r7
- mov r8, r1
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xD8
- movs r1, 0x14
- mov r9, r1
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- ldr r6, _080EABD0
- str r6, [sp, 0x10]
- movs r1, 0
- movs r2, 0xF
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xAA
- lsls r1, 1
- adds r0, r7, r1
- str r5, [sp]
- mov r1, r8
- str r1, [sp, 0x4]
- movs r1, 0
- movs r2, 0x5
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xE8
- movs r1, 0xA
- str r1, [sp]
- str r4, [sp, 0x4]
- str r4, [sp, 0x8]
- str r4, [sp, 0xC]
- str r5, [sp, 0x10]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xB0
- lsls r1, 1
- adds r0, r7, r1
- str r4, [sp]
- adds r1, 0x68
- adds r5, r7, r1
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0xA
- movs r3, 0
- bl sub_80EAC30
- adds r0, r7, 0
- adds r0, 0xF8
- mov r1, r9
- str r1, [sp]
- str r4, [sp, 0x4]
- str r6, [sp, 0x8]
- str r4, [sp, 0xC]
- str r4, [sp, 0x10]
- movs r1, 0
- movs r2, 0x14
- movs r3, 0x1E
- bl sub_80EABD4
- movs r1, 0xB6
- lsls r1, 1
- adds r0, r7, r1
- str r6, [sp]
- str r5, [sp, 0x4]
- movs r1, 0
- movs r2, 0x14
- movs r3, 0
- bl sub_80EAC30
- adds r1, r7, 0
- adds r1, 0xC2
- movs r0, 0x4
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x5
- strh r0, [r1]
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EABCC: .4byte gUnknown_083DB694
-_080EABD0: .4byte 0x0000ffff
- thumb_func_end sub_80EAAD4
-
- thumb_func_start sub_80EABD4
-sub_80EABD4: @ 80EABD4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r5, [sp, 0x1C]
- ldr r6, [sp, 0x20]
- ldr r4, [sp, 0x24]
- mov r9, r4
- ldr r4, [sp, 0x28]
- ldr r7, [sp, 0x2C]
- mov r8, r7
- strh r1, [r0]
- strh r3, [r0, 0x2]
- strh r2, [r0, 0x4]
- strh r5, [r0, 0x6]
- strh r6, [r0, 0x8]
- strh r4, [r0, 0xA]
- mov r1, r9
- strh r1, [r0, 0xC]
- mov r4, r8
- strh r4, [r0, 0xE]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80EABD4
-
- thumb_func_start sub_80EAC0C
-sub_80EAC0C: @ 80EAC0C
- ldrh r1, [r0, 0x8]
- ldrh r2, [r0]
- adds r1, r2
- strh r1, [r0]
- ldrh r1, [r0, 0xA]
- ldrh r2, [r0, 0x2]
- adds r1, r2
- strh r1, [r0, 0x2]
- ldrh r1, [r0, 0xC]
- ldrh r2, [r0, 0x4]
- adds r1, r2
- strh r1, [r0, 0x4]
- ldrh r1, [r0, 0xE]
- ldrh r2, [r0, 0x6]
- adds r1, r2
- strh r1, [r0, 0x6]
- bx lr
- thumb_func_end sub_80EAC0C
-
- thumb_func_start sub_80EAC30
-sub_80EAC30: @ 80EAC30
- push {r4,r5,lr}
- ldr r4, [sp, 0xC]
- ldr r5, [sp, 0x10]
- strh r1, [r0]
- strh r2, [r0, 0x2]
- strh r3, [r0, 0x4]
- strh r4, [r0, 0x6]
- str r5, [r0, 0x8]
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80EAC30
-
- thumb_func_start sub_80EAC48
-sub_80EAC48: @ 80EAC48
- ldrh r1, [r0, 0x4]
- ldrh r2, [r0]
- adds r1, r2
- strh r1, [r0]
- ldrh r1, [r0, 0x6]
- ldrh r2, [r0, 0x2]
- adds r1, r2
- strh r1, [r0, 0x2]
- bx lr
- thumb_func_end sub_80EAC48
-
- thumb_func_start sub_80EAC5C
-sub_80EAC5C: @ 80EAC5C
- push {r4-r6,lr}
- ldr r0, _080EACB4
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0xBC
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EACAC
- movs r4, 0
- adds r0, r1, 0
- adds r0, 0xC2
- ldrh r2, [r0]
- cmp r4, r2
- bcs _080EACA2
- adds r5, r1, 0
- adds r6, r0, 0
-_080EAC7C:
- lsls r1, r4, 4
- adds r1, 0xC8
- adds r1, r5, r1
- lsls r2, r4, 1
- adds r2, r4
- lsls r2, 2
- movs r0, 0xA4
- lsls r0, 1
- adds r2, r0
- adds r2, r5, r2
- ldr r0, _080EACB8
- bl sub_80EACBC
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldrh r2, [r6]
- cmp r4, r2
- bcc _080EAC7C
-_080EACA2:
- ldr r0, _080EACB4
- ldr r0, [r0]
- adds r0, 0xBC
- movs r1, 0
- strb r1, [r0]
-_080EACAC:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EACB4: .4byte gUnknown_083DB694
-_080EACB8: .4byte 0x06006800
- thumb_func_end sub_80EAC5C
-
- thumb_func_start sub_80EACBC
-sub_80EACBC: @ 80EACBC
- push {r4-r7,lr}
- sub sp, 0x10
- adds r7, r0, 0
- adds r3, r1, 0
- adds r4, r2, 0
- ldrh r2, [r3, 0x2]
- ldrh r0, [r3]
- subs r2, r0
- ldrh r0, [r3, 0x6]
- ldrh r1, [r3, 0x4]
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- lsls r6, r2, 16
- cmp r6, 0
- ble _080EACFE
- lsls r5, r0, 16
- cmp r5, 0
- ble _080EACFE
- ldrh r1, [r3]
- ldrh r2, [r3, 0x4]
- ldr r3, [r4, 0x8]
- ldrh r0, [r4]
- str r0, [sp]
- ldrh r0, [r4, 0x2]
- str r0, [sp, 0x4]
- lsrs r0, r6, 16
- str r0, [sp, 0x8]
- lsrs r0, r5, 16
- str r0, [sp, 0xC]
- adds r0, r7, 0
- bl sub_809D104
-_080EACFE:
- add sp, 0x10
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80EACBC
-
- thumb_func_start sub_80EAD08
-sub_80EAD08: @ 80EAD08
- push {r4,r5,lr}
- ldr r0, _080EAD58
- ldrb r1, [r0, 0x14]
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 7
- ldr r1, _080EAD5C
- adds r4, r0, r1
- adds r4, 0xB0
- ldr r0, _080EAD60
- ldr r1, [r0]
- movs r0, 0xDD
- lsls r0, 1
- adds r1, r0
- ldrh r0, [r1]
- adds r2, r0, 0
- subs r2, 0x58
- movs r0, 0xFF
- ands r2, r0
- movs r3, 0
- movs r5, 0xFF
-_080EAD32:
- ldrh r0, [r1]
- adds r0, r3
- cmp r0, 0x80
- bne _080EAD42
- negs r0, r3
- adds r2, r0, 0
- subs r2, 0x58
- ands r2, r5
-_080EAD42:
- strh r2, [r4]
- adds r4, 0x2
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3F
- bls _080EAD32
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EAD58: .4byte gUnknown_03004DC0
-_080EAD5C: .4byte gUnknown_03004DE0
-_080EAD60: .4byte gUnknown_083DB694
- thumb_func_end sub_80EAD08
-
- thumb_func_start sub_80EAD64
-sub_80EAD64: @ 80EAD64
- push {lr}
- lsls r1, 24
- ldr r2, _080EAD78
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- pop {r1}
- bx r1
- .align 2, 0
-_080EAD78: .4byte gEasyChatGroupNames
- thumb_func_end sub_80EAD64
-
- thumb_func_start sub_80EAD7C
-sub_80EAD7C: @ 80EAD7C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x14
- beq _080EADA2
- cmp r0, 0x14
- bgt _080EAD9C
- cmp r0, 0x11
- blt _080EADBA
- ldr r0, _080EAD98
- bl FlagGet
- b _080EADB4
- .align 2, 0
-_080EAD98: .4byte 0x00000804
-_080EAD9C:
- cmp r1, 0x15
- beq _080EADB0
- b _080EADBA
-_080EADA2:
- ldr r0, _080EADAC
- bl FlagGet
- b _080EADB4
- .align 2, 0
-_080EADAC: .4byte 0x00000806
-_080EADB0:
- bl sub_80EB9C8
-_080EADB4:
- lsls r0, 24
- lsrs r0, 24
- b _080EADBC
-_080EADBA:
- movs r0, 0x1
-_080EADBC:
- pop {r1}
- bx r1
- thumb_func_end sub_80EAD7C
-
- thumb_func_start sub_80EADC0
-sub_80EADC0: @ 80EADC0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- cmp r2, 0x15
- bhi _080EAE82
- lsls r0, r2, 2
- ldr r1, _080EADD8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EADD8: .4byte _080EADDC
- .align 2, 0
-_080EADDC:
- .4byte _080EAE50
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE82
- .4byte _080EAE62
- .4byte _080EAE62
- .4byte _080EAE62
- .4byte _080EAE34
- .4byte _080EAE78
-_080EAE34:
- ldr r0, _080EAE4C
- ldr r0, [r0]
- adds r0, r2
- adds r0, 0x67
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EAE70
- lsls r0, r3, 24
- lsrs r0, 24
- bl sub_80EB868
- b _080EAE7C
- .align 2, 0
-_080EAE4C: .4byte gUnknown_083DB694
-_080EAE50:
- adds r0, r3, 0
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_8090D90
- b _080EAE7C
-_080EAE62:
- ldr r0, _080EAE74
- ldr r0, [r0]
- adds r0, r2
- adds r0, 0x67
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EAE82
-_080EAE70:
- movs r0, 0
- b _080EAE84
- .align 2, 0
-_080EAE74: .4byte gUnknown_083DB694
-_080EAE78:
- bl sub_80EB9C8
-_080EAE7C:
- lsls r0, 24
- lsrs r0, 24
- b _080EAE84
-_080EAE82:
- movs r0, 0x1
-_080EAE84:
- pop {r1}
- bx r1
- thumb_func_end sub_80EADC0
-
- thumb_func_start sub_80EAE88
-sub_80EAE88: @ 80EAE88
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080EAEA6
- cmp r4, 0x14
- beq _080EAEB2
- adds r0, r4, 0
- bl sub_80EAD7C
- lsls r0, 24
- cmp r0, 0
- bne _080EAEBC
- movs r0, 0
- b _080EAEC2
-_080EAEA6:
- movs r0, 0
- bl sub_8090F68
- lsls r0, 16
- lsrs r0, 16
- b _080EAEC2
-_080EAEB2:
- bl sub_80EB8C0
- lsls r0, 24
- lsrs r0, 24
- b _080EAEC2
-_080EAEBC:
- ldr r0, _080EAEC8
- adds r0, r4, r0
- ldrb r0, [r0]
-_080EAEC2:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080EAEC8: .4byte gEasyChatGroupSizes
- thumb_func_end sub_80EAE88
-
- thumb_func_start sub_80EAECC
-sub_80EAECC: @ 80EAECC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- movs r0, 0
- mov r8, r0
- ldr r1, _080EAF10
- ldr r0, [r1]
- ldr r3, _080EAF14
- adds r3, r0, r3
- str r3, [sp, 0x4]
-_080EAEE6:
- ldr r1, _080EAF18
- mov r7, r8
- lsls r2, r7, 1
- adds r0, r2, r1
- ldrh r4, [r0]
- mov r3, r8
- adds r3, 0x1
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- str r0, [sp]
- ldr r0, [sp, 0x4]
- adds r1, r0, r2
- movs r0, 0
- strh r0, [r1]
- mov r9, r0
- adds r6, r4, 0
- mov r10, r2
- str r3, [sp, 0x8]
- b _080EB00C
- .align 2, 0
-_080EAF10: .4byte gUnknown_083DB694
-_080EAF14: .4byte 0x00004142
-_080EAF18: .4byte gEasyChatWordsByLetter
-_080EAF1C:
- ldr r2, _080EAFB0
- adds r0, r6, 0
- adds r1, r0, 0x1
- lsls r1, 16
- lsrs r6, r1, 16
- lsls r0, 1
- adds r0, r2
- ldrh r1, [r0]
- adds r4, r1, 0
- ldr r0, _080EAFB4
- cmp r1, r0
- bls _080EAFCC
- movs r0, 0xFF
- ands r1, r0
- movs r7, 0
- subs r0, r1, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r3, _080EAFB8
- cmp r5, r3
- beq _080EB00C
- mov r1, r8
- lsls r0, r1, 8
- subs r0, r1
- lsls r3, r0, 1
-_080EAF4E:
- adds r1, r6, 0
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 1
- ldr r0, _080EAFB0
- adds r1, r0
- ldrh r4, [r1]
- lsrs r0, r4, 9
- ldr r1, _080EAFBC
- adds r2, r1, 0
- adds r1, r4, 0
- ands r1, r2
- str r3, [sp, 0xC]
- bl sub_80EADC0
- lsls r0, 24
- ldr r3, [sp, 0xC]
- cmp r0, 0
- beq _080EAFA2
- cmp r7, 0
- bne _080EAFA2
- ldr r7, _080EAFC0
- ldr r2, [r7]
- mov r1, r9
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- lsls r1, 1
- adds r1, r3
- ldr r7, _080EAFC4
- adds r0, r2, r7
- adds r0, r1
- strh r4, [r0]
- ldr r0, _080EAFC8
- adds r2, r0
- add r2, r10
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- movs r7, 0x1
-_080EAFA2:
- subs r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, _080EAFB8
- cmp r5, r1
- bne _080EAF4E
- b _080EB00C
- .align 2, 0
-_080EAFB0: .4byte gEasyChatWordsAlphabetized
-_080EAFB4: .4byte 0x0000feff
-_080EAFB8: .4byte 0x0000ffff
-_080EAFBC: .4byte 0x000001ff
-_080EAFC0: .4byte gUnknown_083DB694
-_080EAFC4: .4byte 0x00000b78
-_080EAFC8: .4byte 0x00004142
-_080EAFCC:
- lsrs r0, r4, 9
- ldr r3, _080EB030
- adds r2, r3, 0
- adds r1, r4, 0
- ands r1, r2
- bl sub_80EADC0
- lsls r0, 24
- cmp r0, 0
- beq _080EB00C
- ldr r7, _080EB034
- ldr r2, [r7]
- mov r1, r9
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- mov r3, r8
- lsls r0, r3, 8
- subs r0, r3
- adds r0, r1
- lsls r0, 1
- ldr r7, _080EB038
- adds r1, r2, r7
- adds r1, r0
- strh r4, [r1]
- ldr r0, _080EB03C
- adds r2, r0
- add r2, r10
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_080EB00C:
- ldr r1, [sp]
- cmp r6, r1
- bcc _080EAF1C
- ldr r3, [sp, 0x8]
- lsls r0, r3, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x1A
- bhi _080EB020
- b _080EAEE6
-_080EB020:
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EB030: .4byte 0x000001ff
-_080EB034: .4byte gUnknown_083DB694
-_080EB038: .4byte 0x00000b78
-_080EB03C: .4byte 0x00004142
- thumb_func_end sub_80EAECC
-
- thumb_func_start sub_80EB040
-sub_80EB040: @ 80EB040
- push {r4-r6,lr}
- movs r3, 0
-_080EB044:
- adds r6, r3, 0x1
- cmp r3, 0
- beq _080EB094
- cmp r3, 0x15
- beq _080EB094
- cmp r3, 0x12
- beq _080EB094
- cmp r3, 0x13
- beq _080EB094
- ldr r0, _080EB0A4
- lsls r1, r3, 2
- adds r1, r0
- ldr r2, [r1]
- movs r4, 0
- ldrb r0, [r2]
- cmp r0, 0xFF
- beq _080EB094
- ldr r0, _080EB0A8
- ldr r0, [r0]
- ldr r1, _080EB0AC
- adds r5, r0, r1
-_080EB06E:
- lsls r0, r4, 2
- lsls r1, r3, 10
- adds r0, r1
- adds r0, r5, r0
- str r2, [r0]
- ldrb r0, [r2]
- adds r1, r4, 0x1
- cmp r0, 0xFF
- beq _080EB088
-_080EB080:
- adds r2, 0x1
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _080EB080
-_080EB088:
- adds r2, 0x1
- lsls r0, r1, 16
- lsrs r4, r0, 16
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _080EB06E
-_080EB094:
- lsls r0, r6, 16
- lsrs r3, r0, 16
- cmp r3, 0x15
- bls _080EB044
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EB0A4: .4byte gEasyChatGroupWords
-_080EB0A8: .4byte gUnknown_083DB694
-_080EB0AC: .4byte 0x000041a4
- thumb_func_end sub_80EB040
-
- thumb_func_start sub_80EB0B0
-sub_80EB0B0: @ 80EB0B0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r3, _080EB184
- ldr r4, [r3]
- adds r0, r4, 0
- adds r0, 0x26
- ldrb r5, [r0]
- cmp r5, 0
- bne _080EB19C
- movs r0, 0xDC
- lsls r0, 1
- adds r2, r4, r0
- ldrb r6, [r2]
- lsls r1, r6, 1
- ldr r7, _080EB188
- adds r0, r4, r7
- adds r0, r1
- strh r5, [r0]
- movs r7, 0
- movs r0, 0
- mov r9, r0
- ldr r1, _080EB18C
- lsls r0, r6, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [sp]
- movs r1, 0
- mov r8, r1
- ldr r1, _080EB190
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r8, r0
- bcc _080EB0FE
- b _080EB1FA
-_080EB0FE:
- movs r2, 0xDC
- lsls r2, 1
- adds r2, r4, r2
- str r2, [sp, 0x4]
- lsls r5, r6, 24
- mov r10, r5
-_080EB10A:
- mov r1, r8
- lsls r0, r1, 1
- ldr r2, [sp]
- adds r5, r0, r2
- ldrh r1, [r5]
- mov r2, r10
- lsrs r0, r2, 24
- bl sub_80EADC0
- lsls r0, 24
- cmp r0, 0
- beq _080EB16A
- ldr r0, _080EB184
- ldr r3, [r0]
- lsls r1, r7, 1
- mov r2, r9
- lsls r0, r2, 2
- adds r1, r0
- ldr r0, _080EB194
- adds r4, r3, r0
- adds r4, r1
- movs r0, 0x7F
- ands r0, r6
- lsls r0, 9
- ldrh r1, [r5]
- ldr r5, _080EB198
- adds r2, r5, 0
- ands r1, r2
- orrs r0, r1
- strh r0, [r4]
- lsls r0, r6, 1
- ldr r1, _080EB188
- adds r3, r1
- adds r3, r0
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x1
- bls _080EB16A
- movs r7, 0
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
-_080EB16A:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, _080EB190
- ldr r2, [sp, 0x4]
- ldrb r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r8, r0
- bcc _080EB10A
- b _080EB1FA
- .align 2, 0
-_080EB184: .4byte gUnknown_083DB694
-_080EB188: .4byte 0x00004178
-_080EB18C: .4byte gEasyChatGroupOrders
-_080EB190: .4byte gEasyChatGroupSizes
-_080EB194: .4byte 0x00009a2a
-_080EB198: .4byte 0x000001ff
-_080EB19C:
- movs r5, 0xDC
- lsls r5, 1
- adds r0, r4, r5
- ldrb r2, [r0]
- movs r3, 0
- movs r6, 0
- movs r5, 0
- lsls r1, r2, 1
- ldr r7, _080EB20C
- adds r0, r4, r7
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r5, r0
- bcs _080EB1FA
- ldr r7, _080EB210
- adds r7, r4
- mov r8, r7
- lsls r0, r2, 8
- subs r0, r2
- lsls r7, r0, 1
- ldr r0, _080EB214
- adds r2, r4, r0
- adds r4, r1, 0
-_080EB1CA:
- lsls r1, r3, 1
- lsls r0, r6, 2
- adds r1, r0
- add r1, r8
- lsls r0, r5, 1
- adds r0, r7
- adds r0, r2, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x1
- bls _080EB1EE
- movs r3, 0
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080EB1EE:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrh r1, [r4]
- cmp r5, r1
- bcc _080EB1CA
-_080EB1FA:
- 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
-_080EB20C: .4byte 0x00004142
-_080EB210: .4byte 0x00009a2a
-_080EB214: .4byte 0x00000b78
- thumb_func_end sub_80EB0B0
-
- thumb_func_start sub_80EB218
-sub_80EB218: @ 80EB218
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r5, r0, 0
- lsls r6, r1, 16
- lsrs r4, r6, 16
- adds r7, r4, 0
- lsls r2, 16
- lsrs r2, 16
- mov r8, r2
- adds r0, r4, 0
- bl sub_80EB37C
- lsls r0, 24
- cmp r0, 0
- beq _080EB240
- ldr r1, _080EB23C
- b _080EB2A2
- .align 2, 0
-_080EB23C: .4byte gOtherText_ThreeQuestions
-_080EB240:
- ldr r0, _080EB250
- cmp r4, r0
- bne _080EB254
- adds r1, r5, 0
- movs r0, 0xFF
- strb r0, [r1]
- b _080EB2AA
- .align 2, 0
-_080EB250: .4byte 0x0000ffff
-_080EB254:
- lsrs r2, r6, 25
- ldr r1, _080EB268
- ands r1, r7
- cmp r2, 0x13
- bgt _080EB26C
- cmp r2, 0x12
- bge _080EB280
- cmp r2, 0
- beq _080EB270
- b _080EB290
- .align 2, 0
-_080EB268: .4byte 0x000001ff
-_080EB26C:
- cmp r2, 0x15
- bne _080EB290
-_080EB270:
- movs r0, 0xB
- muls r1, r0
- ldr r0, _080EB27C
- adds r1, r0
- b _080EB2A2
- .align 2, 0
-_080EB27C: .4byte gSpeciesNames
-_080EB280:
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080EB28C
- adds r1, r0
- b _080EB2A2
- .align 2, 0
-_080EB28C: .4byte gMoveNames
-_080EB290:
- ldr r0, _080EB2CC
- ldr r0, [r0]
- lsls r1, 2
- lsls r2, 10
- adds r1, r2
- ldr r2, _080EB2D0
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
-_080EB2A2:
- adds r0, r5, 0
- bl StringCopy
- adds r1, r0, 0
-_080EB2AA:
- movs r0, 0xFC
- strb r0, [r1]
- movs r0, 0x13
- strb r0, [r1, 0x1]
- mov r2, r8
- lsls r0, r2, 3
- strb r0, [r1, 0x2]
- adds r1, 0x3
- movs r0, 0xFF
- strb r0, [r1]
- adds r0, r1, 0
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080EB2CC: .4byte gUnknown_083DB694
-_080EB2D0: .4byte 0x000041a4
- thumb_func_end sub_80EB218
-
- thumb_func_start sub_80EB2D4
-sub_80EB2D4: @ 80EB2D4
- push {r4-r6,lr}
- lsls r5, r0, 16
- lsrs r4, r5, 16
- adds r6, r4, 0
- adds r0, r4, 0
- bl sub_80EB37C
- lsls r0, 24
- cmp r0, 0
- beq _080EB2F8
- ldr r0, _080EB2F4
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- b _080EB374
- .align 2, 0
-_080EB2F4: .4byte gOtherText_ThreeQuestions
-_080EB2F8:
- ldr r0, _080EB304
- cmp r4, r0
- bne _080EB308
- movs r0, 0
- b _080EB374
- .align 2, 0
-_080EB304: .4byte 0x0000ffff
-_080EB308:
- lsrs r2, r5, 25
- ldr r1, _080EB31C
- ands r1, r6
- cmp r2, 0x13
- bgt _080EB320
- cmp r2, 0x12
- bge _080EB334
- cmp r2, 0
- beq _080EB324
- b _080EB344
- .align 2, 0
-_080EB31C: .4byte 0x000001ff
-_080EB320:
- cmp r2, 0x15
- bne _080EB344
-_080EB324:
- movs r0, 0xB
- muls r1, r0
- ldr r0, _080EB330
- adds r1, r0
- b _080EB356
- .align 2, 0
-_080EB330: .4byte gSpeciesNames
-_080EB334:
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080EB340
- adds r1, r0
- b _080EB356
- .align 2, 0
-_080EB340: .4byte gMoveNames
-_080EB344:
- ldr r0, _080EB35C
- ldr r0, [r0]
- lsls r1, 2
- lsls r2, 10
- adds r1, r2
- ldr r2, _080EB360
- adds r0, r2
- adds r0, r1
- ldr r1, [r0]
-_080EB356:
- movs r2, 0
- b _080EB36C
- .align 2, 0
-_080EB35C: .4byte gUnknown_083DB694
-_080EB360: .4byte 0x000041a4
-_080EB364:
- adds r1, 0x1
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
-_080EB36C:
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080EB364
- adds r0, r2, 0
-_080EB374:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80EB2D4
-
- thumb_func_start sub_80EB37C
-sub_80EB37C: @ 80EB37C
- push {r4,r5,lr}
- lsls r1, r0, 16
- lsrs r3, r1, 16
- ldr r0, _080EB3A0
- cmp r3, r0
- beq _080EB3EA
- lsrs r2, r1, 25
- ldr r5, _080EB3A4
- ands r5, r3
- cmp r2, 0x15
- bhi _080EB3F4
- cmp r2, 0x13
- bgt _080EB3A8
- cmp r2, 0x12
- bge _080EB3AC
- cmp r2, 0
- beq _080EB3AC
- b _080EB3E0
- .align 2, 0
-_080EB3A0: .4byte 0x0000ffff
-_080EB3A4: .4byte 0x000001ff
-_080EB3A8:
- cmp r2, 0x15
- bne _080EB3E0
-_080EB3AC:
- ldr r0, _080EB3D8
- lsls r1, r2, 2
- adds r1, r0
- ldr r4, [r1]
- movs r3, 0
- ldr r0, _080EB3DC
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r3, r0
- bcs _080EB3F4
- adds r1, r0, 0
-_080EB3C2:
- lsls r0, r3, 1
- adds r0, r4
- ldrh r0, [r0]
- cmp r5, r0
- beq _080EB3EA
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r1
- bcc _080EB3C2
- b _080EB3F4
- .align 2, 0
-_080EB3D8: .4byte gEasyChatGroupWords
-_080EB3DC: .4byte gEasyChatGroupSizes
-_080EB3E0:
- ldr r0, _080EB3F0
- adds r0, r2, r0
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080EB3F4
-_080EB3EA:
- movs r0, 0
- b _080EB3F6
- .align 2, 0
-_080EB3F0: .4byte gEasyChatGroupSizes
-_080EB3F4:
- movs r0, 0x1
-_080EB3F6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80EB37C
-
- thumb_func_start sub_80EB3FC
-sub_80EB3FC: @ 80EB3FC
- push {r4-r7,lr}
- adds r5, r0, 0
- lsls r6, r1, 16
- lsrs r4, r6, 16
- adds r7, r4, 0
- adds r0, r4, 0
- bl sub_80EB37C
- lsls r0, 24
- cmp r0, 0
- beq _080EB420
- ldr r1, _080EB41C
- adds r0, r5, 0
- bl StringCopy
- b _080EB4A6
- .align 2, 0
-_080EB41C: .4byte gOtherText_ThreeQuestions
-_080EB420:
- ldr r0, _080EB43C
- cmp r4, r0
- beq _080EB4A0
- lsrs r1, r6, 25
- ldr r2, _080EB440
- ands r2, r7
- cmp r1, 0x13
- bgt _080EB444
- cmp r1, 0x12
- bge _080EB458
- cmp r1, 0
- beq _080EB448
- b _080EB468
- .align 2, 0
-_080EB43C: .4byte 0x0000ffff
-_080EB440: .4byte 0x000001ff
-_080EB444:
- cmp r1, 0x15
- bne _080EB468
-_080EB448:
- movs r0, 0xB
- adds r1, r2, 0
- muls r1, r0
- ldr r0, _080EB454
- adds r1, r0
- b _080EB498
- .align 2, 0
-_080EB454: .4byte gSpeciesNames
-_080EB458:
- movs r0, 0xD
- adds r1, r2, 0
- muls r1, r0
- ldr r0, _080EB464
- adds r1, r0
- b _080EB498
- .align 2, 0
-_080EB464: .4byte gMoveNames
-_080EB468:
- ldr r0, _080EB4AC
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- subs r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _080EB4B0
- cmp r2, r0
- beq _080EB498
- adds r3, r0, 0
-_080EB47E:
- ldrb r0, [r1]
- adds r1, 0x1
- subs r2, 0x1
- cmp r0, 0xFF
- beq _080EB490
-_080EB488:
- ldrb r0, [r1]
- adds r1, 0x1
- cmp r0, 0xFF
- bne _080EB488
-_080EB490:
- lsls r0, r2, 16
- lsrs r2, r0, 16
- cmp r2, r3
- bne _080EB47E
-_080EB498:
- adds r0, r5, 0
- bl StringCopy
- adds r5, r0, 0
-_080EB4A0:
- movs r0, 0xFF
- strb r0, [r5]
- adds r0, r5, 0
-_080EB4A6:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080EB4AC: .4byte gEasyChatGroupWords
-_080EB4B0: .4byte 0x0000ffff
- thumb_func_end sub_80EB3FC
-
- thumb_func_start ConvertEasyChatWordsToString
-ConvertEasyChatWordsToString: @ 80EB4B4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 16
- lsls r3, 16
- lsrs r3, 16
- mov r9, r3
- ldr r0, _080EB53C
- adds r2, r0
- lsrs r7, r2, 16
- movs r0, 0
- cmp r0, r9
- bcs _080EB524
-_080EB4D6:
- movs r6, 0
- adds r0, 0x1
- mov r8, r0
- cmp r6, r7
- bcs _080EB508
- ldr r2, _080EB540
-_080EB4E2:
- ldrh r1, [r5]
- adds r0, r4, 0
- str r2, [sp]
- bl sub_80EB3FC
- adds r4, r0, 0
- ldrh r0, [r5]
- ldr r2, [sp]
- cmp r0, r2
- beq _080EB4FC
- movs r0, 0
- strb r0, [r4]
- adds r4, 0x1
-_080EB4FC:
- adds r5, 0x2
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r7
- bcc _080EB4E2
-_080EB508:
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r4, 0
- bl sub_80EB3FC
- adds r4, r0, 0
- movs r0, 0xFE
- strb r0, [r4]
- adds r4, 0x1
- mov r1, r8
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, r9
- bcc _080EB4D6
-_080EB524:
- subs r4, 0x1
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r4, 0
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080EB53C: .4byte 0xffff0000
-_080EB540: .4byte 0x0000ffff
- thumb_func_end ConvertEasyChatWordsToString
-
- thumb_func_start sub_80EB544
-sub_80EB544: @ 80EB544
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r2, 16
- lsls r3, 16
- lsrs r3, 16
- mov r10, r3
- ldr r0, _080EB5B0
- adds r2, r0
- lsrs r2, 16
- mov r8, r2
- movs r7, 0
- cmp r7, r10
- bcs _080EB5C8
-_080EB56A:
- movs r6, 0
- adds r1, r7, 0x1
- mov r9, r1
- cmp r6, r8
- bcs _080EB59C
- ldr r2, _080EB5B4
-_080EB576:
- ldrh r1, [r5]
- adds r0, r4, 0
- str r2, [sp]
- bl sub_80EB3FC
- adds r4, r0, 0
- ldrh r0, [r5]
- ldr r2, [sp]
- cmp r0, r2
- beq _080EB590
- movs r0, 0
- strb r0, [r4]
- adds r4, 0x1
-_080EB590:
- adds r5, 0x2
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r8
- bcc _080EB576
-_080EB59C:
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r4, 0
- bl sub_80EB3FC
- adds r4, r0, 0
- cmp r7, 0
- bne _080EB5B8
- movs r0, 0xFE
- b _080EB5BA
- .align 2, 0
-_080EB5B0: .4byte 0xffff0000
-_080EB5B4: .4byte 0x0000ffff
-_080EB5B8:
- movs r0, 0xFA
-_080EB5BA:
- strb r0, [r4]
- adds r4, 0x1
- mov r1, r9
- lsls r0, r1, 16
- lsrs r7, r0, 16
- cmp r7, r10
- bcc _080EB56A
-_080EB5C8:
- subs r4, 0x1
- movs r0, 0xFF
- strb r0, [r4]
- adds r0, r4, 0
- 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_80EB544
-
- thumb_func_start unref_sub_80EB5E0
-unref_sub_80EB5E0: @ 80EB5E0
- push {lr}
- lsls r1, r0, 16
- lsrs r3, r1, 16
- ldr r0, _080EB5F0
- cmp r3, r0
- bne _080EB5F4
- movs r0, 0
- b _080EB67C
- .align 2, 0
-_080EB5F0: .4byte 0x0000ffff
-_080EB5F4:
- lsrs r1, 25
- ldr r2, _080EB608
- ands r2, r3
- cmp r1, 0x13
- bgt _080EB60C
- cmp r1, 0x12
- bge _080EB620
- cmp r1, 0
- beq _080EB610
- b _080EB630
- .align 2, 0
-_080EB608: .4byte 0x000001ff
-_080EB60C:
- cmp r1, 0x15
- bne _080EB630
-_080EB610:
- movs r0, 0xB
- adds r1, r2, 0
- muls r1, r0
- ldr r0, _080EB61C
- adds r1, r0
- b _080EB660
- .align 2, 0
-_080EB61C: .4byte gSpeciesNames
-_080EB620:
- movs r0, 0xD
- adds r1, r2, 0
- muls r1, r0
- ldr r0, _080EB62C
- adds r1, r0
- b _080EB660
- .align 2, 0
-_080EB62C: .4byte gMoveNames
-_080EB630:
- ldr r0, _080EB664
- lsls r1, 2
- adds r1, r0
- ldr r1, [r1]
- subs r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _080EB668
- cmp r2, r0
- beq _080EB660
- adds r3, r0, 0
-_080EB646:
- ldrb r0, [r1]
- adds r1, 0x1
- subs r2, 0x1
- cmp r0, 0xFF
- beq _080EB658
-_080EB650:
- ldrb r0, [r1]
- adds r1, 0x1
- cmp r0, 0xFF
- bne _080EB650
-_080EB658:
- lsls r0, r2, 16
- lsrs r2, r0, 16
- cmp r2, r3
- bne _080EB646
-_080EB660:
- movs r2, 0
- b _080EB674
- .align 2, 0
-_080EB664: .4byte gEasyChatGroupWords
-_080EB668: .4byte 0x0000ffff
-_080EB66C:
- adds r1, 0x1
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
-_080EB674:
- ldrb r0, [r1]
- cmp r0, 0xFF
- bne _080EB66C
- adds r0, r2, 0
-_080EB67C:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80EB5E0
-
- thumb_func_start sub_80EB680
-sub_80EB680: @ 80EB680
- movs r0, 0
- bx lr
- thumb_func_end sub_80EB680
-
- thumb_func_start unref_sub_80EB684
-unref_sub_80EB684: @ 80EB684
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r2, r0, 0
- lsls r1, 16
- lsrs r1, 16
- cmp r0, 0x7
- beq _080EB6B4
- cmp r0, 0x7
- bgt _080EB69E
- cmp r0, 0x5
- beq _080EB6A4
- b _080EB6EE
-_080EB69E:
- cmp r2, 0x8
- beq _080EB6C4
- b _080EB6EE
-_080EB6A4:
- movs r2, 0x6
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080EB6B0
- b _080EB6CE
- .align 2, 0
-_080EB6B0: .4byte gSaveBlock1 + 0x273C
-_080EB6B4:
- movs r2, 0x2
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080EB6C0
- b _080EB6CE
- .align 2, 0
-_080EB6C0: .4byte gSaveBlock1 + 0x2754
-_080EB6C4:
- movs r2, 0x1
- lsls r0, r1, 3
- adds r0, r1
- lsls r0, 2
- ldr r1, _080EB6F4
-_080EB6CE:
- adds r1, r0, r1
- subs r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldr r0, _080EB6F8
- cmp r2, r0
- beq _080EB6EE
- adds r4, r0, 0
- adds r3, r0, 0
-_080EB6E0:
- strh r4, [r1]
- adds r1, 0x2
- subs r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r3
- bne _080EB6E0
-_080EB6EE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EB6F4: .4byte gSaveBlock1 + 0x273A
-_080EB6F8: .4byte 0x0000ffff
- thumb_func_end unref_sub_80EB684
-
- thumb_func_start sub_80EB6FC
-sub_80EB6FC: @ 80EB6FC
- push {lr}
- adds r2, r0, 0
- lsls r1, 16
- ldr r0, _080EB724
- adds r1, r0
- lsrs r0, r1, 16
- ldr r1, _080EB728
- cmp r0, r1
- beq _080EB71E
- adds r3, r1, 0
-_080EB710:
- strh r3, [r2]
- adds r2, 0x2
- subs r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- cmp r0, r1
- bne _080EB710
-_080EB71E:
- pop {r0}
- bx r0
- .align 2, 0
-_080EB724: .4byte 0xffff0000
-_080EB728: .4byte 0x0000ffff
- thumb_func_end sub_80EB6FC
-
- thumb_func_start sub_80EB72C
-sub_80EB72C: @ 80EB72C
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl Random
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _080EB778
- adds r1, r4, r1
- ldrb r1, [r1]
- bl __modsi3
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r4, 0
- beq _080EB758
- cmp r4, 0x15
- beq _080EB758
- cmp r4, 0x12
- beq _080EB758
- cmp r4, 0x13
- bne _080EB766
-_080EB758:
- ldr r1, _080EB77C
- lsls r0, r4, 2
- adds r0, r1
- ldr r1, [r0]
- lsls r0, r2, 1
- adds r0, r1
- ldrh r2, [r0]
-_080EB766:
- movs r0, 0x7F
- ands r0, r4
- lsls r0, 9
- ldr r1, _080EB780
- ands r2, r1
- orrs r0, r2
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080EB778: .4byte gEasyChatGroupSizes
-_080EB77C: .4byte gEasyChatGroupWords
-_080EB780: .4byte 0x000001ff
- thumb_func_end sub_80EB72C
-
- thumb_func_start sub_80EB784
-sub_80EB784: @ 80EB784
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80EAD7C
- lsls r0, 24
- cmp r0, 0
- bne _080EB7A0
- ldr r0, _080EB79C
- b _080EB7BE
- .align 2, 0
-_080EB79C: .4byte 0x0000ffff
-_080EB7A0:
- cmp r4, 0
- beq _080EB7AE
- cmp r4, 0x14
- bne _080EB7B4
- bl sub_80EB960
- b _080EB7BA
-_080EB7AE:
- bl sub_80EB9D8
- b _080EB7BA
-_080EB7B4:
- adds r0, r4, 0
- bl sub_80EB72C
-_080EB7BA:
- lsls r0, 16
- lsrs r0, 16
-_080EB7BE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EB784
-
- thumb_func_start sub_80EB7C4
-sub_80EB7C4: @ 80EB7C4
- push {r4,r5,lr}
- ldr r0, _080EB7D8
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080EB7F0
- cmp r0, 0x1
- bgt _080EB7DC
- cmp r0, 0
- beq _080EB7E6
- b _080EB82E
- .align 2, 0
-_080EB7D8: .4byte gUnknown_0202E8CC
-_080EB7DC:
- cmp r0, 0x2
- beq _080EB810
- cmp r0, 0x3
- beq _080EB818
- b _080EB82E
-_080EB7E6:
- ldr r5, _080EB7EC
- movs r2, 0x2
- b _080EB81C
- .align 2, 0
-_080EB7EC: .4byte gSaveBlock1 + 0x2B1C
-_080EB7F0:
- ldr r5, _080EB80C
- adds r0, r5, 0
- movs r1, 0x3
- movs r2, 0x2
- movs r3, 0x14
- bl sub_80EB680
- lsls r0, 24
- cmp r0, 0
- beq _080EB81A
- movs r2, 0x2
- movs r3, 0x3
- b _080EB81E
- .align 2, 0
-_080EB80C: .4byte gSaveBlock1 + 0x2B28
-_080EB810:
- ldr r5, _080EB814
- b _080EB81A
- .align 2, 0
-_080EB814: .4byte gSaveBlock1 + 0x2B34
-_080EB818:
- ldr r5, _080EB834
-_080EB81A:
- movs r2, 0x3
-_080EB81C:
- movs r3, 0x2
-_080EB81E:
- ldr r4, _080EB838
- adds r0, r4, 0
- adds r1, r5, 0
- bl ConvertEasyChatWordsToString
- adds r0, r4, 0
- bl ShowFieldAutoScrollMessage
-_080EB82E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EB834: .4byte gSaveBlock1 + 0x2B40
-_080EB838: .4byte gStringVar4
- thumb_func_end sub_80EB7C4
-
- thumb_func_start sub_80EB83C
-sub_80EB83C: @ 80EB83C
- push {lr}
- bl Random
- movs r1, 0x1
- ands r1, r0
- movs r0, 0xC
- cmp r1, 0
- beq _080EB84E
- movs r0, 0xD
-_080EB84E:
- bl sub_80EB784
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- ldr r0, _080EB864
- bl sub_80EB3FC
- pop {r0}
- bx r0
- .align 2, 0
-_080EB864: .4byte gStringVar2
- thumb_func_end sub_80EB83C
-
- thumb_func_start sub_80EB868
-sub_80EB868: @ 80EB868
- lsls r0, 24
- lsrs r2, r0, 27
- movs r1, 0xE0
- lsls r1, 19
- ands r1, r0
- lsrs r1, 24
- ldr r0, _080EB888
- ldr r3, _080EB88C
- adds r0, r3
- adds r2, r0
- ldrb r0, [r2]
- asrs r0, r1
- movs r1, 0x1
- ands r0, r1
- bx lr
- .align 2, 0
-_080EB888: .4byte gSaveBlock1
-_080EB88C: .4byte 0x00002d8c
- thumb_func_end sub_80EB868
-
- thumb_func_start sub_80EB890
-sub_80EB890: @ 80EB890
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x20
- bhi _080EB8B2
- lsrs r2, r0, 27
- movs r1, 0x7
- ands r1, r3
- ldr r0, _080EB8B8
- ldr r3, _080EB8BC
- adds r0, r3
- adds r2, r0
- movs r0, 0x1
- lsls r0, r1
- ldrb r1, [r2]
- orrs r0, r1
- strb r0, [r2]
-_080EB8B2:
- pop {r0}
- bx r0
- .align 2, 0
-_080EB8B8: .4byte gSaveBlock1
-_080EB8BC: .4byte 0x00002d8c
- thumb_func_end sub_80EB890
-
- thumb_func_start sub_80EB8C0
-sub_80EB8C0: @ 80EB8C0
- push {r4,r5,lr}
- movs r4, 0
- movs r5, 0
-_080EB8C6:
- adds r0, r4, 0
- bl sub_80EB868
- lsls r0, 24
- cmp r0, 0
- beq _080EB8D8
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_080EB8D8:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x20
- bls _080EB8C6
- adds r0, r5, 0
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80EB8C0
-
- thumb_func_start sub_80EB8EC
-sub_80EB8EC: @ 80EB8EC
- push {r4-r6,lr}
- bl sub_80EB8C0
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x21
- bne _080EB918
- b _080EB952
-_080EB8FC:
- adds r0, r5, 0
- bl sub_80EB890
- ldr r0, _080EB914
- ands r4, r0
- movs r1, 0xA0
- lsls r1, 6
- adds r0, r1, 0
- orrs r4, r0
- adds r0, r4, 0
- b _080EB954
- .align 2, 0
-_080EB914: .4byte 0x000001ff
-_080EB918:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x21
- subs r1, r4
- bl __modsi3
- lsls r0, 16
- lsrs r6, r0, 16
- movs r4, 0
-_080EB92E:
- lsls r0, r4, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_80EB868
- lsls r0, 24
- cmp r0, 0
- bne _080EB948
- cmp r6, 0
- beq _080EB8FC
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080EB948:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x20
- bls _080EB92E
-_080EB952:
- ldr r0, _080EB95C
-_080EB954:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080EB95C: .4byte 0x0000ffff
- thumb_func_end sub_80EB8EC
-
- thumb_func_start sub_80EB960
-sub_80EB960: @ 80EB960
- push {r4,r5,lr}
- bl sub_80EB8C0
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- bne _080EB984
- b _080EB9BA
-_080EB970:
- ldr r0, _080EB980
- ands r4, r0
- movs r1, 0xA0
- lsls r1, 6
- adds r0, r1, 0
- orrs r4, r0
- adds r0, r4, 0
- b _080EB9BC
- .align 2, 0
-_080EB980: .4byte 0x000001ff
-_080EB984:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0
-_080EB998:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80EB868
- lsls r0, 24
- cmp r0, 0
- beq _080EB9B0
- cmp r5, 0
- beq _080EB970
- subs r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_080EB9B0:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x20
- bls _080EB998
-_080EB9BA:
- ldr r0, _080EB9C4
-_080EB9BC:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080EB9C4: .4byte 0x0000ffff
- thumb_func_end sub_80EB960
-
- thumb_func_start sub_80EB9C8
-sub_80EB9C8: @ 80EB9C8
- push {lr}
- bl sub_806912C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80EB9C8
-
- thumb_func_start sub_80EB9D8
-sub_80EB9D8: @ 80EB9D8
- push {r4-r7,lr}
- movs r0, 0
- bl sub_80EAE88
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0
- bne _080EB9F8
- b _080EBA46
-_080EB9EA:
- ldrh r1, [r5]
- ldr r0, _080EB9F4
- ands r0, r1
- b _080EBA48
- .align 2, 0
-_080EB9F4: .4byte 0x000001ff
-_080EB9F8:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, _080EBA50
- ldr r5, [r0]
- movs r6, 0
- ldr r0, _080EBA54
- ldrb r0, [r0]
- cmp r6, r0
- bcs _080EBA46
- adds r7, r0, 0
-_080EBA1A:
- ldrh r0, [r5]
- bl SpeciesToNationalPokedexNum
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0
- bl sub_8090D90
- lsls r0, 24
- cmp r0, 0
- beq _080EBA3A
- cmp r4, 0
- beq _080EB9EA
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080EBA3A:
- adds r5, 0x2
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, r7
- bcc _080EBA1A
-_080EBA46:
- ldr r0, _080EBA58
-_080EBA48:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080EBA50: .4byte gEasyChatGroupWords
-_080EBA54: .4byte gEasyChatGroupSizes
-_080EBA58: .4byte 0x0000ffff
- thumb_func_end sub_80EB9D8
-
- thumb_func_start sub_80EBA5C
-sub_80EBA5C: @ 80EBA5C
- push {lr}
- ldr r0, _080EBA74
- ldr r2, _080EBA78
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0xE
- bhi _080EBABC
- lsls r0, 2
- ldr r1, _080EBA7C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EBA74: .4byte gMain
-_080EBA78: .4byte 0x0000043c
-_080EBA7C: .4byte _080EBA80
- .align 2, 0
-_080EBA80:
- .4byte _080EBAC0
- .4byte _080EBB08
- .4byte _080EBB10
- .4byte _080EBB16
- .4byte _080EBB1C
- .4byte _080EBB22
- .4byte _080EBB28
- .4byte _080EBB2E
- .4byte _080EBB3E
- .4byte _080EBB4C
- .4byte _080EBB5C
- .4byte _080EBB6C
- .4byte _080EBB7C
- .4byte _080EBB90
- .4byte _080EBBA0
-_080EBABC:
- movs r0, 0
- strb r0, [r1]
-_080EBAC0:
- bl is_c1_link_related_active
- ldr r3, _080EBAF0
- ldr r2, _080EBAF4
- adds r1, r3, r2
- strb r0, [r1]
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080EBBC0
- ldr r1, _080EBAF8
- adds r0, r3, r1
- strb r2, [r0]
- ldr r1, _080EBAFC
- ldr r2, _080EBB00
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ldr r0, _080EBB04
- bl SetMainCallback2
- b _080EBBC0
- .align 2, 0
-_080EBAF0: .4byte 0x02000000
-_080EBAF4: .4byte 0x00006dac
-_080EBAF8: .4byte 0x00006dab
-_080EBAFC: .4byte gMain
-_080EBB00: .4byte 0x0000043c
-_080EBB04: .4byte sub_80EBBE8
-_080EBB08:
- movs r0, 0
- bl SetVBlankCallback
- b _080EBBC0
-_080EBB10:
- bl ResetPaletteFade
- b _080EBBC0
-_080EBB16:
- bl ResetSpriteData
- b _080EBBC0
-_080EBB1C:
- bl FreeAllSpritePalettes
- b _080EBBC0
-_080EBB22:
- bl ResetTasks
- b _080EBBC0
-_080EBB28:
- bl remove_some_task
- b _080EBBC0
-_080EBB2E:
- bl sub_80F1A90
- ldr r1, _080EBB44
- ldr r0, _080EBB48
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080EBB3E:
- bl sub_80F1AC4
- b _080EBB80
- .align 2, 0
-_080EBB44: .4byte gMain
-_080EBB48: .4byte 0x0000043c
-_080EBB4C:
- bl sub_80F2688
- ldr r1, _080EBB64
- ldr r2, _080EBB68
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080EBB5C:
- bl sub_80F26BC
- b _080EBB80
- .align 2, 0
-_080EBB64: .4byte gMain
-_080EBB68: .4byte 0x0000043c
-_080EBB6C:
- bl sub_80F36F0
- ldr r1, _080EBB88
- ldr r0, _080EBB8C
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080EBB7C:
- bl sub_80F3724
-_080EBB80:
- lsls r0, 24
- cmp r0, 0
- bne _080EBBCC
- b _080EBBC0
- .align 2, 0
-_080EBB88: .4byte gMain
-_080EBB8C: .4byte 0x0000043c
-_080EBB90:
- bl sub_80EBC10
- ldr r0, _080EBB9C
- bl sub_80EBDBC
- b _080EBBC0
- .align 2, 0
-_080EBB9C: .4byte sub_80EBDD8
-_080EBBA0:
- ldr r0, _080EBBD0
- ldr r1, _080EBBD4
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- movs r0, 0x6E
- bl PlaySE
- ldr r0, _080EBBD8
- bl SetMainCallback2
- ldr r0, _080EBBDC
- bl SetVBlankCallback
- bl sub_80F1A74
-_080EBBC0:
- ldr r1, _080EBBE0
- ldr r2, _080EBBE4
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080EBBCC:
- pop {r0}
- bx r0
- .align 2, 0
-_080EBBD0: .4byte 0x02000000
-_080EBBD4: .4byte 0x00006dab
-_080EBBD8: .4byte sub_80EBD90
-_080EBBDC: .4byte sub_80EBD18
-_080EBBE0: .4byte gMain
-_080EBBE4: .4byte 0x0000043c
- thumb_func_end sub_80EBA5C
-
- thumb_func_start sub_80EBBE8
-sub_80EBBE8: @ 80EBBE8
- push {r4,lr}
- ldr r0, _080EBC08
- ldr r2, _080EBC0C
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _080EBC02
- adds r4, r1, 0
-_080EBBF8:
- bl sub_80EBA5C
- ldrb r0, [r4]
- cmp r0, 0
- beq _080EBBF8
-_080EBC02:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EBC08: .4byte 0x02000000
-_080EBC0C: .4byte 0x00006dab
- thumb_func_end sub_80EBBE8
-
- thumb_func_start sub_80EBC10
-sub_80EBC10: @ 80EBC10
- push {r4-r7,lr}
- ldr r1, _080EBC7C
- movs r0, 0x14
- strh r0, [r1]
- bl CalculatePlayerPartyCount
- ldr r2, _080EBC80
- ldr r1, _080EBC84
- adds r3, r2, r1
- movs r1, 0
- strb r0, [r3]
- ldr r3, _080EBC88
- adds r0, r2, r3
- strb r1, [r0]
- ldr r3, _080EBC8C
- adds r0, r2, r3
- strb r1, [r0]
- ldr r3, _080EBC90
- adds r0, r2, r3
- str r1, [r0]
- ldr r3, _080EBC94
- adds r0, r2, r3
- str r1, [r0]
- movs r3, 0
- ldr r0, _080EBC98
- adds r7, r2, r0
- mov r12, r2
- movs r6, 0
- ldr r5, _080EBC9C
- movs r4, 0x9B
-_080EBC4C:
- adds r0, r3, r7
- strb r6, [r0]
- lsls r1, r3, 2
- adds r1, r2
- adds r0, r1, r5
- strh r4, [r0]
- ldr r0, _080EBCA0
- adds r1, r0
- movs r0, 0x5B
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x4
- bls _080EBC4C
- ldr r1, _080EBCA4
- add r1, r12
- movs r0, 0
- strb r0, [r1]
- bl sub_80EBCA8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EBC7C: .4byte gKeyRepeatStartDelay
-_080EBC80: .4byte 0x02000000
-_080EBC84: .4byte 0x00008828
-_080EBC88: .4byte 0x00006ddc
-_080EBC8C: .4byte 0x00009344
-_080EBC90: .4byte 0x00008768
-_080EBC94: .4byte 0x0000ced0
-_080EBC98: .4byte 0x00008fff
-_080EBC9C: .4byte 0x00009040
-_080EBCA0: .4byte 0x00009042
-_080EBCA4: .4byte 0x00006e95
- thumb_func_end sub_80EBC10
-
- thumb_func_start sub_80EBCA8
-sub_80EBCA8: @ 80EBCA8
- push {r4,lr}
- ldr r4, _080EBCDC
- ldr r0, _080EBCE0
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _080EBCE4
- adds r1, r4, r0
- movs r0, 0x2
- strb r0, [r1]
- ldr r0, _080EBCE8
- adds r1, r4, r0
- movs r0, 0x3
- strb r0, [r1]
- ldr r0, _080EBCEC
- bl FlagGet
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080EBCF4
- ldr r0, _080EBCF0
- adds r1, r4, r0
- movs r0, 0x4
- strb r0, [r1]
- b _080EBCFA
- .align 2, 0
-_080EBCDC: .4byte 0x02000000
-_080EBCE0: .4byte 0x00006db2
-_080EBCE4: .4byte 0x00006db3
-_080EBCE8: .4byte 0x00006db4
-_080EBCEC: .4byte 0x0000083b
-_080EBCF0: .4byte 0x00006db5
-_080EBCF4:
- ldr r1, _080EBD0C
- adds r0, r4, r1
- strb r2, [r0]
-_080EBCFA:
- ldr r0, _080EBD10
- ldr r1, _080EBD14
- adds r0, r1
- movs r1, 0x5
- strb r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EBD0C: .4byte 0x00006db5
-_080EBD10: .4byte 0x02000000
-_080EBD14: .4byte 0x00006db6
- thumb_func_end sub_80EBCA8
-
- thumb_func_start sub_80EBD18
-sub_80EBD18: @ 80EBD18
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_80F1FF0
- pop {r0}
- bx r0
- thumb_func_end sub_80EBD18
-
- thumb_func_start sub_80EBD30
-sub_80EBD30: @ 80EBD30
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_80FB260
- bl sub_80EFE7C
- pop {r0}
- bx r0
- thumb_func_end sub_80EBD30
-
- thumb_func_start sub_80EBD4C
-sub_80EBD4C: @ 80EBD4C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_80F5BF0
- bl sub_8089668
- pop {r0}
- bx r0
- thumb_func_end sub_80EBD4C
-
- thumb_func_start sub_80EBD68
-sub_80EBD68: @ 80EBD68
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- bl sub_80F6F64
- pop {r0}
- bx r0
- thumb_func_end sub_80EBD68
-
- thumb_func_start sub_80EBD80
-sub_80EBD80: @ 80EBD80
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- pop {r0}
- bx r0
- thumb_func_end sub_80EBD80
-
- thumb_func_start sub_80EBD90
-sub_80EBD90: @ 80EBD90
- push {lr}
- ldr r0, _080EBDB8
- movs r1, 0xC0
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- bl AnimateSprites
- bl BuildOamBuffer
- bl RunTasks
- bl UpdatePaletteFade
- bl sub_80F19FC
- pop {r0}
- bx r0
- .align 2, 0
-_080EBDB8: .4byte 0x02000000
- thumb_func_end sub_80EBD90
-
- thumb_func_start sub_80EBDBC
-sub_80EBDBC: @ 80EBDBC
- ldr r2, _080EBDD4
- movs r3, 0xC0
- lsls r3, 2
- adds r1, r2, r3
- str r0, [r1]
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r2, r0
- movs r0, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080EBDD4: .4byte 0x02000000
- thumb_func_end sub_80EBDBC
-
- thumb_func_start sub_80EBDD8
-sub_80EBDD8: @ 80EBDD8
- push {lr}
- sub sp, 0x4
- ldr r1, _080EBDF8
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x11
- bls _080EBDEE
- b _080EC000
-_080EBDEE:
- lsls r0, 2
- ldr r1, _080EBDFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EBDF8: .4byte 0x02000000
-_080EBDFC: .4byte _080EBE00
- .align 2, 0
-_080EBE00:
- .4byte _080EBE48
- .4byte _080EBE80
- .4byte _080EBE92
- .4byte _080EBEAC
- .4byte _080EBEC0
- .4byte _080EBED2
- .4byte _080EBEF0
- .4byte _080EBF04
- .4byte _080EBF18
- .4byte _080EBF2C
- .4byte _080EBF48
- .4byte _080EBF54
- .4byte _080EBF74
- .4byte _080EBF88
- .4byte _080EBFA0
- .4byte _080EBFB4
- .4byte _080EBFD0
- .4byte _080EBFE8
-_080EBE48:
- movs r0, 0
- bl SetVBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- ldr r1, _080EBE74
- ldr r3, _080EBE78
- adds r0, r1, r3
- ldrb r2, [r0]
- subs r3, 0x2F
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _080EBE7C
- adds r2, r1, r0
- movs r0, 0x5
- strb r0, [r2]
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EBFDC
- .align 2, 0
-_080EBE74: .4byte 0x02000000
-_080EBE78: .4byte 0x00006ddc
-_080EBE7C: .4byte 0x00006dae
-_080EBE80:
- bl sub_80F3FF0
- ldr r1, _080EBEA8
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EBE92:
- bl sub_80F4024
- lsls r0, 24
- cmp r0, 0
- beq _080EBE9E
- b _080EC000
-_080EBE9E:
- ldr r1, _080EBEA8
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EBFDC
- .align 2, 0
-_080EBEA8: .4byte 0x02000000
-_080EBEAC:
- bl sub_80F2598
- ldr r1, _080EBEBC
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EBFDC
- .align 2, 0
-_080EBEBC: .4byte 0x02000000
-_080EBEC0:
- bl sub_80EEE20
- ldr r1, _080EBEEC
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EBED2:
- bl sub_80EEE54
- lsls r0, 24
- cmp r0, 0
- beq _080EBEDE
- b _080EC000
-_080EBEDE:
- bl sub_80EEE08
- ldr r1, _080EBEEC
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EBFDC
- .align 2, 0
-_080EBEEC: .4byte 0x02000000
-_080EBEF0:
- movs r0, 0
- bl sub_80EF248
- ldr r1, _080EBF14
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EBF04:
- movs r0, 0
- bl sub_80EF284
- lsls r0, 24
- cmp r0, 0
- beq _080EBF12
- b _080EC000
-_080EBF12:
- b _080EBFD4
- .align 2, 0
-_080EBF14: .4byte 0x02000000
-_080EBF18:
- movs r0, 0
- bl sub_80F1B8C
- ldr r1, _080EBF44
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EBF2C:
- movs r0, 0
- bl sub_80F1BC8
- lsls r0, 24
- cmp r0, 0
- bne _080EC000
- ldr r1, _080EBF44
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EBFDC
- .align 2, 0
-_080EBF44: .4byte 0x02000000
-_080EBF48:
- ldr r0, _080EBF50
- bl SetVBlankCallback
- b _080EBFD4
- .align 2, 0
-_080EBF50: .4byte sub_80EBD18
-_080EBF54:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r1, _080EBF70
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EBFDC
- .align 2, 0
-_080EBF70: .4byte 0x02000000
-_080EBF74:
- movs r0, 0
- bl sub_80EED2C
- ldr r1, _080EBF84
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EBFDC
- .align 2, 0
-_080EBF84: .4byte 0x02000000
-_080EBF88:
- ldr r0, _080EBF9C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EC000
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r2, r3
- b _080EBFDC
- .align 2, 0
-_080EBF9C: .4byte gPaletteFade
-_080EBFA0:
- movs r0, 0
- bl sub_80F2C80
- ldr r1, _080EBFCC
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EBFB4:
- movs r0, 0
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080EC000
- ldr r1, _080EBFCC
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EBFDC
- .align 2, 0
-_080EBFCC: .4byte 0x02000000
-_080EBFD0:
- bl sub_80F1DF0
-_080EBFD4:
- ldr r1, _080EBFE4
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
-_080EBFDC:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EC000
- .align 2, 0
-_080EBFE4: .4byte 0x02000000
-_080EBFE8:
- bl sub_80F1E50
- lsls r0, 24
- cmp r0, 0
- bne _080EC000
- movs r0, 0
- movs r1, 0
- bl sub_80EF428
- ldr r0, _080EC008
- bl sub_80EBDBC
-_080EC000:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080EC008: .4byte sub_80EC268
- thumb_func_end sub_80EBDD8
-
- thumb_func_start sub_80EC00C
-sub_80EC00C: @ 80EC00C
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080EC02C
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0xD
- bls _080EC022
- b _080EC1FA
-_080EC022:
- lsls r0, 2
- ldr r1, _080EC030
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EC02C: .4byte 0x02000000
-_080EC030: .4byte _080EC034
- .align 2, 0
-_080EC034:
- .4byte _080EC06C
- .4byte _080EC0C0
- .4byte _080EC0D4
- .4byte _080EC0F0
- .4byte _080EC104
- .4byte _080EC120
- .4byte _080EC12A
- .4byte _080EC154
- .4byte _080EC168
- .4byte _080EC180
- .4byte _080EC194
- .4byte _080EC1A8
- .4byte _080EC1C4
- .4byte _080EC1DC
-_080EC06C:
- bl sub_80EEF78
- lsls r0, 24
- cmp r0, 0
- beq _080EC078
- b _080EC1FA
-_080EC078:
- ldr r0, _080EC0AC
- bl SetVBlankCallback
- bl sub_80EED1C
- ldr r4, _080EC0B0
- ldr r1, _080EC0B4
- adds r0, r4, r1
- ldrb r1, [r0]
- ldr r2, _080EC0B8
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, _080EC0BC
- adds r1, r4, r0
- movs r0, 0x5
- strb r0, [r1]
- bl sub_80EEE08
- movs r1, 0xC1
- lsls r1, 2
- adds r4, r1
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080EC1FA
- .align 2, 0
-_080EC0AC: .4byte sub_80EBD80
-_080EC0B0: .4byte 0x02000000
-_080EC0B4: .4byte 0x00006ddc
-_080EC0B8: .4byte 0x00006dad
-_080EC0BC: .4byte 0x00006dae
-_080EC0C0:
- movs r0, 0
- bl sub_80EF248
- ldr r1, _080EC0EC
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EC0D4:
- movs r0, 0
- bl sub_80EF284
- lsls r0, 24
- cmp r0, 0
- beq _080EC0E2
- b _080EC1FA
-_080EC0E2:
- ldr r1, _080EC0EC
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EC1D0
- .align 2, 0
-_080EC0EC: .4byte 0x02000000
-_080EC0F0:
- movs r0, 0
- bl sub_80F1B8C
- ldr r1, _080EC11C
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EC104:
- movs r0, 0
- bl sub_80F1BC8
- lsls r0, 24
- cmp r0, 0
- beq _080EC112
- b _080EC1FA
-_080EC112:
- ldr r1, _080EC11C
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EC1D0
- .align 2, 0
-_080EC11C: .4byte 0x02000000
-_080EC120:
- bl sub_8055870
- cmp r0, 0
- bne _080EC1FA
- b _080EC1C8
-_080EC12A:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080EC150
- bl SetVBlankCallback
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080EC1D0
- .align 2, 0
-_080EC150: .4byte sub_80EBD18
-_080EC154:
- movs r0, 0
- bl sub_80EED2C
- ldr r1, _080EC164
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EC1D0
- .align 2, 0
-_080EC164: .4byte 0x02000000
-_080EC168:
- ldr r0, _080EC17C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EC1FA
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080EC1D0
- .align 2, 0
-_080EC17C: .4byte gPaletteFade
-_080EC180:
- bl sub_80F2598
- ldr r1, _080EC190
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EC1D0
- .align 2, 0
-_080EC190: .4byte 0x02000000
-_080EC194:
- movs r0, 0
- bl sub_80F2C80
- ldr r1, _080EC1C0
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EC1A8:
- movs r0, 0
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080EC1FA
- ldr r1, _080EC1C0
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EC1D0
- .align 2, 0
-_080EC1C0: .4byte 0x02000000
-_080EC1C4:
- bl sub_80F1DF0
-_080EC1C8:
- ldr r1, _080EC1D8
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
-_080EC1D0:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EC1FA
- .align 2, 0
-_080EC1D8: .4byte 0x02000000
-_080EC1DC:
- bl sub_80F1E50
- lsls r0, 24
- cmp r0, 0
- bne _080EC1FA
- ldr r0, _080EC204
- ldr r1, _080EC208
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80EF428
- ldr r0, _080EC20C
- bl sub_80EBDBC
-_080EC1FA:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EC204: .4byte 0x02000000
-_080EC208: .4byte 0x00006dad
-_080EC20C: .4byte sub_80EC268
- thumb_func_end sub_80EC00C
-
- thumb_func_start sub_80EC210
-sub_80EC210: @ 80EC210
- push {r4,r5,lr}
- ldr r5, _080EC228
- movs r0, 0xC1
- lsls r0, 2
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0
- beq _080EC22C
- cmp r0, 0x1
- beq _080EC24C
- b _080EC25C
- .align 2, 0
-_080EC228: .4byte 0x02000000
-_080EC22C:
- movs r0, 0x1
- bl sub_80F2D04
- ldr r1, _080EC248
- adds r0, r5, r1
- ldrb r1, [r0]
- movs r0, 0
- movs r2, 0
- bl sub_80EE9C0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080EC25C
- .align 2, 0
-_080EC248: .4byte 0x00006ddc
-_080EC24C:
- bl sub_80EEA0C
- lsls r0, 24
- cmp r0, 0
- bne _080EC25C
- ldr r0, _080EC264
- bl sub_80EBDBC
-_080EC25C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EC264: .4byte sub_80EC268
- thumb_func_end sub_80EC210
-
- thumb_func_start sub_80EC268
-sub_80EC268: @ 80EC268
- push {r4-r6,lr}
- ldr r4, _080EC290
- movs r0, 0xC1
- lsls r0, 2
- adds r6, r4, r0
- ldrh r0, [r6]
- cmp r0, 0x3
- bne _080EC27A
- b _080EC3BE
-_080EC27A:
- cmp r0, 0x3
- bgt _080EC294
- cmp r0, 0x1
- bne _080EC284
- b _080EC3A2
-_080EC284:
- cmp r0, 0x1
- ble _080EC28A
- b _080EC3B4
-_080EC28A:
- cmp r0, 0
- beq _080EC2AE
- b _080EC492
- .align 2, 0
-_080EC290: .4byte 0x02000000
-_080EC294:
- cmp r0, 0x6
- bne _080EC29A
- b _080EC414
-_080EC29A:
- cmp r0, 0x6
- bgt _080EC2A6
- cmp r0, 0x4
- bne _080EC2A4
- b _080EC3DC
-_080EC2A4:
- b _080EC492
-_080EC2A6:
- cmp r0, 0xFF
- bne _080EC2AC
- b _080EC44C
-_080EC2AC:
- b _080EC492
-_080EC2AE:
- bl sub_80EEC10
- lsls r0, 24
- cmp r0, 0
- beq _080EC2D4
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080EC2D0
- adds r0, r4, r1
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80EF428
- bl sub_80EED9C
- b _080EC492
- .align 2, 0
-_080EC2D0: .4byte 0x00006dad
-_080EC2D4:
- ldr r0, _080EC310
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080EC394
- ldr r2, _080EC314
- adds r0, r4, r2
- ldrb r1, [r0]
- adds r2, 0x2F
- adds r0, r4, r2
- strb r1, [r0]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r2, 0x2A
- adds r1, r4, r2
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0x4
- bls _080EC304
- b _080EC492
-_080EC304:
- lsls r0, 2
- ldr r1, _080EC318
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EC310: .4byte gMain
-_080EC314: .4byte 0x00006dad
-_080EC318: .4byte _080EC31C
- .align 2, 0
-_080EC31C:
- .4byte _080EC330
- .4byte _080EC344
- .4byte _080EC380
- .4byte _080EC36C
- .4byte _080EC358
-_080EC330:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EC340
- bl sub_80EBDBC
- b _080EC492
- .align 2, 0
-_080EC340: .4byte sub_80EC4A0
-_080EC344:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EC354
- bl sub_80EBDBC
- b _080EC492
- .align 2, 0
-_080EC354: .4byte sub_80EC81C
-_080EC358:
- ldr r0, _080EC368
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
- b _080EC492
- .align 2, 0
-_080EC368: .4byte 0x02000000
-_080EC36C:
- ldr r0, _080EC37C
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0]
- b _080EC492
- .align 2, 0
-_080EC37C: .4byte 0x02000000
-_080EC380:
- ldr r0, _080EC390
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x6
- strh r1, [r0]
- b _080EC492
- .align 2, 0
-_080EC390: .4byte 0x02000000
-_080EC394:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080EC39E
- b _080EC492
-_080EC39E:
- strh r2, [r6]
- b _080EC492
-_080EC3A2:
- bl sub_80F208C
- ldr r0, _080EC3B0
- bl sub_80EBDBC
- b _080EC492
- .align 2, 0
-_080EC3B0: .4byte sub_80EE96C
-_080EC3B4:
- bl sub_80F6208
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
-_080EC3BE:
- bl sub_80F6250
- lsls r0, 24
- cmp r0, 0
- bne _080EC492
- ldr r1, _080EC3D8
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EC492
- .align 2, 0
-_080EC3D8: .4byte 0x02000000
-_080EC3DC:
- bl sub_8055870
- cmp r0, 0
- bne _080EC492
- ldr r1, _080EC400
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080EC408
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EC404
- bl sub_80EBDBC
- b _080EC492
- .align 2, 0
-_080EC400: .4byte 0x00008fe8
-_080EC404: .4byte sub_80EDB88
-_080EC408:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0
- movs r1, 0x5
- b _080EC442
-_080EC414:
- bl sub_80F6C20
- ldr r2, _080EC430
- adds r0, r4, r2
- ldrh r0, [r0]
- cmp r0, 0
- beq _080EC438
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EC434
- bl sub_80EBDBC
- b _080EC492
- .align 2, 0
-_080EC430: .4byte 0x0000d158
-_080EC434: .4byte sub_80EE3D8
-_080EC438:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0
- movs r1, 0x6
-_080EC442:
- bl sub_80EF428
- movs r0, 0xFF
- strh r0, [r6]
- b _080EC492
-_080EC44C:
- bl sub_80EEC10
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080EC478
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080EC474
- adds r0, r4, r1
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80EF428
- movs r0, 0
- strh r0, [r6]
- bl sub_80EED9C
- b _080EC492
- .align 2, 0
-_080EC474: .4byte 0x00006dad
-_080EC478:
- ldr r0, _080EC498
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080EC492
- ldr r2, _080EC49C
- adds r0, r4, r2
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80EF428
- strh r5, [r6]
-_080EC492:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EC498: .4byte gMain
-_080EC49C: .4byte 0x00006dad
- thumb_func_end sub_80EC268
-
- thumb_func_start sub_80EC4A0
-sub_80EC4A0: @ 80EC4A0
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080EC4C0
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0xE
- bls _080EC4B6
- b _080EC66A
-_080EC4B6:
- lsls r0, 2
- ldr r1, _080EC4C4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EC4C0: .4byte 0x02000000
-_080EC4C4: .4byte _080EC4C8
- .align 2, 0
-_080EC4C8:
- .4byte _080EC504
- .4byte _080EC510
- .4byte _080EC544
- .4byte _080EC578
- .4byte _080EC594
- .4byte _080EC5A8
- .4byte _080EC5AE
- .4byte _080EC5C0
- .4byte _080EC5D0
- .4byte _080EC5E4
- .4byte _080EC5F8
- .4byte _080EC614
- .4byte _080EC61E
- .4byte _080EC63E
- .4byte _080EC658
-_080EC504:
- bl sub_80F1E84
- movs r0, 0
- bl sub_80F2D04
- b _080EC644
-_080EC510:
- bl sub_80F1F10
- lsls r0, 24
- cmp r0, 0
- beq _080EC51C
- b _080EC66A
-_080EC51C:
- ldr r0, _080EC53C
- ldrb r1, [r0, 0x15]
- movs r0, 0x8
- ands r0, r1
- movs r1, 0x8
- cmp r0, 0
- beq _080EC52C
- movs r1, 0x7
-_080EC52C:
- adds r0, r1, 0
- bl sub_80EEFBC
- ldr r1, _080EC540
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EC64C
- .align 2, 0
-_080EC53C: .4byte gSaveBlock2
-_080EC540: .4byte 0x02000000
-_080EC544:
- bl sub_80EEF34
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080EC552
- b _080EC66A
-_080EC552:
- ldr r4, _080EC574
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080EC64C
- .align 2, 0
-_080EC574: .4byte 0x02000000
-_080EC578:
- ldr r0, _080EC590
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EC66A
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80EED0C
- b _080EC644
- .align 2, 0
-_080EC590: .4byte gPaletteFade
-_080EC594:
- bl sub_80F2620
- ldr r1, _080EC5A4
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EC64C
- .align 2, 0
-_080EC5A4: .4byte 0x02000000
-_080EC5A8:
- bl sub_80EF814
- b _080EC644
-_080EC5AE:
- bl sub_80EF840
- ldr r1, _080EC5CC
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EC5C0:
- bl sub_80EF874
- lsls r0, 24
- cmp r0, 0
- bne _080EC66A
- b _080EC644
- .align 2, 0
-_080EC5CC: .4byte 0x02000000
-_080EC5D0:
- movs r0, 0x4
- bl sub_80F2C80
- ldr r1, _080EC5F4
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EC5E4:
- movs r0, 0x4
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080EC66A
- b _080EC644
- .align 2, 0
-_080EC5F4: .4byte 0x02000000
-_080EC5F8:
- bl sub_80F2DD8
- ldr r0, _080EC60C
- bl SetVBlankCallback
- ldr r1, _080EC610
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EC64C
- .align 2, 0
-_080EC60C: .4byte sub_80EBD30
-_080EC610: .4byte 0x02000000
-_080EC614:
- bl sub_8055870
- cmp r0, 0
- bne _080EC66A
- b _080EC644
-_080EC61E:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080EC64C
-_080EC63E:
- movs r0, 0x1
- bl sub_80EED2C
-_080EC644:
- ldr r1, _080EC654
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
-_080EC64C:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EC66A
- .align 2, 0
-_080EC654: .4byte 0x02000000
-_080EC658:
- ldr r0, _080EC674
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EC66A
- ldr r0, _080EC678
- bl sub_80EBDBC
-_080EC66A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EC674: .4byte gPaletteFade
-_080EC678: .4byte sub_80EC67C
- thumb_func_end sub_80EC4A0
-
- thumb_func_start sub_80EC67C
-sub_80EC67C: @ 80EC67C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, _080EC69C
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x5
- bls _080EC692
- b _080EC800
-_080EC692:
- lsls r0, 2
- ldr r1, _080EC6A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EC69C: .4byte 0x02000000
-_080EC6A0: .4byte _080EC6A4
- .align 2, 0
-_080EC6A4:
- .4byte _080EC6BC
- .4byte _080EC718
- .4byte _080EC746
- .4byte _080EC77C
- .4byte _080EC7A0
- .4byte _080EC7C4
-_080EC6BC:
- bl sub_80FAB60
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- beq _080EC6E2
- cmp r0, 0x3
- bgt _080EC6D2
- cmp r0, 0x1
- beq _080EC6DC
- b _080EC800
-_080EC6D2:
- cmp r0, 0x4
- beq _080EC6E8
- cmp r0, 0x5
- beq _080EC700
- b _080EC800
-_080EC6DC:
- bl sub_80EED9C
- b _080EC800
-_080EC6E2:
- bl sub_80EF9F8
- b _080EC800
-_080EC6E8:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EC6FC
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
- b _080EC800
- .align 2, 0
-_080EC6FC: .4byte 0x02000000
-_080EC700:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EC714
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r2
- movs r1, 0x4
- strh r1, [r0]
- b _080EC800
- .align 2, 0
-_080EC714: .4byte 0x02000000
-_080EC718:
- ldr r1, _080EC730
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EC734
- bl sub_80FAEC4
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080EC7BC
- .align 2, 0
-_080EC730: .4byte 0x00006e90
-_080EC734:
- movs r0, 0x1
- bl sub_80EFBDC
- lsls r0, 24
- cmp r0, 0
- bne _080EC800
- bl sub_80FAEC4
- b _080EC7B6
-_080EC746:
- bl sub_80FAFC0
- lsls r0, 24
- cmp r0, 0
- bne _080EC800
- ldr r5, _080EC76C
- ldr r1, _080EC770
- adds r0, r5, r1
- ldrb r4, [r0]
- cmp r4, 0
- bne _080EC774
- bl sub_80EFBB0
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r5, r2
- strh r4, [r0]
- b _080EC800
- .align 2, 0
-_080EC76C: .4byte 0x02000000
-_080EC770: .4byte 0x00006e90
-_080EC774:
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r5, r0
- b _080EC7BC
-_080EC77C:
- movs r0, 0
- bl sub_80EFBDC
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080EC800
- bl sub_80EFBB0
- ldr r0, _080EC79C
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- strh r4, [r0]
- b _080EC800
- .align 2, 0
-_080EC79C: .4byte 0x02000000
-_080EC7A0:
- movs r2, 0xC2
- lsls r2, 2
- adds r0, r4, r2
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_080EC7B6:
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
-_080EC7BC:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EC800
-_080EC7C4:
- ldr r0, _080EC808
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EC800
- bl sub_80F2DF4
- movs r0, 0x4
- bl sub_80F2D04
- ldr r3, _080EC80C
- movs r2, 0
- ldr r0, _080EC810
- ldr r1, _080EC814
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080EC7EC
- movs r2, 0x1
-_080EC7EC:
- lsls r2, 3
- ldrb r1, [r3, 0x15]
- movs r0, 0x9
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3, 0x15]
- ldr r0, _080EC818
- bl sub_80EBDBC
-_080EC800:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EC808: .4byte gPaletteFade
-_080EC80C: .4byte gSaveBlock2
-_080EC810: .4byte 0x02000000
-_080EC814: .4byte 0x00006e90
-_080EC818: .4byte sub_80EC00C
- thumb_func_end sub_80EC67C
-
- thumb_func_start sub_80EC81C
-sub_80EC81C: @ 80EC81C
- push {r4,lr}
- ldr r0, _080EC834
- movs r1, 0xC1
- lsls r1, 2
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0
- beq _080EC838
- cmp r0, 0x1
- beq _080EC850
- b _080EC860
- .align 2, 0
-_080EC834: .4byte 0x02000000
-_080EC838:
- movs r0, 0
- bl sub_80F2D04
- movs r0, 0x1
- movs r1, 0
- movs r2, 0x1
- bl sub_80EE9C0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080EC860
-_080EC850:
- bl sub_80EEA0C
- lsls r0, 24
- cmp r0, 0
- bne _080EC860
- ldr r0, _080EC868
- bl sub_80EBDBC
-_080EC860:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EC868: .4byte sub_80EC86C
- thumb_func_end sub_80EC81C
-
- thumb_func_start sub_80EC86C
-sub_80EC86C: @ 80EC86C
- push {r4-r6,lr}
- ldr r4, _080EC884
- movs r0, 0xC1
- lsls r0, 2
- adds r5, r4, r0
- ldrh r0, [r5]
- cmp r0, 0
- beq _080EC888
- cmp r0, 0x1
- beq _080EC944
- b _080EC954
- .align 2, 0
-_080EC884: .4byte 0x02000000
-_080EC888:
- bl sub_80EEC90
- lsls r0, 24
- cmp r0, 0
- beq _080EC8B0
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080EC8AC
- adds r0, r4, r1
- ldrb r1, [r0]
- movs r0, 0x1
- bl sub_80EF428
- bl sub_80EED9C
- b _080EC954
- .align 2, 0
-_080EC8AC: .4byte 0x00006dad
-_080EC8B0:
- ldr r0, _080EC8E4
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080EC918
- movs r0, 0x5
- bl PlaySE
- ldr r2, _080EC8E8
- adds r0, r4, r2
- ldrb r1, [r0]
- adds r2, 0x43
- adds r0, r4, r2
- strb r1, [r0]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x1
- beq _080EC900
- cmp r0, 0x1
- bgt _080EC8EC
- cmp r0, 0
- beq _080EC8F2
- b _080EC954
- .align 2, 0
-_080EC8E4: .4byte gMain
-_080EC8E8: .4byte 0x00006dad
-_080EC8EC:
- cmp r0, 0x2
- beq _080EC90C
- b _080EC954
-_080EC8F2:
- ldr r0, _080EC8FC
- bl sub_80EBDBC
- b _080EC954
- .align 2, 0
-_080EC8FC: .4byte sub_80ED620
-_080EC900:
- ldr r0, _080EC908
- bl sub_80EBDBC
- b _080EC954
- .align 2, 0
-_080EC908: .4byte sub_80EC960
-_080EC90C:
- ldr r0, _080EC914
- bl sub_80EBDBC
- b _080EC954
- .align 2, 0
-_080EC914: .4byte sub_80EC210
-_080EC918:
- movs r6, 0x2
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080EC954
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080EC93C
- adds r0, r4, r1
- strb r6, [r0]
- ldr r2, _080EC940
- adds r0, r4, r2
- strb r6, [r0]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _080EC954
- .align 2, 0
-_080EC93C: .4byte 0x00006df0
-_080EC940: .4byte 0x00006dad
-_080EC944:
- bl sub_80F1E6C
- lsls r0, 24
- cmp r0, 0
- bne _080EC954
- ldr r0, _080EC95C
- bl sub_80EBDBC
-_080EC954:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EC95C: .4byte sub_80EC210
- thumb_func_end sub_80EC86C
-
- thumb_func_start sub_80EC960
-sub_80EC960: @ 80EC960
- push {r4,lr}
- ldr r0, _080EC978
- movs r1, 0xC1
- lsls r1, 2
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0
- beq _080EC97C
- cmp r0, 0x1
- beq _080EC98E
- b _080EC99E
- .align 2, 0
-_080EC978: .4byte 0x02000000
-_080EC97C:
- movs r0, 0x2
- movs r1, 0
- movs r2, 0x5
- bl sub_80EE9C0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080EC99E
-_080EC98E:
- bl sub_80EEA0C
- lsls r0, 24
- cmp r0, 0
- bne _080EC99E
- ldr r0, _080EC9A4
- bl sub_80EBDBC
-_080EC99E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EC9A4: .4byte sub_80ECC08
- thumb_func_end sub_80EC960
-
- thumb_func_start sub_80EC9A8
-sub_80EC9A8: @ 80EC9A8
- push {r4,r5,lr}
- ldr r5, _080EC9C0
- movs r0, 0xC1
- lsls r0, 2
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0
- beq _080EC9C4
- cmp r0, 0x1
- beq _080EC9E4
- b _080ECA00
- .align 2, 0
-_080EC9C0: .4byte 0x02000000
-_080EC9C4:
- movs r0, 0x5
- bl sub_80F2D04
- ldr r1, _080EC9E0
- adds r0, r5, r1
- ldrb r1, [r0]
- movs r0, 0x1
- movs r2, 0xC
- bl sub_80EE9C0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080ECA00
- .align 2, 0
-_080EC9E0: .4byte 0x00006df0
-_080EC9E4:
- bl sub_80EEA0C
- lsls r0, 24
- cmp r0, 0
- bne _080ECA00
- ldr r0, _080ECA08
- bl sub_80EBDBC
- ldr r1, _080ECA0C
- adds r0, r5, r1
- ldrb r1, [r0]
- movs r0, 0x1
- bl sub_80EF428
-_080ECA00:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ECA08: .4byte sub_80EC86C
-_080ECA0C: .4byte 0x00006dad
- thumb_func_end sub_80EC9A8
-
- thumb_func_start sub_80ECA10
-sub_80ECA10: @ 80ECA10
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080ECA30
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0xD
- bls _080ECA26
- b _080ECBF2
-_080ECA26:
- lsls r0, 2
- ldr r1, _080ECA34
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ECA30: .4byte 0x02000000
-_080ECA34: .4byte _080ECA38
- .align 2, 0
-_080ECA38:
- .4byte _080ECA70
- .4byte _080ECAC4
- .4byte _080ECAD8
- .4byte _080ECAF4
- .4byte _080ECB08
- .4byte _080ECB24
- .4byte _080ECB2E
- .4byte _080ECB58
- .4byte _080ECB6C
- .4byte _080ECB72
- .4byte _080ECB8C
- .4byte _080ECBA0
- .4byte _080ECBBC
- .4byte _080ECBD4
-_080ECA70:
- bl sub_80EEF78
- lsls r0, 24
- cmp r0, 0
- beq _080ECA7C
- b _080ECBF2
-_080ECA7C:
- ldr r0, _080ECAB0
- bl SetVBlankCallback
- bl sub_80EED1C
- ldr r4, _080ECAB4
- ldr r1, _080ECAB8
- adds r0, r4, r1
- ldrb r1, [r0]
- ldr r2, _080ECABC
- adds r0, r4, r2
- strb r1, [r0]
- ldr r0, _080ECAC0
- adds r1, r4, r0
- movs r0, 0x3
- strb r0, [r1]
- bl sub_80EEE08
- movs r1, 0xC1
- lsls r1, 2
- adds r4, r1
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080ECBF2
- .align 2, 0
-_080ECAB0: .4byte sub_80EBD80
-_080ECAB4: .4byte 0x02000000
-_080ECAB8: .4byte 0x00006df0
-_080ECABC: .4byte 0x00006dad
-_080ECAC0: .4byte 0x00006dae
-_080ECAC4:
- movs r0, 0x1
- bl sub_80EF248
- ldr r1, _080ECAF0
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ECAD8:
- movs r0, 0x1
- bl sub_80EF284
- lsls r0, 24
- cmp r0, 0
- beq _080ECAE6
- b _080ECBF2
-_080ECAE6:
- ldr r1, _080ECAF0
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ECBC8
- .align 2, 0
-_080ECAF0: .4byte 0x02000000
-_080ECAF4:
- movs r0, 0x1
- bl sub_80F1B8C
- ldr r1, _080ECB20
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ECB08:
- movs r0, 0x1
- bl sub_80F1BC8
- lsls r0, 24
- cmp r0, 0
- bne _080ECBF2
- ldr r1, _080ECB20
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ECBC8
- .align 2, 0
-_080ECB20: .4byte 0x02000000
-_080ECB24:
- bl sub_8055870
- cmp r0, 0
- bne _080ECBF2
- b _080ECBC0
-_080ECB2E:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080ECB54
- bl SetVBlankCallback
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ECBC8
- .align 2, 0
-_080ECB54: .4byte sub_80EBD18
-_080ECB58:
- movs r0, 0
- bl sub_80EED2C
- ldr r1, _080ECB68
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ECBC8
- .align 2, 0
-_080ECB68: .4byte 0x02000000
-_080ECB6C:
- bl sub_80F2598
- b _080ECBC0
-_080ECB72:
- ldr r0, _080ECB88
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080ECBF2
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
- b _080ECBC8
- .align 2, 0
-_080ECB88: .4byte gPaletteFade
-_080ECB8C:
- movs r0, 0x1
- bl sub_80F2C80
- ldr r1, _080ECBB8
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ECBA0:
- movs r0, 0x1
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080ECBF2
- ldr r1, _080ECBB8
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ECBC8
- .align 2, 0
-_080ECBB8: .4byte 0x02000000
-_080ECBBC:
- bl sub_80F1DF0
-_080ECBC0:
- ldr r1, _080ECBD0
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
-_080ECBC8:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080ECBF2
- .align 2, 0
-_080ECBD0: .4byte 0x02000000
-_080ECBD4:
- bl sub_80F1E50
- lsls r0, 24
- cmp r0, 0
- bne _080ECBF2
- ldr r0, _080ECBFC
- ldr r1, _080ECC00
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x1
- bl sub_80EF428
- ldr r0, _080ECC04
- bl sub_80EBDBC
-_080ECBF2:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ECBFC: .4byte 0x02000000
-_080ECC00: .4byte 0x00006dad
-_080ECC04: .4byte sub_80EC86C
- thumb_func_end sub_80ECA10
-
- thumb_func_start sub_80ECC08
-sub_80ECC08: @ 80ECC08
- push {r4,r5,lr}
- ldr r4, _080ECC20
- movs r0, 0xC1
- lsls r0, 2
- adds r5, r4, r0
- ldrh r0, [r5]
- cmp r0, 0
- beq _080ECC24
- cmp r0, 0x1
- bne _080ECC1E
- b _080ECD64
-_080ECC1E:
- b _080ECD74
- .align 2, 0
-_080ECC20: .4byte 0x02000000
-_080ECC24:
- bl sub_80EEC90
- lsls r0, 24
- cmp r0, 0
- beq _080ECC4C
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080ECC48
- adds r0, r4, r1
- ldrb r1, [r0]
- movs r0, 0x2
- bl sub_80EF428
- bl sub_80EED9C
- b _080ECD74
- .align 2, 0
-_080ECC48: .4byte 0x00006dad
-_080ECC4C:
- ldr r0, _080ECC78
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080ECC5A
- b _080ECD40
-_080ECC5A:
- movs r0, 0x5
- bl PlaySE
- ldr r2, _080ECC7C
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- bhi _080ECD0C
- lsls r0, 2
- ldr r1, _080ECC80
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ECC78: .4byte gMain
-_080ECC7C: .4byte 0x00006dad
-_080ECC80: .4byte _080ECC84
- .align 2, 0
-_080ECC84:
- .4byte _080ECC9C
- .4byte _080ECCB0
- .4byte _080ECCC4
- .4byte _080ECCD8
- .4byte _080ECCEC
- .4byte _080ECD00
-_080ECC9C:
- ldr r0, _080ECCA8
- ldr r3, _080ECCAC
- adds r0, r3
- movs r1, 0x16
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCA8: .4byte 0x02000000
-_080ECCAC: .4byte 0x000087d8
-_080ECCB0:
- ldr r0, _080ECCBC
- ldr r1, _080ECCC0
- adds r0, r1
- movs r1, 0x17
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCBC: .4byte 0x02000000
-_080ECCC0: .4byte 0x000087d8
-_080ECCC4:
- ldr r0, _080ECCD0
- ldr r2, _080ECCD4
- adds r0, r2
- movs r1, 0x18
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCD0: .4byte 0x02000000
-_080ECCD4: .4byte 0x000087d8
-_080ECCD8:
- ldr r0, _080ECCE4
- ldr r3, _080ECCE8
- adds r0, r3
- movs r1, 0x21
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCE4: .4byte 0x02000000
-_080ECCE8: .4byte 0x000087d8
-_080ECCEC:
- ldr r0, _080ECCF8
- ldr r1, _080ECCFC
- adds r0, r1
- movs r1, 0x2F
- strb r1, [r0]
- b _080ECD0C
- .align 2, 0
-_080ECCF8: .4byte 0x02000000
-_080ECCFC: .4byte 0x000087d8
-_080ECD00:
- ldr r0, _080ECD08
- bl sub_80EBDBC
- b _080ECD74
- .align 2, 0
-_080ECD08: .4byte sub_80EC9A8
-_080ECD0C:
- ldr r1, _080ECD2C
- ldr r2, _080ECD30
- adds r0, r1, r2
- ldrb r2, [r0]
- ldr r3, _080ECD34
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _080ECD38
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _080ECD3C
- bl sub_80EBDBC
- b _080ECD74
- .align 2, 0
-_080ECD2C: .4byte 0x02000000
-_080ECD30: .4byte 0x00006dad
-_080ECD34: .4byte 0x00006dfc
-_080ECD38: .4byte 0x000076aa
-_080ECD3C: .4byte sub_80ED01C
-_080ECD40:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080ECD74
- movs r0, 0x5
- bl PlaySE
- ldr r2, _080ECD60
- adds r1, r4, r2
- movs r0, 0x5
- strb r0, [r1]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _080ECD74
- .align 2, 0
-_080ECD60: .4byte 0x00006dad
-_080ECD64:
- bl sub_80F1E6C
- lsls r0, 24
- cmp r0, 0
- bne _080ECD74
- ldr r0, _080ECD7C
- bl sub_80EBDBC
-_080ECD74:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080ECD7C: .4byte sub_80EC9A8
- thumb_func_end sub_80ECC08
-
- thumb_func_start sub_80ECD80
-sub_80ECD80: @ 80ECD80
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080ECDA0
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x14
- bls _080ECD96
- b _080ED006
-_080ECD96:
- lsls r0, 2
- ldr r1, _080ECDA4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ECDA0: .4byte 0x02000000
-_080ECDA4: .4byte _080ECDA8
- .align 2, 0
-_080ECDA8:
- .4byte _080ECDFC
- .4byte _080ECE1A
- .4byte _080ECE34
- .4byte _080ECE4C
- .4byte _080ECE64
- .4byte _080ECE78
- .4byte _080ECE80
- .4byte _080ECEAC
- .4byte _080ECEC0
- .4byte _080ECED4
- .4byte _080ECEE8
- .4byte _080ECF04
- .4byte _080ECF10
- .4byte _080ECF3C
- .4byte _080ECF44
- .4byte _080ECF58
- .4byte _080ECF70
- .4byte _080ECF84
- .4byte _080ECFB0
- .4byte _080ECFC4
- .4byte _080ECFE8
-_080ECDFC:
- movs r3, 0xC2
- lsls r3, 2
- adds r0, r4, r3
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
- b _080ECFDC
-_080ECE1A:
- ldr r0, _080ECE30
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080ECE28
- b _080ED006
-_080ECE28:
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ECFDC
- .align 2, 0
-_080ECE30: .4byte gPaletteFade
-_080ECE34:
- bl sub_80EEF78
- lsls r0, 24
- cmp r0, 0
- beq _080ECE40
- b _080ED006
-_080ECE40:
- ldr r0, _080ECE48
- bl SetVBlankCallback
- b _080ECFD4
- .align 2, 0
-_080ECE48: .4byte sub_80EBD80
-_080ECE4C:
- bl sub_80EED1C
- bl sub_80F3130
- ldr r1, _080ECE60
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ECFDC
- .align 2, 0
-_080ECE60: .4byte 0x02000000
-_080ECE64:
- movs r0, 0x1
- bl sub_80F2D6C
- ldr r1, _080ECE74
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080ECFDC
- .align 2, 0
-_080ECE74: .4byte 0x02000000
-_080ECE78:
- movs r0, 0x5
- bl sub_80F2D6C
- b _080ECFD4
-_080ECE80:
- ldr r1, _080ECEA0
- adds r0, r4, r1
- ldrb r1, [r0]
- ldr r2, _080ECEA4
- adds r0, r4, r2
- strb r1, [r0]
- ldr r3, _080ECEA8
- adds r1, r4, r3
- movs r0, 0x6
- strb r0, [r1]
- bl sub_80EEE08
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
- b _080ECFDC
- .align 2, 0
-_080ECEA0: .4byte 0x00006dfc
-_080ECEA4: .4byte 0x00006dad
-_080ECEA8: .4byte 0x00006dae
-_080ECEAC:
- movs r0, 0x2
- bl sub_80EF248
- ldr r1, _080ECED0
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ECEC0:
- movs r0, 0x2
- bl sub_80EF284
- lsls r0, 24
- cmp r0, 0
- beq _080ECECE
- b _080ED006
-_080ECECE:
- b _080ECFD4
- .align 2, 0
-_080ECED0: .4byte 0x02000000
-_080ECED4:
- movs r0, 0x2
- bl sub_80F1B8C
- ldr r1, _080ECF00
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ECEE8:
- movs r0, 0x2
- bl sub_80F1BC8
- lsls r0, 24
- cmp r0, 0
- beq _080ECEF6
- b _080ED006
-_080ECEF6:
- ldr r1, _080ECF00
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080ECFDC
- .align 2, 0
-_080ECF00: .4byte 0x02000000
-_080ECF04:
- bl sub_8055870
- cmp r0, 0
- beq _080ECF0E
- b _080ED006
-_080ECF0E:
- b _080ECFD4
-_080ECF10:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080ECF38
- bl SetVBlankCallback
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ECFDC
- .align 2, 0
-_080ECF38: .4byte sub_80EBD18
-_080ECF3C:
- movs r0, 0
- bl sub_80EED2C
- b _080ECFD4
-_080ECF44:
- bl sub_80F2598
- ldr r1, _080ECF54
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ECFDC
- .align 2, 0
-_080ECF54: .4byte 0x02000000
-_080ECF58:
- ldr r0, _080ECF6C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080ED006
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ECFDC
- .align 2, 0
-_080ECF6C: .4byte gPaletteFade
-_080ECF70:
- movs r0, 0x1
- bl sub_80F2C80
- ldr r1, _080ECFA8
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ECF84:
- movs r0, 0x1
- bl sub_80F2CBC
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080ED006
- ldr r0, _080ECFA8
- ldr r3, _080ECFAC
- adds r1, r0, r3
- strh r2, [r1]
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- b _080ED006
- .align 2, 0
-_080ECFA8: .4byte 0x02000000
-_080ECFAC: .4byte 0x00000306
-_080ECFB0:
- movs r0, 0x5
- bl sub_80F2C80
- ldr r1, _080ECFE4
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ECFC4:
- movs r0, 0x5
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080ED006
- bl sub_80F1DF0
-_080ECFD4:
- ldr r1, _080ECFE4
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
-_080ECFDC:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080ED006
- .align 2, 0
-_080ECFE4: .4byte 0x02000000
-_080ECFE8:
- bl sub_80F1E50
- lsls r0, 24
- cmp r0, 0
- bne _080ED006
- ldr r0, _080ED010
- ldr r1, _080ED014
- adds r0, r1
- ldrb r1, [r0]
- movs r0, 0x2
- bl sub_80EF428
- ldr r0, _080ED018
- bl sub_80EBDBC
-_080ED006:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ED010: .4byte 0x02000000
-_080ED014: .4byte 0x00006dad
-_080ED018: .4byte sub_80ECC08
- thumb_func_end sub_80ECD80
-
- thumb_func_start sub_80ED01C
-sub_80ED01C: @ 80ED01C
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080ED03C
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x13
- bls _080ED032
- b _080ED308
-_080ED032:
- lsls r0, 2
- ldr r1, _080ED040
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ED03C: .4byte 0x02000000
-_080ED040: .4byte _080ED044
- .align 2, 0
-_080ED044:
- .4byte _080ED094
- .4byte _080ED0B4
- .4byte _080ED0D4
- .4byte _080ED108
- .4byte _080ED138
- .4byte _080ED14C
- .4byte _080ED15E
- .4byte _080ED18C
- .4byte _080ED1AC
- .4byte _080ED1C4
- .4byte _080ED1D8
- .4byte _080ED1F4
- .4byte _080ED208
- .4byte _080ED220
- .4byte _080ED24C
- .4byte _080ED260
- .4byte _080ED28C
- .4byte _080ED2A0
- .4byte _080ED2CC
- .4byte _080ED2EA
-_080ED094:
- bl sub_80F1E84
- movs r0, 0x1
- bl sub_80F2D04
- movs r0, 0x5
- bl sub_80F2D04
- ldr r1, _080ED0B0
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED0B0: .4byte 0x02000000
-_080ED0B4:
- bl sub_80F1F10
- lsls r0, 24
- cmp r0, 0
- beq _080ED0C0
- b _080ED308
-_080ED0C0:
- movs r0, 0
- bl sub_80EEFBC
- ldr r1, _080ED0D0
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED27C
- .align 2, 0
-_080ED0D0: .4byte 0x02000000
-_080ED0D4:
- bl sub_80EEF34
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080ED0E2
- b _080ED308
-_080ED0E2:
- ldr r4, _080ED104
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ED27C
- .align 2, 0
-_080ED104: .4byte 0x02000000
-_080ED108:
- ldr r0, _080ED130
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080ED116
- b _080ED308
-_080ED116:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80EED0C
- bl sub_80EF814
- ldr r1, _080ED134
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED130: .4byte gPaletteFade
-_080ED134: .4byte 0x02000000
-_080ED138:
- bl sub_80F2620
- ldr r1, _080ED148
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED27C
- .align 2, 0
-_080ED148: .4byte 0x02000000
-_080ED14C:
- bl sub_80F4D44
- ldr r1, _080ED178
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ED15E:
- bl sub_80F4D88
- lsls r0, 24
- cmp r0, 0
- bne _080ED17C
- ldr r1, _080ED178
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x2
- strh r0, [r1]
- b _080ED308
- .align 2, 0
-_080ED178: .4byte 0x02000000
-_080ED17C:
- ldr r1, _080ED188
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED27C
- .align 2, 0
-_080ED188: .4byte 0x02000000
-_080ED18C:
- bl sub_8055870
- cmp r0, 0
- beq _080ED196
- b _080ED308
-_080ED196:
- ldr r1, _080ED1A8
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- b _080ED308
- .align 2, 0
-_080ED1A8: .4byte 0x02000000
-_080ED1AC:
- bl sub_8055870
- cmp r0, 0
- beq _080ED1B6
- b _080ED308
-_080ED1B6:
- ldr r1, _080ED1C0
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED1C0: .4byte 0x02000000
-_080ED1C4:
- movs r0, 0
- bl sub_80F0264
- ldr r1, _080ED1F0
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ED1D8:
- bl sub_80F02A0
- lsls r0, 24
- cmp r0, 0
- beq _080ED1E4
- b _080ED308
-_080ED1E4:
- ldr r1, _080ED1F0
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080ED27C
- .align 2, 0
-_080ED1F0: .4byte 0x02000000
-_080ED1F4:
- movs r0, 0
- bl sub_80F3008
- ldr r1, _080ED204
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED204: .4byte 0x02000000
-_080ED208:
- bl sub_8055870
- cmp r0, 0
- beq _080ED212
- b _080ED308
-_080ED212:
- ldr r1, _080ED21C
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED27C
- .align 2, 0
-_080ED21C: .4byte 0x02000000
-_080ED220:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080ED248
- bl SetVBlankCallback
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ED27C
- .align 2, 0
-_080ED248: .4byte sub_80EBD18
-_080ED24C:
- movs r0, 0x4
- bl sub_80EED2C
- ldr r1, _080ED25C
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r3
- b _080ED27C
- .align 2, 0
-_080ED25C: .4byte 0x02000000
-_080ED260:
- ldr r0, _080ED284
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _080ED308
- ldr r2, _080ED288
- adds r0, r4, r2
- strh r1, [r0]
- movs r3, 0xC1
- lsls r3, 2
- adds r1, r4, r3
-_080ED27C:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080ED308
- .align 2, 0
-_080ED284: .4byte gPaletteFade
-_080ED288: .4byte 0x00000306
-_080ED28C:
- movs r0, 0x1
- bl sub_80F2C80
- ldr r1, _080ED2C4
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ED2A0:
- movs r0, 0x1
- bl sub_80F2CBC
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- bne _080ED308
- ldr r0, _080ED2C4
- ldr r3, _080ED2C8
- adds r1, r0, r3
- strh r2, [r1]
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- b _080ED308
- .align 2, 0
-_080ED2C4: .4byte 0x02000000
-_080ED2C8: .4byte 0x00000306
-_080ED2CC:
- ldr r4, _080ED310
- ldr r2, _080ED314
- adds r0, r4, r2
- ldrb r0, [r0]
- adds r0, 0x7
- lsls r0, 24
- lsrs r0, 24
- bl sub_80F2C80
- movs r3, 0xC1
- lsls r3, 2
- adds r4, r3
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080ED2EA:
- ldr r0, _080ED310
- ldr r1, _080ED314
- adds r0, r1
- ldrb r0, [r0]
- adds r0, 0x7
- lsls r0, 24
- lsrs r0, 24
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080ED308
- ldr r0, _080ED318
- bl sub_80EBDBC
-_080ED308:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ED310: .4byte 0x02000000
-_080ED314: .4byte 0x00006dfc
-_080ED318: .4byte sub_80ED31C
- thumb_func_end sub_80ED01C
-
- thumb_func_start sub_80ED31C
-sub_80ED31C: @ 80ED31C
- push {r4,lr}
- ldr r0, _080ED338
- movs r1, 0xC1
- lsls r1, 2
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080ED3A8
- cmp r0, 0x1
- bgt _080ED33C
- cmp r0, 0
- beq _080ED342
- b _080ED3CA
- .align 2, 0
-_080ED338: .4byte 0x02000000
-_080ED33C:
- cmp r0, 0x2
- beq _080ED3C0
- b _080ED3CA
-_080ED342:
- bl sub_80F5DD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080ED374
- cmp r0, 0x2
- beq _080ED380
- ldr r0, _080ED36C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080ED38C
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080ED370
- bl sub_80EBDBC
- b _080ED3CA
- .align 2, 0
-_080ED36C: .4byte gMain
-_080ED370: .4byte sub_80ED4D8
-_080ED374:
- movs r0, 0x5
- bl PlaySE
- bl ShowMapNamePopUpWindow
- b _080ED3CA
-_080ED380:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- adds r0, 0x1
- b _080ED3C8
-_080ED38C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080ED3CA
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080ED3A4
- bl sub_80EBDBC
- b _080ED3CA
- .align 2, 0
-_080ED3A4: .4byte sub_80ECD80
-_080ED3A8:
- bl sub_80F0718
- lsls r0, 24
- cmp r0, 0
- bne _080ED3CA
- bl ShowMapNamePopUpWindow
- bl sub_80F3264
- ldrh r0, [r4]
- adds r0, 0x1
- b _080ED3C8
-_080ED3C0:
- bl sub_8055870
- cmp r0, 0
- bne _080ED3CA
-_080ED3C8:
- strh r0, [r4]
-_080ED3CA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80ED31C
-
- thumb_func_start sub_80ED3D0
-sub_80ED3D0: @ 80ED3D0
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080ED3EC
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x8
- bhi _080ED4C6
- lsls r0, 2
- ldr r1, _080ED3F0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ED3EC: .4byte 0x02000000
-_080ED3F0: .4byte _080ED3F4
- .align 2, 0
-_080ED3F4:
- .4byte _080ED418
- .4byte _080ED420
- .4byte _080ED42A
- .4byte _080ED432
- .4byte _080ED446
- .4byte _080ED458
- .4byte _080ED462
- .4byte _080ED498
- .4byte _080ED4B4
-_080ED418:
- movs r0, 0
- bl SetVBlankCallback
- b _080ED49E
-_080ED420:
- bl sub_80EED0C
- bl sub_80F6134
- b _080ED49E
-_080ED42A:
- movs r0, 0
- bl sub_80EEFBC
- b _080ED49E
-_080ED432:
- movs r0, 0
- bl sub_80F0264
- ldr r1, _080ED454
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ED446:
- bl sub_80F02A0
- lsls r0, 24
- cmp r0, 0
- bne _080ED4C6
- b _080ED49E
- .align 2, 0
-_080ED454: .4byte 0x02000000
-_080ED458:
- bl sub_8055870
- cmp r0, 0
- bne _080ED4C6
- b _080ED49E
-_080ED462:
- movs r0, 0
- bl sub_80F3008
- ldr r4, _080ED490
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080ED494
- bl SetVBlankCallback
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
- b _080ED4A6
- .align 2, 0
-_080ED490: .4byte 0x02000000
-_080ED494: .4byte sub_80EBD18
-_080ED498:
- movs r0, 0x4
- bl sub_80EED2C
-_080ED49E:
- ldr r1, _080ED4B0
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
-_080ED4A6:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080ED4C6
- .align 2, 0
-_080ED4B0: .4byte 0x02000000
-_080ED4B4:
- ldr r0, _080ED4D0
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080ED4C6
- ldr r0, _080ED4D4
- bl sub_80EBDBC
-_080ED4C6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ED4D0: .4byte gPaletteFade
-_080ED4D4: .4byte sub_80ED31C
- thumb_func_end sub_80ED3D0
-
- thumb_func_start sub_80ED4D8
-sub_80ED4D8: @ 80ED4D8
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080ED4F8
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x8
- bls _080ED4EE
- b _080ED60E
-_080ED4EE:
- lsls r0, 2
- ldr r1, _080ED4FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ED4F8: .4byte 0x02000000
-_080ED4FC: .4byte _080ED500
- .align 2, 0
-_080ED500:
- .4byte _080ED524
- .4byte _080ED542
- .4byte _080ED564
- .4byte _080ED57C
- .4byte _080ED582
- .4byte _080ED594
- .4byte _080ED5A4
- .4byte _080ED5E0
- .4byte _080ED5FC
-_080ED524:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ED5EE
-_080ED542:
- ldr r0, _080ED560
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080ED60E
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80EED0C
- bl sub_80F3130
- b _080ED5E6
- .align 2, 0
-_080ED560: .4byte gPaletteFade
-_080ED564:
- bl sub_8055870
- cmp r0, 0
- bne _080ED60E
- ldr r1, _080ED578
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080ED5EE
- .align 2, 0
-_080ED578: .4byte 0x02000000
-_080ED57C:
- bl sub_80F4CF0
- b _080ED5E6
-_080ED582:
- bl sub_80EFF34
- ldr r1, _080ED5A0
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ED594:
- bl sub_80EFF68
- lsls r0, 24
- cmp r0, 0
- bne _080ED60E
- b _080ED5E6
- .align 2, 0
-_080ED5A0: .4byte 0x02000000
-_080ED5A4:
- bl sub_80F35B4
- movs r0, 0x2
- bl sub_80EEFBC
- ldr r4, _080ED5D8
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080ED5DC
- bl SetVBlankCallback
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ED5EE
- .align 2, 0
-_080ED5D8: .4byte 0x02000000
-_080ED5DC: .4byte sub_80EBD4C
-_080ED5E0:
- movs r0, 0x2
- bl sub_80EED2C
-_080ED5E6:
- ldr r1, _080ED5F8
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
-_080ED5EE:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080ED60E
- .align 2, 0
-_080ED5F8: .4byte 0x02000000
-_080ED5FC:
- ldr r0, _080ED618
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080ED60E
- ldr r0, _080ED61C
- bl sub_80EBDBC
-_080ED60E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ED618: .4byte gPaletteFade
-_080ED61C: .4byte sub_80ED858
- thumb_func_end sub_80ED4D8
-
- thumb_func_start sub_80ED620
-sub_80ED620: @ 80ED620
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080ED640
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x10
- bls _080ED636
- b _080ED846
-_080ED636:
- lsls r0, 2
- ldr r1, _080ED644
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ED640: .4byte 0x02000000
-_080ED644: .4byte _080ED648
- .align 2, 0
-_080ED648:
- .4byte _080ED68C
- .4byte _080ED6A4
- .4byte _080ED6B8
- .4byte _080ED6EC
- .4byte _080ED730
- .4byte _080ED736
- .4byte _080ED750
- .4byte _080ED762
- .4byte _080ED76C
- .4byte _080ED784
- .4byte _080ED78A
- .4byte _080ED7C0
- .4byte _080ED7D4
- .4byte _080ED7EC
- .4byte _080ED800
- .4byte _080ED820
- .4byte _080ED834
-_080ED68C:
- bl sub_80F1E84
- movs r0, 0x1
- bl sub_80F2D04
- ldr r1, _080ED6A0
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED814
- .align 2, 0
-_080ED6A0: .4byte 0x02000000
-_080ED6A4:
- bl sub_80F1F10
- lsls r0, 24
- cmp r0, 0
- beq _080ED6B0
- b _080ED846
-_080ED6B0:
- movs r0, 0x1
- bl sub_80EEFBC
- b _080ED80C
-_080ED6B8:
- bl sub_80EEF34
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080ED6C6
- b _080ED846
-_080ED6C6:
- ldr r4, _080ED6E8
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ED814
- .align 2, 0
-_080ED6E8: .4byte 0x02000000
-_080ED6EC:
- ldr r0, _080ED724
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080ED6FE
- b _080ED846
-_080ED6FE:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80EED0C
- bl sub_80EF814
- ldr r0, _080ED728
- ldr r2, _080ED72C
- adds r1, r0, r2
- strb r4, [r1]
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- ldrh r1, [r0]
- adds r1, 0x1
- strh r1, [r0]
- b _080ED846
- .align 2, 0
-_080ED724: .4byte gPaletteFade
-_080ED728: .4byte 0x02000000
-_080ED72C: .4byte 0x000076aa
-_080ED730:
- bl sub_80F2620
- b _080ED80C
-_080ED736:
- ldr r0, _080ED74C
- adds r1, r4, r0
- movs r0, 0x2
- strb r0, [r1]
- bl sub_80F4BD0
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ED814
- .align 2, 0
-_080ED74C: .4byte 0x0000d162
-_080ED750:
- bl sub_80EFF34
- ldr r1, _080ED768
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ED762:
- bl sub_80EFF68
- b _080ED806
- .align 2, 0
-_080ED768: .4byte 0x02000000
-_080ED76C:
- bl sub_8055870
- cmp r0, 0
- bne _080ED846
- ldr r1, _080ED780
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED814
- .align 2, 0
-_080ED780: .4byte 0x02000000
-_080ED784:
- bl sub_8055870
- b _080ED808
-_080ED78A:
- bl sub_80F33A8
- ldr r4, _080ED7B8
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080ED7BC
- bl SetVBlankCallback
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ED814
- .align 2, 0
-_080ED7B8: .4byte 0x02000000
-_080ED7BC: .4byte sub_80EBD4C
-_080ED7C0:
- movs r0, 0x2
- bl sub_80EED2C
- ldr r1, _080ED7D0
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080ED814
- .align 2, 0
-_080ED7D0: .4byte 0x02000000
-_080ED7D4:
- ldr r0, _080ED7E8
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080ED846
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080ED814
- .align 2, 0
-_080ED7E8: .4byte gPaletteFade
-_080ED7EC:
- movs r0, 0x1
- bl sub_80F2C80
- ldr r1, _080ED81C
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ED800:
- movs r0, 0x1
- bl sub_80F2CBC
-_080ED806:
- lsls r0, 24
-_080ED808:
- cmp r0, 0
- bne _080ED846
-_080ED80C:
- ldr r1, _080ED81C
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
-_080ED814:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080ED846
- .align 2, 0
-_080ED81C: .4byte 0x02000000
-_080ED820:
- movs r0, 0x6
- bl sub_80F2C80
- ldr r1, _080ED850
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080ED834:
- movs r0, 0x6
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080ED846
- ldr r0, _080ED854
- bl sub_80EBDBC
-_080ED846:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080ED850: .4byte 0x02000000
-_080ED854: .4byte sub_80ED858
- thumb_func_end sub_80ED620
-
- thumb_func_start sub_80ED858
-sub_80ED858: @ 80ED858
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r1, _080ED878
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r5, r1, 0
- cmp r0, 0xB
- bls _080ED86E
- b _080EDB7A
-_080ED86E:
- lsls r0, 2
- ldr r1, _080ED87C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080ED878: .4byte 0x02000000
-_080ED87C: .4byte _080ED880
- .align 2, 0
-_080ED880:
- .4byte _080ED8B0
- .4byte _080ED8CC
- .4byte _080ED8EC
- .4byte _080ED904
- .4byte _080ED91A
- .4byte _080EDA68
- .4byte _080EDA8C
- .4byte _080EDAA4
- .4byte _080EDAC0
- .4byte _080EDAE8
- .4byte _080EDB7A
- .4byte _080EDB28
-_080ED8B0:
- bl sub_80F4F78
- bl sub_80F5B38
- ldr r0, _080ED8C8
- movs r4, 0xC1
- lsls r4, 2
- adds r0, r4
- movs r1, 0x1
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080ED8C8: .4byte 0x02000000
-_080ED8CC:
- bl sub_80F5B50
- lsls r0, 24
- cmp r0, 0
- beq _080ED8D8
- b _080EDB7A
-_080ED8D8:
- ldr r0, _080ED8E8
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080ED8E8: .4byte 0x02000000
-_080ED8EC:
- movs r0, 0x1
- bl sub_80F0174
- ldr r0, _080ED900
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r2
- movs r1, 0x3
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080ED900: .4byte 0x02000000
-_080ED904:
- bl sub_80F4FB4
- lsls r0, 24
- cmp r0, 0
- beq _080ED910
- b _080EDB7A
-_080ED910:
- bl sub_80F3C94
- bl sub_80F3D00
- b _080EDAD4
-_080ED91A:
- ldr r2, _080ED960
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0
- beq _080ED970
- ldr r1, _080ED964
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080ED970
- ldr r2, _080ED968
- adds r0, r5, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080ED948
- ldr r4, _080ED96C
- adds r0, r5, r4
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _080ED970
-_080ED948:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_80F5060
- bl move_anim_execute
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r5, r2
- b _080ED9B8
- .align 2, 0
-_080ED960: .4byte gMain
-_080ED964: .4byte 0x000087cb
-_080ED968: .4byte 0x000076aa
-_080ED96C: .4byte 0x000087dc
-_080ED970:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080ED9CC
- ldr r4, _080ED9C0
- adds r0, r5, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080ED9CC
- ldr r1, _080ED9C4
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080ED9A2
- ldr r2, _080ED9C8
- adds r0, r5, r2
- subs r4, 0x57
- adds r1, r5, r4
- movs r4, 0
- ldrsh r2, [r0, r4]
- movs r4, 0
- ldrsh r0, [r1, r4]
- cmp r2, r0
- bge _080ED9CC
-_080ED9A2:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0
- bl sub_80F5060
- bl move_anim_execute
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r5, r0
-_080ED9B8:
- movs r0, 0x5
- strh r0, [r1]
- b _080EDB7A
- .align 2, 0
-_080ED9C0: .4byte 0x000087cb
-_080ED9C4: .4byte 0x000076aa
-_080ED9C8: .4byte 0x000087dc
-_080ED9CC:
- ldrh r2, [r3, 0x2E]
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080ED9F8
- movs r0, 0x5
- bl PlaySE
- bl sub_80F4FDC
- bl move_anim_execute
- ldr r0, _080ED9F4
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x9
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080ED9F4: .4byte 0x02000000
-_080ED9F8:
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- bne _080EDA02
- b _080EDB7A
-_080EDA02:
- adds r4, r5, 0
- ldr r2, _080EDA38
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EDA44
- ldr r1, _080EDA3C
- adds r0, r4, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r2, _080EDA40
- adds r0, r4, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- subs r0, 0x1
- cmp r1, r0
- beq _080EDA26
- b _080EDB7A
-_080EDA26:
- movs r0, 0x5
- bl PlaySE
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
- movs r0, 0x9
- strh r0, [r1]
- b _080EDB7A
- .align 2, 0
-_080EDA38: .4byte 0x000076aa
-_080EDA3C: .4byte 0x000087dc
-_080EDA40: .4byte 0x000087da
-_080EDA44:
- ldr r1, _080EDA64
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EDA50
- b _080EDB7A
-_080EDA50:
- movs r0, 0x5
- bl PlaySE
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r5, r2
- movs r0, 0x7
- strh r0, [r1]
- b _080EDB7A
- .align 2, 0
-_080EDA64: .4byte 0x00006dac
-_080EDA68:
- bl gpu_sync_bg_show
- lsls r0, 24
- cmp r0, 0
- beq _080EDA74
- b _080EDB7A
-_080EDA74:
- bl sub_80F3D00
- ldr r0, _080EDA88
- movs r4, 0xC1
- lsls r4, 2
- adds r0, r4
- movs r1, 0x6
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080EDA88: .4byte 0x02000000
-_080EDA8C:
- bl sub_8055870
- cmp r0, 0
- bne _080EDB7A
- ldr r0, _080EDAA0
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- b _080EDADC
- .align 2, 0
-_080EDAA0: .4byte 0x02000000
-_080EDAA4:
- movs r0, 0x3
- bl sub_80EEFBC
- bl sub_80F3668
- ldr r0, _080EDABC
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r2
- movs r1, 0x8
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080EDABC: .4byte 0x02000000
-_080EDAC0:
- bl sub_80F7500
- lsls r0, 24
- cmp r0, 0
- bne _080EDB7A
- movs r0, 0x2
- bl sub_80EEFBC
- bl sub_80F3698
-_080EDAD4:
- ldr r0, _080EDAE4
- movs r4, 0xC1
- lsls r4, 2
- adds r0, r4
-_080EDADC:
- movs r1, 0x4
- strh r1, [r0]
- b _080EDB7A
- .align 2, 0
-_080EDAE4: .4byte 0x02000000
-_080EDAE8:
- bl sub_80F5038
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080EDB7A
- movs r0, 0
- bl sub_80F0174
- bl sub_80F2F48
- ldr r5, _080EDB24
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r5, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- str r4, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r5, r2
- movs r0, 0xB
- strh r0, [r1]
- b _080EDB7A
- .align 2, 0
-_080EDB24: .4byte 0x02000000
-_080EDB28:
- ldr r0, _080EDB60
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EDB7A
- bl sub_80F3CE8
- bl sub_80F5BDC
- ldr r0, _080EDB64
- ldr r4, _080EDB68
- adds r0, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EDB70
- bl sub_80F357C
- movs r0, 0x1
- bl sub_80F2D6C
- movs r0, 0x6
- bl sub_80F2D6C
- ldr r0, _080EDB6C
- bl sub_80EBDBC
- b _080EDB7A
- .align 2, 0
-_080EDB60: .4byte gPaletteFade
-_080EDB64: .4byte 0x02000000
-_080EDB68: .4byte 0x000076aa
-_080EDB6C: .4byte sub_80ECA10
-_080EDB70:
- bl sub_80F3614
- ldr r0, _080EDB84
- bl sub_80EBDBC
-_080EDB7A:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EDB84: .4byte sub_80ED3D0
- thumb_func_end sub_80ED858
-
- thumb_func_start sub_80EDB88
-sub_80EDB88: @ 80EDB88
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080EDBA8
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x11
- bls _080EDB9E
- b _080EDDAA
-_080EDB9E:
- lsls r0, 2
- ldr r1, _080EDBAC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EDBA8: .4byte 0x02000000
-_080EDBAC: .4byte _080EDBB0
- .align 2, 0
-_080EDBB0:
- .4byte _080EDBF8
- .4byte _080EDC04
- .4byte _080EDC24
- .4byte _080EDC58
- .4byte _080EDC7C
- .4byte _080EDC90
- .4byte _080EDCA2
- .4byte _080EDCC0
- .4byte _080EDCDC
- .4byte _080EDCE6
- .4byte _080EDCFA
- .4byte _080EDD0C
- .4byte _080EDD20
- .4byte _080EDD34
- .4byte _080EDD48
- .4byte _080EDD52
- .4byte _080EDD7C
- .4byte _080EDD98
-_080EDBF8:
- bl sub_80F1E84
- movs r0, 0
- bl sub_80F2D04
- b _080EDD82
-_080EDC04:
- bl sub_80F1F10
- lsls r0, 24
- cmp r0, 0
- beq _080EDC10
- b _080EDDAA
-_080EDC10:
- movs r0, 0x4
- bl sub_80EEFBC
- ldr r1, _080EDC20
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EDD8A
- .align 2, 0
-_080EDC20: .4byte 0x02000000
-_080EDC24:
- bl sub_80EEF34
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080EDC32
- b _080EDDAA
-_080EDC32:
- ldr r4, _080EDC54
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080EDD8A
- .align 2, 0
-_080EDC54: .4byte 0x02000000
-_080EDC58:
- ldr r0, _080EDC78
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080EDC66
- b _080EDDAA
-_080EDC66:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80EED0C
- bl sub_80EF814
- b _080EDD82
- .align 2, 0
-_080EDC78: .4byte gPaletteFade
-_080EDC7C:
- bl sub_80F2620
- ldr r1, _080EDC8C
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EDD8A
- .align 2, 0
-_080EDC8C: .4byte 0x02000000
-_080EDC90:
- bl sub_80F638C
- ldr r1, _080EDCBC
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EDCA2:
- bl sub_80F63D0
- lsls r0, 24
- cmp r0, 0
- bne _080EDD82
- ldr r1, _080EDCBC
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x2
- strh r0, [r1]
- b _080EDDAA
- .align 2, 0
-_080EDCBC: .4byte 0x02000000
-_080EDCC0:
- bl sub_8055870
- cmp r0, 0
- bne _080EDDAA
- ldr r1, _080EDCD8
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
- b _080EDDAA
- .align 2, 0
-_080EDCD8: .4byte 0x02000000
-_080EDCDC:
- bl sub_8055870
- cmp r0, 0
- bne _080EDDAA
- b _080EDD82
-_080EDCE6:
- movs r0, 0x1
- bl sub_80F0264
- ldr r1, _080EDD08
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EDCFA:
- bl sub_80F02A0
- lsls r0, 24
- cmp r0, 0
- bne _080EDDAA
- b _080EDD82
- .align 2, 0
-_080EDD08: .4byte 0x02000000
-_080EDD0C:
- movs r0, 0x2
- bl sub_80F2C80
- ldr r1, _080EDD30
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EDD20:
- movs r0, 0x2
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080EDDAA
- b _080EDD82
- .align 2, 0
-_080EDD30: .4byte 0x02000000
-_080EDD34:
- movs r0, 0x1
- bl sub_80F3008
- ldr r1, _080EDD44
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EDD8A
- .align 2, 0
-_080EDD44: .4byte 0x02000000
-_080EDD48:
- bl sub_8055870
- cmp r0, 0
- bne _080EDDAA
- b _080EDD82
-_080EDD52:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080EDD78
- bl SetVBlankCallback
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080EDD8A
- .align 2, 0
-_080EDD78: .4byte sub_80EBD18
-_080EDD7C:
- movs r0, 0x4
- bl sub_80EED2C
-_080EDD82:
- ldr r1, _080EDD94
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
-_080EDD8A:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EDDAA
- .align 2, 0
-_080EDD94: .4byte 0x02000000
-_080EDD98:
- ldr r0, _080EDDB4
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EDDAA
- ldr r0, _080EDDB8
- bl sub_80EBDBC
-_080EDDAA:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EDDB4: .4byte gPaletteFade
-_080EDDB8: .4byte sub_80EDDBC
- thumb_func_end sub_80EDB88
-
- thumb_func_start sub_80EDDBC
-sub_80EDDBC: @ 80EDDBC
- push {r4,lr}
- ldr r0, _080EDDD8
- movs r1, 0xC1
- lsls r1, 2
- adds r4, r0, r1
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080EDE48
- cmp r0, 0x1
- bgt _080EDDDC
- cmp r0, 0
- beq _080EDDE2
- b _080EDE6A
- .align 2, 0
-_080EDDD8: .4byte 0x02000000
-_080EDDDC:
- cmp r0, 0x2
- beq _080EDE60
- b _080EDE6A
-_080EDDE2:
- bl sub_80F5DD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080EDE14
- cmp r0, 0x2
- beq _080EDE20
- ldr r0, _080EDE0C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080EDE2C
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EDE10
- bl sub_80EBDBC
- b _080EDE6A
- .align 2, 0
-_080EDE0C: .4byte gMain
-_080EDE10: .4byte sub_80EDEE4
-_080EDE14:
- movs r0, 0x5
- bl PlaySE
- bl ShowMapNamePopUpWindow
- b _080EDE6A
-_080EDE20:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- adds r0, 0x1
- b _080EDE68
-_080EDE2C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080EDE6A
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EDE44
- bl sub_80EBDBC
- b _080EDE6A
- .align 2, 0
-_080EDE44: .4byte sub_80EDE70
-_080EDE48:
- bl sub_80F0718
- lsls r0, 24
- cmp r0, 0
- bne _080EDE6A
- bl ShowMapNamePopUpWindow
- bl sub_80F3264
- ldrh r0, [r4]
- adds r0, 0x1
- b _080EDE68
-_080EDE60:
- bl sub_8055870
- cmp r0, 0
- bne _080EDE6A
-_080EDE68:
- strh r0, [r4]
-_080EDE6A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80EDDBC
-
- thumb_func_start sub_80EDE70
-sub_80EDE70: @ 80EDE70
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080EDE8C
- movs r1, 0xC1
- lsls r1, 2
- adds r4, r0, r1
- ldrh r2, [r4]
- cmp r2, 0x1
- beq _080EDEAE
- cmp r2, 0x1
- bgt _080EDE90
- cmp r2, 0
- beq _080EDE96
- b _080EDED6
- .align 2, 0
-_080EDE8C: .4byte 0x02000000
-_080EDE90:
- cmp r2, 0x2
- beq _080EDED0
- b _080EDED6
-_080EDE96:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080EDEC4
-_080EDEAE:
- ldr r0, _080EDECC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EDED6
- bl sub_80F3130
- movs r0, 0x2
- bl sub_80F2D6C
-_080EDEC4:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080EDED6
- .align 2, 0
-_080EDECC: .4byte gPaletteFade
-_080EDED0:
- ldr r0, _080EDEE0
- bl sub_80EBDBC
-_080EDED6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EDEE0: .4byte sub_80EC00C
- thumb_func_end sub_80EDE70
-
- thumb_func_start sub_80EDEE4
-sub_80EDEE4: @ 80EDEE4
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080EDF04
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0xA
- bls _080EDEFA
- b _080EE060
-_080EDEFA:
- lsls r0, 2
- ldr r1, _080EDF08
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EDF04: .4byte 0x02000000
-_080EDF08: .4byte _080EDF0C
- .align 2, 0
-_080EDF0C:
- .4byte _080EDF38
- .4byte _080EDF50
- .4byte _080EDF80
- .4byte _080EDF98
- .4byte _080EDFB0
- .4byte _080EDFC8
- .4byte _080EDFE0
- .4byte _080EDFF8
- .4byte _080EE01C
- .4byte _080EE030
- .4byte _080EE050
-_080EDF38:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080EE03C
-_080EDF50:
- ldr r0, _080EDF78
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080EDF5E
- b _080EE060
-_080EDF5E:
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80EED0C
- bl sub_80F3130
- ldr r1, _080EDF7C
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE042
- .align 2, 0
-_080EDF78: .4byte gPaletteFade
-_080EDF7C: .4byte 0x02000000
-_080EDF80:
- bl sub_80F66E0
- bl sub_80EEE08
- ldr r1, _080EDF94
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE042
- .align 2, 0
-_080EDF94: .4byte 0x02000000
-_080EDF98:
- bl sub_80F1080
- lsls r0, 24
- cmp r0, 0
- bne _080EE060
- ldr r1, _080EDFAC
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE042
- .align 2, 0
-_080EDFAC: .4byte 0x02000000
-_080EDFB0:
- movs r0, 0x5
- bl sub_80EEFBC
- bl sub_80F38B8
- ldr r1, _080EDFDC
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EDFC8:
- bl sub_80F38EC
- lsls r0, 24
- cmp r0, 0
- bne _080EE060
- ldr r1, _080EDFDC
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE042
- .align 2, 0
-_080EDFDC: .4byte 0x02000000
-_080EDFE0:
- bl sub_8055870
- cmp r0, 0
- bne _080EE060
- ldr r1, _080EDFF4
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE042
- .align 2, 0
-_080EDFF4: .4byte 0x02000000
-_080EDFF8:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080EE018
- bl SetVBlankCallback
- b _080EE03C
- .align 2, 0
-_080EE018: .4byte sub_80EBD18
-_080EE01C:
- movs r0, 0x3
- bl sub_80EED2C
- ldr r1, _080EE02C
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE042
- .align 2, 0
-_080EE02C: .4byte 0x02000000
-_080EE030:
- ldr r0, _080EE04C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EE060
-_080EE03C:
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
-_080EE042:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EE060
- .align 2, 0
-_080EE04C: .4byte gPaletteFade
-_080EE050:
- bl sub_80F170C
- lsls r0, 24
- cmp r0, 0
- bne _080EE060
- ldr r0, _080EE068
- bl sub_80EBDBC
-_080EE060:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE068: .4byte sub_80EE06C
- thumb_func_end sub_80EDEE4
-
- thumb_func_start sub_80EE06C
-sub_80EE06C: @ 80EE06C
- push {r4,r5,lr}
- ldr r1, _080EE08C
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x8
- bls _080EE080
- b _080EE288
-_080EE080:
- lsls r0, 2
- ldr r1, _080EE090
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EE08C: .4byte 0x02000000
-_080EE090: .4byte _080EE094
- .align 2, 0
-_080EE094:
- .4byte _080EE0B8
- .4byte _080EE0CC
- .4byte _080EE180
- .4byte _080EE19C
- .4byte _080EE1B8
- .4byte _080EE1D0
- .4byte _080EE1F8
- .4byte _080EE250
- .4byte _080EE26C
-_080EE0B8:
- bl sub_80F15A8
- ldr r1, _080EE0C8
- movs r5, 0xC1
- lsls r5, 2
- adds r1, r5
- b _080EE1C4
- .align 2, 0
-_080EE0C8: .4byte 0x02000000
-_080EE0CC:
- ldr r2, _080EE0FC
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0
- beq _080EE104
- ldr r1, _080EE100
- adds r0, r4, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _080EE104
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl sub_80F6A4C
- movs r5, 0xC1
- lsls r5, 2
- adds r1, r4, r5
- b _080EE1C4
- .align 2, 0
-_080EE0FC: .4byte gMain
-_080EE100: .4byte 0x000087dc
-_080EE104:
- ldrh r1, [r3, 0x30]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080EE140
- ldr r1, _080EE138
- adds r0, r4, r1
- ldr r2, _080EE13C
- adds r1, r4, r2
- movs r5, 0
- ldrsh r2, [r0, r5]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r2, r0
- bge _080EE140
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_80F6A4C
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
- b _080EE1C4
- .align 2, 0
-_080EE138: .4byte 0x000087dc
-_080EE13C: .4byte 0x00008774
-_080EE140:
- ldrh r2, [r3, 0x2E]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080EE164
- movs r0, 0x5
- bl PlaySE
- movs r0, 0xB
- bl sub_80EEFBC
- ldr r0, _080EE160
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- b _080EE262
- .align 2, 0
-_080EE160: .4byte 0x02000000
-_080EE164:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- bne _080EE16E
- b _080EE288
-_080EE16E:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EE17C
- bl sub_80EBDBC
- b _080EE288
- .align 2, 0
-_080EE17C: .4byte sub_80EE294
-_080EE180:
- bl sub_80F6AF0
- lsls r0, 24
- cmp r0, 0
- beq _080EE18C
- b _080EE288
-_080EE18C:
- ldr r1, _080EE198
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE1C4
- .align 2, 0
-_080EE198: .4byte 0x02000000
-_080EE19C:
- bl sub_8055870
- adds r1, r0, 0
- cmp r1, 0
- bne _080EE288
- ldr r0, _080EE1B4
- movs r5, 0xC1
- lsls r5, 2
- adds r0, r5
- strh r1, [r0]
- b _080EE288
- .align 2, 0
-_080EE1B4: .4byte 0x02000000
-_080EE1B8:
- bl sub_80F3B00
- ldr r1, _080EE1CC
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
-_080EE1C4:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EE288
- .align 2, 0
-_080EE1CC: .4byte 0x02000000
-_080EE1D0:
- bl sub_80F3B58
- lsls r0, 24
- cmp r0, 0
- bne _080EE288
- bl sub_80F1494
- ldr r1, _080EE1F4
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- bl sub_80EED9C
- b _080EE288
- .align 2, 0
-_080EE1F4: .4byte 0x02000000
-_080EE1F8:
- bl sub_80F68E8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- beq _080EE224
- cmp r0, 0x1
- bne _080EE224
- movs r0, 0x5
- bl PlaySE
- bl sub_80F3B94
- ldr r0, _080EE220
- movs r5, 0xC1
- lsls r5, 2
- adds r0, r5
- movs r1, 0x7
- strh r1, [r0]
- b _080EE288
- .align 2, 0
-_080EE220: .4byte 0x02000000
-_080EE224:
- ldr r0, _080EE248
- ldrh r1, [r0, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080EE288
- movs r0, 0x5
- bl PlaySE
- bl sub_80F3B94
- ldr r0, _080EE24C
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0]
- b _080EE288
- .align 2, 0
-_080EE248: .4byte gMain
-_080EE24C: .4byte 0x02000000
-_080EE250:
- bl sub_80F3BD4
- lsls r0, 24
- cmp r0, 0
- bne _080EE288
- ldr r0, _080EE268
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r2
-_080EE262:
- movs r1, 0x4
- strh r1, [r0]
- b _080EE288
- .align 2, 0
-_080EE268: .4byte 0x02000000
-_080EE26C:
- bl sub_80F3BD4
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- bne _080EE288
- movs r0, 0x5
- bl sub_80EEFBC
- ldr r0, _080EE290
- movs r5, 0xC1
- lsls r5, 2
- adds r0, r5
- strh r4, [r0]
-_080EE288:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE290: .4byte 0x02000000
- thumb_func_end sub_80EE06C
-
- thumb_func_start sub_80EE294
-sub_80EE294: @ 80EE294
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080EE2B4
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x8
- bls _080EE2AA
- b _080EE3C6
-_080EE2AA:
- lsls r0, 2
- ldr r1, _080EE2B8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EE2B4: .4byte 0x02000000
-_080EE2B8: .4byte _080EE2BC
- .align 2, 0
-_080EE2BC:
- .4byte _080EE2E0
- .4byte _080EE2FE
- .4byte _080EE324
- .4byte _080EE33C
- .4byte _080EE34C
- .4byte _080EE370
- .4byte _080EE37A
- .4byte _080EE39A
- .4byte _080EE3B4
-_080EE2E0:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080EE3A8
-_080EE2FE:
- ldr r0, _080EE320
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EE3C6
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80EED0C
- bl sub_80F3C2C
- bl sub_80EEE08
- b _080EE3A0
- .align 2, 0
-_080EE320: .4byte gPaletteFade
-_080EE324:
- bl sub_80F6134
- movs r0, 0x1
- bl sub_80F0264
- ldr r1, _080EE348
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EE33C:
- bl sub_80F02A0
- lsls r0, 24
- cmp r0, 0
- bne _080EE3C6
- b _080EE3A0
- .align 2, 0
-_080EE348: .4byte 0x02000000
-_080EE34C:
- movs r0, 0x4
- bl sub_80EEFBC
- movs r0, 0x1
- bl sub_80F3008
- ldr r0, _080EE368
- bl SetVBlankCallback
- ldr r1, _080EE36C
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE3A8
- .align 2, 0
-_080EE368: .4byte sub_80EBD18
-_080EE36C: .4byte 0x02000000
-_080EE370:
- bl sub_8055870
- cmp r0, 0
- bne _080EE3C6
- b _080EE3A0
-_080EE37A:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080EE3A8
-_080EE39A:
- movs r0, 0x4
- bl sub_80EED2C
-_080EE3A0:
- ldr r1, _080EE3B0
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
-_080EE3A8:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EE3C6
- .align 2, 0
-_080EE3B0: .4byte 0x02000000
-_080EE3B4:
- ldr r0, _080EE3D0
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EE3C6
- ldr r0, _080EE3D4
- bl sub_80EBDBC
-_080EE3C6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE3D0: .4byte gPaletteFade
-_080EE3D4: .4byte sub_80EDDBC
- thumb_func_end sub_80EE294
-
- thumb_func_start sub_80EE3D8
-sub_80EE3D8: @ 80EE3D8
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080EE3F8
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xD
- bls _080EE3EC
- b _080EE57A
-_080EE3EC:
- lsls r0, 2
- ldr r1, _080EE3FC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EE3F8: .4byte 0x02000000
-_080EE3FC: .4byte _080EE400
- .align 2, 0
-_080EE400:
- .4byte _080EE438
- .4byte _080EE444
- .4byte _080EE458
- .4byte _080EE48C
- .4byte _080EE4B0
- .4byte _080EE4B6
- .4byte _080EE4CA
- .4byte _080EE4DC
- .4byte _080EE4F0
- .4byte _080EE504
- .4byte _080EE50C
- .4byte _080EE516
- .4byte _080EE54C
- .4byte _080EE568
-_080EE438:
- bl sub_80F1E84
- movs r0, 0
- bl sub_80F2D04
- b _080EE552
-_080EE444:
- bl sub_80F1F10
- lsls r0, 24
- cmp r0, 0
- beq _080EE450
- b _080EE57A
-_080EE450:
- movs r0, 0x9
- bl sub_80EEFBC
- b _080EE552
-_080EE458:
- bl sub_80EEF34
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080EE466
- b _080EE57A
-_080EE466:
- ldr r4, _080EE488
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
- b _080EE55A
- .align 2, 0
-_080EE488: .4byte 0x02000000
-_080EE48C:
- ldr r0, _080EE4AC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EE57A
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80EED0C
- bl sub_80EF814
- bl sub_80EEE08
- b _080EE552
- .align 2, 0
-_080EE4AC: .4byte gPaletteFade
-_080EE4B0:
- bl sub_80F2620
- b _080EE552
-_080EE4B6:
- movs r0, 0x2
- bl sub_80F0264
- ldr r1, _080EE4D8
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EE4CA:
- bl sub_80F02A0
- lsls r0, 24
- cmp r0, 0
- bne _080EE57A
- b _080EE552
- .align 2, 0
-_080EE4D8: .4byte 0x02000000
-_080EE4DC:
- movs r0, 0x3
- bl sub_80F2C80
- ldr r1, _080EE500
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EE4F0:
- movs r0, 0x3
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080EE57A
- b _080EE552
- .align 2, 0
-_080EE500: .4byte 0x02000000
-_080EE504:
- movs r0, 0x2
- bl sub_80F3008
- b _080EE552
-_080EE50C:
- bl sub_8055870
- cmp r0, 0
- bne _080EE57A
- b _080EE552
-_080EE516:
- bl sub_80F6F10
- ldr r4, _080EE544
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r0, _080EE548
- bl SetVBlankCallback
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
- b _080EE55A
- .align 2, 0
-_080EE544: .4byte 0x02000000
-_080EE548: .4byte sub_80EBD68
-_080EE54C:
- movs r0, 0x5
- bl sub_80EED2C
-_080EE552:
- ldr r1, _080EE564
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
-_080EE55A:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EE57A
- .align 2, 0
-_080EE564: .4byte 0x02000000
-_080EE568:
- ldr r0, _080EE584
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EE57A
- ldr r0, _080EE588
- bl sub_80EBDBC
-_080EE57A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE584: .4byte gPaletteFade
-_080EE588: .4byte sub_80EE58C
- thumb_func_end sub_80EE3D8
-
- thumb_func_start sub_80EE58C
-sub_80EE58C: @ 80EE58C
- push {r4,r5,lr}
- ldr r5, _080EE5A8
- movs r0, 0xC1
- lsls r0, 2
- adds r4, r5, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080EE624
- cmp r0, 0x1
- bgt _080EE5AC
- cmp r0, 0
- beq _080EE5B2
- b _080EE652
- .align 2, 0
-_080EE5A8: .4byte 0x02000000
-_080EE5AC:
- cmp r0, 0x2
- beq _080EE648
- b _080EE652
-_080EE5B2:
- bl sub_80F5DD4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080EE5E4
- cmp r0, 0x2
- beq _080EE5FC
- ldr r0, _080EE5DC
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080EE608
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EE5E0
- bl sub_80EBDBC
- b _080EE652
- .align 2, 0
-_080EE5DC: .4byte gMain
-_080EE5E0: .4byte sub_80EE658
-_080EE5E4:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080EE5F8
- adds r0, r5, r1
- ldrb r0, [r0]
- bl sub_80F0FFC
- b _080EE652
- .align 2, 0
-_080EE5F8: .4byte 0x0000876e
-_080EE5FC:
- movs r0, 0x5
- bl PlaySE
- ldrh r0, [r4]
- adds r0, 0x1
- b _080EE650
-_080EE608:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080EE652
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EE620
- bl sub_80EBDBC
- b _080EE652
- .align 2, 0
-_080EE620: .4byte sub_80EE8F4
-_080EE624:
- bl sub_80F0718
- lsls r0, 24
- cmp r0, 0
- bne _080EE652
- ldr r1, _080EE644
- adds r0, r5, r1
- ldrb r0, [r0]
- bl sub_80F0FFC
- bl sub_80F3264
- ldrh r0, [r4]
- adds r0, 0x1
- b _080EE650
- .align 2, 0
-_080EE644: .4byte 0x0000876e
-_080EE648:
- bl sub_8055870
- cmp r0, 0
- bne _080EE652
-_080EE650:
- strh r0, [r4]
-_080EE652:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80EE58C
-
- thumb_func_start sub_80EE658
-sub_80EE658: @ 80EE658
- push {r4,r5,lr}
- ldr r1, _080EE678
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x11
- bls _080EE66C
- b _080EE8E8
-_080EE66C:
- lsls r0, 2
- ldr r1, _080EE67C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EE678: .4byte 0x02000000
-_080EE67C: .4byte _080EE680
- .align 2, 0
-_080EE680:
- .4byte _080EE6C8
- .4byte _080EE6DA
- .4byte _080EE6F4
- .4byte _080EE708
- .4byte _080EE71C
- .4byte _080EE730
- .4byte _080EE758
- .4byte _080EE76A
- .4byte _080EE780
- .4byte _080EE820
- .4byte _080EE840
- .4byte _080EE854
- .4byte _080EE868
- .4byte _080EE86E
- .4byte _080EE880
- .4byte _080EE898
- .4byte _080EE8B4
- .4byte _080EE8D4
-_080EE6C8:
- movs r0, 0x1
- bl sub_80F3294
- movs r0, 0xA
- bl sub_80EEFBC
- bl sub_80F0B24
- b _080EE8BE
-_080EE6DA:
- bl sub_80F0B44
- lsls r0, 24
- cmp r0, 0
- beq _080EE6E6
- b _080EE8E8
-_080EE6E6:
- ldr r1, _080EE6F0
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE8C6
- .align 2, 0
-_080EE6F0: .4byte 0x02000000
-_080EE6F4:
- bl sub_80F0F64
- ldr r1, _080EE704
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE8C6
- .align 2, 0
-_080EE704: .4byte 0x02000000
-_080EE708:
- bl sub_80F0FEC
- lsls r0, 24
- cmp r0, 0
- beq _080EE714
- b _080EE8E8
-_080EE714:
- movs r0, 0x1
- bl sub_80F6FB8
- b _080EE8BE
-_080EE71C:
- bl sub_80F6DB8
- ldr r1, _080EE72C
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE8C6
- .align 2, 0
-_080EE72C: .4byte 0x02000000
-_080EE730:
- ldr r4, _080EE750
- adds r0, r4, 0
- subs r0, 0x1A
- ldrh r1, [r0]
- adds r0, r4, 0
- bl sub_80F700C
- adds r0, r4, 0
- bl sub_80F42C4
- ldr r1, _080EE754
- adds r4, r1
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080EE8E8
- .align 2, 0
-_080EE750: .4byte 0x02008788
-_080EE754: .4byte 0xffff7b7c
-_080EE758:
- bl sub_80F0CD8
- ldr r1, _080EE77C
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EE76A:
- bl sub_80F6E9C
- lsls r0, 24
- cmp r0, 0
- beq _080EE776
- b _080EE8E8
-_080EE776:
- bl sub_80F0D5C
- b _080EE8B8
- .align 2, 0
-_080EE77C: .4byte 0x02000000
-_080EE780:
- ldr r2, _080EE7B0
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- adds r3, r2, 0
- cmp r0, 0
- beq _080EE7B8
- ldr r1, _080EE7B4
- adds r0, r4, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- beq _080EE7B8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl sub_80F708C
- movs r5, 0xC1
- lsls r5, 2
- adds r1, r4, r5
- b _080EE7E8
- .align 2, 0
-_080EE7B0: .4byte gMain
-_080EE7B4: .4byte 0x000087dc
-_080EE7B8:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080EE7F8
- ldr r1, _080EE7F0
- adds r0, r4, r1
- ldr r2, _080EE7F4
- adds r1, r4, r2
- movs r5, 0
- ldrsh r2, [r0, r5]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r2, r0
- bge _080EE7F8
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl sub_80F708C
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r4, r0
-_080EE7E8:
- movs r0, 0x10
- strh r0, [r1]
- b _080EE8E8
- .align 2, 0
-_080EE7F0: .4byte 0x000087dc
-_080EE7F4: .4byte 0x00008774
-_080EE7F8:
- ldrh r1, [r3, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080EE8E8
- movs r0, 0x5
- bl PlaySE
- bl sub_80F4394
- bl sub_80F0EC0
- ldr r1, _080EE81C
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE8C6
- .align 2, 0
-_080EE81C: .4byte 0x02000000
-_080EE820:
- bl sub_80F6ED4
- lsls r0, 24
- cmp r0, 0
- bne _080EE8E8
- bl sub_80F0EF4
- lsls r0, 24
- cmp r0, 0
- bne _080EE8E8
- movs r0, 0
- bl sub_80F6FB8
- bl sub_80F2FB0
- b _080EE8BE
-_080EE840:
- bl sub_80F6134
- ldr r1, _080EE850
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE8C6
- .align 2, 0
-_080EE850: .4byte 0x02000000
-_080EE854:
- bl sub_80F0FA0
- ldr r1, _080EE864
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE8C6
- .align 2, 0
-_080EE864: .4byte 0x02000000
-_080EE868:
- bl sub_80F0FEC
- b _080EE8B8
-_080EE86E:
- bl sub_80F0C28
- ldr r1, _080EE87C
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
- b _080EE8C6
- .align 2, 0
-_080EE87C: .4byte 0x02000000
-_080EE880:
- bl sub_80F0C48
- lsls r0, 24
- cmp r0, 0
- bne _080EE8E8
- ldr r1, _080EE894
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EE8C6
- .align 2, 0
-_080EE894: .4byte 0x02000000
-_080EE898:
- movs r0, 0x9
- bl sub_80EEFBC
- movs r0, 0
- bl sub_80F3294
- ldr r0, _080EE8B0
- bl sub_80EBDBC
- bl sub_80EED9C
- b _080EE8E8
- .align 2, 0
-_080EE8B0: .4byte sub_80EE58C
-_080EE8B4:
- bl sub_80F70FC
-_080EE8B8:
- lsls r0, 24
- cmp r0, 0
- bne _080EE8E8
-_080EE8BE:
- ldr r1, _080EE8D0
- movs r5, 0xC1
- lsls r5, 2
- adds r1, r5
-_080EE8C6:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EE8E8
- .align 2, 0
-_080EE8D0: .4byte 0x02000000
-_080EE8D4:
- bl sub_8055870
- cmp r0, 0
- bne _080EE8E8
- ldr r0, _080EE8F0
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x8
- strh r1, [r0]
-_080EE8E8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE8F0: .4byte 0x02000000
- thumb_func_end sub_80EE658
-
- thumb_func_start sub_80EE8F4
-sub_80EE8F4: @ 80EE8F4
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080EE910
- movs r1, 0xC1
- lsls r1, 2
- adds r4, r0, r1
- ldrh r2, [r4]
- cmp r2, 0x1
- beq _080EE932
- cmp r2, 0x1
- bgt _080EE914
- cmp r2, 0
- beq _080EE91A
- b _080EE95E
- .align 2, 0
-_080EE910: .4byte 0x02000000
-_080EE914:
- cmp r2, 0x2
- beq _080EE958
- b _080EE95E
-_080EE91A:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- b _080EE94C
-_080EE932:
- ldr r0, _080EE954
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EE95E
- bl sub_80F3130
- movs r0, 0x2
- bl sub_80F2D6C
- bl sub_80F6FFC
-_080EE94C:
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- b _080EE95E
- .align 2, 0
-_080EE954: .4byte gPaletteFade
-_080EE958:
- ldr r0, _080EE968
- bl sub_80EBDBC
-_080EE95E:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE968: .4byte sub_80EC00C
- thumb_func_end sub_80EE8F4
-
- thumb_func_start sub_80EE96C
-sub_80EE96C: @ 80EE96C
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r0, _080EE99C
- movs r1, 0xC1
- lsls r1, 2
- adds r5, r0, r1
- ldrh r4, [r5]
- cmp r4, 0
- bne _080EE9A0
- movs r0, 0x6F
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- str r4, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- b _080EE9B4
- .align 2, 0
-_080EE99C: .4byte 0x02000000
-_080EE9A0:
- ldr r0, _080EE9BC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EE9B4
- bl sub_80F5BDC
- bl sub_805469C
-_080EE9B4:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE9BC: .4byte gPaletteFade
- thumb_func_end sub_80EE96C
-
- thumb_func_start sub_80EE9C0
-sub_80EE9C0: @ 80EE9C0
- push {r4-r6,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- adds r6, r2, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- bl sub_80F1E84
- ldr r1, _080EE9FC
- ldr r2, _080EEA00
- adds r0, r1, r2
- movs r2, 0
- strb r4, [r0]
- ldr r3, _080EEA04
- adds r0, r1, r3
- strb r5, [r0]
- adds r3, 0x1
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _080EEA08
- adds r1, r0
- strb r6, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EE9FC: .4byte 0x02000000
-_080EEA00: .4byte 0x00006e14
-_080EEA04: .4byte 0x00006e15
-_080EEA08: .4byte 0x00006e17
- thumb_func_end sub_80EE9C0
-
- thumb_func_start sub_80EEA0C
-sub_80EEA0C: @ 80EEA0C
- push {r4,lr}
- ldr r1, _080EEA28
- ldr r2, _080EEA2C
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x8
- bls _080EEA1E
- b _080EEBFA
-_080EEA1E:
- lsls r0, 2
- ldr r1, _080EEA30
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EEA28: .4byte 0x02000000
-_080EEA2C: .4byte 0x00006e16
-_080EEA30: .4byte _080EEA34
- .align 2, 0
-_080EEA34:
- .4byte _080EEA58
- .4byte _080EEA98
- .4byte _080EEAAE
- .4byte _080EEAD4
- .4byte _080EEB3E
- .4byte _080EEB68
- .4byte _080EEB88
- .4byte _080EEBAC
- .4byte _080EEBE4
-_080EEA58:
- bl sub_80F1F10
- lsls r0, 24
- cmp r0, 0
- beq _080EEA64
- b _080EEC08
-_080EEA64:
- ldr r1, _080EEA7C
- ldr r4, _080EEA80
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0xC
- beq _080EEA88
- ldr r0, _080EEA84
- adds r1, r0
- movs r0, 0x1
- strb r0, [r1]
- b _080EEC08
- .align 2, 0
-_080EEA7C: .4byte 0x02000000
-_080EEA80: .4byte 0x00006e17
-_080EEA84: .4byte 0x00006e16
-_080EEA88:
- ldr r2, _080EEA94
- adds r1, r2
- movs r0, 0x3
- strb r0, [r1]
- b _080EEC08
- .align 2, 0
-_080EEA94: .4byte 0x00006e16
-_080EEA98:
- ldr r4, _080EEAC8
- ldr r1, _080EEACC
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_80F2C80
- ldr r2, _080EEAD0
- adds r4, r2
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_080EEAAE:
- ldr r4, _080EEAC8
- ldr r1, _080EEACC
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- beq _080EEAC2
- b _080EEC08
-_080EEAC2:
- ldr r2, _080EEAD0
- adds r1, r4, r2
- b _080EEB76
- .align 2, 0
-_080EEAC8: .4byte 0x02000000
-_080EEACC: .4byte 0x00006e17
-_080EEAD0: .4byte 0x00006e16
-_080EEAD4:
- adds r2, r3, 0
- ldr r4, _080EEAF8
- adds r0, r2, r4
- ldrb r1, [r0]
- subs r4, 0x68
- adds r0, r2, r4
- strb r1, [r0]
- ldr r1, _080EEAFC
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080EEB14
- cmp r0, 0x1
- bgt _080EEB00
- cmp r0, 0
- beq _080EEB06
- b _080EEB28
- .align 2, 0
-_080EEAF8: .4byte 0x00006e15
-_080EEAFC: .4byte 0x00006e14
-_080EEB00:
- cmp r0, 0x2
- beq _080EEB20
- b _080EEB28
-_080EEB06:
- ldr r4, _080EEB10
- adds r1, r2, r4
- movs r0, 0x5
- b _080EEB26
- .align 2, 0
-_080EEB10: .4byte 0x00006dae
-_080EEB14:
- ldr r0, _080EEB1C
- adds r1, r2, r0
- movs r0, 0x3
- b _080EEB26
- .align 2, 0
-_080EEB1C: .4byte 0x00006dae
-_080EEB20:
- ldr r2, _080EEB58
- adds r1, r3, r2
- movs r0, 0x6
-_080EEB26:
- strb r0, [r1]
-_080EEB28:
- ldr r4, _080EEB5C
- ldr r1, _080EEB60
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_80F1B8C
- ldr r2, _080EEB64
- adds r4, r2
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_080EEB3E:
- ldr r4, _080EEB5C
- ldr r1, _080EEB60
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_80F1BC8
- lsls r0, 24
- cmp r0, 0
- bne _080EEC08
- ldr r2, _080EEB64
- adds r1, r4, r2
- b _080EEB76
- .align 2, 0
-_080EEB58: .4byte 0x00006dae
-_080EEB5C: .4byte 0x02000000
-_080EEB60: .4byte 0x00006e14
-_080EEB64: .4byte 0x00006e16
-_080EEB68:
- bl sub_8055870
- cmp r0, 0
- bne _080EEC08
- ldr r1, _080EEB80
- ldr r4, _080EEB84
- adds r1, r4
-_080EEB76:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080EEC08
- .align 2, 0
-_080EEB80: .4byte 0x02000000
-_080EEB84: .4byte 0x00006e16
-_080EEB88:
- bl sub_80F1DF0
- ldr r4, _080EEBA0
- ldr r1, _080EEBA4
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_80EF490
- ldr r2, _080EEBA8
- adds r4, r2
- b _080EEBCC
- .align 2, 0
-_080EEBA0: .4byte 0x02000000
-_080EEBA4: .4byte 0x00006e14
-_080EEBA8: .4byte 0x00006e16
-_080EEBAC:
- bl sub_80F1E50
- lsls r0, 24
- cmp r0, 0
- bne _080EEC08
- ldr r4, _080EEBD4
- ldr r1, _080EEBD8
- adds r0, r4, r1
- ldrb r0, [r0]
- ldr r2, _080EEBDC
- adds r1, r4, r2
- ldrb r1, [r1]
- bl sub_80EF428
- ldr r0, _080EEBE0
- adds r4, r0
-_080EEBCC:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080EEC08
- .align 2, 0
-_080EEBD4: .4byte 0x02000000
-_080EEBD8: .4byte 0x00006e14
-_080EEBDC: .4byte 0x00006dad
-_080EEBE0: .4byte 0x00006e16
-_080EEBE4:
- bl sub_80EF4F8
- lsls r0, 24
- cmp r0, 0
- bne _080EEC08
- ldr r1, _080EEC00
- ldr r2, _080EEC04
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080EEBFA:
- movs r0, 0
- b _080EEC0A
- .align 2, 0
-_080EEC00: .4byte 0x02000000
-_080EEC04: .4byte 0x00006e16
-_080EEC08:
- movs r0, 0x1
-_080EEC0A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EEA0C
-
- thumb_func_start sub_80EEC10
-sub_80EEC10: @ 80EEC10
- push {r4,lr}
- ldr r0, _080EEC48
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080EEC50
- ldr r1, _080EEC4C
- adds r3, r1, 0x1
- adds r2, r1, 0x5
-_080EEC24:
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080EEC36
- ldrb r0, [r3]
- subs r0, 0x1
- strb r0, [r1]
-_080EEC36:
- movs r0, 0
- ldrsb r0, [r1, r0]
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EEC24
- movs r0, 0x1
- b _080EEC8A
- .align 2, 0
-_080EEC48: .4byte gMain
-_080EEC4C: .4byte 0x02006dad
-_080EEC50:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080EEC88
- ldr r1, _080EEC84
- movs r4, 0
- movs r2, 0x1
- ldrsb r2, [r1, r2]
- adds r3, r1, 0x5
-_080EEC62:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- asrs r0, 24
- cmp r0, r2
- blt _080EEC72
- strb r4, [r1]
-_080EEC72:
- movs r0, 0
- ldrsb r0, [r1, r0]
- adds r0, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EEC62
- movs r0, 0x1
- b _080EEC8A
- .align 2, 0
-_080EEC84: .4byte 0x02006dad
-_080EEC88:
- movs r0, 0
-_080EEC8A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EEC10
-
- thumb_func_start sub_80EEC90
-sub_80EEC90: @ 80EEC90
- push {r4,lr}
- ldr r0, _080EECC0
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0
- beq _080EECD0
- ldr r2, _080EECC4
- ldr r0, _080EECC8
- adds r1, r2, r0
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- bge _080EECF8
- ldr r3, _080EECCC
- adds r0, r2, r3
- ldrb r0, [r0]
- subs r0, 0x1
- strb r0, [r1]
- b _080EECF8
- .align 2, 0
-_080EECC0: .4byte gMain
-_080EECC4: .4byte 0x02000000
-_080EECC8: .4byte 0x00006dad
-_080EECCC: .4byte 0x00006dae
-_080EECD0:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080EED04
- ldr r0, _080EECFC
- ldr r4, _080EED00
- adds r2, r0, r4
- ldrb r1, [r2]
- adds r1, 0x1
- strb r1, [r2]
- adds r4, 0x1
- adds r0, r4
- lsls r1, 24
- asrs r1, 24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- blt _080EECF8
- strb r3, [r2]
-_080EECF8:
- movs r0, 0x1
- b _080EED06
- .align 2, 0
-_080EECFC: .4byte 0x02000000
-_080EED00: .4byte 0x00006dad
-_080EED04:
- movs r0, 0
-_080EED06:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EEC90
-
- thumb_func_start sub_80EED0C
-sub_80EED0C: @ 80EED0C
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- thumb_func_end sub_80EED0C
-
- thumb_func_start sub_80EED1C
-sub_80EED1C: @ 80EED1C
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0x92
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- bx lr
- thumb_func_end sub_80EED1C
-
- thumb_func_start sub_80EED2C
-sub_80EED2C: @ 80EED2C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _080EED98
- lsls r0, 2
- ldr r1, _080EED40
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EED40: .4byte _080EED44
- .align 2, 0
-_080EED44:
- .4byte _080EED5C
- .4byte _080EED66
- .4byte _080EED7E
- .4byte _080EED74
- .4byte _080EED74
- .4byte _080EED8C
-_080EED5C:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- b _080EED94
-_080EED66:
- movs r1, 0x80
- lsls r1, 19
- ldr r2, _080EED70
- b _080EED94
- .align 2, 0
-_080EED70: .4byte 0x00001741
-_080EED74:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFA
- lsls r2, 5
- b _080EED94
-_080EED7E:
- movs r1, 0x80
- lsls r1, 19
- ldr r2, _080EED88
- b _080EED94
- .align 2, 0
-_080EED88: .4byte 0x00007b40
-_080EED8C:
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFD
- lsls r2, 6
-_080EED94:
- adds r0, r2, 0
- strh r0, [r1]
-_080EED98:
- pop {r0}
- bx r0
- thumb_func_end sub_80EED2C
-
- thumb_func_start sub_80EED9C
-sub_80EED9C: @ 80EED9C
- push {lr}
- ldr r2, _080EEDB8
- ldr r0, _080EEDBC
- movs r1, 0xC0
- lsls r1, 2
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- ldr r1, _080EEDC0
- str r1, [r0]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_080EEDB8: .4byte gUnknown_03000744
-_080EEDBC: .4byte 0x02000000
-_080EEDC0: .4byte sub_80EEDC4
- thumb_func_end sub_80EED9C
-
- thumb_func_start sub_80EEDC4
-sub_80EEDC4: @ 80EEDC4
- push {lr}
- bl sub_8055870
- cmp r0, 0x1
- beq _080EEDDC
- ldr r0, _080EEDE0
- movs r1, 0xC0
- lsls r1, 2
- adds r0, r1
- ldr r1, _080EEDE4
- ldr r1, [r1]
- str r1, [r0]
-_080EEDDC:
- pop {r0}
- bx r0
- .align 2, 0
-_080EEDE0: .4byte 0x02000000
-_080EEDE4: .4byte gUnknown_03000744
- thumb_func_end sub_80EEDC4
-
- thumb_func_start sub_80EEDE8
-sub_80EEDE8: @ 80EEDE8
- ldr r0, _080EEE04
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x8
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080EEE04: .4byte REG_BG0HOFS
- thumb_func_end sub_80EEDE8
-
- thumb_func_start sub_80EEE08
-sub_80EEE08: @ 80EEE08
- ldr r0, _080EEE18
- ldr r0, [r0]
- ldr r1, _080EEE1C
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080EEE18: .4byte gUnknown_083DFEC4
-_080EEE1C: .4byte 0x0000d160
- thumb_func_end sub_80EEE08
-
- thumb_func_start sub_80EEE20
-sub_80EEE20: @ 80EEE20
- push {lr}
- ldr r0, _080EEE48
- ldr r0, [r0]
- ldr r1, _080EEE4C
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080EEE50
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EEE42
-_080EEE38:
- bl sub_80EEE54
- lsls r0, 24
- cmp r0, 0
- bne _080EEE38
-_080EEE42:
- pop {r0}
- bx r0
- .align 2, 0
-_080EEE48: .4byte gUnknown_083DFEC4
-_080EEE4C: .4byte 0x0000d160
-_080EEE50: .4byte 0x00006dac
- thumb_func_end sub_80EEE20
-
- thumb_func_start sub_80EEE54
-sub_80EEE54: @ 80EEE54
- push {lr}
- ldr r1, _080EEE70
- ldr r0, [r1]
- ldr r2, _080EEE74
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x4
- bhi _080EEF02
- lsls r0, 2
- ldr r1, _080EEE78
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EEE70: .4byte gUnknown_083DFEC4
-_080EEE74: .4byte 0x0000d160
-_080EEE78: .4byte _080EEE7C
- .align 2, 0
-_080EEE7C:
- .4byte _080EEE90
- .4byte _080EEEA4
- .4byte _080EEEB8
- .4byte _080EEEC8
- .4byte _080EEEDC
-_080EEE90:
- ldr r0, _080EEE9C
- ldr r1, _080EEEA0
- bl LZ77UnCompVram
- b _080EEF18
- .align 2, 0
-_080EEE9C: .4byte gPokenavHoennMapMisc_Gfx
-_080EEEA0: .4byte 0x0600c000
-_080EEEA4:
- ldr r0, _080EEEB0
- ldr r1, _080EEEB4
- bl LZ77UnCompVram
- b _080EEF18
- .align 2, 0
-_080EEEB0: .4byte gUnknown_08E99FB0
-_080EEEB4: .4byte 0x0600d800
-_080EEEB8:
- ldr r0, _080EEEC4
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- b _080EEF18
- .align 2, 0
-_080EEEC4: .4byte gPokenavHoennMap1_Pal
-_080EEEC8:
- movs r0, 0
- bl sub_80EF58C
- movs r0, 0x1
- bl sub_80EF58C
- movs r0, 0x2
- bl sub_80EF58C
- b _080EEF18
-_080EEEDC:
- ldr r2, [r2]
- movs r3, 0xC3
- lsls r3, 2
- adds r0, r2, r3
- movs r1, 0
- strh r1, [r0]
- ldr r0, _080EEF08
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _080EEF0C
- ldr r3, _080EEF10
- adds r0, r3, 0
- strh r0, [r1]
- ldr r0, _080EEF14
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
-_080EEF02:
- movs r0, 0
- b _080EEF28
- .align 2, 0
-_080EEF08: .4byte REG_BG1HOFS
-_080EEF0C: .4byte REG_BG1CNT
-_080EEF10: .4byte 0x00001b0c
-_080EEF14: .4byte 0x0000d160
-_080EEF18:
- ldr r0, _080EEF2C
- ldr r1, [r0]
- ldr r2, _080EEF30
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080EEF28:
- pop {r1}
- bx r1
- .align 2, 0
-_080EEF2C: .4byte gUnknown_083DFEC4
-_080EEF30: .4byte 0x0000d160
- thumb_func_end sub_80EEE54
-
- thumb_func_start sub_80EEF34
-sub_80EEF34: @ 80EEF34
- push {r4,lr}
- movs r3, 0x1
- ldr r0, _080EEF50
- ldr r0, [r0]
- movs r1, 0xC3
- lsls r1, 2
- adds r2, r0, r1
- ldrh r1, [r2]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r0, 0x20
- bne _080EEF54
- movs r0, 0
- b _080EEF6E
- .align 2, 0
-_080EEF50: .4byte gUnknown_083DFEC4
-_080EEF54:
- adds r0, r1, 0x2
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1F
- ble _080EEF66
- movs r0, 0x20
- strh r0, [r2]
- movs r3, 0
-_080EEF66:
- ldr r1, _080EEF74
- ldrh r0, [r2]
- strh r0, [r1]
- adds r0, r3, 0
-_080EEF6E:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080EEF74: .4byte REG_BG1VOFS
- thumb_func_end sub_80EEF34
-
- thumb_func_start sub_80EEF78
-sub_80EEF78: @ 80EEF78
- push {r4,lr}
- movs r3, 0x1
- ldr r0, _080EEF94
- ldr r0, [r0]
- movs r1, 0xC3
- lsls r1, 2
- adds r2, r0, r1
- ldrh r1, [r2]
- movs r4, 0
- ldrsh r0, [r2, r4]
- cmp r0, 0
- bne _080EEF98
- movs r0, 0
- b _080EEFB0
- .align 2, 0
-_080EEF94: .4byte gUnknown_083DFEC4
-_080EEF98:
- subs r0, r1, 0x2
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bgt _080EEFA8
- movs r0, 0
- strh r0, [r2]
- movs r3, 0
-_080EEFA8:
- ldr r1, _080EEFB8
- ldrh r0, [r2]
- strh r0, [r1]
- adds r0, r3, 0
-_080EEFB0:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080EEFB8: .4byte REG_BG1VOFS
- thumb_func_end sub_80EEF78
-
- thumb_func_start sub_80EEFBC
-sub_80EEFBC: @ 80EEFBC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x10
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080EEFF4
- ldr r3, _080EEFF8
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0x11
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0
- movs r2, 0x16
- bl sub_809D104
- cmp r4, 0xB
- bls _080EEFE8
- b _080EF234
-_080EEFE8:
- lsls r0, r4, 2
- ldr r1, _080EEFFC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EEFF4: .4byte 0x0600d800
-_080EEFF8: .4byte gUnknown_08E9A100
-_080EEFFC: .4byte _080EF000
- .align 2, 0
-_080EF000:
- .4byte _080EF030
- .4byte _080EF234
- .4byte _080EF08C
- .4byte _080EF100
- .4byte _080EF13C
- .4byte _080EF1D4
- .4byte _080EF234
- .4byte _080EF178
- .4byte _080EF190
- .4byte _080EF1D4
- .4byte _080EF218
- .4byte _080EF06C
-_080EF030:
- ldr r6, _080EF064
- ldr r0, _080EF068
- mov r8, r0
- movs r0, 0x11
- str r0, [sp]
- movs r4, 0
- str r4, [sp, 0x4]
- movs r0, 0xA
- str r0, [sp, 0x8]
- movs r5, 0x2
- str r5, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x16
- mov r3, r8
- bl sub_809D104
- str r4, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- str r5, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0xA
- b _080EF204
- .align 2, 0
-_080EF064: .4byte 0x0600d800
-_080EF068: .4byte gUnknown_08E9A100
-_080EF06C:
- ldr r0, _080EF084
- ldr r3, _080EF088
- movs r1, 0
- str r1, [sp]
- movs r1, 0x6
- str r1, [sp, 0x4]
- movs r1, 0x7
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x8
- b _080EF0EE
- .align 2, 0
-_080EF084: .4byte 0x0600d800
-_080EF088: .4byte gUnknown_08E9A100
-_080EF08C:
- ldr r0, _080EF0C8
- ldr r0, [r0]
- ldr r1, _080EF0CC
- adds r0, r1
- ldrb r7, [r0]
- cmp r7, 0
- bne _080EF0D8
- ldr r5, _080EF0D0
- ldr r6, _080EF0D4
- movs r0, 0xA
- str r0, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x16
- adds r3, r6, 0
- bl sub_809D104
- str r7, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0xA
- b _080EF1C2
- .align 2, 0
-_080EF0C8: .4byte gUnknown_083DFEC4
-_080EF0CC: .4byte 0x00006dac
-_080EF0D0: .4byte 0x0600d800
-_080EF0D4: .4byte gUnknown_08E9A100
-_080EF0D8:
- ldr r0, _080EF0F8
- ldr r3, _080EF0FC
- movs r1, 0
- str r1, [sp]
- movs r1, 0x6
- str r1, [sp, 0x4]
- movs r1, 0x7
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0xA
-_080EF0EE:
- movs r2, 0x16
- bl sub_809D104
- b _080EF234
- .align 2, 0
-_080EF0F8: .4byte 0x0600d800
-_080EF0FC: .4byte gUnknown_08E9A100
-_080EF100:
- ldr r6, _080EF134
- ldr r0, _080EF138
- mov r8, r0
- movs r5, 0
- str r5, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0xA
- str r0, [sp, 0x8]
- movs r4, 0x2
- str r4, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x16
- mov r3, r8
- bl sub_809D104
- str r5, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0xA
- b _080EF204
- .align 2, 0
-_080EF134: .4byte 0x0600d800
-_080EF138: .4byte gUnknown_08E9A100
-_080EF13C:
- ldr r5, _080EF170
- ldr r6, _080EF174
- movs r0, 0x14
- str r0, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r0, 0xA
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x16
- adds r3, r6, 0
- bl sub_809D104
- movs r0, 0
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0xA
- b _080EF1C2
- .align 2, 0
-_080EF170: .4byte 0x0600d800
-_080EF174: .4byte gUnknown_08E9A100
-_080EF178:
- ldr r5, _080EF188
- ldr r6, _080EF18C
- movs r1, 0xA
- str r1, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- b _080EF1A0
- .align 2, 0
-_080EF188: .4byte 0x0600d800
-_080EF18C: .4byte gUnknown_08E9A100
-_080EF190:
- ldr r5, _080EF1CC
- ldr r6, _080EF1D0
- movs r0, 0x14
- str r0, [sp]
- movs r0, 0x4
- str r0, [sp, 0x4]
- movs r0, 0xA
- str r0, [sp, 0x8]
-_080EF1A0:
- movs r4, 0x2
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0
- movs r2, 0x16
- adds r3, r6, 0
- bl sub_809D104
- movs r0, 0
- str r0, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r5, 0
- movs r1, 0x7
-_080EF1C2:
- movs r2, 0x16
- adds r3, r6, 0
- bl sub_809D104
- b _080EF234
- .align 2, 0
-_080EF1CC: .4byte 0x0600d800
-_080EF1D0: .4byte gUnknown_08E9A100
-_080EF1D4:
- ldr r6, _080EF210
- ldr r1, _080EF214
- mov r8, r1
- movs r5, 0
- str r5, [sp]
- movs r4, 0x2
- str r4, [sp, 0x4]
- movs r0, 0xA
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0
- movs r2, 0x16
- mov r3, r8
- bl sub_809D104
- str r5, [sp]
- movs r0, 0x6
- str r0, [sp, 0x4]
- movs r0, 0x7
- str r0, [sp, 0x8]
- str r4, [sp, 0xC]
- adds r0, r6, 0
- movs r1, 0x8
-_080EF204:
- movs r2, 0x16
- mov r3, r8
- bl sub_809D104
- b _080EF234
- .align 2, 0
-_080EF210: .4byte 0x0600d800
-_080EF214: .4byte gUnknown_08E9A100
-_080EF218:
- ldr r0, _080EF240
- ldr r3, _080EF244
- movs r1, 0
- str r1, [sp]
- movs r1, 0x6
- str r1, [sp, 0x4]
- movs r1, 0x7
- str r1, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- movs r1, 0x8
- movs r2, 0x16
- bl sub_809D104
-_080EF234:
- add sp, 0x10
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EF240: .4byte 0x0600d800
-_080EF244: .4byte gUnknown_08E9A100
- thumb_func_end sub_80EEFBC
-
- thumb_func_start sub_80EF248
-sub_80EF248: @ 80EF248
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080EF278
- ldr r0, [r0]
- ldr r1, _080EF27C
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080EF280
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EF270
-_080EF264:
- adds r0, r4, 0
- bl sub_80EF284
- lsls r0, 24
- cmp r0, 0
- bne _080EF264
-_080EF270:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EF278: .4byte gUnknown_083DFEC4
-_080EF27C: .4byte 0x0000d160
-_080EF280: .4byte 0x00006dac
- thumb_func_end sub_80EF248
-
- thumb_func_start sub_80EF284
-sub_80EF284: @ 80EF284
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080EF2A8
- ldr r0, [r1]
- ldr r3, _080EF2AC
- adds r0, r3
- ldrh r0, [r0]
- adds r3, r1, 0
- cmp r0, 0xB
- bls _080EF29C
- b _080EF3F6
-_080EF29C:
- lsls r0, 2
- ldr r1, _080EF2B0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EF2A8: .4byte gUnknown_083DFEC4
-_080EF2AC: .4byte 0x0000d160
-_080EF2B0: .4byte _080EF2B4
- .align 2, 0
-_080EF2B4:
- .4byte _080EF2E4
- .4byte _080EF2EA
- .4byte _080EF2F8
- .4byte _080EF304
- .4byte _080EF310
- .4byte _080EF330
- .4byte _080EF344
- .4byte _080EF368
- .4byte _080EF37C
- .4byte _080EF390
- .4byte _080EF3A4
- .4byte _080EF3CC
-_080EF2E4:
- bl sub_80EEDE8
- b _080EF40C
-_080EF2EA:
- ldr r0, _080EF2F4
- bl SetUpWindowConfig
- b _080EF40C
- .align 2, 0
-_080EF2F4: .4byte gWindowConfig_81E7224
-_080EF2F8:
- ldr r0, _080EF300
- bl MultistepInitMenuWindowBegin
- b _080EF40C
- .align 2, 0
-_080EF300: .4byte gWindowConfig_81E7224
-_080EF304:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _080EF30E
- b _080EF40C
-_080EF30E:
- b _080EF41A
-_080EF310:
- ldr r1, _080EF320
- ldr r2, _080EF324
- ldr r0, _080EF328
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080EF32C
- b _080EF350
- .align 2, 0
-_080EF320: .4byte gUnknown_083DFEEC
-_080EF324: .4byte 0x06005000
-_080EF328: .4byte 0x040000d4
-_080EF32C: .4byte 0x80000050
-_080EF330:
- ldr r0, _080EF33C
- ldr r1, _080EF340
- bl LZ77UnCompVram
- b _080EF40C
- .align 2, 0
-_080EF33C: .4byte gUnknown_083DFF8C
-_080EF340: .4byte 0x0600f800
-_080EF344:
- ldr r1, _080EF358
- ldr r2, _080EF35C
- ldr r0, _080EF360
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080EF364
-_080EF350:
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080EF40C
- .align 2, 0
-_080EF358: .4byte gUnknown_083E005C
-_080EF35C: .4byte 0x06008000
-_080EF360: .4byte 0x040000d4
-_080EF364: .4byte 0x80000010
-_080EF368:
- ldr r0, _080EF374
- ldr r1, _080EF378
- bl LZ77UnCompVram
- b _080EF40C
- .align 2, 0
-_080EF374: .4byte gUnknown_083E007C
-_080EF378: .4byte 0x0600e000
-_080EF37C:
- ldr r0, _080EF388
- ldr r1, _080EF38C
- bl LZ77UnCompVram
- b _080EF40C
- .align 2, 0
-_080EF388: .4byte gPokenavOutlineTilemap
-_080EF38C: .4byte 0x0600e800
-_080EF390:
- ldr r0, _080EF39C
- ldr r1, _080EF3A0
- bl LZ77UnCompVram
- b _080EF40C
- .align 2, 0
-_080EF39C: .4byte gPokenavOutlineTiles
-_080EF3A0: .4byte 0x06008020
-_080EF3A4:
- adds r0, r2, 0
- bl sub_80EF54C
- ldr r0, _080EF3C4
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080EF3C8
- movs r1, 0x40
- movs r2, 0x20
- bl LoadPalette
- bl sub_80EF7D4
- b _080EF40C
- .align 2, 0
-_080EF3C4: .4byte gUnknown_083DFECC
-_080EF3C8: .4byte gPokenavOutlinePalette
-_080EF3CC:
- ldr r1, _080EF3FC
- ldr r2, _080EF400
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080EF404
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- subs r2, 0xFF
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x42
- movs r0, 0
- strh r0, [r1]
- ldr r1, [r3]
- ldr r3, _080EF408
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EF3F6:
- movs r0, 0
- b _080EF41C
- .align 2, 0
-_080EF3FC: .4byte REG_BG0CNT
-_080EF400: .4byte 0x00001f01
-_080EF404: .4byte 0x00001d0a
-_080EF408: .4byte 0x0000d160
-_080EF40C:
- ldr r0, _080EF420
- ldr r1, [r0]
- ldr r0, _080EF424
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EF41A:
- movs r0, 0x1
-_080EF41C:
- pop {r1}
- bx r1
- .align 2, 0
-_080EF420: .4byte gUnknown_083DFEC4
-_080EF424: .4byte 0x0000d160
- thumb_func_end sub_80EF284
-
- thumb_func_start sub_80EF428
-sub_80EF428: @ 80EF428
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r3, r0, 0
- lsls r1, 24
- lsrs r2, r1, 24
- movs r1, 0
- cmp r0, 0x1
- beq _080EF454
- cmp r0, 0x1
- bgt _080EF444
- cmp r0, 0
- beq _080EF44A
- b _080EF464
-_080EF444:
- cmp r3, 0x2
- beq _080EF45C
- b _080EF464
-_080EF44A:
- ldr r1, _080EF450
- b _080EF45E
- .align 2, 0
-_080EF450: .4byte gUnknown_083E31B0
-_080EF454:
- ldr r1, _080EF458
- b _080EF45E
- .align 2, 0
-_080EF458: .4byte gUnknown_083E31CC
-_080EF45C:
- ldr r1, _080EF488
-_080EF45E:
- lsls r0, r2, 2
- adds r0, r1
- ldr r1, [r0]
-_080EF464:
- ldr r0, _080EF48C
- ldr r4, [r0]
- movs r0, 0x80
- lsls r0, 4
- adds r4, r0
- adds r0, r4, 0
- movs r2, 0xC0
- movs r3, 0x2
- bl sub_8072C74
- adds r0, r4, 0
- movs r1, 0x3
- movs r2, 0x11
- bl MenuPrint
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EF488: .4byte gUnknown_083E31D8
-_080EF48C: .4byte gUnknown_083DFEC8
- thumb_func_end sub_80EF428
-
- thumb_func_start sub_80EF490
-sub_80EF490: @ 80EF490
- push {r4,lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bne _080EF49C
- movs r2, 0x1
-_080EF49C:
- ldr r0, _080EF4C4
- ldr r3, [r0]
- lsls r1, r2, 4
- subs r1, r2
- lsls r2, r1, 1
- ldr r4, _080EF4C8
- adds r0, r3, r4
- strh r2, [r0]
- ldr r2, _080EF4CC
- adds r0, r3, r2
- ldrh r2, [r0]
- lsls r1, 17
- lsrs r0, r1, 16
- cmp r2, r0
- bcs _080EF4D0
- adds r4, 0x2
- adds r1, r3, r4
- movs r0, 0x2
- b _080EF4EA
- .align 2, 0
-_080EF4C4: .4byte gUnknown_083DFEC4
-_080EF4C8: .4byte 0x0000ce4e
-_080EF4CC: .4byte 0x0000ce4c
-_080EF4D0:
- cmp r2, r0
- bls _080EF4E4
- ldr r0, _080EF4DC
- adds r1, r3, r0
- ldr r0, _080EF4E0
- b _080EF4EA
- .align 2, 0
-_080EF4DC: .4byte 0x0000ce50
-_080EF4E0: .4byte 0x0000fffe
-_080EF4E4:
- ldr r2, _080EF4F4
- adds r1, r3, r2
- movs r0, 0
-_080EF4EA:
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EF4F4: .4byte 0x0000ce50
- thumb_func_end sub_80EF490
-
- thumb_func_start sub_80EF4F8
-sub_80EF4F8: @ 80EF4F8
- push {r4,lr}
- ldr r0, _080EF530
- ldr r1, [r0]
- ldr r0, _080EF534
- adds r2, r1, r0
- ldr r3, _080EF538
- adds r0, r1, r3
- ldrh r3, [r2]
- ldrh r0, [r0]
- cmp r3, r0
- beq _080EF544
- ldr r4, _080EF53C
- adds r0, r1, r4
- ldrh r0, [r0]
- adds r0, r3, r0
- strh r0, [r2]
- ldr r3, _080EF540
- adds r0, r1, r3
- ldrh r1, [r2]
- lsls r1, 1
- adds r0, r1
- movs r1, 0x31
- movs r2, 0x4
- bl LoadPalette
- movs r0, 0x1
- b _080EF546
- .align 2, 0
-_080EF530: .4byte gUnknown_083DFEC4
-_080EF534: .4byte 0x0000ce4c
-_080EF538: .4byte 0x0000ce4e
-_080EF53C: .4byte 0x0000ce50
-_080EF540: .4byte 0x0000ce52
-_080EF544:
- movs r0, 0
-_080EF546:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80EF4F8
-
- thumb_func_start sub_80EF54C
-sub_80EF54C: @ 80EF54C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bne _080EF558
- movs r2, 0x1
-_080EF558:
- ldr r0, _080EF580
- ldr r0, [r0]
- lsls r1, r2, 4
- subs r1, r2
- lsls r1, 1
- ldr r3, _080EF584
- adds r2, r0, r3
- strh r1, [r2]
- ldrh r1, [r2]
- lsls r1, 1
- ldr r2, _080EF588
- adds r1, r2
- adds r0, r1
- movs r1, 0x31
- movs r2, 0x4
- bl LoadPalette
- pop {r0}
- bx r0
- .align 2, 0
-_080EF580: .4byte gUnknown_083DFEC4
-_080EF584: .4byte 0x0000ce4c
-_080EF588: .4byte 0x0000ce52
- thumb_func_end sub_80EF54C
-
- thumb_func_start sub_80EF58C
-sub_80EF58C: @ 80EF58C
- push {lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080EF5D0
- cmp r0, 0x1
- bgt _080EF5A4
- cmp r0, 0
- beq _080EF5AA
- b _080EF610
-_080EF5A4:
- cmp r1, 0x2
- beq _080EF5F8
- b _080EF610
-_080EF5AA:
- movs r1, 0
- ldr r0, _080EF5C8
- ldr r0, [r0]
- ldr r3, _080EF5CC
- adds r2, r0, r3
- movs r3, 0
-_080EF5B6:
- lsls r0, r1, 1
- adds r0, r2, r0
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3D
- bls _080EF5B6
- b _080EF610
- .align 2, 0
-_080EF5C8: .4byte gUnknown_083DFEC4
-_080EF5CC: .4byte 0x0000ce52
-_080EF5D0:
- ldr r0, _080EF5EC
- ldr r0, [r0]
- ldr r1, _080EF5F0
- adds r2, r0, r1
- ldr r1, _080EF5F4
- adds r0, r1, 0x2
- adds r1, 0x6
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0x2
- bl sub_80EF624
- b _080EF610
- .align 2, 0
-_080EF5EC: .4byte gUnknown_083DFEC4
-_080EF5F0: .4byte 0x0000ce52
-_080EF5F4: .4byte gUnknown_083E003C
-_080EF5F8:
- ldr r0, _080EF618
- ldr r0, [r0]
- ldr r3, _080EF61C
- adds r2, r0, r3
- ldr r1, _080EF620
- adds r0, r1, 0x6
- adds r1, 0xE
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0x2
- bl sub_80EF624
-_080EF610:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080EF618: .4byte gUnknown_083DFEC4
-_080EF61C: .4byte 0x0000ce8e
-_080EF620: .4byte gUnknown_083E003C
- thumb_func_end sub_80EF58C
-
- thumb_func_start sub_80EF624
-sub_80EF624: @ 80EF624
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x38
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r4, [sp, 0x58]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x8]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- movs r0, 0
- str r0, [sp, 0x10]
- lsls r0, r3, 16
- ldr r1, [sp, 0x10]
- cmp r1, r3
- bcs _080EF72E
- subs r2, 0x1
- str r2, [sp, 0x20]
- str r0, [sp, 0x2C]
-_080EF654:
- ldr r2, [sp]
- ldrh r1, [r2]
- movs r0, 0x1F
- ands r0, r1
- lsls r7, r0, 8
- lsls r1, 16
- lsrs r0, r1, 21
- movs r2, 0x1F
- ands r0, r2
- lsls r6, r0, 8
- lsrs r1, 26
- ands r1, r2
- lsls r5, r1, 8
- ldr r0, [sp, 0x4]
- ldrh r1, [r0]
- movs r0, 0x1F
- ands r0, r1
- lsls r0, 8
- str r0, [sp, 0x14]
- lsls r1, 16
- lsrs r0, r1, 21
- ands r0, r2
- lsls r0, 8
- str r0, [sp, 0x18]
- lsrs r1, 26
- ands r1, r2
- lsls r1, 8
- str r1, [sp, 0x1C]
- ldr r1, [sp, 0x14]
- subs r0, r1, r7
- ldr r1, [sp, 0x8]
- bl __divsi3
- mov r10, r0
- ldr r2, [sp, 0x18]
- subs r0, r2, r6
- ldr r1, [sp, 0x8]
- bl __divsi3
- mov r9, r0
- ldr r1, [sp, 0x1C]
- subs r0, r1, r5
- ldr r1, [sp, 0x8]
- bl __divsi3
- mov r8, r0
- adds r3, r4, 0
- movs r4, 0
- ldr r2, [sp]
- adds r2, 0x2
- str r2, [sp, 0x30]
- ldr r0, [sp, 0x4]
- adds r0, 0x2
- str r0, [sp, 0x34]
- adds r1, r3, 0x2
- str r1, [sp, 0x24]
- ldr r2, [sp, 0x10]
- adds r2, 0x1
- str r2, [sp, 0x28]
- ldr r0, [sp, 0x20]
- cmp r4, r0
- bge _080EF700
- ldr r1, [sp, 0xC]
- lsls r1, 1
- mov r12, r1
-_080EF6D6:
- lsls r0, r7, 8
- lsrs r2, r0, 16
- lsls r0, r6, 8
- lsrs r1, r0, 16
- lsls r0, r5, 8
- lsrs r0, 16
- lsls r0, 10
- lsls r1, 5
- orrs r0, r1
- orrs r2, r0
- strh r2, [r3]
- add r3, r12
- add r7, r10
- add r6, r9
- add r5, r8
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r2, [sp, 0x20]
- cmp r4, r2
- blt _080EF6D6
-_080EF700:
- ldr r4, [sp, 0x14]
- lsrs r2, r4, 8
- ldr r1, [sp, 0x1C]
- lsls r0, r1, 2
- ldr r4, [sp, 0x18]
- lsrs r1, r4, 3
- orrs r0, r1
- orrs r2, r0
- strh r2, [r3]
- ldr r0, [sp, 0x30]
- str r0, [sp]
- ldr r1, [sp, 0x34]
- str r1, [sp, 0x4]
- ldr r4, [sp, 0x24]
- ldr r2, [sp, 0x28]
- lsls r0, r2, 16
- lsrs r0, 16
- str r0, [sp, 0x10]
- ldr r1, [sp, 0x2C]
- lsrs r0, r1, 16
- ldr r2, [sp, 0x10]
- cmp r2, r0
- bcc _080EF654
-_080EF72E:
- add sp, 0x38
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80EF624
-
- thumb_func_start sub_80EF740
-sub_80EF740: @ 80EF740
- push {lr}
- ldr r0, _080EF770
- ldr r3, [r0]
- ldr r0, _080EF774
- adds r2, r3, r0
- ldrh r0, [r2]
- adds r0, 0x1
- movs r1, 0x1
- ands r0, r1
- strh r0, [r2]
- cmp r0, 0
- beq _080EF762
- ldr r2, _080EF778
- adds r1, r3, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EF762:
- ldr r0, _080EF77C
- ldr r2, _080EF778
- adds r1, r3, r2
- ldrh r1, [r1]
- strh r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080EF770: .4byte gUnknown_083DFEC4
-_080EF774: .4byte 0x00006da0
-_080EF778: .4byte 0x00006da2
-_080EF77C: .4byte REG_BG3HOFS
- thumb_func_end sub_80EF740
-
- thumb_func_start sub_80EF780
-sub_80EF780: @ 80EF780
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080EF7B0
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x8
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _080EF7AA
- ldr r0, _080EF7B4
- ldr r3, [r0]
- ldr r0, _080EF7B8
- adds r2, r3, r0
- ldrh r0, [r2]
- movs r1, 0x7
- ands r1, r0
- cmp r1, 0
- beq _080EF7BC
-_080EF7AA:
- bl sub_80EF740
- b _080EF7C8
- .align 2, 0
-_080EF7B0: .4byte gTasks
-_080EF7B4: .4byte gUnknown_083DFEC4
-_080EF7B8: .4byte 0x00006da2
-_080EF7BC:
- strh r1, [r2]
- ldr r2, _080EF7CC
- adds r0, r3, r2
- strh r1, [r0]
- ldr r0, _080EF7D0
- strh r1, [r0]
-_080EF7C8:
- pop {r0}
- bx r0
- .align 2, 0
-_080EF7CC: .4byte 0x00006da0
-_080EF7D0: .4byte REG_BG3HOFS
- thumb_func_end sub_80EF780
-
- thumb_func_start sub_80EF7D4
-sub_80EF7D4: @ 80EF7D4
- push {r4,lr}
- ldr r0, _080EF800
- ldr r4, [r0]
- ldr r1, _080EF804
- adds r0, r4, r1
- movs r1, 0
- strh r1, [r0]
- ldr r2, _080EF808
- adds r0, r4, r2
- strh r1, [r0]
- ldr r0, _080EF80C
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080EF810
- adds r4, r1
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EF800: .4byte gUnknown_083DFEC4
-_080EF804: .4byte 0x00006da2
-_080EF808: .4byte 0x00006da0
-_080EF80C: .4byte sub_80EF780
-_080EF810: .4byte 0x00006da4
- thumb_func_end sub_80EF7D4
-
- thumb_func_start sub_80EF814
-sub_80EF814: @ 80EF814
- push {lr}
- ldr r0, _080EF834
- bl FuncIsActiveTask
- lsls r0, 24
- cmp r0, 0
- beq _080EF830
- ldr r0, _080EF838
- ldr r0, [r0]
- ldr r1, _080EF83C
- adds r0, r1
- ldrb r0, [r0]
- bl DestroyTask
-_080EF830:
- pop {r0}
- bx r0
- .align 2, 0
-_080EF834: .4byte sub_80EF780
-_080EF838: .4byte gUnknown_083DFEC4
-_080EF83C: .4byte 0x00006da4
- thumb_func_end sub_80EF814
-
- thumb_func_start sub_80EF840
-sub_80EF840: @ 80EF840
- push {lr}
- ldr r0, _080EF868
- ldr r0, [r0]
- ldr r1, _080EF86C
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080EF870
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EF862
-_080EF858:
- bl sub_80EF874
- lsls r0, 24
- cmp r0, 0
- bne _080EF858
-_080EF862:
- pop {r0}
- bx r0
- .align 2, 0
-_080EF868: .4byte gUnknown_083DFEC4
-_080EF86C: .4byte 0x0000d160
-_080EF870: .4byte 0x00006dac
- thumb_func_end sub_80EF840
-
- thumb_func_start sub_80EF874
-sub_80EF874: @ 80EF874
- push {lr}
- ldr r0, _080EF890
- ldr r0, [r0]
- ldr r1, _080EF894
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xB
- bls _080EF886
- b _080EF9D8
-_080EF886:
- lsls r0, 2
- ldr r1, _080EF898
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EF890: .4byte gUnknown_083DFEC4
-_080EF894: .4byte 0x0000d160
-_080EF898: .4byte _080EF89C
- .align 2, 0
-_080EF89C:
- .4byte _080EF8CC
- .4byte _080EF8D2
- .4byte _080EF8E0
- .4byte _080EF8EC
- .4byte _080EF8F6
- .4byte _080EF8FC
- .4byte _080EF920
- .4byte _080EF92C
- .4byte _080EF940
- .4byte _080EF954
- .4byte _080EF960
- .4byte _080EF972
-_080EF8CC:
- bl sub_80EEDE8
- b _080EF9DC
-_080EF8D2:
- ldr r0, _080EF8DC
- bl SetUpWindowConfig
- b _080EF9DC
- .align 2, 0
-_080EF8DC: .4byte gWindowConfig_81E7224
-_080EF8E0:
- ldr r0, _080EF8E8
- bl MultistepInitMenuWindowBegin
- b _080EF9DC
- .align 2, 0
-_080EF8E8: .4byte gWindowConfig_81E7224
-_080EF8EC:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- bne _080EF9DC
- b _080EF9EA
-_080EF8F6:
- bl MenuZeroFillScreen
- b _080EF9DC
-_080EF8FC:
- ldr r0, _080EF914
- ldr r0, [r0]
- ldr r2, _080EF918
- adds r0, r2
- ldr r1, _080EF91C
- ldrb r1, [r1, 0x15]
- lsrs r1, 3
- movs r2, 0x1
- ands r1, r2
- bl sub_80FA904
- b _080EF9DC
- .align 2, 0
-_080EF914: .4byte gUnknown_083DFEC4
-_080EF918: .4byte 0x00006e18
-_080EF91C: .4byte gSaveBlock2
-_080EF920:
- bl sub_80FA940
- lsls r0, 24
- cmp r0, 0
- beq _080EF9DC
- b _080EF9EA
-_080EF92C:
- ldr r0, _080EF938
- ldr r1, _080EF93C
- bl LZ77UnCompVram
- b _080EF9DC
- .align 2, 0
-_080EF938: .4byte gPokenavHoennMapSquares_Gfx
-_080EF93C: .4byte 0x06005000
-_080EF940:
- ldr r0, _080EF950
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- bl sub_80EFC3C
- b _080EF9DC
- .align 2, 0
-_080EF950: .4byte gPokenavHoennMapSquares_Pal
-_080EF954:
- bl sub_80EFC64
- lsls r0, 24
- cmp r0, 0
- beq _080EF9DC
- b _080EF9EA
-_080EF960:
- movs r0, 0xD
- movs r1, 0x3
- movs r2, 0x1D
- movs r3, 0x11
- bl MenuDrawTextWindow
- bl sub_80EF9F8
- b _080EF9DC
-_080EF972:
- ldr r0, _080EF990
- ldr r1, [r0]
- ldr r2, _080EF994
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EF9A0
- ldr r2, _080EF998
- adds r0, r1, r2
- movs r1, 0xA0
- strh r1, [r0]
- ldr r0, _080EF99C
- strh r1, [r0]
- b _080EF9B0
- .align 2, 0
-_080EF990: .4byte gUnknown_083DFEC4
-_080EF994: .4byte 0x00006e90
-_080EF998: .4byte 0x00007698
-_080EF99C: .4byte REG_BG0VOFS
-_080EF9A0:
- ldr r0, _080EF9C8
- adds r1, r0
- movs r2, 0
- movs r0, 0x80
- lsls r0, 1
- strh r0, [r1]
- ldr r0, _080EF9CC
- strh r2, [r0]
-_080EF9B0:
- ldr r2, _080EF9D0
- ldrh r0, [r2]
- strh r0, [r2]
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _080EF9D4
- movs r0, 0
- strh r0, [r1]
- b _080EF9DC
- .align 2, 0
-_080EF9C8: .4byte 0x00007698
-_080EF9CC: .4byte REG_BG0VOFS
-_080EF9D0: .4byte REG_BG0CNT
-_080EF9D4: .4byte REG_BLDCNT
-_080EF9D8:
- movs r0, 0
- b _080EF9EC
-_080EF9DC:
- ldr r0, _080EF9F0
- ldr r1, [r0]
- ldr r2, _080EF9F4
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EF9EA:
- movs r0, 0x1
-_080EF9EC:
- pop {r1}
- bx r1
- .align 2, 0
-_080EF9F0: .4byte gUnknown_083DFEC4
-_080EF9F4: .4byte 0x0000d160
- thumb_func_end sub_80EF874
-
- thumb_func_start sub_80EF9F8
-sub_80EF9F8: @ 80EF9F8
- push {r4-r6,lr}
- sub sp, 0x14
- movs r5, 0x4
- ldr r0, _080EFA18
- ldr r0, [r0]
- ldr r1, _080EFA1C
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x4
- bls _080EFA0E
- b _080EFB6A
-_080EFA0E:
- lsls r0, 2
- ldr r1, _080EFA20
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EFA18: .4byte gUnknown_083DFEC4
-_080EFA1C: .4byte 0x00006e2e
-_080EFA20: .4byte _080EFA24
- .align 2, 0
-_080EFA24:
- .4byte _080EFB6A
- .4byte _080EFA38
- .4byte _080EFAC0
- .4byte _080EFB4C
- .4byte _080EFA38
-_080EFA38:
- ldr r0, _080EFA64
- ldr r0, [r0]
- ldr r2, _080EFA68
- adds r0, r2
- lsls r2, r5, 19
- lsrs r2, 16
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x70
- movs r3, 0x78
- bl sub_8072A18
- adds r0, r5, 0x2
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _080EFA6C
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080EFA70
- bl sub_80F1A80
- b _080EFB82
- .align 2, 0
-_080EFA64: .4byte gUnknown_083DFEC4
-_080EFA68: .4byte 0x00006e18
-_080EFA6C: .4byte gLinkOpen
-_080EFA70:
- movs r4, 0
- b _080EFA92
-_080EFA74:
- lsls r2, r5, 19
- lsrs r2, 16
- movs r0, 0x1
- str r0, [sp]
- adds r0, r1, 0
- movs r1, 0x70
- movs r3, 0x78
- bl sub_8072A18
- adds r0, r5, 0x2
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080EFA92:
- cmp r4, 0x3
- bhi _080EFB6A
- ldr r0, _080EFAB8
- ldr r1, [r0]
- ldr r2, _080EFABC
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x3
- adds r1, r2
- ldrb r1, [r1]
- lsls r2, r4, 24
- lsrs r2, 24
- bl sub_811A8CC
- adds r1, r0, 0
- cmp r1, 0
- bne _080EFA74
- b _080EFB6A
- .align 2, 0
-_080EFAB8: .4byte gUnknown_083DFEC4
-_080EFABC: .4byte 0x00006e2c
-_080EFAC0:
- ldr r0, _080EFB38
- ldr r4, [r0]
- ldr r1, _080EFB3C
- adds r0, r4, r1
- lsls r2, r5, 19
- lsrs r2, 16
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x70
- movs r3, 0x78
- bl sub_8072A18
- adds r0, r5, 0x2
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r2, _080EFB40
- adds r0, r4, r2
- ldrh r1, [r0]
- adds r2, 0x3
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 2
- lsls r1, 3
- adds r0, r1
- ldr r1, _080EFB44
- adds r4, r1
- adds r6, r4, r0
- ldr r0, [r6]
- cmp r0, 0
- beq _080EFB6A
- lsls r4, r5, 24
- lsrs r4, 24
- movs r0, 0xE
- adds r1, r4, 0
- movs r2, 0xF
- movs r3, 0xF
- bl MenuFillWindowRectWithBlankTile
- movs r0, 0x1A
- adds r1, r4, 0
- movs r2, 0x1C
- movs r3, 0xF
- bl MenuFillWindowRectWithBlankTile
- ldr r0, _080EFB48
- ldr r3, [r6]
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r1, 0xA
- str r1, [sp, 0x8]
- str r1, [sp, 0xC]
- str r1, [sp, 0x10]
- movs r1, 0x10
- movs r2, 0x6
- bl sub_8095C8C
- adds r0, r5, 0
- adds r0, 0xB
- b _080EFB66
- .align 2, 0
-_080EFB38: .4byte gUnknown_083DFEC4
-_080EFB3C: .4byte 0x00006e18
-_080EFB40: .4byte 0x00006e2c
-_080EFB44: .4byte 0x0000cdcc
-_080EFB48: .4byte 0x0600f800
-_080EFB4C:
- ldr r0, _080EFB98
- ldr r0, [r0]
- ldr r2, _080EFB9C
- adds r0, r2
- lsls r2, r5, 19
- lsrs r2, 16
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x70
- movs r3, 0x78
- bl sub_8072A18
- adds r0, r5, 0x2
-_080EFB66:
- lsls r0, 16
- lsrs r5, r0, 16
-_080EFB6A:
- movs r0, 0
- cmp r0, 0
- bne _080EFB82
- cmp r5, 0xF
- bhi _080EFB82
- lsls r1, r5, 24
- lsrs r1, 24
- movs r0, 0xE
- movs r2, 0x1C
- movs r3, 0xF
- bl MenuFillWindowRectWithBlankTile
-_080EFB82:
- ldr r0, _080EFB98
- ldr r0, [r0]
- ldr r1, _080EFBA0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- bne _080EFBA4
- bl sub_80EFD74
- b _080EFBA8
- .align 2, 0
-_080EFB98: .4byte gUnknown_083DFEC4
-_080EFB9C: .4byte 0x00006e18
-_080EFBA0: .4byte 0x00006e2e
-_080EFBA4:
- bl sub_80EFDA0
-_080EFBA8:
- add sp, 0x14
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80EF9F8
-
- thumb_func_start sub_80EFBB0
-sub_80EFBB0: @ 80EFBB0
- push {lr}
- ldr r0, _080EFBC8
- ldr r0, [r0]
- ldr r1, _080EFBCC
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EFBD0
- movs r0, 0x8
- bl sub_80EEFBC
- b _080EFBD6
- .align 2, 0
-_080EFBC8: .4byte gUnknown_083DFEC4
-_080EFBCC: .4byte 0x00006e90
-_080EFBD0:
- movs r0, 0x7
- bl sub_80EEFBC
-_080EFBD6:
- pop {r0}
- bx r0
- thumb_func_end sub_80EFBB0
-
- thumb_func_start sub_80EFBDC
-sub_80EFBDC: @ 80EFBDC
- push {r4,lr}
- lsls r0, 24
- movs r4, 0x1
- ldr r2, _080EFBFC
- ldr r1, [r2]
- ldr r3, _080EFC00
- adds r1, r3
- ldrh r3, [r1]
- cmp r0, 0
- beq _080EFC08
- cmp r3, 0xA8
- bls _080EFC04
- adds r0, r3, 0
- subs r0, 0x8
- b _080EFC10
- .align 2, 0
-_080EFBFC: .4byte gUnknown_083DFEC4
-_080EFC00: .4byte 0x00007698
-_080EFC04:
- movs r3, 0xA0
- b _080EFC1A
-_080EFC08:
- cmp r3, 0xF7
- bhi _080EFC16
- adds r0, r3, 0
- adds r0, 0x8
-_080EFC10:
- lsls r0, 16
- lsrs r3, r0, 16
- b _080EFC1C
-_080EFC16:
- movs r3, 0x80
- lsls r3, 1
-_080EFC1A:
- movs r4, 0
-_080EFC1C:
- ldr r0, [r2]
- ldr r1, _080EFC34
- adds r0, r1
- strh r3, [r0]
- ldr r1, _080EFC38
- movs r0, 0xFF
- ands r3, r0
- strh r3, [r1]
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080EFC34: .4byte 0x00007698
-_080EFC38: .4byte REG_BG0VOFS
- thumb_func_end sub_80EFBDC
-
- thumb_func_start sub_80EFC3C
-sub_80EFC3C: @ 80EFC3C
- push {lr}
- ldr r0, _080EFC58
- ldr r0, [r0]
- ldr r2, _080EFC5C
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r1, _080EFC60
- adds r0, r1
- strb r2, [r0]
- bl sub_80EFD3C
- pop {r0}
- bx r0
- .align 2, 0
-_080EFC58: .4byte gUnknown_083DFEC4
-_080EFC5C: .4byte 0x0000bc9a
-_080EFC60: .4byte 0x0000bc9b
- thumb_func_end sub_80EFC3C
-
- thumb_func_start sub_80EFC64
-sub_80EFC64: @ 80EFC64
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- ldr r4, _080EFCD0
- ldr r2, [r4]
- ldr r0, _080EFCD4
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xF
- bhi _080EFD2C
- ldrb r1, [r1]
- mov r8, r1
- ldr r1, _080EFCD8
- adds r0, r2, r1
- ldrb r7, [r0]
- movs r2, 0
- ldr r0, _080EFCDC
- mov r9, r0
- adds r3, r4, 0
-_080EFC8E:
- lsls r0, r2, 2
- mov r4, r8
- lsls r1, r4, 3
- adds r6, r0, r1
- mov r1, r9
- adds r0, r6, r1
- ldr r1, [r0]
- cmp r1, 0
- beq _080EFCE8
- movs r0, 0xC8
- adds r5, r7, 0
- muls r5, r0
- ldr r4, _080EFCE0
- adds r5, r4
- ldr r4, [r3]
- adds r5, r4, r5
- adds r0, r1, 0
- adds r1, r5, 0
- str r2, [sp]
- str r3, [sp, 0x4]
- bl LZ77UnCompVram
- ldr r0, _080EFCE4
- adds r4, r0
- adds r4, r6
- str r5, [r4]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r2, [sp]
- ldr r3, [sp, 0x4]
- b _080EFCF2
- .align 2, 0
-_080EFCD0: .4byte gUnknown_083DFEC4
-_080EFCD4: .4byte 0x0000bc9a
-_080EFCD8: .4byte 0x0000bc9b
-_080EFCDC: .4byte gPokenavCityMaps
-_080EFCE0: .4byte 0x0000bc9c
-_080EFCE4: .4byte 0x0000cdcc
-_080EFCE8:
- ldr r0, [r3]
- ldr r4, _080EFD1C
- adds r0, r4
- adds r0, r6
- str r1, [r0]
-_080EFCF2:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x1
- bls _080EFC8E
- ldr r0, _080EFD20
- ldr r2, [r0]
- ldr r0, _080EFD24
- adds r1, r2, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xF
- bhi _080EFD2C
- ldr r1, _080EFD28
- adds r0, r2, r1
- strb r7, [r0]
- movs r0, 0x1
- b _080EFD2E
- .align 2, 0
-_080EFD1C: .4byte 0x0000cdcc
-_080EFD20: .4byte gUnknown_083DFEC4
-_080EFD24: .4byte 0x0000bc9a
-_080EFD28: .4byte 0x0000bc9b
-_080EFD2C:
- movs r0, 0
-_080EFD2E:
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80EFC64
-
- thumb_func_start sub_80EFD3C
-sub_80EFD3C: @ 80EFD3C
- ldr r0, _080EFD60
- ldr r1, [r0]
- ldr r2, _080EFD64
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r0, _080EFD68
- adds r3, r1, r0
- movs r0, 0x2F
- strb r0, [r3]
- ldr r3, _080EFD6C
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _080EFD70
- adds r1, r0
- strh r2, [r1]
- bx lr
- .align 2, 0
-_080EFD60: .4byte gUnknown_083DFEC4
-_080EFD64: .4byte 0x0000769e
-_080EFD68: .4byte 0x0000769c
-_080EFD6C: .4byte 0x0000769d
-_080EFD70: .4byte 0x0000769a
- thumb_func_end sub_80EFD3C
-
- thumb_func_start sub_80EFD74
-sub_80EFD74: @ 80EFD74
- push {lr}
- ldr r0, _080EFD94
- ldr r2, [r0]
- ldr r0, _080EFD98
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _080EFD9C
- adds r2, r0
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _080EFD90
- movs r0, 0x2
- strb r0, [r2]
-_080EFD90:
- pop {r0}
- bx r0
- .align 2, 0
-_080EFD94: .4byte gUnknown_083DFEC4
-_080EFD98: .4byte 0x0000769e
-_080EFD9C: .4byte 0x0000769d
- thumb_func_end sub_80EFD74
-
- thumb_func_start sub_80EFDA0
-sub_80EFDA0: @ 80EFDA0
- push {r4,lr}
- sub sp, 0x14
- ldr r0, _080EFDD4
- ldr r3, _080EFDD8
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r2, 0xF
- str r2, [sp, 0x8]
- movs r1, 0x1
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0xE
- movs r2, 0x10
- bl sub_8095C8C
- ldr r0, _080EFDDC
- ldr r0, [r0]
- ldr r1, _080EFDE0
- adds r0, r1
- strb r4, [r0]
- add sp, 0x14
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EFDD4: .4byte 0x0600f800
-_080EFDD8: .4byte gUnknown_08E9AC2C
-_080EFDDC: .4byte gUnknown_083DFEC4
-_080EFDE0: .4byte 0x0000769e
- thumb_func_end sub_80EFDA0
-
- thumb_func_start sub_80EFDE4
-sub_80EFDE4: @ 80EFDE4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x14
- ldr r0, _080EFE68
- ldr r1, [r0]
- ldr r2, _080EFE6C
- adds r0, r1, r2
- ldrb r2, [r0]
- movs r0, 0x3C
- subs r0, r2
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xF
- bls _080EFE06
- movs r4, 0xF
-_080EFE06:
- ldr r3, _080EFE70
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0
- beq _080EFE58
- ldr r0, _080EFE74
- mov r8, r0
- ldr r3, _080EFE78
- mov r9, r3
- str r2, [sp]
- movs r5, 0
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r7, 0x1
- str r7, [sp, 0xC]
- movs r6, 0x3C
- str r6, [sp, 0x10]
- movs r1, 0xE
- movs r2, 0x10
- bl sub_8095C8C
- cmp r4, 0xE
- bhi _080EFE58
- adds r1, r4, 0
- adds r1, 0xE
- lsls r1, 16
- lsrs r1, 16
- str r5, [sp]
- str r5, [sp, 0x4]
- movs r0, 0xF
- subs r0, r4
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- str r7, [sp, 0xC]
- str r6, [sp, 0x10]
- mov r0, r8
- movs r2, 0x10
- mov r3, r9
- bl sub_8095C8C
-_080EFE58:
- add sp, 0x14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080EFE68: .4byte gUnknown_083DFEC4
-_080EFE6C: .4byte 0x0000769c
-_080EFE70: .4byte 0x0000769e
-_080EFE74: .4byte 0x0600f800
-_080EFE78: .4byte gUnknown_08E9ABB4
- thumb_func_end sub_80EFDE4
-
- thumb_func_start sub_80EFE7C
-sub_80EFE7C: @ 80EFE7C
- push {r4,lr}
- ldr r0, _080EFE98
- ldr r2, [r0]
- ldr r0, _080EFE9C
- adds r4, r2, r0
- ldrb r1, [r4]
- cmp r1, 0x1
- beq _080EFF08
- cmp r1, 0x1
- bgt _080EFEA0
- cmp r1, 0
- beq _080EFEA6
- b _080EFF2E
- .align 2, 0
-_080EFE98: .4byte gUnknown_083DFEC4
-_080EFE9C: .4byte 0x0000769d
-_080EFEA0:
- cmp r1, 0x2
- beq _080EFF24
- b _080EFF2E
-_080EFEA6:
- ldr r0, _080EFED4
- adds r4, r2, r0
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3B
- bls _080EFEBA
- strb r1, [r4]
-_080EFEBA:
- ldr r1, _080EFED8
- adds r0, r2, r1
- ldrb r0, [r0]
- bl sub_80EFDE4
- ldrb r0, [r4]
- cmp r0, 0xF
- beq _080EFEE4
- cmp r0, 0xF
- bgt _080EFEDC
- cmp r0, 0
- beq _080EFEE4
- b _080EFF2E
- .align 2, 0
-_080EFED4: .4byte 0x0000769c
-_080EFED8: .4byte 0x0000769e
-_080EFEDC:
- cmp r0, 0x1E
- beq _080EFEE4
- cmp r0, 0x2D
- bne _080EFF2E
-_080EFEE4:
- ldr r0, _080EFEFC
- ldr r1, [r0]
- ldr r0, _080EFF00
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x1
- strb r0, [r2]
- ldr r0, _080EFF04
- adds r1, r0
- strh r3, [r1]
- b _080EFF2E
- .align 2, 0
-_080EFEFC: .4byte gUnknown_083DFEC4
-_080EFF00: .4byte 0x0000769d
-_080EFF04: .4byte 0x0000769a
-_080EFF08:
- ldr r0, _080EFF20
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x78
- bls _080EFF2E
- movs r0, 0
- strh r0, [r1]
- b _080EFF2C
- .align 2, 0
-_080EFF20: .4byte 0x0000769a
-_080EFF24:
- movs r0, 0x1
- bl sub_80EFDE4
- movs r0, 0x1
-_080EFF2C:
- strb r0, [r4]
-_080EFF2E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80EFE7C
-
- thumb_func_start sub_80EFF34
-sub_80EFF34: @ 80EFF34
- push {lr}
- ldr r0, _080EFF5C
- ldr r0, [r0]
- ldr r1, _080EFF60
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080EFF64
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080EFF56
-_080EFF4C:
- bl sub_80EFF68
- lsls r0, 24
- cmp r0, 0
- bne _080EFF4C
-_080EFF56:
- pop {r0}
- bx r0
- .align 2, 0
-_080EFF5C: .4byte gUnknown_083DFEC4
-_080EFF60: .4byte 0x0000d160
-_080EFF64: .4byte 0x00006dac
- thumb_func_end sub_80EFF34
-
- thumb_func_start sub_80EFF68
-sub_80EFF68: @ 80EFF68
- push {r4,lr}
- sub sp, 0x14
- ldr r0, _080EFF88
- ldr r0, [r0]
- ldr r1, _080EFF8C
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0xD
- bls _080EFF7C
- b _080F0150
-_080EFF7C:
- lsls r0, 2
- ldr r1, _080EFF90
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EFF88: .4byte gUnknown_083DFEC4
-_080EFF8C: .4byte 0x0000d160
-_080EFF90: .4byte _080EFF94
- .align 2, 0
-_080EFF94:
- .4byte _080EFFCC
- .4byte _080EFFE8
- .4byte _080EFFF4
- .4byte _080F0000
- .4byte _080F000C
- .4byte _080F0012
- .4byte _080F0018
- .4byte _080F0028
- .4byte _080F003C
- .4byte _080F005C
- .4byte _080F0098
- .4byte _080F00AC
- .4byte _080F00F8
- .4byte _080F0118
-_080EFFCC:
- bl sub_80EEDE8
- ldr r0, _080EFFE0
- ldr r0, [r0]
- ldr r2, _080EFFE4
- adds r0, r2
- movs r1, 0xB
- strb r1, [r0]
- b _080F0154
- .align 2, 0
-_080EFFE0: .4byte gUnknown_083DFEC4
-_080EFFE4: .4byte 0x0000d162
-_080EFFE8:
- ldr r0, _080EFFF0
- bl SetUpWindowConfig
- b _080F0154
- .align 2, 0
-_080EFFF0: .4byte gWindowConfig_81E7080
-_080EFFF4:
- ldr r0, _080EFFFC
- bl MultistepInitMenuWindowBegin
- b _080F0154
- .align 2, 0
-_080EFFFC: .4byte gWindowConfig_81E7080
-_080F0000:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _080F000A
- b _080F0154
-_080F000A:
- b _080F0162
-_080F000C:
- bl MenuZeroFillScreen
- b _080F0154
-_080F0012:
- bl sub_80F1614
- b _080F0154
-_080F0018:
- movs r0, 0
- bl sub_80F162C
- lsls r0, 24
- cmp r0, 0
- bne _080F0026
- b _080F0154
-_080F0026:
- b _080F0162
-_080F0028:
- ldr r0, _080F0034
- ldr r1, _080F0038
- bl LZ77UnCompVram
- b _080F0154
- .align 2, 0
-_080F0034: .4byte gPokenavConditionView_Gfx
-_080F0038: .4byte 0x06005000
-_080F003C:
- ldr r0, _080F0050
- ldr r1, _080F0054
- bl LZ77UnCompVram
- ldr r0, _080F0058
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- b _080F0154
- .align 2, 0
-_080F0050: .4byte gUnknown_08E9AC4C
-_080F0054: .4byte 0x0600f000
-_080F0058: .4byte gPokenavConditionMenu2_Pal
-_080F005C:
- ldr r0, _080F0088
- ldr r0, [r0]
- ldr r1, _080F008C
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080F0154
- ldr r0, _080F0090
- ldr r3, _080F0094
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r2, 0x9
- str r2, [sp, 0x8]
- movs r1, 0x4
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8095C8C
- b _080F0154
- .align 2, 0
-_080F0088: .4byte gUnknown_083DFEC4
-_080F008C: .4byte 0x000076aa
-_080F0090: .4byte 0x0600f000
-_080F0094: .4byte gUnknown_083E01AC
-_080F0098:
- ldr r0, _080F00A4
- ldr r1, _080F00A8
- bl LZ77UnCompVram
- b _080F0154
- .align 2, 0
-_080F00A4: .4byte gUnknown_08E9FEB4
-_080F00A8: .4byte 0x0600b800
-_080F00AC:
- ldr r0, _080F00EC
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080F00F0
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _080F00F4
- adds r0, r4, 0
- movs r1, 0xB1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0xE
- movs r1, 0xB5
- movs r2, 0x2
- bl LoadPalette
- adds r4, 0x1C
- adds r0, r4, 0
- movs r1, 0xBF
- movs r2, 0x2
- bl LoadPalette
- bl sub_80F01A4
- b _080F0154
- .align 2, 0
-_080F00EC: .4byte gUnknown_083E0254
-_080F00F0: .4byte gUnknownPalette_81E6692
-_080F00F4: .4byte gPokenavConditionMenu2_Pal + 0x2
-_080F00F8:
- ldr r0, _080F0110
- ldr r0, [r0]
- ldr r2, _080F0114
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- bl sub_80F01E0
- b _080F0154
- .align 2, 0
-_080F0110: .4byte gUnknown_083DFEC4
-_080F0114: .4byte 0x00008fe9
-_080F0118:
- ldr r1, _080F013C
- ldr r2, _080F0140
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _080F0144
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x44
- ldr r2, _080F0148
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080F014C
- adds r0, r2, 0
- strh r0, [r1]
- b _080F0154
- .align 2, 0
-_080F013C: .4byte REG_BG3CNT
-_080F0140: .4byte 0x00001e03
-_080F0144: .4byte 0x00001702
-_080F0148: .4byte 0x00000844
-_080F014C: .4byte 0x0000040b
-_080F0150:
- movs r0, 0
- b _080F0164
-_080F0154:
- ldr r0, _080F016C
- ldr r1, [r0]
- ldr r0, _080F0170
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F0162:
- movs r0, 0x1
-_080F0164:
- add sp, 0x14
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F016C: .4byte gUnknown_083DFEC4
-_080F0170: .4byte 0x0000d160
- thumb_func_end sub_80EFF68
-
- thumb_func_start sub_80F0174
-sub_80F0174: @ 80F0174
- push {lr}
- lsls r0, 24
- cmp r0, 0
- beq _080F018E
- movs r0, 0x80
- lsls r0, 19
- ldrh r1, [r0]
- movs r3, 0x80
- lsls r3, 3
- adds r2, r3, 0
- orrs r1, r2
- strh r1, [r0]
- b _080F019A
-_080F018E:
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _080F01A0
- ands r0, r1
- strh r0, [r2]
-_080F019A:
- pop {r0}
- bx r0
- .align 2, 0
-_080F01A0: .4byte 0x0000fbff
- thumb_func_end sub_80F0174
-
- thumb_func_start sub_80F01A4
-sub_80F01A4: @ 80F01A4
- ldr r1, _080F01CC
- movs r0, 0xF0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x9B
- strh r0, [r1]
- ldr r0, _080F01D0
- ldr r2, _080F01D4
- adds r1, r2, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _080F01D8
- ldr r2, _080F01DC
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1B
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080F01CC: .4byte REG_WIN0H
-_080F01D0: .4byte REG_WIN0V
-_080F01D4: .4byte 0x00003879
-_080F01D8: .4byte REG_WININ
-_080F01DC: .4byte 0x00003f3f
- thumb_func_end sub_80F01A4
-
- thumb_func_start sub_80F01E0
-sub_80F01E0: @ 80F01E0
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r1, _080F0248
- lsls r0, r4, 6
- ldr r2, _080F024C
- adds r0, r2
- ldr r5, [r1]
- adds r0, r5, r0
- movs r1, 0xD
- movs r2, 0x1
- bl MenuPrint
- ldr r1, _080F0250
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080F0242
- lsls r0, r4, 1
- adds r0, r4
- lsls r0, 3
- ldr r2, _080F0254
- adds r0, r2
- adds r0, r5, r0
- movs r1, 0xD
- movs r2, 0x3
- bl MenuPrint
- ldr r0, _080F0258
- adds r4, r5, r0
- ldr r1, _080F025C
- adds r0, r5, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- lsls r0, 2
- adds r0, r5, r0
- ldr r1, _080F0260
- adds r0, r1
- ldrh r1, [r0]
- lsls r1, 18
- lsrs r1, 23
- adds r0, r4, 0
- bl sub_80F443C
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0x6
- bl MenuPrint
-_080F0242:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F0248: .4byte gUnknown_083DFEC4
-_080F024C: .4byte 0x00008829
-_080F0250: .4byte 0x000076aa
-_080F0254: .4byte 0x000088e9
-_080F0258: .4byte 0x00008788
-_080F025C: .4byte 0x000087dc
-_080F0260: .4byte 0x0000893e
- thumb_func_end sub_80F01E0
-
- thumb_func_start sub_80F0264
-sub_80F0264: @ 80F0264
- push {lr}
- ldr r1, _080F0290
- ldr r2, [r1]
- ldr r1, _080F0294
- adds r3, r2, r1
- movs r1, 0
- strh r1, [r3]
- ldr r3, _080F0298
- adds r1, r2, r3
- strb r0, [r1]
- ldr r0, _080F029C
- adds r2, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _080F028C
-_080F0282:
- bl sub_80F02A0
- lsls r0, 24
- cmp r0, 0
- bne _080F0282
-_080F028C:
- pop {r0}
- bx r0
- .align 2, 0
-_080F0290: .4byte gUnknown_083DFEC4
-_080F0294: .4byte 0x00000306
-_080F0298: .4byte 0x000087ca
-_080F029C: .4byte 0x00006dac
- thumb_func_end sub_80F0264
-
- thumb_func_start sub_80F02A0
-sub_80F02A0: @ 80F02A0
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x18
- ldr r1, _080F02C4
- ldr r0, [r1]
- ldr r2, _080F02C8
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xE
- bls _080F02BA
- b _080F05FA
-_080F02BA:
- lsls r0, 2
- ldr r1, _080F02CC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F02C4: .4byte gUnknown_083DFEC4
-_080F02C8: .4byte 0x00000306
-_080F02CC: .4byte _080F02D0
- .align 2, 0
-_080F02D0:
- .4byte _080F030C
- .4byte _080F0344
- .4byte _080F0350
- .4byte _080F035C
- .4byte _080F0368
- .4byte _080F036E
- .4byte _080F0380
- .4byte _080F0394
- .4byte _080F04BC
- .4byte _080F053C
- .4byte _080F0550
- .4byte _080F0574
- .4byte _080F057A
- .4byte _080F0586
- .4byte _080F05BC
-_080F030C:
- bl sub_80EEDE8
- ldr r0, _080F0334
- ldr r1, [r0]
- movs r2, 0
- ldr r3, _080F0338
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080F0322
- movs r2, 0x1
-_080F0322:
- ldr r3, _080F033C
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _080F0340
- adds r1, r0
- movs r0, 0xB
- strb r0, [r1]
- b _080F0618
- .align 2, 0
-_080F0334: .4byte gUnknown_083DFEC4
-_080F0338: .4byte 0x000087ca
-_080F033C: .4byte 0x000087c8
-_080F0340: .4byte 0x0000d162
-_080F0344:
- ldr r0, _080F034C
- bl SetUpWindowConfig
- b _080F0618
- .align 2, 0
-_080F034C: .4byte gWindowConfig_81E70D4
-_080F0350:
- ldr r0, _080F0358
- bl MultistepInitMenuWindowBegin
- b _080F0618
- .align 2, 0
-_080F0358: .4byte gWindowConfig_81E70D4
-_080F035C:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _080F0366
- b _080F0618
-_080F0366:
- b _080F0626
-_080F0368:
- bl MenuZeroFillScreen
- b _080F0618
-_080F036E:
- ldr r0, _080F0378
- ldr r1, _080F037C
- bl LZ77UnCompVram
- b _080F0618
- .align 2, 0
-_080F0378: .4byte gUnknown_08E9FC64
-_080F037C: .4byte 0x0600e800
-_080F0380:
- ldr r0, _080F038C
- ldr r1, _080F0390
- bl LZ77UnCompVram
- b _080F0618
- .align 2, 0
-_080F038C: .4byte gPokenavConditionSearch2_Gfx
-_080F0390: .4byte 0x06008000
-_080F0394:
- ldr r6, _080F03FC
- adds r0, r6, 0
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r6, 0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080F0400
- movs r1, 0x40
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080F0404
- ldr r0, [r0]
- ldr r1, _080F0408
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F0418
- ldr r4, _080F040C
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _080F0410
- ldrh r0, [r4, 0xA]
- strh r0, [r1]
- ldr r0, _080F0414
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r6, 0x2
- movs r1, 0xB1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r6, 0
- adds r0, 0x10
- movs r1, 0xB5
- movs r2, 0x2
- bl LoadPalette
- adds r4, 0xA
- adds r0, r4, 0
- movs r1, 0xBF
- b _080F04A8
- .align 2, 0
-_080F03FC: .4byte gUnknown_083E02B4
-_080F0400: .4byte gUnknown_083E0334
-_080F0404: .4byte gUnknown_083DFEC4
-_080F0408: .4byte 0x000087ca
-_080F040C: .4byte gPokenavConditionSearch2_Pal
-_080F0410: .4byte gPlttBufferUnfaded
-_080F0414: .4byte gUnknownPalette_81E6692
-_080F0418:
- cmp r0, 0x1
- bne _080F0464
- ldr r4, _080F0458
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _080F045C
- ldrh r0, [r4, 0xA]
- strh r0, [r1]
- ldr r0, _080F0460
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- adds r0, r6, 0x2
- movs r1, 0xB1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r6, 0
- adds r0, 0x10
- movs r1, 0xB5
- movs r2, 0x2
- bl LoadPalette
- adds r4, 0xA
- adds r0, r4, 0
- movs r1, 0xBF
- b _080F04A8
- .align 2, 0
-_080F0458: .4byte gUnknown_083E0274
-_080F045C: .4byte gPlttBufferUnfaded
-_080F0460: .4byte gUnknownPalette_81E6692
-_080F0464:
- ldr r4, _080F04B0
- adds r0, r4, 0
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r1, _080F04B4
- adds r5, r4, 0
- adds r5, 0xA
- ldrh r0, [r4, 0xA]
- strh r0, [r1]
- ldr r0, _080F04B8
- movs r1, 0x50
- movs r2, 0x20
- bl LoadPalette
- adds r0, r6, 0x2
- movs r1, 0xB1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r6, 0
- adds r0, 0x10
- movs r1, 0xB5
- movs r2, 0x2
- bl LoadPalette
- adds r0, r5, 0
- movs r1, 0xBF
- movs r2, 0x2
- bl LoadPalette
- adds r0, r5, 0
- movs r1, 0x5F
-_080F04A8:
- movs r2, 0x2
- bl LoadPalette
- b _080F0618
- .align 2, 0
-_080F04B0: .4byte gUnknown_08E9F9E8
-_080F04B4: .4byte gPlttBufferUnfaded
-_080F04B8: .4byte gUnknown_083E0314
-_080F04BC:
- ldr r0, _080F04E8
- ldr r0, [r0]
- ldr r2, _080F04EC
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080F04F8
- ldr r0, _080F04F0
- ldr r3, _080F04F4
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r2, 0x9
- str r2, [sp, 0x8]
- movs r1, 0x4
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0
- movs r2, 0x5
- bl sub_8095C8C
- b _080F0618
- .align 2, 0
-_080F04E8: .4byte gUnknown_083DFEC4
-_080F04EC: .4byte 0x000087ca
-_080F04F0: .4byte 0x0600e800
-_080F04F4: .4byte gUnknown_08E9FD1C
-_080F04F8:
- ldr r3, _080F0530
- mov r8, r3
- ldr r3, _080F0534
- movs r4, 0
- str r4, [sp]
- str r4, [sp, 0x4]
- movs r5, 0xC
- str r5, [sp, 0x8]
- movs r6, 0xA
- str r6, [sp, 0xC]
- str r5, [sp, 0x10]
- mov r0, r8
- movs r1, 0
- movs r2, 0x4
- bl sub_8095C8C
- ldr r3, _080F0538
- str r4, [sp]
- str r4, [sp, 0x4]
- str r5, [sp, 0x8]
- str r6, [sp, 0xC]
- str r5, [sp, 0x10]
- mov r0, r8
- movs r1, 0
- movs r2, 0x8
- bl sub_8095C8C
- b _080F0618
- .align 2, 0
-_080F0530: .4byte 0x0600e800
-_080F0534: .4byte gUnknown_08E9FE54
-_080F0538: .4byte gUnknown_08E9FD64
-_080F053C:
- ldr r0, _080F0548
- ldr r1, _080F054C
- bl LZ77UnCompVram
- b _080F0618
- .align 2, 0
-_080F0548: .4byte gUnknown_083E0354
-_080F054C: .4byte 0x06005000
-_080F0550:
- ldr r2, _080F0568
- add r1, sp, 0x14
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080F056C
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080F0570
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080F0618
- .align 2, 0
-_080F0568: .4byte 0x0600f800
-_080F056C: .4byte 0x040000d4
-_080F0570: .4byte 0x81000400
-_080F0574:
- bl sub_80F0900
- b _080F0618
-_080F057A:
- bl sub_80F0944
- lsls r0, 24
- cmp r0, 0
- beq _080F0618
- b _080F0626
-_080F0586:
- ldr r0, _080F059C
- ldr r4, [r0]
- ldr r1, _080F05A0
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0x2
- beq _080F05A4
- bl ShowMapNamePopUpWindow
- b _080F0618
- .align 2, 0
-_080F059C: .4byte gUnknown_083DFEC4
-_080F05A0: .4byte 0x000087ca
-_080F05A4:
- movs r0, 0
- bl sub_80F081C
- ldr r2, _080F05B8
- adds r0, r4, r2
- ldrb r0, [r0]
- bl sub_80F0FFC
- b _080F0618
- .align 2, 0
-_080F05B8: .4byte 0x0000876e
-_080F05BC:
- ldr r1, _080F0600
- ldr r3, _080F0604
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- adds r3, 0xF9
- adds r0, r3, 0
- strh r0, [r1]
- subs r1, 0x6
- adds r3, 0xFE
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x16
- movs r0, 0xF8
- strh r0, [r1]
- ldr r1, [r2]
- ldr r0, _080F0608
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0xF8
- strh r0, [r2]
- ldr r2, _080F060C
- adds r0, r1, r2
- strh r3, [r0]
- ldr r0, _080F0610
- strh r3, [r0]
- ldr r3, _080F0614
- adds r1, r3
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F05FA:
- movs r0, 0
- b _080F0628
- .align 2, 0
-_080F0600: .4byte REG_BG2CNT
-_080F0604: .4byte 0x00001d0a
-_080F0608: .4byte 0x00008776
-_080F060C: .4byte 0x00008778
-_080F0610: .4byte REG_BLDCNT
-_080F0614: .4byte 0x0000d160
-_080F0618:
- ldr r0, _080F0634
- ldr r1, [r0]
- ldr r0, _080F0638
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F0626:
- movs r0, 0x1
-_080F0628:
- add sp, 0x18
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080F0634: .4byte gUnknown_083DFEC4
-_080F0638: .4byte 0x00000306
- thumb_func_end sub_80F02A0
-
- thumb_func_start sub_80F063C
-sub_80F063C: @ 80F063C
- push {r4-r7,lr}
- lsls r0, 16
- ldr r3, _080F0664
- ldr r2, [r3]
- lsrs r5, r0, 16
- asrs r4, r0, 16
- lsls r1, r4, 4
- ldr r6, _080F0668
- adds r0, r2, r6
- strh r1, [r0]
- adds r7, r3, 0
- cmp r4, 0x1
- beq _080F065E
- movs r0, 0x1
- negs r0, r0
- cmp r4, r0
- bne _080F066C
-_080F065E:
- movs r1, 0x4
- b _080F066E
- .align 2, 0
-_080F0664: .4byte gUnknown_083DFEC4
-_080F0668: .4byte 0x0000877c
-_080F066C:
- movs r1, 0x8
-_080F066E:
- ldr r3, _080F06C0
- adds r0, r2, r3
- strh r1, [r0]
- lsls r0, r5, 16
- asrs r3, r0, 16
- cmp r3, 0
- bge _080F06CC
- ldr r4, [r7]
- ldr r6, _080F06C0
- adds r1, r4, r6
- movs r2, 0
- ldrsh r0, [r1, r2]
- negs r0, r0
- strh r0, [r1]
- subs r6, 0x2
- adds r1, r4, r6
- lsls r0, r3, 1
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r1, _080F06C4
- adds r0, r4, r1
- ldrh r0, [r0]
- adds r0, r3, r0
- lsls r0, 16
- lsrs r2, r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _080F06B8
- ldr r2, _080F06C8
- adds r1, r4, r2
- adds r0, 0x1
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
-_080F06B8:
- negs r0, r3
- lsls r0, 16
- lsrs r5, r0, 16
- b _080F06E6
- .align 2, 0
-_080F06C0: .4byte 0x0000877a
-_080F06C4: .4byte 0x00008770
-_080F06C8: .4byte 0x00008774
-_080F06CC:
- ldr r1, [r7]
- ldr r3, _080F070C
- adds r0, r1, r3
- ldrh r0, [r0]
- adds r0, 0x10
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _080F0710
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
-_080F06E6:
- ldr r0, [r7]
- ldr r1, _080F0714
- adds r0, r1
- lsls r1, r2, 16
- asrs r1, 16
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- ble _080F06FA
- movs r2, 0
-_080F06FA:
- movs r1, 0x1F
- adds r0, r2, 0
- ands r1, r6
- adds r2, r5, 0
- bl sub_80F0954
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F070C: .4byte 0x00008778
-_080F0710: .4byte 0x00008772
-_080F0714: .4byte 0x00008774
- thumb_func_end sub_80F063C
-
- thumb_func_start sub_80F0718
-sub_80F0718: @ 80F0718
- push {r4,r5,lr}
- bl sub_80F098C
- lsls r0, 24
- cmp r0, 0
- bne _080F0790
- ldr r0, _080F073C
- ldr r4, [r0]
- ldr r0, _080F0740
- adds r3, r4, r0
- ldrh r2, [r3]
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080F0744
- movs r0, 0
- b _080F0792
- .align 2, 0
-_080F073C: .4byte gUnknown_083DFEC4
-_080F0740: .4byte 0x0000877c
-_080F0744:
- ldr r0, _080F0780
- adds r1, r4, r0
- ldrh r0, [r1]
- subs r0, r2, r0
- strh r0, [r3]
- ldr r0, _080F0784
- adds r2, r4, r0
- ldrh r0, [r1]
- ldrh r1, [r2]
- adds r0, r1
- movs r5, 0xFF
- ands r0, r5
- strh r0, [r2]
- ldr r1, _080F0788
- strh r0, [r1]
- movs r1, 0
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _080F0790
- movs r1, 0
- ldrsh r0, [r2, r1]
- adds r0, 0x8
- ands r0, r5
- asrs r1, r0, 3
- ldr r2, _080F078C
- adds r0, r4, r2
- strh r1, [r0]
- movs r0, 0
- b _080F0792
- .align 2, 0
-_080F0780: .4byte 0x0000877a
-_080F0784: .4byte 0x00008776
-_080F0788: .4byte REG_BG3VOFS
-_080F078C: .4byte 0x00008778
-_080F0790:
- movs r0, 0x1
-_080F0792:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F0718
-
- thumb_func_start ShowMapNamePopUpWindow
-ShowMapNamePopUpWindow: @ 80F0798
- push {lr}
- ldr r0, _080F07B0
- ldr r2, [r0]
- ldr r1, _080F07B4
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F07B8
- cmp r0, 0x1
- beq _080F07E0
- b _080F080A
- .align 2, 0
-_080F07B0: .4byte gUnknown_083DFEC4
-_080F07B4: .4byte 0x000087ca
-_080F07B8:
- ldr r3, _080F07D8
- adds r0, r2, r3
- subs r3, 0x1A
- adds r1, r2, r3
- movs r3, 0
- ldrsh r1, [r1, r3]
- lsls r1, 2
- adds r1, r2, r1
- ldr r2, _080F07DC
- adds r1, r2
- ldrh r1, [r1]
- lsls r1, 18
- lsrs r1, 23
- bl sub_80F443C
- b _080F07F4
- .align 2, 0
-_080F07D8: .4byte 0x00008788
-_080F07DC: .4byte 0x0000893e
-_080F07E0:
- ldr r3, _080F0810
- adds r0, r2, r3
- subs r3, 0x1A
- adds r1, r2, r3
- ldrh r1, [r1]
- adds r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- bl sub_80F445C
-_080F07F4:
- ldr r0, _080F0814
- bl BasicInitMenuWindow
- ldr r0, _080F0818
- ldr r0, [r0]
- ldr r1, _080F0810
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x6
- bl MenuPrint
-_080F080A:
- pop {r0}
- bx r0
- .align 2, 0
-_080F0810: .4byte 0x00008788
-_080F0814: .4byte gWindowConfig_81E710C
-_080F0818: .4byte gUnknown_083DFEC4
- thumb_func_end ShowMapNamePopUpWindow
-
- thumb_func_start sub_80F081C
-sub_80F081C: @ 80F081C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080F0838
- bl BasicInitMenuWindow
- cmp r5, 0x4
- bhi _080F08C6
- lsls r0, r5, 2
- ldr r1, _080F083C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F0838: .4byte gWindowConfig_81E710C
-_080F083C: .4byte _080F0840
- .align 2, 0
-_080F0840:
- .4byte _080F0854
- .4byte _080F0854
- .4byte _080F0862
- .4byte _080F088C
- .4byte _080F089A
-_080F0854:
- ldr r0, _080F08CC
- movs r1, 0xA
- movs r2, 0x9
- bl sub_8072B4C
- cmp r5, 0
- bne _080F08C6
-_080F0862:
- ldr r0, _080F08D0
- ldr r0, [r0]
- ldr r1, _080F08D4
- adds r4, r0, r1
- ldr r2, _080F08D8
- adds r0, r2
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r1, 0x1
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0xB
- bl sub_8072B4C
- cmp r5, 0
- bne _080F08C6
-_080F088C:
- ldr r0, _080F08DC
- movs r1, 0xA
- movs r2, 0xD
- bl sub_8072B4C
- cmp r5, 0
- bne _080F08C6
-_080F089A:
- movs r0, 0x9
- bl sub_8053108
- adds r1, r0, 0
- ldr r0, _080F08E0
- cmp r1, r0
- bls _080F08AA
- adds r1, r0, 0
-_080F08AA:
- ldr r0, _080F08D0
- ldr r4, [r0]
- ldr r0, _080F08D4
- adds r4, r0
- adds r0, r4, 0
- movs r2, 0x1
- movs r3, 0x5
- bl ConvertIntToDecimalStringN
- adds r0, r4, 0
- movs r1, 0xA
- movs r2, 0xF
- bl sub_8072B4C
-_080F08C6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F08CC: .4byte gOtherText_NumberRegistered
-_080F08D0: .4byte gUnknown_083DFEC4
-_080F08D4: .4byte 0x00008788
-_080F08D8: .4byte 0x00008774
-_080F08DC: .4byte gOtherText_NumberBattles
-_080F08E0: .4byte 0x0001869f
- thumb_func_end sub_80F081C
-
- thumb_func_start sub_80F08E4
-sub_80F08E4: @ 80F08E4
- push {lr}
- ldr r0, _080F08FC
- bl BasicInitMenuWindow
- movs r0, 0
- movs r1, 0x9
- movs r2, 0xB
- movs r3, 0x10
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- .align 2, 0
-_080F08FC: .4byte gWindowConfig_81E710C
- thumb_func_end sub_80F08E4
-
- thumb_func_start sub_80F0900
-sub_80F0900: @ 80F0900
- push {r4,r5,lr}
- ldr r0, _080F093C
- ldr r0, [r0]
- ldr r2, _080F0940
- adds r1, r0, r2
- subs r2, 0x2
- adds r5, r0, r2
- ldrh r0, [r1]
- ldrh r1, [r5]
- subs r0, r1
- adds r0, 0x1
- lsls r4, r0, 16
- asrs r0, r4, 16
- cmp r0, 0x7
- bgt _080F092A
- movs r0, 0xC
- movs r1, 0x1
- movs r2, 0x1F
- movs r3, 0xF
- bl MenuZeroFillWindowRect
-_080F092A:
- ldrh r0, [r5]
- lsrs r2, r4, 16
- movs r1, 0
- bl sub_80F0954
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F093C: .4byte gUnknown_083DFEC4
-_080F0940: .4byte 0x00008772
- thumb_func_end sub_80F0900
-
- thumb_func_start sub_80F0944
-sub_80F0944: @ 80F0944
- push {lr}
- bl sub_80F098C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80F0944
-
- thumb_func_start sub_80F0954
-sub_80F0954: @ 80F0954
- push {r4,r5,lr}
- ldr r3, _080F097C
- ldr r3, [r3]
- ldr r5, _080F0980
- adds r4, r3, r5
- movs r5, 0
- strh r0, [r4]
- ldr r4, _080F0984
- adds r0, r3, r4
- strh r1, [r0]
- ldr r1, _080F0988
- adds r0, r3, r1
- strh r2, [r0]
- adds r4, 0x6
- adds r3, r4
- strh r5, [r3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F097C: .4byte gUnknown_083DFEC4
-_080F0980: .4byte 0x0000877e
-_080F0984: .4byte 0x00008780
-_080F0988: .4byte 0x00008784
- thumb_func_end sub_80F0954
-
- thumb_func_start sub_80F098C
-sub_80F098C: @ 80F098C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080F09A4
- ldr r6, [r0]
- ldr r0, _080F09A8
- adds r7, r6, r0
- ldrh r0, [r7]
- cmp r0, 0
- bne _080F09AC
-_080F09A0:
- movs r0, 0
- b _080F0A02
- .align 2, 0
-_080F09A4: .4byte gUnknown_083DFEC4
-_080F09A8: .4byte 0x00008784
-_080F09AC:
- movs r1, 0
- mov r8, r1
- ldr r1, _080F0A0C
- ldr r2, _080F0A10
- adds r0, r6, r2
- ldrb r2, [r0]
- lsls r2, 2
- adds r2, r1
- ldr r0, _080F0A14
- adds r4, r6, r0
- ldrh r0, [r4]
- ldr r1, _080F0A18
- adds r5, r6, r1
- ldrh r1, [r5]
- ldr r2, [r2]
- bl _call_via_r2
- ldrh r0, [r7]
- subs r0, 0x1
- strh r0, [r7]
- ldr r2, _080F0A1C
- adds r1, r2, 0
- lsls r0, 16
- cmp r0, 0
- beq _080F09A0
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ands r0, r1
- ldr r2, _080F0A20
- adds r1, r6, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- cmp r0, r1
- ble _080F09F6
- mov r0, r8
- strh r0, [r4]
-_080F09F6:
- ldrh r0, [r5]
- adds r0, 0x2
- movs r1, 0x1F
- ands r0, r1
- strh r0, [r5]
- movs r0, 0x1
-_080F0A02:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080F0A0C: .4byte gUnknown_083E3270
-_080F0A10: .4byte 0x000087ca
-_080F0A14: .4byte 0x0000877e
-_080F0A18: .4byte 0x00008780
-_080F0A1C: .4byte 0x0000ffff
-_080F0A20: .4byte 0x00008774
- thumb_func_end sub_80F098C
-
- thumb_func_start sub_80F0A24
-sub_80F0A24: @ 80F0A24
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r0, _080F0A64
- ldr r4, [r0]
- ldr r1, _080F0A68
- adds r0, r4, r1
- ldrb r0, [r0]
- movs r2, 0x1
- cmp r0, 0
- bne _080F0A40
- movs r2, 0x2
-_080F0A40:
- ldr r0, _080F0A6C
- adds r4, r0
- adds r0, r4, 0
- adds r1, r3, 0
- bl sub_80F4428
- ldr r0, _080F0A70
- bl BasicInitMenuWindow
- lsls r2, r5, 24
- lsrs r2, 24
- adds r0, r4, 0
- movs r1, 0xD
- bl MenuPrint
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F0A64: .4byte gUnknown_083DFEC4
-_080F0A68: .4byte 0x000087c8
-_080F0A6C: .4byte 0x00008788
-_080F0A70: .4byte gWindowConfig_81E70D4
- thumb_func_end sub_80F0A24
-
- thumb_func_start sub_80F0A74
-sub_80F0A74: @ 80F0A74
- push {r4-r7,lr}
- sub sp, 0x14
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r1, 16
- lsrs r7, r1, 16
- ldr r0, _080F0ADC
- ldr r5, [r0]
- ldr r0, _080F0AE0
- adds r4, r5, r0
- adds r0, r4, 0
- adds r1, r6, 0
- bl sub_80F700C
- movs r0, 0x1F
- ands r7, r0
- ldr r0, _080F0AE4
- bl BasicInitMenuWindow
- lsls r2, r7, 3
- adds r0, r4, 0
- movs r1, 0x61
- movs r3, 0
- bl sub_80729D8
- ldr r1, _080F0AE8
- adds r0, r5, r1
- ldrh r0, [r0]
- cmp r6, r0
- bcs _080F0AF8
- lsls r0, r6, 3
- adds r0, r5, r0
- ldr r1, _080F0AEC
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F0AF8
- ldr r0, _080F0AF0
- ldr r3, _080F0AF4
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r2, 0x1
- str r2, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0x1D
- adds r2, r7, 0
- bl sub_8095C8C
- b _080F0B14
- .align 2, 0
-_080F0ADC: .4byte gUnknown_083DFEC4
-_080F0AE0: .4byte 0x00008788
-_080F0AE4: .4byte gWindowConfig_81E70D4
-_080F0AE8: .4byte 0x0000d158
-_080F0AEC: .4byte 0x0000ceed
-_080F0AF0: .4byte 0x0600f000
-_080F0AF4: .4byte gUnknown_083E039C
-_080F0AF8:
- ldr r0, _080F0B1C
- ldr r3, _080F0B20
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r2, 0x1
- str r2, [sp, 0x8]
- movs r1, 0x2
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0x1D
- adds r2, r7, 0
- bl sub_8095C8C
-_080F0B14:
- add sp, 0x14
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F0B1C: .4byte 0x0600f000
-_080F0B20: .4byte gUnknown_083E03A0
- thumb_func_end sub_80F0A74
-
- thumb_func_start sub_80F0B24
-sub_80F0B24: @ 80F0B24
- ldr r0, _080F0B38
- ldr r0, [r0]
- ldr r2, _080F0B3C
- adds r1, r0, r2
- movs r2, 0
- strh r2, [r1]
- ldr r1, _080F0B40
- adds r0, r1
- strh r2, [r0]
- bx lr
- .align 2, 0
-_080F0B38: .4byte gUnknown_083DFEC4
-_080F0B3C: .4byte 0x0000d15c
-_080F0B40: .4byte 0x00000306
- thumb_func_end sub_80F0B24
-
- thumb_func_start sub_80F0B44
-sub_80F0B44: @ 80F0B44
- push {r4-r6,lr}
- ldr r0, _080F0B58
- ldr r5, [r0]
- ldr r0, _080F0B5C
- adds r6, r5, r0
- ldrh r0, [r6]
- cmp r0, 0x8
- bls _080F0B60
- movs r0, 0
- b _080F0C22
- .align 2, 0
-_080F0B58: .4byte gUnknown_083DFEC4
-_080F0B5C: .4byte 0x0000d15c
-_080F0B60:
- ldr r0, _080F0BBC
- adds r1, r5, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080F0C20
- movs r0, 0
- strh r0, [r1]
- ldrh r0, [r6]
- cmp r0, 0x7
- bhi _080F0BCC
- ldr r0, _080F0BC0
- adds r1, r5, r0
- ldrh r2, [r6]
- lsls r0, r2, 1
- ldrh r1, [r1]
- adds r4, r0, r1
- movs r0, 0x1F
- ands r4, r0
- ldr r1, _080F0BC4
- adds r0, r5, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- cmp r2, r0
- beq _080F0BAA
- ldr r0, _080F0BC8
- bl BasicInitMenuWindow
- adds r1, r4, 0
- adds r3, r1, 0x1
- movs r0, 0xC
- movs r2, 0x1F
- bl MenuZeroFillWindowRect
-_080F0BAA:
- ldrh r0, [r6]
- cmp r0, 0
- bne _080F0BB4
- bl sub_80F08E4
-_080F0BB4:
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
- b _080F0C20
- .align 2, 0
-_080F0BBC: .4byte 0x00000306
-_080F0BC0: .4byte 0x00008778
-_080F0BC4: .4byte 0x0000876c
-_080F0BC8: .4byte gWindowConfig_81E70D4
-_080F0BCC:
- ldr r0, _080F0C10
- bl BasicInitMenuWindow
- ldr r1, _080F0C14
- adds r0, r5, r1
- ldrh r0, [r0]
- adds r4, r0, 0
- adds r4, 0x10
- movs r0, 0x1F
- ands r4, r0
- movs r5, 0
-_080F0BE2:
- adds r3, r4, 0x1
- movs r0, 0xC
- adds r1, r4, 0
- movs r2, 0x1F
- bl MenuZeroFillWindowRect
- adds r4, 0x2
- movs r0, 0x1F
- ands r4, r0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x7
- bls _080F0BE2
- ldr r0, _080F0C18
- ldr r1, [r0]
- ldr r0, _080F0C1C
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0
- b _080F0C22
- .align 2, 0
-_080F0C10: .4byte gWindowConfig_81E70D4
-_080F0C14: .4byte 0x00008778
-_080F0C18: .4byte gUnknown_083DFEC4
-_080F0C1C: .4byte 0x0000d15c
-_080F0C20:
- movs r0, 0x1
-_080F0C22:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F0B44
-
- thumb_func_start sub_80F0C28
-sub_80F0C28: @ 80F0C28
- ldr r0, _080F0C3C
- ldr r0, [r0]
- ldr r2, _080F0C40
- adds r1, r0, r2
- movs r2, 0
- strh r2, [r1]
- ldr r1, _080F0C44
- adds r0, r1
- strh r2, [r0]
- bx lr
- .align 2, 0
-_080F0C3C: .4byte gUnknown_083DFEC4
-_080F0C40: .4byte 0x0000d15c
-_080F0C44: .4byte 0x00000306
- thumb_func_end sub_80F0C28
-
- thumb_func_start sub_80F0C48
-sub_80F0C48: @ 80F0C48
- push {r4-r6,lr}
- ldr r0, _080F0C5C
- ldr r4, [r0]
- ldr r0, _080F0C60
- adds r5, r4, r0
- ldrh r0, [r5]
- cmp r0, 0x7
- bls _080F0C64
- movs r0, 0
- b _080F0CD2
- .align 2, 0
-_080F0C5C: .4byte gUnknown_083DFEC4
-_080F0C60: .4byte 0x0000d15c
-_080F0C64:
- ldr r2, _080F0CBC
- adds r1, r4, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- ldr r2, _080F0CC0
- adds r6, r2, 0
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080F0CD0
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080F0CC4
- bl BasicInitMenuWindow
- ldr r0, _080F0CC8
- adds r1, r4, r0
- ldrh r0, [r5]
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r1, _080F0CCC
- adds r2, r4, r1
- ldrh r1, [r5]
- lsls r1, 1
- ldrh r2, [r2]
- adds r1, r2
- lsls r1, 16
- lsrs r1, 16
- bl sub_80F0A74
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
- ands r0, r6
- cmp r0, 0x7
- bls _080F0CD0
- movs r0, 0
- bl sub_80F081C
- movs r0, 0
- b _080F0CD2
- .align 2, 0
-_080F0CBC: .4byte 0x00000306
-_080F0CC0: .4byte 0x0000ffff
-_080F0CC4: .4byte gWindowConfig_81E70D4
-_080F0CC8: .4byte 0x00008770
-_080F0CCC: .4byte 0x00008778
-_080F0CD0:
- movs r0, 0x1
-_080F0CD2:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F0C48
-
- thumb_func_start sub_80F0CD8
-sub_80F0CD8: @ 80F0CD8
- push {r4,r5,lr}
- ldr r4, _080F0D40
- ldr r1, [r4]
- ldr r2, _080F0D44
- adds r0, r1, r2
- movs r2, 0
- strh r2, [r0]
- ldr r3, _080F0D48
- adds r0, r1, r3
- strh r2, [r0]
- ldr r2, _080F0D4C
- adds r0, r1, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 3
- adds r0, r1, r0
- ldr r2, _080F0D50
- adds r0, r2
- ldrb r0, [r0]
- ldr r3, _080F0D54
- adds r1, r3
- ldr r2, _080F0D58
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- str r0, [r1]
- adds r2, r0, 0
- movs r1, 0
- adds r5, r4, 0
- adds r4, r3, 0
-_080F0D14:
- ldrb r0, [r2]
- adds r3, r1, 0x1
- cmp r0, 0xFF
- beq _080F0D24
-_080F0D1C:
- adds r2, 0x1
- ldrb r0, [r2]
- cmp r0, 0xFF
- bne _080F0D1C
-_080F0D24:
- ldr r0, [r5]
- lsls r1, r3, 2
- adds r0, r4
- adds r0, r1
- adds r2, 0x1
- str r2, [r0]
- lsls r0, r3, 16
- lsrs r1, r0, 16
- cmp r1, 0x2
- bls _080F0D14
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F0D40: .4byte gUnknown_083DFEC4
-_080F0D44: .4byte 0x00000306
-_080F0D48: .4byte 0x0000d15c
-_080F0D4C: .4byte 0x0000876e
-_080F0D50: .4byte 0x0000ceec
-_080F0D54: .4byte 0x0000d110
-_080F0D58: .4byte gTrainerEyeDescriptions
- thumb_func_end sub_80F0CD8
-
- thumb_func_start sub_80F0D5C
-sub_80F0D5C: @ 80F0D5C
- push {r4,r5,lr}
- ldr r0, _080F0D70
- ldr r4, [r0]
- ldr r0, _080F0D74
- adds r5, r4, r0
- ldrh r0, [r5]
- cmp r0, 0x7
- bne _080F0D78
-_080F0D6C:
- movs r0, 0
- b _080F0EB0
- .align 2, 0
-_080F0D70: .4byte gUnknown_083DFEC4
-_080F0D74: .4byte 0x0000d15c
-_080F0D78:
- ldr r0, _080F0DB8
- adds r1, r4, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bhi _080F0D8C
- b _080F0EAE
-_080F0D8C:
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080F0DBC
- bl BasicInitMenuWindow
- ldr r0, _080F0DC0
- adds r1, r4, r0
- ldrh r3, [r5]
- lsls r0, r3, 1
- adds r0, 0x2
- ldrh r1, [r1]
- adds r5, r0, r1
- movs r0, 0x1F
- ands r5, r0
- cmp r3, 0x6
- bhi _080F0D6C
- lsls r0, r3, 2
- ldr r1, _080F0DC4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F0DB8: .4byte 0x00000306
-_080F0DBC: .4byte gWindowConfig_81E70D4
-_080F0DC0: .4byte 0x00008778
-_080F0DC4: .4byte _080F0DC8
- .align 2, 0
-_080F0DC8:
- .4byte _080F0DE4
- .4byte _080F0DF0
- .4byte _080F0E08
- .4byte _080F0E14
- .4byte _080F0E2C
- .4byte _080F0E38
- .4byte _080F0E6C
-_080F0DE4:
- ldr r0, _080F0DEC
- lsls r2, r5, 3
- b _080F0E54
- .align 2, 0
-_080F0DEC: .4byte gOtherText_Strategy
-_080F0DF0:
- ldr r0, _080F0DFC
- ldr r0, [r0]
- ldr r1, _080F0E00
- adds r4, r0, r1
- ldr r1, _080F0E04
- b _080F0E42
- .align 2, 0
-_080F0DFC: .4byte gUnknown_083DFEC4
-_080F0E00: .4byte 0x00008788
-_080F0E04: .4byte 0x0000d110
-_080F0E08:
- ldr r0, _080F0E10
- lsls r2, r5, 3
- b _080F0E54
- .align 2, 0
-_080F0E10: .4byte gOtherText_TrainersPokemon
-_080F0E14:
- ldr r0, _080F0E20
- ldr r0, [r0]
- ldr r1, _080F0E24
- adds r4, r0, r1
- ldr r1, _080F0E28
- b _080F0E42
- .align 2, 0
-_080F0E20: .4byte gUnknown_083DFEC4
-_080F0E24: .4byte 0x00008788
-_080F0E28: .4byte 0x0000d114
-_080F0E2C:
- ldr r0, _080F0E34
- lsls r2, r5, 3
- b _080F0E54
- .align 2, 0
-_080F0E34: .4byte gOtherText_SelfIntroduction
-_080F0E38:
- ldr r0, _080F0E60
- ldr r0, [r0]
- ldr r1, _080F0E64
- adds r4, r0, r1
- ldr r1, _080F0E68
-_080F0E42:
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- movs r2, 0x88
- movs r3, 0
- bl sub_8072C74
- lsls r2, r5, 3
- adds r0, r4, 0
-_080F0E54:
- movs r1, 0x61
- movs r3, 0
- bl sub_80729D8
- b _080F0EA0
- .align 2, 0
-_080F0E60: .4byte gUnknown_083DFEC4
-_080F0E64: .4byte 0x00008788
-_080F0E68: .4byte 0x0000d118
-_080F0E6C:
- ldr r0, _080F0E94
- ldr r0, [r0]
- ldr r1, _080F0E98
- adds r4, r0, r1
- ldr r1, _080F0E9C
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- movs r2, 0x88
- movs r3, 0
- bl sub_8072C74
- lsls r2, r5, 3
- adds r0, r4, 0
- movs r1, 0x61
- movs r3, 0
- bl sub_80729D8
- b _080F0D6C
- .align 2, 0
-_080F0E94: .4byte gUnknown_083DFEC4
-_080F0E98: .4byte 0x00008788
-_080F0E9C: .4byte 0x0000d11c
-_080F0EA0:
- ldr r0, _080F0EB8
- ldr r1, [r0]
- ldr r0, _080F0EBC
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F0EAE:
- movs r0, 0x1
-_080F0EB0:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F0EB8: .4byte gUnknown_083DFEC4
-_080F0EBC: .4byte 0x0000d15c
- thumb_func_end sub_80F0D5C
-
- thumb_func_start sub_80F0EC0
-sub_80F0EC0: @ 80F0EC0
- push {lr}
- ldr r0, _080F0EE4
- ldr r0, [r0]
- ldr r2, _080F0EE8
- adds r1, r0, r2
- movs r2, 0
- strh r2, [r1]
- ldr r3, _080F0EEC
- adds r1, r0, r3
- strh r2, [r1]
- ldr r1, _080F0EF0
- adds r0, r1
- movs r1, 0
- movs r2, 0x10
- bl StringFill
- pop {r0}
- bx r0
- .align 2, 0
-_080F0EE4: .4byte gUnknown_083DFEC4
-_080F0EE8: .4byte 0x00000306
-_080F0EEC: .4byte 0x0000d15c
-_080F0EF0: .4byte 0x00008788
- thumb_func_end sub_80F0EC0
-
- thumb_func_start sub_80F0EF4
-sub_80F0EF4: @ 80F0EF4
- push {r4,r5,lr}
- ldr r0, _080F0F08
- ldr r2, [r0]
- ldr r0, _080F0F0C
- adds r5, r2, r0
- ldrh r0, [r5]
- cmp r0, 0x6
- bls _080F0F10
- movs r0, 0
- b _080F0F52
- .align 2, 0
-_080F0F08: .4byte gUnknown_083DFEC4
-_080F0F0C: .4byte 0x0000d15c
-_080F0F10:
- ldr r0, _080F0F58
- adds r1, r2, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- bls _080F0F50
- movs r0, 0
- strh r0, [r1]
- ldr r1, _080F0F5C
- adds r0, r2, r1
- ldrh r4, [r5]
- lsls r4, 1
- adds r4, 0x2
- ldrh r0, [r0]
- adds r4, r0
- movs r0, 0x1F
- ands r4, r0
- ldr r0, _080F0F60
- bl BasicInitMenuWindow
- adds r3, r4, 0x1
- movs r0, 0xC
- adds r1, r4, 0
- movs r2, 0x1F
- bl MenuZeroFillWindowRect
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080F0F50:
- movs r0, 0x1
-_080F0F52:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F0F58: .4byte 0x00000306
-_080F0F5C: .4byte 0x00008778
-_080F0F60: .4byte gWindowConfig_81E70D4
- thumb_func_end sub_80F0EF4
-
- thumb_func_start sub_80F0F64
-sub_80F0F64: @ 80F0F64
- push {r4,lr}
- ldr r0, _080F0F90
- ldr r3, [r0]
- ldr r1, _080F0F94
- adds r0, r3, r1
- movs r4, 0
- ldrsh r2, [r0, r4]
- lsls r1, r2, 4
- ldr r4, _080F0F98
- adds r0, r3, r4
- strh r1, [r0]
- movs r1, 0x8
- cmp r2, 0x1
- bne _080F0F82
- movs r1, 0x4
-_080F0F82:
- ldr r2, _080F0F9C
- adds r0, r3, r2
- strh r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F0F90: .4byte gUnknown_083DFEC4
-_080F0F94: .4byte 0x0000876c
-_080F0F98: .4byte 0x0000877c
-_080F0F9C: .4byte 0x0000877a
- thumb_func_end sub_80F0F64
-
- thumb_func_start sub_80F0FA0
-sub_80F0FA0: @ 80F0FA0
- push {r4,lr}
- ldr r0, _080F0FDC
- ldr r3, [r0]
- ldr r1, _080F0FE0
- adds r0, r3, r1
- movs r4, 0
- ldrsh r0, [r0, r4]
- negs r0, r0
- lsls r0, 16
- asrs r0, 16
- lsls r2, r0, 4
- ldr r4, _080F0FE4
- adds r1, r3, r4
- strh r2, [r1]
- movs r1, 0x1
- negs r1, r1
- movs r4, 0x8
- negs r4, r4
- adds r2, r4, 0
- cmp r0, r1
- bne _080F0FD0
- movs r0, 0x4
- negs r0, r0
- adds r2, r0, 0
-_080F0FD0:
- ldr r1, _080F0FE8
- adds r0, r3, r1
- strh r2, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F0FDC: .4byte gUnknown_083DFEC4
-_080F0FE0: .4byte 0x0000876c
-_080F0FE4: .4byte 0x0000877c
-_080F0FE8: .4byte 0x0000877a
- thumb_func_end sub_80F0FA0
-
- thumb_func_start sub_80F0FEC
-sub_80F0FEC: @ 80F0FEC
- push {lr}
- bl sub_80F0718
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80F0FEC
-
- thumb_func_start sub_80F0FFC
-sub_80F0FFC: @ 80F0FFC
- push {r4,r5,lr}
- lsls r0, 24
- ldr r1, _080F1048
- ldr r4, [r1]
- ldr r1, _080F104C
- adds r5, r4, r1
- lsrs r0, 21
- adds r0, r4, r0
- ldr r1, _080F1050
- adds r0, r1
- ldrh r1, [r0]
- adds r0, r5, 0
- movs r2, 0
- bl sub_80FBFB4
- ldr r0, _080F1054
- bl BasicInitMenuWindow
- adds r0, r5, 0
- bl sub_80F19DC
- ldr r0, _080F1058
- adds r4, r0
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x58
- movs r3, 0x2
- bl sub_8072C74
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x5
- bl MenuPrint
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1048: .4byte gUnknown_083DFEC4
-_080F104C: .4byte 0x00008788
-_080F1050: .4byte 0x0000ceea
-_080F1054: .4byte gWindowConfig_81E710C
-_080F1058: .4byte 0x0000d138
- thumb_func_end sub_80F0FFC
-
- thumb_func_start sub_80F105C
-sub_80F105C: @ 80F105C
- push {lr}
- ldr r0, _080F1078
- ldr r1, [r0]
- ldr r2, _080F107C
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r2, 0xA
- adds r1, r2
- ldrh r1, [r1]
- bl sub_80F0A74
- pop {r0}
- bx r0
- .align 2, 0
-_080F1078: .4byte gUnknown_083DFEC4
-_080F107C: .4byte 0x0000876e
- thumb_func_end sub_80F105C
-
- thumb_func_start sub_80F1080
-sub_80F1080: @ 80F1080
- push {r4,lr}
- ldr r1, _080F10A0
- ldr r0, [r1]
- ldr r2, _080F10A4
- adds r0, r2
- ldrh r0, [r0]
- adds r2, r1, 0
- cmp r0, 0xE
- bls _080F1094
- b _080F1204
-_080F1094:
- lsls r0, 2
- ldr r1, _080F10A8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F10A0: .4byte gUnknown_083DFEC4
-_080F10A4: .4byte 0x0000d160
-_080F10A8: .4byte _080F10AC
- .align 2, 0
-_080F10AC:
- .4byte _080F10E8
- .4byte _080F1104
- .4byte _080F1110
- .4byte _080F111C
- .4byte _080F1128
- .4byte _080F112E
- .4byte _080F1134
- .4byte _080F1142
- .4byte _080F1160
- .4byte _080F1166
- .4byte _080F116C
- .4byte _080F1180
- .4byte _080F1194
- .4byte _080F11DC
- .4byte _080F11E2
-_080F10E8:
- bl sub_80EEDE8
- ldr r0, _080F10FC
- ldr r0, [r0]
- ldr r3, _080F1100
- adds r0, r3
- movs r1, 0xB
- strb r1, [r0]
- b _080F1218
- .align 2, 0
-_080F10FC: .4byte gUnknown_083DFEC4
-_080F1100: .4byte 0x0000d162
-_080F1104:
- ldr r0, _080F110C
- bl SetUpWindowConfig
- b _080F1218
- .align 2, 0
-_080F110C: .4byte gWindowConfig_81E70B8
-_080F1110:
- ldr r0, _080F1118
- bl MultistepInitMenuWindowBegin
- b _080F1218
- .align 2, 0
-_080F1118: .4byte gWindowConfig_81E70B8
-_080F111C:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _080F1126
- b _080F1218
-_080F1126:
- b _080F1226
-_080F1128:
- bl MenuZeroFillScreen
- b _080F1218
-_080F112E:
- bl sub_80F1614
- b _080F1218
-_080F1134:
- movs r0, 0x1
- bl sub_80F162C
- lsls r0, 24
- cmp r0, 0
- beq _080F1218
- b _080F1226
-_080F1142:
- ldr r0, _080F1154
- ldr r1, _080F1158
- ldr r1, [r1]
- ldr r2, _080F115C
- adds r1, r2
- bl LZ77UnCompWram
- b _080F1218
- .align 2, 0
-_080F1154: .4byte gUnknown_08E9FBA0
-_080F1158: .4byte gUnknown_083DFEC4
-_080F115C: .4byte 0x0000934c
-_080F1160:
- bl sub_80F1238
- b _080F1218
-_080F1166:
- bl sub_80F13FC
- b _080F1218
-_080F116C:
- ldr r0, _080F1178
- ldr r1, _080F117C
- bl LZ77UnCompVram
- b _080F1218
- .align 2, 0
-_080F1178: .4byte gPokenavRibbonView_Gfx
-_080F117C: .4byte 0x06008000
-_080F1180:
- ldr r0, _080F118C
- ldr r1, _080F1190
- bl LZ77UnCompVram
- b _080F1218
- .align 2, 0
-_080F118C: .4byte gUnknown_083E040C
-_080F1190: .4byte 0x06008200
-_080F1194:
- ldr r0, _080F11CC
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _080F11D0
- adds r0, r4, 0
- movs r1, 0xF0
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080F11D4
- movs r1, 0x30
- movs r2, 0xA0
- bl LoadPalette
- ldr r0, _080F11D8
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- adds r4, 0x1E
- adds r0, r4, 0
- movs r1, 0xBF
- movs r2, 0x2
- bl LoadPalette
- b _080F1218
- .align 2, 0
-_080F11CC: .4byte gPokenavRibbonView_Pal
-_080F11D0: .4byte gUnknown_083E03A8
-_080F11D4: .4byte gUnknown_083E3C60
-_080F11D8: .4byte gUnknownPalette_81E6692
-_080F11DC:
- bl sub_80F1438
- b _080F1218
-_080F11E2:
- ldr r1, _080F1208
- ldr r3, _080F120C
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r3, _080F1210
- adds r0, r3, 0
- strh r0, [r1]
- adds r1, 0x42
- movs r0, 0
- strh r0, [r1]
- ldr r1, [r2]
- ldr r0, _080F1214
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F1204:
- movs r0, 0
- b _080F1228
- .align 2, 0
-_080F1208: .4byte REG_BG2CNT
-_080F120C: .4byte 0x00001e02
-_080F1210: .4byte 0x0000170b
-_080F1214: .4byte 0x0000d160
-_080F1218:
- ldr r0, _080F1230
- ldr r1, [r0]
- ldr r2, _080F1234
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F1226:
- movs r0, 0x1
-_080F1228:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F1230: .4byte gUnknown_083DFEC4
-_080F1234: .4byte 0x0000d160
- thumb_func_end sub_80F1080
-
- thumb_func_start sub_80F1238
-sub_80F1238: @ 80F1238
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r6, 0x8B
- ldr r0, _080F1318
- ldr r2, [r0]
- ldr r1, _080F131C
- adds r0, r2, r1
- ldr r3, _080F1320
- adds r1, r2, r3
- ldrb r0, [r0]
- ldrb r1, [r1]
- subs r0, r1
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x4]
- movs r7, 0
- mov r5, sp
- adds r4, r2, 0
-_080F1264:
- movs r1, 0x80
- lsls r1, 6
- adds r0, r1, 0
- strh r0, [r5]
- lsls r1, r7, 5
- adds r1, r6, r1
- lsls r1, 1
- ldr r2, _080F1324
- adds r1, r2
- adds r1, r4, r1
- mov r0, sp
- ldr r2, _080F1328
- bl CpuSet
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0x7
- bls _080F1264
- ldr r3, [sp, 0x4]
- lsls r0, r3, 16
- movs r7, 0
- mov r9, r0
- cmp r0, 0
- beq _080F1342
- ldr r0, _080F1318
- ldr r0, [r0]
- mov r8, r0
- ldr r1, _080F132C
- mov r10, r1
- ldr r5, _080F1324
- add r5, r8
-_080F12A4:
- ldr r0, _080F1330
- add r0, r8
- adds r0, r7
- ldrb r1, [r0]
- lsls r1, 2
- mov r0, r10
- adds r0, 0x2
- adds r0, r1, r0
- ldrb r2, [r0]
- adds r2, 0x3
- lsls r2, 24
- add r1, r10
- ldrh r0, [r1]
- lsls r0, 25
- movs r3, 0x80
- lsls r3, 21
- adds r0, r3
- lsrs r4, r0, 24
- lsls r1, r6, 1
- adds r1, r5, r1
- lsrs r2, 12
- adds r0, r2, 0
- orrs r0, r4
- strh r0, [r1]
- adds r1, r6, 0x1
- lsls r1, 1
- adds r1, r5, r1
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- adds r3, r2, 0
- orrs r3, r0
- adds r0, r3, 0
- orrs r0, r4
- strh r0, [r1]
- adds r0, r6, 0
- adds r0, 0x20
- lsls r0, 1
- adds r0, r5, r0
- adds r1, r4, 0x1
- orrs r2, r1
- strh r2, [r0]
- adds r0, r6, 0
- adds r0, 0x21
- lsls r0, 1
- adds r0, r5, r0
- orrs r3, r1
- strh r3, [r0]
- adds r4, r7, 0x1
- adds r0, r4, 0
- movs r1, 0x9
- bl __modsi3
- cmp r0, 0
- bne _080F1334
- adds r0, r6, 0
- adds r0, 0x30
- b _080F1336
- .align 2, 0
-_080F1318: .4byte gUnknown_083DFEC4
-_080F131C: .4byte 0x0000bc8e
-_080F1320: .4byte 0x0000bc8f
-_080F1324: .4byte 0x0000934c
-_080F1328: .4byte 0x01000012
-_080F132C: .4byte gUnknown_083E4698
-_080F1330: .4byte 0x0000bc4c
-_080F1334:
- adds r0, r6, 0x2
-_080F1336:
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r0, r4, 16
- lsrs r7, r0, 16
- cmp r0, r9
- bcc _080F12A4
-_080F1342:
- ldr r6, _080F13E8
- movs r7, 0
- ldr r1, _080F13EC
- ldr r0, [r1]
- ldr r2, _080F13F0
- adds r1, r0, r2
- ldrb r3, [r1]
- cmp r7, r3
- bcs _080F13D8
- subs r2, 0x43
- adds r2, r0
- mov r10, r2
- ldr r3, _080F13F4
- mov r8, r3
- ldr r2, _080F13F8
- adds r5, r0, r2
- mov r9, r1
-_080F1364:
- ldr r3, [sp, 0x4]
- adds r0, r3, r7
- add r0, r10
- ldrb r1, [r0]
- lsls r1, 2
- mov r0, r8
- adds r0, 0x2
- adds r0, r1, r0
- ldrb r2, [r0]
- adds r2, 0x3
- lsls r2, 24
- add r1, r8
- ldrh r0, [r1]
- lsls r0, 25
- movs r1, 0x80
- lsls r1, 21
- adds r0, r1
- lsrs r4, r0, 24
- lsls r1, r6, 1
- adds r1, r5, r1
- lsrs r2, 12
- adds r0, r2, 0
- orrs r0, r4
- strh r0, [r1]
- adds r1, r6, 0x1
- lsls r1, 1
- adds r1, r5, r1
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3, 0
- adds r3, r2, 0
- orrs r3, r0
- adds r0, r3, 0
- orrs r0, r4
- strh r0, [r1]
- adds r0, r6, 0
- adds r0, 0x20
- lsls r0, 1
- adds r0, r5, r0
- adds r1, r4, 0x1
- orrs r2, r1
- strh r2, [r0]
- adds r0, r6, 0
- adds r0, 0x21
- lsls r0, 1
- adds r0, r5, r0
- orrs r3, r1
- strh r3, [r0]
- adds r0, r6, 0x2
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- mov r0, r9
- ldrb r0, [r0]
- cmp r7, r0
- bcc _080F1364
-_080F13D8:
- 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
-_080F13E8: .4byte 0x0000014b
-_080F13EC: .4byte gUnknown_083DFEC4
-_080F13F0: .4byte 0x0000bc8f
-_080F13F4: .4byte gUnknown_083E4698
-_080F13F8: .4byte 0x0000934c
- thumb_func_end sub_80F1238
-
- thumb_func_start sub_80F13FC
-sub_80F13FC: @ 80F13FC
- ldr r0, _080F141C
- ldr r0, [r0]
- ldr r1, _080F1420
- adds r0, r1
- ldr r2, _080F1424
- ldr r1, _080F1428
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _080F142C
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r1, _080F1430
- ldr r0, _080F1434
- ldrh r0, [r0]
- strh r0, [r1]
- bx lr
- .align 2, 0
-_080F141C: .4byte gUnknown_083DFEC4
-_080F1420: .4byte 0x0000934c
-_080F1424: .4byte 0x0600b800
-_080F1428: .4byte 0x040000d4
-_080F142C: .4byte 0x84000140
-_080F1430: .4byte gPlttBufferUnfaded
-_080F1434: .4byte gPokenavRibbonView_Pal + 0x1C
- thumb_func_end sub_80F13FC
-
- thumb_func_start sub_80F1438
-sub_80F1438: @ 80F1438
- push {r4,r5,lr}
- ldr r0, _080F1470
- ldr r4, [r0]
- ldr r1, _080F1474
- adds r0, r4, r1
- movs r1, 0xD
- movs r2, 0x1
- bl MenuPrint
- ldr r0, _080F1478
- adds r5, r4, r0
- ldr r1, _080F147C
- adds r4, r1
- ldrh r1, [r4]
- adds r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- adds r0, r5, 0
- bl sub_80F445C
- adds r0, r5, 0
- movs r1, 0x1
- movs r2, 0x5
- bl MenuPrint
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1470: .4byte gUnknown_083DFEC4
-_080F1474: .4byte 0x00008829
-_080F1478: .4byte 0x00008788
-_080F147C: .4byte 0x0000876e
- thumb_func_end sub_80F1438
-
- thumb_func_start sub_80F1480
-sub_80F1480: @ 80F1480
- push {lr}
- movs r0, 0xC
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x10
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_80F1480
-
- thumb_func_start sub_80F1494
-sub_80F1494: @ 80F1494
- push {r4-r7,lr}
- ldr r0, _080F14D4
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 4
- adds r6, r0, r1
- ldr r2, _080F14D8
- adds r7, r0, r2
- ldr r0, _080F14DC
- ldr r3, [r0]
- ldr r4, _080F14E0
- adds r1, r3, r4
- ldrb r0, [r1]
- cmp r0, 0x2
- bhi _080F14F0
- ldr r5, _080F14E4
- adds r1, r0, 0
- lsls r0, r1, 3
- subs r4, 0x1
- adds r2, r3, r4
- adds r0, r1
- ldrb r2, [r2]
- adds r0, r2
- strh r0, [r5]
- ldr r1, _080F14E8
- adds r0, r3, r1
- ldrh r2, [r5]
- adds r0, r2
- ldrb r0, [r0]
- strh r0, [r5]
- ldr r4, _080F14EC
- b _080F152E
- .align 2, 0
-_080F14D4: .4byte gUnknown_083DFEC8
-_080F14D8: .4byte 0x00000a98
-_080F14DC: .4byte gUnknown_083DFEC4
-_080F14E0: .4byte 0x0000bc91
-_080F14E4: .4byte gUnknown_020388B4
-_080F14E8: .4byte 0x0000bc4c
-_080F14EC: .4byte gRibbonDescriptions
-_080F14F0:
- ldr r5, _080F1558
- ldr r4, _080F155C
- adds r0, r3, r4
- ldrb r0, [r0]
- ldr r2, _080F1560
- adds r1, r3, r2
- ldrb r1, [r1]
- subs r0, r1
- strh r0, [r5]
- ldrh r1, [r5]
- adds r4, 0x2
- adds r0, r3, r4
- ldrb r0, [r0]
- adds r1, r0
- subs r2, 0x43
- adds r0, r3, r2
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r5]
- ldr r0, _080F1564
- ldrh r1, [r5]
- adds r0, r1
- ldr r4, _080F1568
- adds r0, r4
- ldrb r0, [r0]
- strh r0, [r5]
- cmp r0, 0
- beq _080F1570
- subs r0, 0x1
- strh r0, [r5]
- ldr r4, _080F156C
-_080F152E:
- ldrh r0, [r5]
- lsls r0, 3
- adds r0, r4
- ldr r1, [r0]
- adds r0, r6, 0
- movs r2, 0x80
- movs r3, 0
- bl sub_8072C74
- ldrh r0, [r5]
- lsls r0, 3
- adds r4, 0x4
- adds r0, r4
- ldr r1, [r0]
- adds r0, r7, 0
- movs r2, 0x80
- movs r3, 0
- bl sub_8072C74
- b _080F158A
- .align 2, 0
-_080F1558: .4byte gUnknown_020388B4
-_080F155C: .4byte 0x0000bc8e
-_080F1560: .4byte 0x0000bc8f
-_080F1564: .4byte gSaveBlock1
-_080F1568: .4byte 0x000030f7
-_080F156C: .4byte gGiftRibbonDescriptions
-_080F1570:
- ldr r4, _080F15A4
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x80
- movs r3, 0
- bl sub_8072C74
- adds r0, r7, 0
- adds r1, r4, 0
- movs r2, 0x80
- movs r3, 0
- bl sub_8072C74
-_080F158A:
- adds r0, r6, 0
- movs r1, 0xC
- movs r2, 0xD
- bl MenuPrint
- adds r0, r7, 0
- movs r1, 0xC
- movs r2, 0xF
- bl MenuPrint
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F15A4: .4byte gEmptyString_81E72B0
- thumb_func_end sub_80F1494
-
- thumb_func_start sub_80F15A8
-sub_80F15A8: @ 80F15A8
- push {r4,r5,lr}
- movs r0, 0xC
- movs r1, 0xD
- movs r2, 0x1B
- movs r3, 0x10
- bl MenuZeroFillWindowRect
- ldr r0, _080F1600
- ldr r4, [r0]
- ldr r0, _080F1604
- adds r5, r4, r0
- ldr r1, _080F1608
- adds r0, r5, 0
- bl StringCopy
- adds r2, r0, 0
- movs r0, 0
- strb r0, [r2]
- adds r2, 0x1
- ldr r1, _080F160C
- adds r0, r4, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 2
- adds r4, r0
- ldr r0, _080F1610
- adds r4, r0
- ldrb r1, [r4]
- adds r0, r2, 0
- movs r2, 0
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- adds r2, r0, 0
- movs r0, 0xFF
- strb r0, [r2]
- adds r0, r5, 0
- movs r1, 0xC
- movs r2, 0xD
- bl MenuPrint
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1600: .4byte gUnknown_083DFEC4
-_080F1604: .4byte 0x00008788
-_080F1608: .4byte gOtherText_Ribbons
-_080F160C: .4byte 0x000087dc
-_080F1610: .4byte 0x0000893c
- thumb_func_end sub_80F15A8
-
- thumb_func_start sub_80F1614
-sub_80F1614: @ 80F1614
- ldr r0, _080F1624
- ldr r0, [r0]
- ldr r1, _080F1628
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080F1624: .4byte gUnknown_083DFEC4
-_080F1628: .4byte 0x00008764
- thumb_func_end sub_80F1614
-
- thumb_func_start sub_80F162C
-sub_80F162C: @ 80F162C
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080F164C
- ldr r0, [r0]
- ldr r2, _080F1650
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080F165E
- cmp r0, 0x1
- bgt _080F1654
- cmp r0, 0
- beq _080F16F0
- b _080F16D0
- .align 2, 0
-_080F164C: .4byte gUnknown_083DFEC4
-_080F1650: .4byte 0x00008764
-_080F1654:
- cmp r0, 0x2
- beq _080F1670
- cmp r0, 0x3
- beq _080F1694
- b _080F16D0
-_080F165E:
- ldr r0, _080F1668
- ldr r1, _080F166C
- bl LZ77UnCompVram
- b _080F16F0
- .align 2, 0
-_080F1668: .4byte gUnknown_08E9FF58
-_080F166C: .4byte 0x0600e800
-_080F1670:
- ldr r1, _080F1684
- ldr r2, _080F1688
- ldr r0, _080F168C
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _080F1690
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- b _080F16F0
- .align 2, 0
-_080F1684: .4byte gPokenavRibbonPokeView_Gfx
-_080F1688: .4byte 0x0600e000
-_080F168C: .4byte 0x040000d4
-_080F1690: .4byte 0x80000070
-_080F1694:
- cmp r1, 0
- bne _080F16A8
- ldr r0, _080F16A4
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- b _080F16B2
- .align 2, 0
-_080F16A4: .4byte gUnknown_083E0124
-_080F16A8:
- ldr r0, _080F16D4
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
-_080F16B2:
- ldr r0, _080F16D8
- ldr r1, [r0]
- ldr r3, _080F16DC
- adds r2, r1, r3
- ldr r0, _080F16E0
- strh r0, [r2]
- ldr r2, _080F16E4
- ldr r3, _080F16E8
- adds r0, r3, 0
- strh r0, [r2]
- ldr r0, _080F16EC
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F16D0:
- movs r0, 0
- b _080F1700
- .align 2, 0
-_080F16D4: .4byte gUnknown_083E0144
-_080F16D8: .4byte gUnknown_083DFEC4
-_080F16DC: .4byte 0x00008766
-_080F16E0: .4byte 0x0000ffb0
-_080F16E4: .4byte REG_BG0CNT
-_080F16E8: .4byte 0x00001d0d
-_080F16EC: .4byte 0x00008764
-_080F16F0:
- ldr r0, _080F1704
- ldr r1, [r0]
- ldr r2, _080F1708
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080F1700:
- pop {r1}
- bx r1
- .align 2, 0
-_080F1704: .4byte gUnknown_083DFEC4
-_080F1708: .4byte 0x00008764
- thumb_func_end sub_80F162C
-
- thumb_func_start sub_80F170C
-sub_80F170C: @ 80F170C
- push {lr}
- ldr r0, _080F1734
- ldr r0, [r0]
- ldr r2, _080F1738
- adds r1, r0, r2
- ldrh r0, [r1]
- adds r0, 0x10
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- ble _080F1726
- movs r0, 0
- strh r0, [r1]
-_080F1726:
- movs r0, 0
- ldrsh r1, [r1, r0]
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- pop {r1}
- bx r1
- .align 2, 0
-_080F1734: .4byte gUnknown_083DFEC4
-_080F1738: .4byte 0x00008766
- thumb_func_end sub_80F170C
-
- thumb_func_start sub_80F173C
-sub_80F173C: @ 80F173C
- push {lr}
- ldr r0, _080F176C
- ldr r0, [r0]
- ldr r2, _080F1770
- adds r1, r0, r2
- ldrh r0, [r1]
- subs r0, 0x10
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- movs r2, 0x50
- negs r2, r2
- cmp r0, r2
- bge _080F175C
- ldr r0, _080F1774
- strh r0, [r1]
-_080F175C:
- movs r0, 0
- ldrsh r1, [r1, r0]
- eors r1, r2
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- pop {r1}
- bx r1
- .align 2, 0
-_080F176C: .4byte gUnknown_083DFEC4
-_080F1770: .4byte 0x00008766
-_080F1774: .4byte 0x0000ffb0
- thumb_func_end sub_80F173C
-
- thumb_func_start sub_80F1778
-sub_80F1778: @ 80F1778
- push {r4,lr}
- sub sp, 0x14
- ldr r0, _080F1798
- ldr r0, [r0]
- ldr r1, _080F179C
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x9
- bls _080F178C
- b _080F1910
-_080F178C:
- lsls r0, 2
- ldr r1, _080F17A0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F1798: .4byte gUnknown_083DFEC4
-_080F179C: .4byte 0x0000d160
-_080F17A0: .4byte _080F17A4
- .align 2, 0
-_080F17A4:
- .4byte _080F17CC
- .4byte _080F17E8
- .4byte _080F17EE
- .4byte _080F17FE
- .4byte _080F1810
- .4byte _080F1830
- .4byte _080F1858
- .4byte _080F186C
- .4byte _080F18B8
- .4byte _080F18D8
-_080F17CC:
- bl sub_80EEDE8
- ldr r0, _080F17E0
- ldr r0, [r0]
- ldr r2, _080F17E4
- adds r0, r2
- movs r1, 0x2
- strb r1, [r0]
- b _080F1914
- .align 2, 0
-_080F17E0: .4byte gUnknown_083DFEC4
-_080F17E4: .4byte 0x0000d162
-_080F17E8:
- bl sub_80F1614
- b _080F1914
-_080F17EE:
- movs r0, 0
- bl sub_80F162C
- lsls r0, 24
- cmp r0, 0
- bne _080F17FC
- b _080F1914
-_080F17FC:
- b _080F1922
-_080F17FE:
- ldr r0, _080F1808
- ldr r1, _080F180C
- bl LZ77UnCompVram
- b _080F1914
- .align 2, 0
-_080F1808: .4byte gPokenavConditionView_Gfx
-_080F180C: .4byte 0x06005000
-_080F1810:
- ldr r0, _080F1824
- ldr r1, _080F1828
- bl LZ77UnCompVram
- ldr r0, _080F182C
- movs r1, 0x20
- movs r2, 0x20
- bl LoadPalette
- b _080F1914
- .align 2, 0
-_080F1824: .4byte gUnknown_08E9AC4C
-_080F1828: .4byte 0x0600f000
-_080F182C: .4byte gPokenavConditionMenu2_Pal
-_080F1830:
- ldr r0, _080F1850
- ldr r3, _080F1854
- movs r1, 0
- str r1, [sp]
- str r1, [sp, 0x4]
- movs r2, 0xC
- str r2, [sp, 0x8]
- movs r1, 0x4
- str r1, [sp, 0xC]
- str r2, [sp, 0x10]
- movs r1, 0
- movs r2, 0xD
- bl sub_8095C8C
- b _080F1914
- .align 2, 0
-_080F1850: .4byte 0x0600f000
-_080F1854: .4byte gUnknown_083E01F4
-_080F1858:
- ldr r0, _080F1864
- ldr r1, _080F1868
- bl LZ77UnCompVram
- b _080F1914
- .align 2, 0
-_080F1864: .4byte gUnknown_08E9FEB4
-_080F1868: .4byte 0x0600b800
-_080F186C:
- ldr r0, _080F18AC
- movs r1, 0x30
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080F18B0
- movs r1, 0xB0
- movs r2, 0x20
- bl LoadPalette
- ldr r4, _080F18B4
- adds r0, r4, 0
- movs r1, 0xB1
- movs r2, 0x2
- bl LoadPalette
- adds r0, r4, 0
- adds r0, 0xE
- movs r1, 0xB5
- movs r2, 0x2
- bl LoadPalette
- adds r4, 0x1C
- adds r0, r4, 0
- movs r1, 0xBF
- movs r2, 0x2
- bl LoadPalette
- bl sub_80F01A4
- b _080F1914
- .align 2, 0
-_080F18AC: .4byte gUnknown_083E0254
-_080F18B0: .4byte gUnknownPalette_81E6692
-_080F18B4: .4byte gPokenavConditionMenu2_Pal + 0x2
-_080F18B8:
- ldr r0, _080F18D0
- ldr r0, [r0]
- ldr r1, _080F18D4
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- bl sub_80F01E0
- b _080F1914
- .align 2, 0
-_080F18D0: .4byte gUnknown_083DFEC4
-_080F18D4: .4byte 0x00008fe9
-_080F18D8:
- ldr r1, _080F18FC
- ldr r2, _080F1900
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0x2
- ldr r2, _080F1904
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x44
- ldr r2, _080F1908
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080F190C
- adds r0, r2, 0
- strh r0, [r1]
- b _080F1914
- .align 2, 0
-_080F18FC: .4byte REG_BG3CNT
-_080F1900: .4byte 0x00001e03
-_080F1904: .4byte 0x00001702
-_080F1908: .4byte 0x00000844
-_080F190C: .4byte 0x0000040b
-_080F1910:
- movs r0, 0
- b _080F1924
-_080F1914:
- ldr r0, _080F192C
- ldr r1, [r0]
- ldr r0, _080F1930
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F1922:
- movs r0, 0x1
-_080F1924:
- add sp, 0x14
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F192C: .4byte gUnknown_083DFEC4
-_080F1930: .4byte 0x0000d160
- thumb_func_end sub_80F1778
-
- thumb_func_start sub_80F1934
-sub_80F1934: @ 80F1934
- push {r4,r5,lr}
- ldr r0, _080F1990
- ldr r1, [r0]
- ldr r0, _080F1994
- adds r5, r1, r0
- ldr r3, _080F1998
- adds r2, r1, r3
- movs r3, 0
- ldrsh r0, [r2, r3]
- lsls r0, 2
- adds r1, r0
- ldr r0, _080F199C
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 25
- cmp r0, 0
- bge _080F19AC
- ldrb r0, [r2]
- bl sub_8137124
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _080F19A0
- adds r0, r1
- bl GetNature
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080F19A4
- adds r0, r5, 0
- bl StringCopy
- adds r5, r0, 0
- ldr r0, _080F19A8
- lsls r4, 2
- adds r4, r0
- ldr r1, [r4]
- adds r0, r5, 0
- movs r2, 0x57
- movs r3, 0
- bl sub_8072C74
- b _080F19B8
- .align 2, 0
-_080F1990: .4byte gUnknown_083DFEC4
-_080F1994: .4byte 0x00008788
-_080F1998: .4byte 0x000087dc
-_080F199C: .4byte 0x0000893f
-_080F19A0: .4byte gPlayerParty
-_080F19A4: .4byte gOtherText_Nature2
-_080F19A8: .4byte gNatureNames
-_080F19AC:
- ldr r1, _080F19D0
- adds r0, r5, 0
- movs r2, 0x57
- movs r3, 0
- bl sub_8072C74
-_080F19B8:
- ldr r0, _080F19D4
- ldr r0, [r0]
- ldr r1, _080F19D8
- adds r0, r1
- movs r1, 0x1
- movs r2, 0x70
- movs r3, 0x1
- bl sub_80729D8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F19D0: .4byte gEmptyString_81E72B0
-_080F19D4: .4byte gUnknown_083DFEC4
-_080F19D8: .4byte 0x00008788
- thumb_func_end sub_80F1934
-
- thumb_func_start sub_80F19DC
-sub_80F19DC: @ 80F19DC
- push {lr}
- adds r1, r0, 0
- b _080F19E4
-_080F19E2:
- adds r1, 0x1
-_080F19E4:
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _080F19F8
- cmp r0, 0xFC
- bne _080F19E2
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _080F19E2
- movs r0, 0xFF
- strb r0, [r1]
-_080F19F8:
- pop {r0}
- bx r0
- thumb_func_end sub_80F19DC
-
- thumb_func_start sub_80F19FC
-sub_80F19FC: @ 80F19FC
- push {r4,r5,lr}
- sub sp, 0x4
- ldr r5, _080F1A68
- ldrb r4, [r5]
- cmp r4, 0x1
- bne _080F1A60
- ldr r0, _080F1A6C
- ldr r1, [r0]
- ldr r2, _080F1A70
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x3
- adds r1, r2
- ldrb r1, [r1]
- ldrb r2, [r5, 0x1]
- bl sub_811A8CC
- cmp r0, 0
- beq _080F1A46
- ldrb r2, [r5, 0x1]
- lsls r2, 20
- movs r1, 0xC0
- lsls r1, 14
- adds r2, r1
- lsrs r2, 16
- str r4, [sp]
- movs r1, 0x70
- movs r3, 0x78
- bl sub_8072A18
- ldrb r0, [r5, 0x1]
- adds r0, 0x1
- strb r0, [r5, 0x1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _080F1A60
-_080F1A46:
- ldrb r1, [r5, 0x1]
- lsls r1, 25
- movs r2, 0xC0
- lsls r2, 19
- adds r1, r2
- lsrs r1, 24
- movs r0, 0xE
- movs r2, 0x1C
- movs r3, 0xF
- bl MenuFillWindowRectWithBlankTile
- movs r0, 0
- strb r0, [r5]
-_080F1A60:
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1A68: .4byte gUnknown_020388B0
-_080F1A6C: .4byte gUnknown_083DFEC4
-_080F1A70: .4byte 0x00006e2c
- thumb_func_end sub_80F19FC
-
- thumb_func_start sub_80F1A74
-sub_80F1A74: @ 80F1A74
- ldr r1, _080F1A7C
- movs r0, 0
- strb r0, [r1]
- bx lr
- .align 2, 0
-_080F1A7C: .4byte gUnknown_020388B0
- thumb_func_end sub_80F1A74
-
- thumb_func_start sub_80F1A80
-sub_80F1A80: @ 80F1A80
- ldr r0, _080F1A8C
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- strb r2, [r0, 0x1]
- bx lr
- .align 2, 0
-_080F1A8C: .4byte gUnknown_020388B0
- thumb_func_end sub_80F1A80
-
- thumb_func_start sub_80F1A90
-sub_80F1A90: @ 80F1A90
- push {lr}
- ldr r0, _080F1AB8
- ldr r0, [r0]
- ldr r1, _080F1ABC
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F1AC0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F1AB2
-_080F1AA8:
- bl sub_80F1AC4
- lsls r0, 24
- cmp r0, 0
- bne _080F1AA8
-_080F1AB2:
- pop {r0}
- bx r0
- .align 2, 0
-_080F1AB8: .4byte gUnknown_083DFEC4
-_080F1ABC: .4byte 0x00000306
-_080F1AC0: .4byte 0x00006dac
- thumb_func_end sub_80F1A90
-
- thumb_func_start sub_80F1AC4
-sub_80F1AC4: @ 80F1AC4
- push {r4,r5,lr}
- ldr r0, _080F1AE0
- ldr r1, [r0]
- ldr r2, _080F1AE4
- adds r0, r1, r2
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080F1B34
- cmp r0, 0x1
- bgt _080F1AE8
- cmp r0, 0
- beq _080F1AF2
- b _080F1B6C
- .align 2, 0
-_080F1AE0: .4byte gUnknown_083DFEC4
-_080F1AE4: .4byte 0x00000306
-_080F1AE8:
- cmp r0, 0x2
- beq _080F1B40
- cmp r0, 0x3
- beq _080F1B54
- b _080F1B6C
-_080F1AF2:
- movs r0, 0
- movs r2, 0xC8
- lsls r2, 2
- adds r4, r1, r2
- movs r5, 0
-_080F1AFC:
- movs r2, 0
- adds r1, r0, 0x1
- lsls r3, r0, 4
-_080F1B02:
- lsls r0, r2, 2
- adds r0, r3
- adds r0, r4, r0
- str r5, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _080F1B02
- lsls r0, r1, 16
- lsrs r0, 16
- cmp r0, 0x5
- bls _080F1AFC
- ldr r0, _080F1B2C
- ldr r0, [r0]
- ldr r1, _080F1B30
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- b _080F1B6C
- .align 2, 0
-_080F1B2C: .4byte gUnknown_083DFEC4
-_080F1B30: .4byte 0x00000311
-_080F1B34:
- ldr r0, _080F1B3C
- movs r2, 0xE2
- lsls r2, 2
- b _080F1B44
- .align 2, 0
-_080F1B3C: .4byte gPokenavMenuOptions_Gfx
-_080F1B40:
- ldr r0, _080F1B4C
- ldr r2, _080F1B50
-_080F1B44:
- adds r1, r2
- bl LZ77UnCompWram
- b _080F1B6C
- .align 2, 0
-_080F1B4C: .4byte gPokenavConditionMenu_Gfx
-_080F1B50: .4byte 0x00001788
-_080F1B54:
- ldr r0, _080F1B64
- ldr r2, _080F1B68
- adds r1, r2
- bl LZ77UnCompWram
- movs r0, 0
- b _080F1B7C
- .align 2, 0
-_080F1B64: .4byte gPokenavConditionSearch_Gfx
-_080F1B68: .4byte 0x00002388
-_080F1B6C:
- ldr r0, _080F1B84
- ldr r1, [r0]
- ldr r0, _080F1B88
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080F1B7C:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F1B84: .4byte gUnknown_083DFEC4
-_080F1B88: .4byte 0x00000306
- thumb_func_end sub_80F1AC4
-
- thumb_func_start sub_80F1B8C
-sub_80F1B8C: @ 80F1B8C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080F1BBC
- ldr r0, [r0]
- ldr r1, _080F1BC0
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F1BC4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F1BB4
-_080F1BA8:
- adds r0, r4, 0
- bl sub_80F1BC8
- lsls r0, 24
- cmp r0, 0
- bne _080F1BA8
-_080F1BB4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1BBC: .4byte gUnknown_083DFEC4
-_080F1BC0: .4byte 0x00000306
-_080F1BC4: .4byte 0x00006dac
- thumb_func_end sub_80F1B8C
-
- thumb_func_start sub_80F1BC8
-sub_80F1BC8: @ 80F1BC8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r1, _080F1BF4
- ldr r2, [r1]
- ldr r3, _080F1BF8
- adds r0, r2, r3
- ldrh r0, [r0]
- adds r3, r1, 0
- cmp r0, 0x1
- beq _080F1C0A
- cmp r0, 0x1
- bgt _080F1BFC
- cmp r0, 0
- beq _080F1C02
- b _080F1DC4
- .align 2, 0
-_080F1BF4: .4byte gUnknown_083DFEC4
-_080F1BF8: .4byte 0x00000306
-_080F1BFC:
- cmp r0, 0x2
- beq _080F1C12
- b _080F1DC4
-_080F1C02:
- mov r0, r9
- bl sub_80F2458
- b _080F1DC8
-_080F1C0A:
- mov r0, r9
- bl sub_80F2514
- b _080F1DC8
-_080F1C12:
- mov r4, r9
- cmp r4, 0x1
- beq _080F1C40
- cmp r4, 0x1
- bgt _080F1C22
- cmp r4, 0
- beq _080F1C2A
- b _080F1DC4
-_080F1C22:
- mov r5, r9
- cmp r5, 0x2
- beq _080F1C54
- b _080F1DC4
-_080F1C2A:
- movs r0, 0x2A
- str r0, [sp, 0x4]
- movs r1, 0x14
- str r1, [sp, 0x8]
- ldr r4, _080F1C3C
- adds r1, r2, r4
- movs r0, 0x5
- b _080F1C62
- .align 2, 0
-_080F1C3C: .4byte 0x0000030e
-_080F1C40:
- movs r5, 0x38
- str r5, [sp, 0x4]
- movs r0, 0x14
- str r0, [sp, 0x8]
- ldr r4, _080F1C50
- adds r1, r2, r4
- movs r0, 0x3
- b _080F1C62
- .align 2, 0
-_080F1C50: .4byte 0x0000030e
-_080F1C54:
- movs r5, 0x28
- str r5, [sp, 0x4]
- movs r0, 0x10
- str r0, [sp, 0x8]
- ldr r4, _080F1CDC
- adds r1, r2, r4
- movs r0, 0x6
-_080F1C62:
- strb r0, [r1]
- movs r5, 0
- str r5, [sp]
- mov r8, r5
- adds r1, r3, 0
- ldr r0, [r1]
- ldr r2, _080F1CDC
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r8, r0
- blt _080F1C7E
- b _080F1DC8
-_080F1C7E:
- ldr r4, [sp, 0x8]
- mov r3, r8
- muls r3, r4
- ldr r5, [sp, 0x4]
- adds r0, r5, r3
- subs r0, 0x8
- lsls r0, 16
- lsrs r0, 16
- ldr r4, [r1]
- mov r2, r8
- lsls r1, r2, 1
- movs r5, 0xC5
- lsls r5, 2
- adds r2, r4, r5
- adds r2, r1
- lsls r1, r0, 8
- adds r0, 0x11
- orrs r1, r0
- strh r1, [r2]
- mov r0, r9
- cmp r0, 0
- bne _080F1CF2
- ldr r1, _080F1CE0
- adds r0, r4, r1
- mov r2, r8
- adds r1, r0, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _080F1CE8
- movs r5, 0
- ldr r0, _080F1CE4
- ldr r0, [r0]
- lsls r2, 4
- movs r3, 0xC8
- lsls r3, 2
- adds r1, r0, r3
- movs r3, 0
-_080F1CC8:
- lsls r0, r5, 2
- adds r0, r2
- adds r0, r1, r0
- str r3, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080F1CC8
- b _080F1D92
- .align 2, 0
-_080F1CDC: .4byte 0x0000030e
-_080F1CE0: .4byte 0x00006db2
-_080F1CE4: .4byte gUnknown_083DFEC4
-_080F1CE8:
- ldrb r0, [r1]
- subs r0, 0x1
- lsls r0, 18
- lsrs r0, 16
- str r0, [sp]
-_080F1CF2:
- movs r5, 0
- ldr r4, [sp, 0x4]
- adds r0, r4, r3
- lsls r0, 16
- mov r10, r0
-_080F1CFC:
- lsls r6, r5, 5
- movs r0, 0x80
- lsls r0, 1
- adds r7, r6, r0
- lsls r1, r7, 16
- asrs r1, 16
- ldr r0, _080F1DB4
- mov r3, r10
- asrs r2, r3, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F1DC4
- ldr r0, _080F1DB8
- ldr r2, [r0]
- lsls r1, r5, 2
- mov r4, r8
- lsls r0, r4, 4
- adds r1, r0
- movs r0, 0xC8
- lsls r0, 2
- adds r2, r0
- adds r4, r2, r1
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, _080F1DBC
- adds r0, r1
- str r0, [r4]
- mov r1, r8
- strh r1, [r0, 0x2E]
- ldr r0, [r4]
- strh r5, [r0, 0x30]
- ldr r1, [r4]
- adds r0, r6, 0
- adds r0, 0x98
- strh r0, [r1, 0x32]
- ldr r0, [r4]
- strh r7, [r0, 0x34]
- ldr r0, [r4]
- ldr r1, [sp]
- adds r2, r1, 0x1
- lsls r2, 16
- lsrs r2, 16
- str r2, [sp]
- lsls r1, 24
- lsrs r1, 24
- bl StartSpriteAnim
- mov r2, r9
- cmp r2, 0x2
- beq _080F1D6E
- cmp r2, 0
- bne _080F1D88
-_080F1D6E:
- mov r3, r8
- cmp r3, 0x2
- bls _080F1D88
- movs r0, 0x1
- bl IndexOfSpritePaletteTag
- ldr r3, [r4]
- lsls r0, 4
- ldrb r2, [r3, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r3, 0x5]
-_080F1D88:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080F1CFC
-_080F1D92:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, _080F1DB8
- ldr r0, [r1]
- ldr r4, _080F1DC0
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r8, r0
- bge _080F1DB0
- b _080F1C7E
-_080F1DB0:
- b _080F1DC8
- .align 2, 0
-_080F1DB4: .4byte gSpriteTemplate_83E4454
-_080F1DB8: .4byte gUnknown_083DFEC4
-_080F1DBC: .4byte gSprites
-_080F1DC0: .4byte 0x0000030e
-_080F1DC4:
- movs r0, 0
- b _080F1DD8
-_080F1DC8:
- ldr r0, _080F1DE8
- ldr r1, [r0]
- ldr r5, _080F1DEC
- adds r1, r5
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080F1DD8:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080F1DE8: .4byte gUnknown_083DFEC4
-_080F1DEC: .4byte 0x00000306
- thumb_func_end sub_80F1BC8
-
- thumb_func_start sub_80F1DF0
-sub_80F1DF0: @ 80F1DF0
- push {r4-r6,lr}
- movs r2, 0
- ldr r0, _080F1E44
- ldr r3, [r0]
- ldr r0, _080F1E48
- adds r1, r3, r0
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bge _080F1E38
- movs r0, 0xC8
- lsls r0, 2
- adds r4, r3, r0
- adds r6, r1, 0
- ldr r5, _080F1E4C
-_080F1E0E:
- movs r1, 0
- adds r3, r2, 0x1
- lsls r2, 4
-_080F1E14:
- lsls r0, r1, 2
- adds r0, r2
- adds r0, r4, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F1E22
- str r5, [r0, 0x1C]
-_080F1E22:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _080F1E14
- lsls r0, r3, 16
- lsrs r2, r0, 16
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r2, r0
- blt _080F1E0E
-_080F1E38:
- movs r0, 0x6
- bl PlaySE
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1E44: .4byte gUnknown_083DFEC4
-_080F1E48: .4byte 0x0000030e
-_080F1E4C: .4byte sub_80F2218
- thumb_func_end sub_80F1DF0
-
- thumb_func_start sub_80F1E50
-sub_80F1E50: @ 80F1E50
- push {lr}
- bl sub_80F22F8
- lsls r0, 24
- cmp r0, 0
- bne _080F1E60
- movs r0, 0x1
- b _080F1E66
-_080F1E60:
- bl sub_80F2108
- movs r0, 0
-_080F1E66:
- pop {r1}
- bx r1
- thumb_func_end sub_80F1E50
-
- thumb_func_start sub_80F1E6C
-sub_80F1E6C: @ 80F1E6C
- push {lr}
- bl sub_80F22F8
- movs r1, 0
- lsls r0, 24
- cmp r0, 0
- bne _080F1E7C
- movs r1, 0x1
-_080F1E7C:
- adds r0, r1, 0
- pop {r1}
- bx r1
- thumb_func_end sub_80F1E6C
-
- thumb_func_start sub_80F1E84
-sub_80F1E84: @ 80F1E84
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r5, _080F1EFC
- ldr r4, [r5]
- ldr r1, _080F1F00
- adds r0, r4, r1
- movs r1, 0
- strb r1, [r0]
- bl sub_80F2148
- movs r2, 0
- ldr r3, _080F1F04
- adds r1, r4, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r2, r0
- bge _080F1EF2
- ldr r0, _080F1F08
- adds r7, r4, r0
- adds r6, r1, 0
- mov r8, r5
- ldr r1, _080F1F0C
- mov r12, r1
-_080F1EB4:
- movs r0, 0
- ldrsb r0, [r7, r0]
- adds r5, r2, 0x1
- cmp r2, r0
- beq _080F1EE6
- movs r1, 0
- mov r3, r8
- ldr r0, [r3]
- lsls r3, r2, 4
- movs r4, 0xC8
- lsls r4, 2
- adds r2, r0, r4
- mov r4, r12
-_080F1ECE:
- lsls r0, r1, 2
- adds r0, r3
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F1EDC
- str r4, [r0, 0x1C]
-_080F1EDC:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _080F1ECE
-_080F1EE6:
- lsls r0, r5, 16
- lsrs r2, r0, 16
- movs r0, 0
- ldrsb r0, [r6, r0]
- cmp r2, r0
- blt _080F1EB4
-_080F1EF2:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F1EFC: .4byte gUnknown_083DFEC4
-_080F1F00: .4byte 0x0000030f
-_080F1F04: .4byte 0x0000030e
-_080F1F08: .4byte 0x00006dad
-_080F1F0C: .4byte sub_80F2240
- thumb_func_end sub_80F1E84
-
- thumb_func_start sub_80F1F10
-sub_80F1F10: @ 80F1F10
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _080F1F2C
- ldr r4, [r0]
- ldr r1, _080F1F30
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F1F34
- cmp r0, 0x1
- beq _080F1FC0
- b _080F1FE4
- .align 2, 0
-_080F1F2C: .4byte gUnknown_083DFEC4
-_080F1F30: .4byte 0x0000030f
-_080F1F34:
- bl sub_80F2360
- lsls r0, 24
- cmp r0, 0
- beq _080F1FE4
- movs r6, 0
- adds r7, r4, 0
- movs r0, 0xC8
- lsls r0, 2
- adds r0, r7
- mov r8, r0
-_080F1F4A:
- lsls r5, r6, 2
- ldr r1, _080F1FAC
- adds r0, r7, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 4
- adds r0, r5, r0
- add r0, r8
- ldr r4, [r0]
- ldrb r0, [r4, 0x1]
- movs r1, 0x3
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldr r0, _080F1FB0
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl InitSpriteAffineAnim
- subs r5, 0x6
- strh r5, [r4, 0x36]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- strh r0, [r4, 0x36]
- movs r1, 0x36
- ldrsh r0, [r4, r1]
- lsls r0, 3
- strh r0, [r4, 0x38]
- ldr r0, _080F1FB4
- str r0, [r4, 0x1C]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x3
- bls _080F1F4A
- bl sub_80F2170
- ldr r0, _080F1FB8
- ldr r1, [r0]
- ldr r0, _080F1FBC
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080F1FE4
- .align 2, 0
-_080F1FAC: .4byte 0x00006dad
-_080F1FB0: .4byte gUnknown_083E4450
-_080F1FB4: .4byte sub_80F2240
-_080F1FB8: .4byte gUnknown_083DFEC4
-_080F1FBC: .4byte 0x0000030f
-_080F1FC0:
- bl sub_80F23C8
- lsls r0, 24
- cmp r0, 0
- beq _080F1FE4
- bl sub_80F21F8
- movs r0, 0
- bl FreeSpriteTilesByTag
- movs r0, 0
- bl FreeSpritePaletteByTag
- movs r0, 0x1
- bl FreeSpritePaletteByTag
- movs r0, 0
- b _080F1FE6
-_080F1FE4:
- movs r0, 0x1
-_080F1FE6:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F1F10
-
- thumb_func_start sub_80F1FF0
-sub_80F1FF0: @ 80F1FF0
- push {r4,lr}
- ldr r0, _080F203C
- ldr r4, [r0]
- ldr r1, _080F2040
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080F2058
- ldr r2, _080F2044
- ldr r3, _080F2048
- adds r0, r4, r3
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r1, 1
- movs r3, 0xC5
- lsls r3, 2
- adds r0, r4, r3
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- ldr r3, _080F204C
- ldr r1, _080F2050
- ldr r0, _080F2054
- adds r2, r4, r0
- ldrh r0, [r2]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- lsls r0, 16
- asrs r0, 21
- strh r0, [r3]
- ldrh r0, [r2]
- adds r0, 0x3
- movs r1, 0x7F
- ands r0, r1
- strh r0, [r2]
- b _080F2078
- .align 2, 0
-_080F203C: .4byte gUnknown_083DFEC4
-_080F2040: .4byte 0x00000311
-_080F2044: .4byte REG_WIN0V
-_080F2048: .4byte 0x00006dad
-_080F204C: .4byte REG_BLDY
-_080F2050: .4byte gSineTable
-_080F2054: .4byte 0x00000312
-_080F2058:
- cmp r0, 0x2
- bne _080F2078
- ldr r2, _080F2080
- ldr r1, _080F2084
- ldr r0, _080F2088
- adds r3, r4, r0
- ldrh r0, [r3]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r2]
- ldrh r0, [r3]
- cmp r0, 0xE
- bhi _080F2078
- adds r0, 0x1
- strh r0, [r3]
-_080F2078:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2080: .4byte REG_BLDALPHA
-_080F2084: .4byte gUnknown_083E42F8
-_080F2088: .4byte 0x00000312
- thumb_func_end sub_80F1FF0
-
- thumb_func_start sub_80F208C
-sub_80F208C: @ 80F208C
- push {lr}
- bl sub_80F2148
- pop {r0}
- bx r0
- thumb_func_end sub_80F208C
-
- thumb_func_start sub_80F2098
-sub_80F2098: @ 80F2098
- ldr r1, _080F20DC
- ldr r2, _080F20E0
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _080F20E4
- ldr r0, _080F20E8
- ldr r1, [r0]
- ldr r3, _080F20EC
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- movs r3, 0xC5
- lsls r3, 2
- adds r1, r3
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r2]
- ldr r1, _080F20F0
- movs r0, 0x3F
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x1F
- strh r0, [r1]
- subs r2, 0x44
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 6
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- bx lr
- .align 2, 0
-_080F20DC: .4byte REG_WIN0H
-_080F20E0: .4byte 0x000077f0
-_080F20E4: .4byte REG_WIN0V
-_080F20E8: .4byte gUnknown_083DFEC4
-_080F20EC: .4byte 0x00006dad
-_080F20F0: .4byte REG_WININ
- thumb_func_end sub_80F2098
-
- thumb_func_start sub_80F20F4
-sub_80F20F4: @ 80F20F4
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _080F2104
- ands r0, r1
- strh r0, [r2]
- bx lr
- .align 2, 0
-_080F2104: .4byte 0x0000dfff
- thumb_func_end sub_80F20F4
-
- thumb_func_start sub_80F2108
-sub_80F2108: @ 80F2108
- push {lr}
- ldr r0, _080F2134
- ldr r3, [r0]
- ldr r0, _080F2138
- adds r1, r3, r0
- ldrb r2, [r1]
- cmp r2, 0
- bne _080F2130
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _080F213C
- adds r0, r3, r1
- strh r2, [r0]
- ldr r1, _080F2140
- movs r0, 0x90
- strh r0, [r1]
- ldr r0, _080F2144
- strh r2, [r0]
- bl sub_80F2098
-_080F2130:
- pop {r0}
- bx r0
- .align 2, 0
-_080F2134: .4byte gUnknown_083DFEC4
-_080F2138: .4byte 0x00000311
-_080F213C: .4byte 0x00000312
-_080F2140: .4byte REG_BLDCNT
-_080F2144: .4byte REG_BLDY
- thumb_func_end sub_80F2108
-
- thumb_func_start sub_80F2148
-sub_80F2148: @ 80F2148
- push {lr}
- ldr r0, _080F2164
- ldr r0, [r0]
- ldr r1, _080F2168
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080F216C
- strh r1, [r0]
- bl sub_80F20F4
- pop {r0}
- bx r0
- .align 2, 0
-_080F2164: .4byte gUnknown_083DFEC4
-_080F2168: .4byte 0x00000311
-_080F216C: .4byte REG_BLDCNT
- thumb_func_end sub_80F2148
-
- thumb_func_start sub_80F2170
-sub_80F2170: @ 80F2170
- push {r4-r7,lr}
- ldr r7, _080F21E4
- ldr r4, [r7]
- ldr r1, _080F21E8
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F21DC
- bl sub_80F20F4
- movs r3, 0
- ldr r2, _080F21EC
- adds r5, r4, r2
- movs r0, 0xC8
- lsls r0, 2
- adds r4, r0
- movs r1, 0xD
- negs r1, r1
- mov r12, r1
- movs r6, 0x4
-_080F2198:
- lsls r1, r3, 2
- movs r0, 0
- ldrsb r0, [r5, r0]
- lsls r0, 4
- adds r1, r0
- adds r1, r4, r1
- ldr r2, [r1]
- ldrb r1, [r2, 0x1]
- mov r0, r12
- ands r0, r1
- orrs r0, r6
- strb r0, [r2, 0x1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080F2198
- ldr r1, [r7]
- ldr r0, _080F21E8
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0x2
- strb r0, [r2]
- ldr r2, _080F21F0
- adds r1, r2
- strh r3, [r1]
- ldr r1, _080F21F4
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x10
- strh r0, [r1]
-_080F21DC:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F21E4: .4byte gUnknown_083DFEC4
-_080F21E8: .4byte 0x00000311
-_080F21EC: .4byte 0x00006dad
-_080F21F0: .4byte 0x00000312
-_080F21F4: .4byte REG_BLDCNT
- thumb_func_end sub_80F2170
-
- thumb_func_start sub_80F21F8
-sub_80F21F8: @ 80F21F8
- ldr r0, _080F220C
- ldr r0, [r0]
- ldr r1, _080F2210
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080F2214
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080F220C: .4byte gUnknown_083DFEC4
-_080F2210: .4byte 0x00000311
-_080F2214: .4byte REG_BLDCNT
- thumb_func_end sub_80F21F8
-
- thumb_func_start sub_80F2218
-sub_80F2218: @ 80F2218
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x20]
- subs r0, 0x8
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- ldrh r3, [r2, 0x32]
- movs r4, 0x32
- ldrsh r1, [r2, r4]
- cmp r0, r1
- bgt _080F2236
- strh r3, [r2, 0x20]
- ldr r0, _080F223C
- str r0, [r2, 0x1C]
-_080F2236:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F223C: .4byte sub_80F22B0
- thumb_func_end sub_80F2218
-
- thumb_func_start sub_80F2240
-sub_80F2240: @ 80F2240
- push {r4,lr}
- adds r2, r0, 0
- ldr r0, _080F2288
- ldr r0, [r0]
- ldr r1, _080F228C
- adds r0, r1
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080F2290
- ldrh r3, [r2, 0x38]
- movs r4, 0x38
- ldrsh r0, [r2, r4]
- cmp r0, 0
- beq _080F2270
- ldrh r0, [r2, 0x36]
- ldrh r4, [r2, 0x20]
- adds r1, r0, r4
- strh r1, [r2, 0x20]
- subs r0, r3, r0
- strh r0, [r2, 0x38]
-_080F2270:
- adds r0, r2, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080F22A8
- adds r0, r2, 0
- bl sub_80F240C
- b _080F22A8
- .align 2, 0
-_080F2288: .4byte gUnknown_083DFEC4
-_080F228C: .4byte 0x00006dad
-_080F2290:
- ldrh r0, [r2, 0x20]
- adds r0, 0x8
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- movs r3, 0x34
- ldrsh r1, [r2, r3]
- cmp r0, r1
- blt _080F22A8
- adds r0, r2, 0
- bl sub_80F240C
-_080F22A8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F2240
-
- thumb_func_start sub_80F22B0
-sub_80F22B0: @ 80F22B0
- push {lr}
- adds r2, r0, 0
- ldr r0, _080F22DC
- ldr r0, [r0]
- ldr r1, _080F22E0
- adds r0, r1
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r1, r0
- bne _080F22E4
- ldrh r3, [r2, 0x24]
- movs r0, 0x24
- ldrsh r1, [r2, r0]
- movs r0, 0x10
- negs r0, r0
- cmp r1, r0
- ble _080F22F2
- subs r0, r3, 0x4
- b _080F22F0
- .align 2, 0
-_080F22DC: .4byte gUnknown_083DFEC4
-_080F22E0: .4byte 0x00006dad
-_080F22E4:
- ldrh r1, [r2, 0x24]
- movs r3, 0x24
- ldrsh r0, [r2, r3]
- cmp r0, 0
- bge _080F22F2
- adds r0, r1, 0x4
-_080F22F0:
- strh r0, [r2, 0x24]
-_080F22F2:
- pop {r0}
- bx r0
- thumb_func_end sub_80F22B0
-
- thumb_func_start sub_80F22F8
-sub_80F22F8: @ 80F22F8
- push {r4-r7,lr}
- movs r3, 0
- ldr r0, _080F233C
- ldr r1, [r0]
- ldr r2, _080F2340
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r3, r0
- bge _080F2358
- movs r7, 0xC8
- lsls r7, 2
- adds r4, r1, r7
- movs r5, 0x10
- negs r5, r5
- adds r6, r0, 0
-_080F231A:
- movs r1, 0
- lsls r2, r3, 4
-_080F231E:
- lsls r0, r1, 2
- adds r0, r2
- adds r0, r4, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F2358
- movs r7, 0x24
- ldrsh r0, [r0, r7]
- cmp r0, 0
- beq _080F2344
- cmp r0, r5
- beq _080F2344
- movs r0, 0
- b _080F235A
- .align 2, 0
-_080F233C: .4byte gUnknown_083DFEC4
-_080F2340: .4byte 0x00006dae
-_080F2344:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _080F231E
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r6
- blt _080F231A
-_080F2358:
- movs r0, 0x1
-_080F235A:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F22F8
-
- thumb_func_start sub_80F2360
-sub_80F2360: @ 80F2360
- push {r4-r7,lr}
- movs r4, 0
- ldr r0, _080F23A0
- ldr r2, [r0]
- ldr r1, _080F23A4
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- cmp r4, r1
- bge _080F23C0
- ldr r3, _080F23A8
- adds r0, r2, r3
- movs r6, 0
- ldrsb r6, [r0, r6]
- adds r5, r1, 0
-_080F237E:
- cmp r4, r6
- beq _080F23B6
- movs r1, 0
- ldr r0, _080F23A0
- ldr r0, [r0]
- lsls r3, r4, 4
- movs r7, 0xC8
- lsls r7, 2
- adds r2, r0, r7
-_080F2390:
- lsls r0, r1, 2
- adds r0, r3
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F23AC
- movs r0, 0
- b _080F23C2
- .align 2, 0
-_080F23A0: .4byte gUnknown_083DFEC4
-_080F23A4: .4byte 0x0000030e
-_080F23A8: .4byte 0x00006dad
-_080F23AC:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3
- bls _080F2390
-_080F23B6:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- blt _080F237E
-_080F23C0:
- movs r0, 0x1
-_080F23C2:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F2360
-
- thumb_func_start sub_80F23C8
-sub_80F23C8: @ 80F23C8
- push {lr}
- movs r2, 0
- ldr r0, _080F23F4
- ldr r1, [r0]
- ldr r3, _080F23F8
- adds r0, r1, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r3, r0, 4
- movs r0, 0xC8
- lsls r0, 2
- adds r1, r0
-_080F23E2:
- lsls r0, r2, 2
- adds r0, r3
- adds r0, r1, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F23FC
- movs r0, 0
- b _080F2408
- .align 2, 0
-_080F23F4: .4byte gUnknown_083DFEC4
-_080F23F8: .4byte 0x00006dad
-_080F23FC:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _080F23E2
- movs r0, 0x1
-_080F2408:
- pop {r1}
- bx r1
- thumb_func_end sub_80F23C8
-
- thumb_func_start sub_80F240C
-sub_80F240C: @ 80F240C
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080F2454
- ldr r2, [r0]
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- lsls r1, 2
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- lsls r0, 4
- adds r1, r0
- movs r0, 0xC8
- lsls r0, 2
- adds r2, r0
- adds r2, r1
- movs r0, 0
- str r0, [r2]
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080F2446
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
-_080F2446:
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2454: .4byte gUnknown_083DFEC4
- thumb_func_end sub_80F240C
-
- thumb_func_start sub_80F2458
-sub_80F2458: @ 80F2458
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- beq _080F24A0
- cmp r4, 0x1
- bgt _080F246C
- cmp r4, 0
- beq _080F2472
- b _080F2502
-_080F246C:
- cmp r4, 0x2
- beq _080F24D0
- b _080F2502
-_080F2472:
- ldr r2, _080F2498
- ldr r3, [r2]
- movs r0, 0xE0
- lsls r0, 2
- adds r1, r3, r0
- movs r5, 0xE2
- lsls r5, 2
- adds r0, r3, r5
- str r0, [r1]
- movs r0, 0xE1
- lsls r0, 2
- adds r1, r3, r0
- movs r0, 0xA0
- lsls r0, 5
- strh r0, [r1]
- ldr r1, _080F249C
- adds r0, r3, r1
- strh r4, [r0]
- b _080F24F6
- .align 2, 0
-_080F2498: .4byte gUnknown_083DFEC4
-_080F249C: .4byte 0x00000386
-_080F24A0:
- ldr r4, _080F24C4
- ldr r1, [r4]
- movs r3, 0xE0
- lsls r3, 2
- adds r2, r1, r3
- ldr r5, _080F24C8
- adds r0, r1, r5
- str r0, [r2]
- movs r0, 0xE1
- lsls r0, 2
- adds r2, r1, r0
- movs r3, 0
- movs r0, 0xC0
- lsls r0, 4
- strh r0, [r2]
- ldr r5, _080F24CC
- adds r1, r5
- b _080F24F2
- .align 2, 0
-_080F24C4: .4byte gUnknown_083DFEC4
-_080F24C8: .4byte 0x00001788
-_080F24CC: .4byte 0x00000386
-_080F24D0:
- ldr r4, _080F2508
- ldr r1, [r4]
- movs r0, 0xE0
- lsls r0, 2
- adds r2, r1, r0
- ldr r3, _080F250C
- adds r0, r1, r3
- str r0, [r2]
- movs r5, 0xE1
- lsls r5, 2
- adds r2, r1, r5
- movs r3, 0
- movs r0, 0xC0
- lsls r0, 5
- strh r0, [r2]
- ldr r0, _080F2510
- adds r1, r0
-_080F24F2:
- strh r3, [r1]
- adds r2, r4, 0
-_080F24F6:
- ldr r0, [r2]
- movs r1, 0xE0
- lsls r1, 2
- adds r0, r1
- bl LoadSpriteSheet
-_080F2502:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2508: .4byte gUnknown_083DFEC4
-_080F250C: .4byte 0x00002388
-_080F2510: .4byte 0x00000386
- thumb_func_end sub_80F2458
-
- thumb_func_start sub_80F2514
-sub_80F2514: @ 80F2514
- push {r4,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, 0x1
- beq _080F2558
- cmp r0, 0x1
- bgt _080F252C
- cmp r0, 0
- beq _080F2532
- b _080F2586
-_080F252C:
- cmp r1, 0x2
- beq _080F2568
- b _080F2586
-_080F2532:
- ldr r0, _080F254C
- str r0, [sp]
- ldr r1, _080F2550
- mov r4, sp
- ldr r0, [sp, 0x4]
- ands r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpritePalette
- ldr r0, _080F2554
- b _080F257A
- .align 2, 0
-_080F254C: .4byte gPokenavMenuOptions1_Pal
-_080F2550: .4byte 0xffff0000
-_080F2554: .4byte gPokenavMenuOptions2_Pal
-_080F2558:
- ldr r0, _080F2564
- str r0, [sp]
- mov r1, sp
- movs r0, 0
- strh r0, [r1, 0x4]
- b _080F2580
- .align 2, 0
-_080F2564: .4byte gPokenavConditionMenu_Pal
-_080F2568:
- ldr r0, _080F2590
- str r0, [sp]
- mov r4, sp
- movs r0, 0
- strh r0, [r4, 0x4]
- mov r0, sp
- bl LoadSpritePalette
- ldr r0, _080F2594
-_080F257A:
- str r0, [sp]
- movs r0, 0x1
- strh r0, [r4, 0x4]
-_080F2580:
- mov r0, sp
- bl LoadSpritePalette
-_080F2586:
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2590: .4byte gPokenavCondition6_Pal
-_080F2594: .4byte gPokenavCondition7_Pal
- thumb_func_end sub_80F2514
-
- thumb_func_start sub_80F2598
-sub_80F2598: @ 80F2598
- push {r4,lr}
- ldr r0, _080F25F0
- ldr r0, [r0]
- ldr r1, _080F25F4
- adds r4, r0, r1
- movs r0, 0
- str r0, [r4]
- ldr r1, _080F25F8
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- lsls r0, 16
- lsrs r0, 16
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl sub_8082C0C
- cmp r0, 0x1
- bne _080F2618
- ldr r0, _080F25FC
- bl LoadSpriteSheet
- ldr r0, _080F2600
- bl LoadSpritePalette
- ldr r0, _080F2604
- movs r1, 0xC
- movs r2, 0x60
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080F260C
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F2608
- adds r0, r1
- str r0, [r4]
- b _080F2618
- .align 2, 0
-_080F25F0: .4byte gUnknown_083DFEC4
-_080F25F4: .4byte 0x00006d9c
-_080F25F8: .4byte gSaveBlock1
-_080F25FC: .4byte gSpriteSheet_PokenavBlueLight
-_080F2600: .4byte gSpritePalette_PokenavBlueLight
-_080F2604: .4byte gSpriteTemplate_83E4484
-_080F2608: .4byte gSprites
-_080F260C:
- movs r0, 0x19
- bl FreeSpriteTilesByTag
- movs r0, 0x11
- bl FreeSpritePaletteByTag
-_080F2618:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F2598
-
- thumb_func_start sub_80F2620
-sub_80F2620: @ 80F2620
- push {r4,lr}
- ldr r0, _080F264C
- ldr r0, [r0]
- ldr r1, _080F2650
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _080F2644
- bl DestroySprite
- movs r0, 0x19
- bl FreeSpriteTilesByTag
- movs r0, 0x11
- bl FreeSpritePaletteByTag
- movs r0, 0
- str r0, [r4]
-_080F2644:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F264C: .4byte gUnknown_083DFEC4
-_080F2650: .4byte 0x00006d9c
- thumb_func_end sub_80F2620
-
- thumb_func_start sub_80F2654
-sub_80F2654: @ 80F2654
- push {lr}
- adds r3, r0, 0
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6
- ble _080F2682
- movs r0, 0
- strh r0, [r3, 0x2E]
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
-_080F2682:
- pop {r0}
- bx r0
- thumb_func_end sub_80F2654
-
- thumb_func_start sub_80F2688
-sub_80F2688: @ 80F2688
- push {lr}
- ldr r0, _080F26B0
- ldr r0, [r0]
- ldr r1, _080F26B4
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F26B8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F26AA
-_080F26A0:
- bl sub_80F26BC
- lsls r0, 24
- cmp r0, 0
- bne _080F26A0
-_080F26AA:
- pop {r0}
- bx r0
- .align 2, 0
-_080F26B0: .4byte gUnknown_083DFEC4
-_080F26B4: .4byte 0x00000306
-_080F26B8: .4byte 0x00006dac
- thumb_func_end sub_80F2688
-
- thumb_func_start sub_80F26BC
-sub_80F26BC: @ 80F26BC
- push {lr}
- ldr r0, _080F26D8
- ldr r0, [r0]
- ldr r1, _080F26DC
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x7
- bls _080F26CE
- b _080F27BC
-_080F26CE:
- lsls r0, 2
- ldr r1, _080F26E0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F26D8: .4byte gUnknown_083DFEC4
-_080F26DC: .4byte 0x00000306
-_080F26E0: .4byte _080F26E4
- .align 2, 0
-_080F26E4:
- .4byte _080F2704
- .4byte _080F271C
- .4byte _080F2734
- .4byte _080F274C
- .4byte _080F2764
- .4byte _080F277C
- .4byte _080F2794
- .4byte _080F27B0
-_080F2704:
- ldr r0, _080F2710
- ldr r1, _080F2714
- ldr r1, [r1]
- ldr r2, _080F2718
- b _080F279C
- .align 2, 0
-_080F2710: .4byte gPokenavMainMenu_Gfx
-_080F2714: .4byte gUnknown_083DFEC4
-_080F2718: .4byte 0x00003b98
-_080F271C:
- ldr r0, _080F2728
- ldr r1, _080F272C
- ldr r1, [r1]
- ldr r2, _080F2730
- b _080F279C
- .align 2, 0
-_080F2728: .4byte gPokenavConditionMenuHeader_Gfx
-_080F272C: .4byte gUnknown_083DFEC4
-_080F2730: .4byte 0x00004198
-_080F2734:
- ldr r0, _080F2740
- ldr r1, _080F2744
- ldr r1, [r1]
- ldr r2, _080F2748
- b _080F279C
- .align 2, 0
-_080F2740: .4byte gPokenavRibbonsHeader_Gfx
-_080F2744: .4byte gUnknown_083DFEC4
-_080F2748: .4byte 0x00004d98
-_080F274C:
- ldr r0, _080F2758
- ldr r1, _080F275C
- ldr r1, [r1]
- ldr r2, _080F2760
- b _080F279C
- .align 2, 0
-_080F2758: .4byte gPokenavHoennMapHeader_Gfx
-_080F275C: .4byte gUnknown_083DFEC4
-_080F2760: .4byte 0x00005398
-_080F2764:
- ldr r0, _080F2770
- ldr r1, _080F2774
- ldr r1, [r1]
- ldr r2, _080F2778
- b _080F279C
- .align 2, 0
-_080F2770: .4byte gPokenavConditionMenuOptions_Gfx
-_080F2774: .4byte gUnknown_083DFEC4
-_080F2778: .4byte 0x00005f98
-_080F277C:
- ldr r0, _080F2788
- ldr r1, _080F278C
- ldr r1, [r1]
- ldr r2, _080F2790
- b _080F279C
- .align 2, 0
-_080F2788: .4byte gPokenavConditionMenuOptions2_Gfx
-_080F278C: .4byte gUnknown_083DFEC4
-_080F2790: .4byte 0x00006798
-_080F2794:
- ldr r0, _080F27A4
- ldr r1, _080F27A8
- ldr r1, [r1]
- ldr r2, _080F27AC
-_080F279C:
- adds r1, r2
- bl LZ77UnCompWram
- b _080F27C0
- .align 2, 0
-_080F27A4: .4byte gPokenavTrainersEyesHeader_Gfx
-_080F27A8: .4byte gUnknown_083DFEC4
-_080F27AC: .4byte 0x00004798
-_080F27B0:
- ldr r0, _080F27B8
- bl LoadSpritePalettes
- b _080F27C0
- .align 2, 0
-_080F27B8: .4byte gUnknown_083E449C
-_080F27BC:
- movs r0, 0
- b _080F27D0
-_080F27C0:
- ldr r0, _080F27D4
- ldr r1, [r0]
- ldr r0, _080F27D8
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080F27D0:
- pop {r1}
- bx r1
- .align 2, 0
-_080F27D4: .4byte gUnknown_083DFEC4
-_080F27D8: .4byte 0x00000306
- thumb_func_end sub_80F26BC
-
- thumb_func_start sub_80F27DC
-sub_80F27DC: @ 80F27DC
- push {lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB
- bls _080F27EA
- b _080F29A0
-_080F27EA:
- lsls r0, 2
- ldr r1, _080F27F4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F27F4: .4byte _080F27F8
- .align 2, 0
-_080F27F8:
- .4byte _080F2828
- .4byte _080F2858
- .4byte _080F28B8
- .4byte _080F2888
- .4byte _080F28E8
- .4byte _080F2918
- .4byte _080F2928
- .4byte _080F2978
- .4byte _080F2938
- .4byte _080F2948
- .4byte _080F2968
- .4byte _080F2958
-_080F2828:
- ldr r0, _080F2848
- ldr r0, [r0]
- ldr r1, _080F284C
- adds r0, r1
- str r0, [sp]
- ldr r1, _080F2850
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 3
- orrs r0, r1
- ldr r1, _080F2854
- ands r0, r1
- adds r1, 0x1
- b _080F2996
- .align 2, 0
-_080F2848: .4byte gUnknown_083DFEC4
-_080F284C: .4byte 0x00003b98
-_080F2850: .4byte 0xffff0000
-_080F2854: .4byte 0x0000ffff
-_080F2858:
- ldr r0, _080F2878
- ldr r0, [r0]
- ldr r1, _080F287C
- adds r0, r1
- str r0, [sp]
- ldr r1, _080F2880
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 3
- orrs r0, r1
- ldr r1, _080F2884
- ands r0, r1
- adds r1, 0x1
- b _080F2996
- .align 2, 0
-_080F2878: .4byte gUnknown_083DFEC4
-_080F287C: .4byte 0x00004198
-_080F2880: .4byte 0xffff0000
-_080F2884: .4byte 0x0000ffff
-_080F2888:
- ldr r0, _080F28A8
- ldr r0, [r0]
- ldr r1, _080F28AC
- adds r0, r1
- str r0, [sp]
- ldr r1, _080F28B0
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 3
- orrs r0, r1
- ldr r1, _080F28B4
- ands r0, r1
- adds r1, 0x1
- b _080F2996
- .align 2, 0
-_080F28A8: .4byte gUnknown_083DFEC4
-_080F28AC: .4byte 0x00004798
-_080F28B0: .4byte 0xffff0000
-_080F28B4: .4byte 0x0000ffff
-_080F28B8:
- ldr r0, _080F28D8
- ldr r0, [r0]
- ldr r1, _080F28DC
- adds r0, r1
- str r0, [sp]
- ldr r1, _080F28E0
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 3
- orrs r0, r1
- ldr r1, _080F28E4
- ands r0, r1
- adds r1, 0x1
- b _080F2996
- .align 2, 0
-_080F28D8: .4byte gUnknown_083DFEC4
-_080F28DC: .4byte 0x00004d98
-_080F28E0: .4byte 0xffff0000
-_080F28E4: .4byte 0x0000ffff
-_080F28E8:
- ldr r0, _080F2908
- ldr r0, [r0]
- ldr r1, _080F290C
- adds r0, r1
- str r0, [sp]
- ldr r1, _080F2910
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xC0
- lsls r1, 4
- orrs r0, r1
- ldr r1, _080F2914
- ands r0, r1
- adds r1, 0x1
- b _080F2996
- .align 2, 0
-_080F2908: .4byte gUnknown_083DFEC4
-_080F290C: .4byte 0x00005398
-_080F2910: .4byte 0xffff0000
-_080F2914: .4byte 0x0000ffff
-_080F2918:
- ldr r0, _080F2920
- ldr r0, [r0]
- ldr r1, _080F2924
- b _080F297E
- .align 2, 0
-_080F2920: .4byte gUnknown_083DFEC4
-_080F2924: .4byte 0x00005f98
-_080F2928:
- ldr r0, _080F2930
- ldr r0, [r0]
- ldr r1, _080F2934
- b _080F297E
- .align 2, 0
-_080F2930: .4byte gUnknown_083DFEC4
-_080F2934: .4byte 0x00006198
-_080F2938:
- ldr r0, _080F2940
- ldr r0, [r0]
- ldr r1, _080F2944
- b _080F297E
- .align 2, 0
-_080F2940: .4byte gUnknown_083DFEC4
-_080F2944: .4byte 0x00006398
-_080F2948:
- ldr r0, _080F2950
- ldr r0, [r0]
- ldr r1, _080F2954
- b _080F297E
- .align 2, 0
-_080F2950: .4byte gUnknown_083DFEC4
-_080F2954: .4byte 0x00006598
-_080F2958:
- ldr r0, _080F2960
- ldr r0, [r0]
- ldr r1, _080F2964
- b _080F297E
- .align 2, 0
-_080F2960: .4byte gUnknown_083DFEC4
-_080F2964: .4byte 0x00006998
-_080F2968:
- ldr r0, _080F2970
- ldr r0, [r0]
- ldr r1, _080F2974
- b _080F297E
- .align 2, 0
-_080F2970: .4byte gUnknown_083DFEC4
-_080F2974: .4byte 0x00006798
-_080F2978:
- ldr r0, _080F29A8
- ldr r0, [r0]
- ldr r1, _080F29AC
-_080F297E:
- adds r0, r1
- str r0, [sp]
- ldr r1, _080F29B0
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0x80
- lsls r1, 2
- orrs r0, r1
- ldr r1, _080F29B4
- ands r0, r1
- movs r1, 0x80
- lsls r1, 10
-_080F2996:
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
-_080F29A0:
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080F29A8: .4byte gUnknown_083DFEC4
-_080F29AC: .4byte 0x00006b98
-_080F29B0: .4byte 0xffff0000
-_080F29B4: .4byte 0x0000ffff
- thumb_func_end sub_80F27DC
-
- thumb_func_start sub_80F29B8
-sub_80F29B8: @ 80F29B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- lsls r0, 24
- lsrs r7, r0, 24
- movs r0, 0
- mov r8, r0
- cmp r7, 0xB
- bls _080F29D2
- b _080F2BA6
-_080F29D2:
- lsls r0, r7, 2
- ldr r1, _080F29DC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F29DC: .4byte _080F29E0
- .align 2, 0
-_080F29E0:
- .4byte _080F2A10
- .4byte _080F2A10
- .4byte _080F2A10
- .4byte _080F2A10
- .4byte _080F2A58
- .4byte _080F2A94
- .4byte _080F2A94
- .4byte _080F2A98
- .4byte _080F2A94
- .4byte _080F2A94
- .4byte _080F2A98
- .4byte _080F2A98
-_080F2A10:
- ldr r3, _080F2A44
- ldr r0, _080F2A48
- ldr r2, [r0]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r2, r1
- ldrh r1, [r0]
- movs r0, 0x31
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- movs r4, 0x8
- str r4, [sp]
- movs r1, 0x20
- str r1, [sp, 0x4]
- movs r1, 0x40
- ldr r4, _080F2A4C
- adds r4, r2
- mov r9, r4
- ldr r2, _080F2A50
- mov r8, r2
- cmp r7, 0x3
- beq _080F2AC8
- ldr r4, _080F2A54
- mov r8, r4
- b _080F2AC8
- .align 2, 0
-_080F2A44: .4byte 0x0000ffa0
-_080F2A48: .4byte gUnknown_083DFEC4
-_080F2A4C: .4byte 0x00003b88
-_080F2A50: .4byte gSpriteTemplate_83E44F8
-_080F2A54: .4byte gSpriteTemplate_83E44E0
-_080F2A58:
- movs r3, 0x88
- lsls r3, 1
- ldr r0, _080F2A84
- ldr r2, [r0]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r2, r1
- ldrh r1, [r0]
- movs r0, 0x31
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _080F2A88
- str r4, [sp]
- movs r1, 0x98
- str r1, [sp, 0x4]
- movs r1, 0x40
- ldr r4, _080F2A8C
- mov r8, r4
- ldr r4, _080F2A90
- b _080F2AC4
- .align 2, 0
-_080F2A84: .4byte gUnknown_083DFEC4
-_080F2A88: .4byte 0x0000fff8
-_080F2A8C: .4byte gSpriteTemplate_83E44E0
-_080F2A90: .4byte 0x00003b88
-_080F2A94:
- ldr r0, _080F2B40
- mov r8, r0
-_080F2A98:
- mov r1, r8
- cmp r1, 0
- bne _080F2AA2
- ldr r2, _080F2B44
- mov r8, r2
-_080F2AA2:
- ldr r3, _080F2B48
- ldr r0, _080F2B4C
- ldr r2, [r0]
- movs r4, 0xC3
- lsls r4, 2
- adds r0, r2, r4
- ldrh r1, [r0]
- movs r0, 0x44
- subs r0, r1
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x8
- str r1, [sp]
- movs r4, 0x10
- str r4, [sp, 0x4]
- movs r1, 0x20
- ldr r4, _080F2B50
-_080F2AC4:
- adds r4, r2
- mov r9, r4
-_080F2AC8:
- movs r6, 0
- lsls r1, 16
- str r1, [sp, 0x10]
- lsls r3, 16
- str r3, [sp, 0x8]
- lsls r0, 16
- str r0, [sp, 0xC]
- ldr r0, _080F2B54
- mov r10, r0
-_080F2ADA:
- ldr r1, [sp, 0x10]
- asrs r0, r1, 16
- adds r5, r6, 0
- muls r5, r0
- ldr r2, [sp, 0x8]
- asrs r1, r2, 16
- adds r1, r5
- lsls r1, 16
- asrs r1, 16
- mov r0, r8
- ldr r3, [sp, 0xC]
- asrs r2, r3, 16
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x40
- beq _080F2B9C
- lsls r0, r4, 4
- adds r1, r0, r4
- lsls r1, 2
- mov r2, r10
- adds r3, r1, r2
- mov r1, sp
- ldrh r1, [r1]
- strh r1, [r3, 0x2E]
- ldr r2, [sp, 0x4]
- adds r1, r2, r5
- strh r1, [r3, 0x30]
- strh r6, [r3, 0x32]
- strh r7, [r3, 0x34]
- adds r5, r0, 0
- cmp r7, 0x4
- bne _080F2B5C
- cmp r6, 0x1
- bne _080F2B5C
- ldr r0, _080F2B4C
- ldr r0, [r0]
- ldr r1, _080F2B58
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- cmp r0, 0
- bne _080F2B36
- movs r1, 0x1
-_080F2B36:
- adds r0, r3, 0
- bl StartSpriteAnim
- b _080F2B6A
- .align 2, 0
-_080F2B40: .4byte gSpriteTemplate_83E4530
-_080F2B44: .4byte gSpriteTemplate_83E4548
-_080F2B48: .4byte 0x0000ffa0
-_080F2B4C: .4byte gUnknown_083DFEC4
-_080F2B50: .4byte 0x00003b90
-_080F2B54: .4byte gSprites
-_080F2B58: .4byte 0x00006e90
-_080F2B5C:
- adds r0, r5, r4
- lsls r0, 2
- add r0, r10
- lsls r1, r6, 24
- lsrs r1, 24
- bl StartSpriteAnim
-_080F2B6A:
- ldr r2, _080F2BB8
- mov r12, r2
- cmp r7, 0x3
- bhi _080F2B90
- cmp r6, 0x1
- bne _080F2B90
- adds r2, r5, r4
- lsls r2, 2
- add r2, r10
- ldrb r3, [r2, 0x1]
- movs r1, 0x3F
- adds r0, r1, 0
- ands r0, r3
- strb r0, [r2, 0x1]
- ldrb r0, [r2, 0x3]
- ands r1, r0
- movs r0, 0x80
- orrs r1, r0
- strb r1, [r2, 0x3]
-_080F2B90:
- lsls r1, r6, 2
- add r1, r9
- adds r0, r5, r4
- lsls r0, 2
- add r0, r12
- str r0, [r1]
-_080F2B9C:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x1
- bls _080F2ADA
-_080F2BA6:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2BB8: .4byte gSprites
- thumb_func_end sub_80F29B8
-
- thumb_func_start sub_80F2BBC
-sub_80F2BBC: @ 80F2BBC
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x20]
- ldrh r1, [r2, 0x2E]
- adds r3, r0, r1
- strh r3, [r2, 0x20]
- lsls r0, 16
- asrs r4, r0, 16
- movs r0, 0x30
- ldrsh r1, [r2, r0]
- cmp r4, r1
- bgt _080F2BE0
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r1
- bge _080F2BE8
- cmp r4, r1
- blt _080F2C08
-_080F2BE0:
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r1
- bgt _080F2C08
-_080F2BE8:
- ldrh r0, [r2, 0x30]
- strh r0, [r2, 0x20]
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- cmp r0, 0x4
- bne _080F2C04
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _080F2C04
- ldr r0, _080F2C00
- b _080F2C06
- .align 2, 0
-_080F2C00: .4byte sub_80F2C58
-_080F2C04:
- ldr r0, _080F2C10
-_080F2C06:
- str r0, [r2, 0x1C]
-_080F2C08:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2C10: .4byte SpriteCallbackDummy
- thumb_func_end sub_80F2BBC
-
- thumb_func_start sub_80F2C14
-sub_80F2C14: @ 80F2C14
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x20]
- ldrh r1, [r4, 0x2E]
- subs r0, r1
- strh r0, [r4, 0x20]
- adds r0, 0x20
- lsls r0, 16
- movs r1, 0x98
- lsls r1, 17
- cmp r0, r1
- bls _080F2C50
- movs r1, 0x32
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- bne _080F2C4A
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x4
- bgt _080F2C44
- movs r0, 0x1
- bl FreeSpriteTilesByTag
- b _080F2C4A
-_080F2C44:
- movs r0, 0x2
- bl FreeSpriteTilesByTag
-_080F2C4A:
- adds r0, r4, 0
- bl DestroySprite
-_080F2C50:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F2C14
-
- thumb_func_start sub_80F2C58
-sub_80F2C58: @ 80F2C58
- push {lr}
- adds r2, r0, 0
- ldr r0, _080F2C78
- ldr r0, [r0]
- ldr r1, _080F2C7C
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0x2
- cmp r0, 0
- bne _080F2C6E
- movs r1, 0x1
-_080F2C6E:
- adds r0, r2, 0
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_080F2C78: .4byte gUnknown_083DFEC4
-_080F2C7C: .4byte 0x00006e90
- thumb_func_end sub_80F2C58
-
- thumb_func_start sub_80F2C80
-sub_80F2C80: @ 80F2C80
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080F2CB0
- ldr r0, [r0]
- ldr r1, _080F2CB4
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F2CB8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F2CA8
-_080F2C9C:
- adds r0, r4, 0
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080F2C9C
-_080F2CA8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2CB0: .4byte gUnknown_083DFEC4
-_080F2CB4: .4byte 0x00000306
-_080F2CB8: .4byte 0x00006dac
- thumb_func_end sub_80F2C80
-
- thumb_func_start sub_80F2CBC
-sub_80F2CBC: @ 80F2CBC
- push {r4,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080F2CD8
- ldr r0, [r0]
- ldr r2, _080F2CDC
- adds r4, r0, r2
- ldrh r0, [r4]
- cmp r0, 0
- beq _080F2CE0
- cmp r0, 0x1
- beq _080F2CF0
- b _080F2CFC
- .align 2, 0
-_080F2CD8: .4byte gUnknown_083DFEC4
-_080F2CDC: .4byte 0x00000306
-_080F2CE0:
- adds r0, r1, 0
- bl sub_80F27DC
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- movs r0, 0x1
- b _080F2CFE
-_080F2CF0:
- adds r0, r1, 0
- bl sub_80F29B8
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080F2CFC:
- movs r0, 0
-_080F2CFE:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F2CBC
-
- thumb_func_start sub_80F2D04
-sub_80F2D04: @ 80F2D04
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080F2D3C
- movs r1, 0
- ldr r0, _080F2D30
- ldr r0, [r0]
- ldr r3, _080F2D34
- adds r2, r0, r3
- ldr r3, _080F2D38
-_080F2D1A:
- lsls r0, r1, 2
- adds r0, r2, r0
- ldr r0, [r0]
- str r3, [r0, 0x1C]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bls _080F2D1A
- b _080F2D5A
- .align 2, 0
-_080F2D30: .4byte gUnknown_083DFEC4
-_080F2D34: .4byte 0x00003b88
-_080F2D38: .4byte sub_80F2C14
-_080F2D3C:
- movs r1, 0
- ldr r0, _080F2D60
- ldr r0, [r0]
- ldr r3, _080F2D64
- adds r2, r0, r3
- ldr r3, _080F2D68
-_080F2D48:
- lsls r0, r1, 2
- adds r0, r2, r0
- ldr r0, [r0]
- str r3, [r0, 0x1C]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bls _080F2D48
-_080F2D5A:
- pop {r0}
- bx r0
- .align 2, 0
-_080F2D60: .4byte gUnknown_083DFEC4
-_080F2D64: .4byte 0x00003b90
-_080F2D68: .4byte sub_80F2C14
- thumb_func_end sub_80F2D04
-
- thumb_func_start sub_80F2D6C
-sub_80F2D6C: @ 80F2D6C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080F2DA4
- movs r0, 0x1
- bl FreeSpriteTilesByTag
- movs r4, 0
- ldr r0, _080F2D9C
- ldr r0, [r0]
- ldr r1, _080F2DA0
- adds r5, r0, r1
-_080F2D86:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080F2D86
- b _080F2DC8
- .align 2, 0
-_080F2D9C: .4byte gUnknown_083DFEC4
-_080F2DA0: .4byte 0x00003b88
-_080F2DA4:
- movs r0, 0x2
- bl FreeSpriteTilesByTag
- movs r4, 0
- ldr r0, _080F2DD0
- ldr r0, [r0]
- ldr r1, _080F2DD4
- adds r5, r0, r1
-_080F2DB4:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080F2DB4
-_080F2DC8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2DD0: .4byte gUnknown_083DFEC4
-_080F2DD4: .4byte 0x00003b90
- thumb_func_end sub_80F2D6C
-
- thumb_func_start sub_80F2DD8
-sub_80F2DD8: @ 80F2DD8
- push {lr}
- movs r0, 0x7
- movs r1, 0x7
- bl sub_80FBB3C
- movs r0, 0x8
- movs r1, 0x8
- bl sub_80FBCF0
- bl sub_80FBF94
- pop {r0}
- bx r0
- thumb_func_end sub_80F2DD8
-
- thumb_func_start sub_80F2DF4
-sub_80F2DF4: @ 80F2DF4
- push {lr}
- bl sub_80FAB10
- pop {r0}
- bx r0
- thumb_func_end sub_80F2DF4
-
- thumb_func_start sub_80F2E00
-sub_80F2E00: @ 80F2E00
- ldr r1, _080F2E10
- ldr r1, [r1]
- ldr r2, _080F2E14
- adds r1, r2
- ldrh r1, [r1]
- adds r1, 0x26
- strh r1, [r0, 0x20]
- bx lr
- .align 2, 0
-_080F2E10: .4byte gUnknown_083DFEC4
-_080F2E14: .4byte 0x00008766
- thumb_func_end sub_80F2E00
-
- thumb_func_start sub_80F2E18
-sub_80F2E18: @ 80F2E18
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x28
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r0, _080F2EA8
- ldr r4, [r0]
- ldr r0, _080F2EAC
- adds r7, r4, r0
- ldr r1, [r7]
- mov r8, r1
- cmp r1, 0
- bne _080F2EFC
- ldr r0, _080F2EB0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x20]
- str r1, [sp, 0x24]
- mov r1, sp
- ldr r0, _080F2EB4
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldr r0, _080F2EB8
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- lsls r0, r3, 13
- ldr r1, _080F2EBC
- adds r0, r1
- adds r0, r4, r0
- str r0, [sp, 0x20]
- lsls r0, r3, 7
- adds r0, r4, r0
- str r0, [sp, 0x18]
- add r0, sp, 0x18
- bl LoadSpritePalette
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080F2EC0
- adds r5, r4, r2
- strh r0, [r5]
- add r0, sp, 0x20
- bl LoadSpriteSheet
- ldr r1, _080F2EC4
- adds r6, r4, r1
- strh r0, [r6]
- mov r0, sp
- movs r1, 0x26
- movs r2, 0x68
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _080F2EC8
- movs r0, 0x6
- bl FreeSpriteTilesByTag
- movs r0, 0x6
- bl FreeSpritePaletteByTag
- mov r2, r8
- str r2, [r7]
- b _080F2F26
- .align 2, 0
-_080F2EA8: .4byte gUnknown_083DFEC4
-_080F2EAC: .4byte 0x00008768
-_080F2EB0: .4byte gUnknown_083E4568
-_080F2EB4: .4byte gSpriteTemplate_83E4570
-_080F2EB8: .4byte gUnknown_083E4588
-_080F2EBC: .4byte 0x0000d1e4
-_080F2EC0: .4byte 0x0000d1dc
-_080F2EC4: .4byte 0x0000d1de
-_080F2EC8:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F2EF0
- adds r0, r1
- str r0, [r7]
- ldr r0, _080F2EF4
- adds r1, r4, r0
- ldrh r0, [r6]
- lsls r0, 5
- ldr r2, _080F2EF8
- adds r0, r2
- str r0, [r1]
- ldrh r0, [r5]
- lsls r0, 4
- movs r6, 0x80
- lsls r6, 1
- adds r0, r6
- strh r0, [r5]
- b _080F2F26
- .align 2, 0
-_080F2EF0: .4byte gSprites
-_080F2EF4: .4byte 0x0000d1e0
-_080F2EF8: .4byte 0x06010000
-_080F2EFC:
- lsls r0, r3, 13
- ldr r1, _080F2F34
- adds r0, r1
- adds r0, r4, r0
- ldr r2, _080F2F38
- adds r1, r4, r2
- ldr r2, [r1]
- ldr r1, _080F2F3C
- str r0, [r1]
- str r2, [r1, 0x4]
- ldr r0, _080F2F40
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- lsls r0, r3, 7
- adds r0, r4, r0
- ldr r5, _080F2F44
- adds r1, r4, r5
- ldrh r1, [r1]
- movs r2, 0x20
- bl LoadPalette
-_080F2F26:
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2F34: .4byte 0x0000d1e4
-_080F2F38: .4byte 0x0000d1e0
-_080F2F3C: .4byte 0x040000d4
-_080F2F40: .4byte 0x80000400
-_080F2F44: .4byte 0x0000d1dc
- thumb_func_end sub_80F2E18
-
- thumb_func_start sub_80F2F48
-sub_80F2F48: @ 80F2F48
- push {r4,lr}
- ldr r0, _080F2F74
- ldr r0, [r0]
- ldr r1, _080F2F78
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _080F2F6C
- bl DestroySprite
- movs r0, 0x6
- bl FreeSpriteTilesByTag
- movs r0, 0x6
- bl FreeSpritePaletteByTag
- movs r0, 0
- str r0, [r4]
-_080F2F6C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2F74: .4byte gUnknown_083DFEC4
-_080F2F78: .4byte 0x00008768
- thumb_func_end sub_80F2F48
-
- thumb_func_start sub_80F2F7C
-sub_80F2F7C: @ 80F2F7C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80F2E18
- ldr r0, _080F2FA0
- ldr r0, [r0]
- ldr r1, _080F2FA4
- adds r2, r0, r1
- ldr r1, _080F2FA8
- adds r0, r1
- ldr r1, [r0]
- str r1, [r2]
- ldr r0, _080F2FAC
- str r0, [r1, 0x1C]
- pop {r0}
- bx r0
- .align 2, 0
-_080F2FA0: .4byte gUnknown_083DFEC4
-_080F2FA4: .4byte 0x0000ced0
-_080F2FA8: .4byte 0x00008768
-_080F2FAC: .4byte sub_80F2FEC
- thumb_func_end sub_80F2F7C
-
- thumb_func_start sub_80F2FB0
-sub_80F2FB0: @ 80F2FB0
- push {r4,r5,lr}
- ldr r0, _080F2FE0
- ldr r5, [r0]
- ldr r0, _080F2FE4
- adds r4, r5, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F2FDA
- bl DestroySprite
- movs r0, 0x6
- bl FreeSpriteTilesByTag
- movs r0, 0x6
- bl FreeSpritePaletteByTag
- movs r1, 0
- str r1, [r4]
- ldr r2, _080F2FE8
- adds r0, r5, r2
- str r1, [r0]
-_080F2FDA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F2FE0: .4byte gUnknown_083DFEC4
-_080F2FE4: .4byte 0x0000ced0
-_080F2FE8: .4byte 0x00008768
- thumb_func_end sub_80F2FB0
-
- thumb_func_start sub_80F2FEC
-sub_80F2FEC: @ 80F2FEC
- ldr r1, _080F3000
- ldr r1, [r1]
- ldr r2, _080F3004
- adds r1, r2
- ldrh r1, [r1]
- adds r1, 0x28
- strh r1, [r0, 0x20]
- movs r1, 0x68
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080F3000: .4byte gUnknown_083DFEC4
-_080F3004: .4byte 0x0000d15a
- thumb_func_end sub_80F2FEC
-
- thumb_func_start sub_80F3008
-sub_80F3008: @ 80F3008
- push {r4,r5,lr}
- sub sp, 0x20
- lsls r0, 24
- lsrs r2, r0, 24
- mov r1, sp
- ldr r0, _080F3060
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldm r0!, {r3-r5}
- stm r1!, {r3-r5}
- ldr r0, _080F3064
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x18]
- str r1, [sp, 0x1C]
- cmp r2, 0x2
- bgt _080F3032
- cmp r2, 0x1
- blt _080F3032
- ldr r0, _080F3068
- str r0, [sp, 0x18]
-_080F3032:
- mov r0, sp
- bl LoadSpriteSheets
- add r0, sp, 0x18
- bl LoadSpritePalette
- ldr r0, _080F306C
- movs r1, 0x5F
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _080F3078
- ldr r0, _080F3070
- ldr r0, [r0]
- ldr r1, _080F3074
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- b _080F3120
- .align 2, 0
-_080F3060: .4byte gUnknown_083E4590
-_080F3064: .4byte gUnknown_083E45A8
-_080F3068: .4byte gUnknown_08E9F988
-_080F306C: .4byte gSpriteTemplate_83E45B8
-_080F3070: .4byte gUnknown_083DFEC4
-_080F3074: .4byte 0x000087cc
-_080F3078:
- ldr r0, _080F30F4
- ldr r2, [r0]
- ldr r3, _080F30F8
- adds r2, r3
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F30FC
- adds r0, r1
- str r0, [r2]
- movs r4, 0
- movs r5, 0
-_080F3090:
- lsls r2, r4, 7
- adds r2, 0x8
- lsls r2, 16
- asrs r2, 16
- ldr r0, _080F3100
- movs r1, 0xA8
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080F3108
- ldr r0, _080F30F4
- ldr r2, [r0]
- lsls r0, r4, 2
- ldr r3, _080F3104
- adds r2, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F30FC
- adds r3, r0, r1
- str r3, [r2]
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- strh r5, [r3, 0x2E]
- strh r5, [r3, 0x30]
- movs r0, 0x1
- cmp r4, 0
- bne _080F30DE
- movs r1, 0x1
- negs r1, r1
- adds r0, r1, 0
-_080F30DE:
- strh r0, [r3, 0x32]
- strh r4, [r3, 0x34]
- movs r0, 0x1
- strh r0, [r3, 0x36]
- lsls r1, r4, 24
- lsrs r1, 24
- adds r0, r3, 0
- bl StartSpriteAnim
- b _080F3116
- .align 2, 0
-_080F30F4: .4byte gUnknown_083DFEC4
-_080F30F8: .4byte 0x000087cc
-_080F30FC: .4byte gSprites
-_080F3100: .4byte gSpriteTemplate_83E45F0
-_080F3104: .4byte 0x000087d0
-_080F3108:
- ldr r0, _080F3128
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _080F312C
- adds r0, r2
- adds r0, r1
- str r5, [r0]
-_080F3116:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080F3090
-_080F3120:
- add sp, 0x20
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3128: .4byte gUnknown_083DFEC4
-_080F312C: .4byte 0x000087d0
- thumb_func_end sub_80F3008
-
- thumb_func_start sub_80F3130
-sub_80F3130: @ 80F3130
- push {r4-r6,lr}
- ldr r0, _080F3184
- ldr r6, [r0]
- ldr r0, _080F3188
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F3154
- bl DestroySprite
- movs r0, 0x9
- bl FreeSpriteTilesByTag
- movs r0, 0x9
- bl FreeSpritePaletteByTag
- movs r0, 0
- str r0, [r4]
-_080F3154:
- movs r5, 0
- ldr r0, _080F318C
- adds r6, r0
-_080F315A:
- lsls r0, r5, 2
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F316C
- bl DestroySprite
- movs r0, 0
- str r0, [r4]
-_080F316C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080F315A
- movs r0, 0xA
- bl FreeSpriteTilesByTag
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3184: .4byte gUnknown_083DFEC4
-_080F3188: .4byte 0x000087cc
-_080F318C: .4byte 0x000087d0
- thumb_func_end sub_80F3130
-
- thumb_func_start sub_80F3190
-sub_80F3190: @ 80F3190
- ldr r1, _080F31A4
- ldr r1, [r1]
- ldr r2, _080F31A8
- adds r1, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- lsls r1, 4
- adds r1, 0x10
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080F31A4: .4byte gUnknown_083DFEC4
-_080F31A8: .4byte 0x0000876c
- thumb_func_end sub_80F3190
-
- thumb_func_start sub_80F31AC
-sub_80F31AC: @ 80F31AC
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, _080F31E8
- ldr r1, [r0]
- ldr r2, _080F31EC
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F325C
- movs r4, 0x36
- ldrsh r0, [r3, r4]
- cmp r0, 0
- beq _080F3226
- movs r5, 0x34
- ldrsh r0, [r3, r5]
- cmp r0, 0
- bne _080F31F4
- movs r2, 0
- ldr r4, _080F31F0
- adds r0, r1, r4
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0
- bne _080F31DE
- movs r2, 0x1
-_080F31DE:
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- lsls r2, 2
- b _080F3214
- .align 2, 0
-_080F31E8: .4byte gUnknown_083DFEC4
-_080F31EC: .4byte 0x000087c9
-_080F31F0: .4byte 0x00008770
-_080F31F4:
- movs r4, 0
- ldr r2, _080F3250
- adds r0, r1, r2
- ldr r5, _080F3254
- adds r1, r5
- movs r5, 0
- ldrsh r2, [r0, r5]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r2, r0
- bne _080F320C
- movs r4, 0x1
-_080F320C:
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- lsls r2, r4, 2
-_080F3214:
- ldrb r1, [r0]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- orrs r0, r2
- mov r1, r12
- strb r0, [r1]
- movs r0, 0
- strh r0, [r3, 0x36]
-_080F3226:
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r3, 0x2E]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _080F325C
- strh r1, [r3, 0x2E]
- ldrh r0, [r3, 0x30]
- adds r0, 0x1
- strh r0, [r3, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4
- bgt _080F3258
- ldrh r0, [r3, 0x32]
- ldrh r2, [r3, 0x26]
- adds r0, r2
- strh r0, [r3, 0x26]
- b _080F325C
- .align 2, 0
-_080F3250: .4byte 0x00008772
-_080F3254: .4byte 0x00008774
-_080F3258:
- strh r1, [r3, 0x30]
- strh r1, [r3, 0x26]
-_080F325C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F31AC
-
- thumb_func_start sub_80F3264
-sub_80F3264: @ 80F3264
- push {lr}
- movs r1, 0
- ldr r0, _080F328C
- ldr r0, [r0]
- ldr r3, _080F3290
- adds r2, r0, r3
- movs r3, 0x1
-_080F3272:
- lsls r0, r1, 2
- adds r0, r2, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F327E
- strh r3, [r0, 0x36]
-_080F327E:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x1
- bls _080F3272
- pop {r0}
- bx r0
- .align 2, 0
-_080F328C: .4byte gUnknown_083DFEC4
-_080F3290: .4byte 0x000087d0
- thumb_func_end sub_80F3264
-
- thumb_func_start sub_80F3294
-sub_80F3294: @ 80F3294
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080F32F4
- ldr r4, [r0]
- ldr r1, _080F32F8
- adds r0, r4, r1
- ldr r2, [r0]
- adds r2, 0x3E
- movs r0, 0x1
- adds r1, r6, 0
- ands r1, r0
- lsls r1, 2
- ldrb r3, [r2]
- movs r5, 0x5
- negs r5, r5
- adds r0, r5, 0
- ands r0, r3
- orrs r0, r1
- strb r0, [r2]
- ldr r2, _080F32FC
- adds r0, r4, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F331A
- cmp r6, 0x1
- bne _080F3308
- ldr r1, _080F3300
- adds r0, r4, r1
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- movs r3, 0x4
- orrs r0, r3
- strb r0, [r1]
- ldr r2, _080F3304
- adds r0, r4, r2
- ldr r1, [r0]
- adds r1, 0x3E
- ldrb r2, [r1]
- adds r0, r5, 0
- ands r0, r2
- orrs r0, r3
- strb r0, [r1]
- b _080F331A
- .align 2, 0
-_080F32F4: .4byte gUnknown_083DFEC4
-_080F32F8: .4byte 0x000087cc
-_080F32FC: .4byte 0x000087c9
-_080F3300: .4byte 0x000087d0
-_080F3304: .4byte 0x000087d4
-_080F3308:
- ldr r1, _080F3320
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- strh r1, [r0, 0x36]
- ldr r2, _080F3324
- adds r0, r4, r2
- ldr r0, [r0]
- strh r1, [r0, 0x36]
-_080F331A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3320: .4byte 0x000087d0
-_080F3324: .4byte 0x000087d4
- thumb_func_end sub_80F3294
-
- thumb_func_start sub_80F3328
-sub_80F3328: @ 80F3328
- push {lr}
- adds r2, r0, 0
- ldr r0, _080F334C
- ldr r0, [r0]
- ldr r1, _080F3350
- adds r0, r1
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r1, r0
- bne _080F3354
- adds r0, r2, 0
- movs r1, 0
- bl StartSpriteAnim
- b _080F335C
- .align 2, 0
-_080F334C: .4byte gUnknown_083DFEC4
-_080F3350: .4byte 0x000087dc
-_080F3354:
- adds r0, r2, 0
- movs r1, 0x1
- bl StartSpriteAnim
-_080F335C:
- pop {r0}
- bx r0
- thumb_func_end sub_80F3328
-
- thumb_func_start sub_80F3360
-sub_80F3360: @ 80F3360
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _080F3384
- ldr r0, [r0]
- ldr r2, _080F3388
- adds r1, r0, r2
- movs r2, 0
- ldrsh r1, [r1, r2]
- ldr r2, _080F338C
- adds r0, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- subs r0, 0x1
- cmp r1, r0
- bne _080F3390
- movs r0, 0x4
- b _080F3392
- .align 2, 0
-_080F3384: .4byte gUnknown_083DFEC4
-_080F3388: .4byte 0x000087dc
-_080F338C: .4byte 0x000087da
-_080F3390:
- movs r0, 0x5
-_080F3392:
- bl IndexOfSpritePaletteTag
- lsls r0, 4
- ldrb r2, [r4, 0x5]
- movs r1, 0xF
- ands r1, r2
- orrs r1, r0
- strb r1, [r4, 0x5]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F3360
-
- thumb_func_start sub_80F33A8
-sub_80F33A8: @ 80F33A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x50
- mov r1, sp
- ldr r0, _080F3440
- ldm r0!, {r2-r4}
- stm r1!, {r2-r4}
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r3,r4}
- stm r1!, {r3,r4}
- add r4, sp, 0x20
- adds r1, r4, 0
- ldr r0, _080F3444
- ldm r0!, {r2,r5,r6}
- stm r1!, {r2,r5,r6}
- ldm r0!, {r3,r5,r6}
- stm r1!, {r3,r5,r6}
- add r5, sp, 0x38
- adds r1, r5, 0
- ldr r0, _080F3448
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- ldm r0!, {r2,r3,r6}
- stm r1!, {r2,r3,r6}
- mov r0, sp
- bl LoadSpriteSheets
- adds r0, r4, 0
- bl LoadSpritePalettes
- movs r6, 0
- ldr r2, _080F344C
- ldr r1, [r2]
- ldr r3, _080F3450
- adds r0, r1, r3
- movs r4, 0
- ldrsh r0, [r0, r4]
- subs r0, 0x1
- adds r7, r5, 0
- cmp r6, r0
- bge _080F347A
- adds r5, r2, 0
- adds r0, r3, 0
- adds r0, r1
- mov r8, r0
-_080F3406:
- lsls r4, r6, 2
- adds r2, r4, r6
- lsls r2, 18
- movs r1, 0x80
- lsls r1, 12
- adds r2, r1
- asrs r2, 16
- adds r0, r7, 0
- movs r1, 0xE2
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F345C
- ldr r0, [r5]
- ldr r2, _080F3454
- adds r0, r2
- adds r0, r4
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- ldr r2, _080F3458
- adds r1, r2
- str r1, [r0]
- strh r6, [r1, 0x2E]
- b _080F3468
- .align 2, 0
-_080F3440: .4byte gUnknown_083E4628
-_080F3444: .4byte gUnknown_083E4648
-_080F3448: .4byte gSpriteTemplate_83E4660
-_080F344C: .4byte gUnknown_083DFEC4
-_080F3450: .4byte 0x000087da
-_080F3454: .4byte 0x000087e4
-_080F3458: .4byte gSprites
-_080F345C:
- ldr r0, [r5]
- ldr r3, _080F34C8
- adds r0, r3
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080F3468:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- mov r4, r8
- movs r1, 0
- ldrsh r0, [r4, r1]
- subs r0, 0x1
- cmp r6, r0
- blt _080F3406
-_080F347A:
- movs r0, 0x4
- strh r0, [r7]
- ldr r0, _080F34CC
- str r0, [r7, 0x14]
- cmp r6, 0x5
- bhi _080F34EE
- ldr r5, _080F34D0
-_080F3488:
- lsls r4, r6, 2
- adds r2, r4, r6
- lsls r2, 18
- movs r3, 0x80
- lsls r3, 12
- adds r2, r3
- asrs r2, 16
- adds r0, r7, 0
- movs r1, 0xE6
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F34D8
- ldr r2, [r5]
- ldr r0, _080F34C8
- adds r2, r0
- adds r2, r4
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- ldr r0, _080F34D4
- adds r1, r0
- str r1, [r2]
- ldrb r2, [r1, 0x3]
- movs r0, 0x3F
- ands r0, r2
- strb r0, [r1, 0x3]
- b _080F34E4
- .align 2, 0
-_080F34C8: .4byte 0x000087e4
-_080F34CC: .4byte SpriteCallbackDummy
-_080F34D0: .4byte gUnknown_083DFEC4
-_080F34D4: .4byte gSprites
-_080F34D8:
- ldr r0, [r5]
- ldr r1, _080F3548
- adds r0, r1
- adds r0, r4
- movs r1, 0
- str r1, [r0]
-_080F34E4:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080F3488
-_080F34EE:
- movs r0, 0x5
- strh r0, [r7]
- ldr r0, _080F354C
- str r0, [r7, 0x14]
- lsls r5, r6, 2
- adds r2, r5, r6
- lsls r2, 18
- movs r3, 0x80
- lsls r3, 12
- adds r2, r3
- asrs r2, 16
- adds r0, r7, 0
- movs r1, 0xDE
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F3558
- ldr r0, _080F3550
- ldr r4, [r0]
- ldr r6, _080F3548
- adds r4, r6
- adds r4, r5
- lsls r1, r3, 4
- adds r1, r3
- lsls r1, 2
- ldr r0, _080F3554
- adds r1, r0
- str r1, [r4]
- ldrb r3, [r1, 0x1]
- movs r2, 0x3F
- adds r0, r2, 0
- ands r0, r3
- movs r3, 0x40
- orrs r0, r3
- strb r0, [r1, 0x1]
- ldr r1, [r4]
- ldrb r0, [r1, 0x3]
- ands r2, r0
- movs r0, 0x80
- orrs r2, r0
- strb r2, [r1, 0x3]
- b _080F3566
- .align 2, 0
-_080F3548: .4byte 0x000087e4
-_080F354C: .4byte sub_80F3360
-_080F3550: .4byte gUnknown_083DFEC4
-_080F3554: .4byte gSprites
-_080F3558:
- ldr r0, _080F3574
- ldr r0, [r0]
- ldr r1, _080F3578
- adds r0, r1
- adds r0, r5
- movs r1, 0
- str r1, [r0]
-_080F3566:
- add sp, 0x50
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3574: .4byte gUnknown_083DFEC4
-_080F3578: .4byte 0x000087e4
- thumb_func_end sub_80F33A8
-
- thumb_func_start sub_80F357C
-sub_80F357C: @ 80F357C
- push {r4-r6,lr}
- movs r5, 0
- ldr r0, _080F35AC
- ldr r0, [r0]
- ldr r1, _080F35B0
- adds r6, r0, r1
-_080F3588:
- lsls r0, r5, 2
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F359A
- bl DestroySprite
- movs r0, 0
- str r0, [r4]
-_080F359A:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x6
- bls _080F3588
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F35AC: .4byte gUnknown_083DFEC4
-_080F35B0: .4byte 0x000087e4
- thumb_func_end sub_80F357C
-
- thumb_func_start sub_80F35B4
-sub_80F35B4: @ 80F35B4
- push {r4,lr}
- ldr r0, _080F35FC
- ldr r4, [r0]
- ldr r1, _080F3600
- adds r0, r4, r1
- movs r1, 0x1C
- strh r1, [r0]
- ldr r1, _080F3604
- adds r2, r4, r1
- movs r1, 0x13
- strh r1, [r2]
- bl sub_80F727C
- bl sub_80F7404
- ldr r2, _080F3608
- movs r0, 0x1B
- movs r1, 0x15
- bl sub_80F7920
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- movs r1, 0xC0
- strh r1, [r0, 0x20]
- movs r1, 0x20
- strh r1, [r0, 0x22]
- ldr r1, _080F360C
- str r1, [r0, 0x1C]
- ldr r1, _080F3610
- adds r4, r1
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F35FC: .4byte gUnknown_083DFEC4
-_080F3600: .4byte 0x000076b0
-_080F3604: .4byte 0x000076b2
-_080F3608: .4byte gUnknown_083E4678
-_080F360C: .4byte sub_80F363C
-_080F3610: .4byte 0x000076ac
- thumb_func_end sub_80F35B4
-
- thumb_func_start sub_80F3614
-sub_80F3614: @ 80F3614
- push {lr}
- ldr r0, _080F3634
- ldr r0, [r0]
- ldr r1, _080F3638
- adds r0, r1
- ldr r0, [r0]
- bl DestroySprite
- movs r0, 0x1B
- bl FreeSpriteTilesByTag
- movs r0, 0x15
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- .align 2, 0
-_080F3634: .4byte gUnknown_083DFEC4
-_080F3638: .4byte 0x000076ac
- thumb_func_end sub_80F3614
-
- thumb_func_start sub_80F363C
-sub_80F363C: @ 80F363C
- push {lr}
- ldr r1, _080F365C
- ldr r1, [r1]
- ldr r3, _080F3660
- adds r2, r1, r3
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- ldr r3, _080F3664
- adds r1, r3
- adds r1, r2
- ldrb r1, [r1]
- bl StartSpriteAnim
- pop {r0}
- bx r0
- .align 2, 0
-_080F365C: .4byte gUnknown_083DFEC4
-_080F3660: .4byte 0x00008fe9
-_080F3664: .4byte 0x00008934
- thumb_func_end sub_80F363C
-
- thumb_func_start sub_80F3668
-sub_80F3668: @ 80F3668
- push {lr}
- ldr r0, _080F368C
- ldr r0, [r0]
- ldr r2, _080F3690
- adds r1, r0, r2
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r2, _080F3694
- adds r0, r2
- adds r0, r1
- ldrb r0, [r0]
- movs r1, 0xB0
- movs r2, 0x20
- bl sub_80F7418
- pop {r0}
- bx r0
- .align 2, 0
-_080F368C: .4byte gUnknown_083DFEC4
-_080F3690: .4byte 0x00008fe9
-_080F3694: .4byte 0x00008934
- thumb_func_end sub_80F3668
-
- thumb_func_start sub_80F3698
-sub_80F3698: @ 80F3698
- push {r4,lr}
- ldr r0, _080F36DC
- ldr r3, [r0]
- ldr r1, _080F36E0
- adds r0, r3, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- lsls r1, 2
- ldr r4, _080F36E4
- adds r1, r4
- adds r1, r3, r1
- ldr r2, _080F36E8
- adds r0, r3, r2
- movs r2, 0
- ldrsb r2, [r0, r2]
- subs r4, 0x8
- adds r0, r3, r4
- adds r0, r2
- ldr r2, _080F36EC
- adds r3, r2
- ldrb r2, [r3]
- strb r2, [r0]
- ldrb r0, [r1, 0x1]
- ldr r1, [r1]
- lsls r1, 11
- lsrs r1, 27
- ldrb r2, [r3]
- bl sub_80F4548
- bl sub_80F7470
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F36DC: .4byte gUnknown_083DFEC4
-_080F36E0: .4byte 0x000087dc
-_080F36E4: .4byte 0x0000893c
-_080F36E8: .4byte 0x00008fe9
-_080F36EC: .4byte 0x000076b4
- thumb_func_end sub_80F3698
-
- thumb_func_start sub_80F36F0
-sub_80F36F0: @ 80F36F0
- push {lr}
- ldr r0, _080F3718
- ldr r0, [r0]
- ldr r1, _080F371C
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F3720
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F3712
-_080F3708:
- bl sub_80F3724
- lsls r0, 24
- cmp r0, 0
- bne _080F3708
-_080F3712:
- pop {r0}
- bx r0
- .align 2, 0
-_080F3718: .4byte gUnknown_083DFEC4
-_080F371C: .4byte 0x00000306
-_080F3720: .4byte 0x00006dac
- thumb_func_end sub_80F36F0
-
- thumb_func_start sub_80F3724
-sub_80F3724: @ 80F3724
- push {r4,lr}
- ldr r0, _080F3740
- ldr r1, [r0]
- ldr r0, _080F3744
- adds r4, r1, r0
- ldrh r0, [r4]
- cmp r0, 0x1
- beq _080F3764
- cmp r0, 0x1
- bgt _080F3748
- cmp r0, 0
- beq _080F374E
- b _080F377A
- .align 2, 0
-_080F3740: .4byte gUnknown_083DFEC4
-_080F3744: .4byte 0x00000306
-_080F3748:
- cmp r0, 0x2
- beq _080F376E
- b _080F377A
-_080F374E:
- ldr r0, _080F375C
- ldr r2, _080F3760
- adds r1, r2
- bl LZ77UnCompWram
- b _080F377E
- .align 2, 0
-_080F375C: .4byte gUnknown_083E3D00
-_080F3760: .4byte 0x0000984c
-_080F3764:
- bl sub_80F379C
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080F376E:
- bl sub_80F37D0
- lsls r0, 24
- cmp r0, 0
- beq _080F377E
- b _080F378C
-_080F377A:
- movs r0, 0
- b _080F378E
-_080F377E:
- ldr r0, _080F3794
- ldr r1, [r0]
- ldr r0, _080F3798
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F378C:
- movs r0, 0x1
-_080F378E:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F3794: .4byte gUnknown_083DFEC4
-_080F3798: .4byte 0x00000306
- thumb_func_end sub_80F3724
-
- thumb_func_start sub_80F379C
-sub_80F379C: @ 80F379C
- push {lr}
- ldr r0, _080F37C4
- ldr r0, [r0]
- ldr r1, _080F37C8
- adds r2, r0, r1
- movs r1, 0
- strb r1, [r2]
- ldr r1, _080F37CC
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F37BE
-_080F37B4:
- bl sub_80F37D0
- lsls r0, 24
- cmp r0, 0
- bne _080F37B4
-_080F37BE:
- pop {r0}
- bx r0
- .align 2, 0
-_080F37C4: .4byte gUnknown_083DFEC4
-_080F37C8: .4byte 0x0000bc93
-_080F37CC: .4byte 0x00006dac
- thumb_func_end sub_80F379C
-
- thumb_func_start sub_80F37D0
-sub_80F37D0: @ 80F37D0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _080F3898
- ldr r1, [r0]
- ldr r2, _080F389C
- adds r1, r2
- ldrb r1, [r1]
- adds r2, r0, 0
- cmp r1, 0xB
- bhi _080F38A8
- movs r3, 0
- mov r8, r3
- movs r7, 0xF
- mov r9, r7
-_080F37F0:
- ldr r2, [r2]
- ldr r1, _080F389C
- adds r0, r2, r1
- ldrb r1, [r0]
- lsls r0, r1, 8
- ldr r3, _080F38A0
- adds r0, r3
- adds r4, r2, r0
- lsls r1, 9
- ldr r7, _080F38A4
- adds r1, r7
- adds r5, r2, r1
- movs r6, 0
-_080F380A:
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x10
- bl CpuFastSet
- adds r5, 0x40
- adds r4, 0x20
- movs r1, 0
- adds r6, 0x1
- mov r12, r6
-_080F381E:
- movs r0, 0
- adds r6, r1, 0x1
-_080F3822:
- adds r4, 0x4
- movs r2, 0
- adds r3, r0, 0x1
-_080F3828:
- subs r4, 0x1
- ldrb r0, [r4]
- lsls r1, r0, 4
- lsrs r0, 4
- mov r7, r9
- ands r0, r7
- orrs r1, r0
- strb r1, [r5]
- adds r5, 0x1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080F3828
- adds r4, 0x4
- lsls r0, r3, 24
- lsrs r0, 24
- cmp r0, 0x7
- bls _080F3822
- subs r4, 0x40
- lsls r0, r6, 24
- lsrs r1, r0, 24
- cmp r1, 0x1
- bls _080F381E
- adds r4, 0x60
- mov r1, r12
- lsls r0, r1, 24
- lsrs r6, r0, 24
- cmp r6, 0x3
- bls _080F380A
- ldr r2, _080F3898
- ldr r3, [r2]
- ldr r7, _080F389C
- adds r1, r3, r7
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB
- bhi _080F38A8
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x1
- bls _080F37F0
- adds r1, r7, 0
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0xB
- bhi _080F38A8
- movs r0, 0x1
- b _080F38AA
- .align 2, 0
-_080F3898: .4byte gUnknown_083DFEC4
-_080F389C: .4byte 0x0000bc93
-_080F38A0: .4byte 0x0000984c
-_080F38A4: .4byte 0x0000a44c
-_080F38A8:
- movs r0, 0
-_080F38AA:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F37D0
-
- thumb_func_start sub_80F38B8
-sub_80F38B8: @ 80F38B8
- push {lr}
- ldr r0, _080F38E0
- ldr r0, [r0]
- ldr r1, _080F38E4
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F38E8
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F38DA
-_080F38D0:
- bl sub_80F38EC
- lsls r0, 24
- cmp r0, 0
- bne _080F38D0
-_080F38DA:
- pop {r0}
- bx r0
- .align 2, 0
-_080F38E0: .4byte gUnknown_083DFEC4
-_080F38E4: .4byte 0x00000306
-_080F38E8: .4byte 0x00006dac
- thumb_func_end sub_80F38B8
-
- thumb_func_start sub_80F38EC
-sub_80F38EC: @ 80F38EC
- push {r4,lr}
- ldr r0, _080F3908
- ldr r2, [r0]
- ldr r0, _080F390C
- adds r4, r2, r0
- ldrh r1, [r4]
- cmp r1, 0x1
- beq _080F3930
- cmp r1, 0x1
- bgt _080F3910
- cmp r1, 0
- beq _080F391A
- b _080F394E
- .align 2, 0
-_080F3908: .4byte gUnknown_083DFEC4
-_080F390C: .4byte 0x00000306
-_080F3910:
- cmp r1, 0x2
- beq _080F3938
- cmp r1, 0x3
- beq _080F3942
- b _080F394E
-_080F391A:
- ldr r3, _080F3928
- adds r0, r2, r3
- str r1, [r0]
- ldr r3, _080F392C
- adds r0, r2, r3
- strb r1, [r0]
- b _080F3952
- .align 2, 0
-_080F3928: .4byte 0x00009348
-_080F392C: .4byte 0x0000bc92
-_080F3930:
- movs r0, 0
- bl sub_80F2E18
- b _080F3952
-_080F3938:
- bl sub_80F3970
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
-_080F3942:
- bl sub_80F39A4
- lsls r0, 24
- cmp r0, 0
- beq _080F3952
- b _080F3960
-_080F394E:
- movs r0, 0
- b _080F3962
-_080F3952:
- ldr r0, _080F3968
- ldr r1, [r0]
- ldr r0, _080F396C
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F3960:
- movs r0, 0x1
-_080F3962:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F3968: .4byte gUnknown_083DFEC4
-_080F396C: .4byte 0x00000306
- thumb_func_end sub_80F38EC
-
- thumb_func_start sub_80F3970
-sub_80F3970: @ 80F3970
- push {lr}
- ldr r0, _080F3998
- ldr r0, [r0]
- ldr r1, _080F399C
- adds r2, r0, r1
- movs r1, 0
- strb r1, [r2]
- ldr r1, _080F39A0
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F3992
-_080F3988:
- bl sub_80F39A4
- lsls r0, 24
- cmp r0, 0
- bne _080F3988
-_080F3992:
- pop {r0}
- bx r0
- .align 2, 0
-_080F3998: .4byte gUnknown_083DFEC4
-_080F399C: .4byte 0x0000bc93
-_080F39A0: .4byte 0x00006dac
- thumb_func_end sub_80F3970
-
- thumb_func_start sub_80F39A4
-sub_80F39A4: @ 80F39A4
- push {r4,r5,lr}
- sub sp, 0x10
- ldr r0, _080F3A18
- ldr r1, [r0]
- ldr r0, _080F3A1C
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0xB
- bhi _080F3A30
- ldrb r0, [r4]
- lsls r0, 9
- ldr r2, _080F3A20
- adds r0, r2
- adds r0, r1, r0
- str r0, [sp]
- ldr r5, _080F3A24
- ldr r2, [sp, 0x4]
- ands r2, r5
- movs r0, 0x80
- lsls r0, 2
- orrs r2, r0
- str r2, [sp, 0x4]
- ldrb r1, [r4]
- adds r1, 0xB
- lsls r1, 16
- ldr r0, _080F3A28
- ands r0, r2
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- ldrb r0, [r4]
- cmp r0, 0x4
- bhi _080F3A04
- lsls r0, 5
- ldr r1, _080F3A2C
- adds r0, r1
- str r0, [sp, 0x8]
- ldrb r2, [r4]
- adds r2, 0xA
- add r0, sp, 0x8
- ldr r1, [r0, 0x4]
- ands r1, r5
- orrs r1, r2
- str r1, [r0, 0x4]
- bl LoadSpritePalette
-_080F3A04:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xB
- bhi _080F3A30
- movs r0, 0x1
- b _080F3A32
- .align 2, 0
-_080F3A18: .4byte gUnknown_083DFEC4
-_080F3A1C: .4byte 0x0000bc93
-_080F3A20: .4byte 0x0000a44c
-_080F3A24: .4byte 0xffff0000
-_080F3A28: .4byte 0x0000ffff
-_080F3A2C: .4byte gUnknown_083E3C60
-_080F3A30:
- movs r0, 0
-_080F3A32:
- add sp, 0x10
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F39A4
-
- thumb_func_start sub_80F3A3C
-sub_80F3A3C: @ 80F3A3C
- push {r4-r7,lr}
- sub sp, 0x18
- lsls r0, 16
- lsrs r5, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- cmp r4, 0x2
- bhi _080F3A60
- lsls r0, r4, 3
- adds r0, r4
- adds r0, r5, r0
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r2, _080F3A5C
- b _080F3A78
- .align 2, 0
-_080F3A5C: .4byte gUnknown_083DFEC4
-_080F3A60:
- ldr r2, _080F3AD0
- ldr r1, [r2]
- ldr r3, _080F3AD4
- adds r0, r1, r3
- ldrb r0, [r0]
- ldr r6, _080F3AD8
- adds r1, r6
- ldrb r1, [r1]
- subs r0, r1
- adds r0, r5, r0
- lsls r0, 16
- lsrs r1, r0, 16
-_080F3A78:
- ldr r0, [r2]
- ldr r7, _080F3ADC
- adds r0, r7
- adds r0, r1
- ldrb r2, [r0]
- mov r1, sp
- ldr r0, _080F3AE0
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- ldm r0!, {r3,r6,r7}
- stm r1!, {r3,r6,r7}
- mov r3, sp
- ldr r1, _080F3AE4
- lsls r2, 2
- adds r0, r2, r1
- ldrh r0, [r0]
- adds r0, 0xB
- strh r0, [r3]
- adds r1, 0x2
- adds r2, r1
- ldrh r0, [r2]
- adds r0, 0xA
- strh r0, [r3, 0x2]
- lsls r1, r5, 20
- movs r0, 0xC0
- lsls r0, 15
- adds r1, r0
- asrs r1, 16
- lsls r2, r4, 20
- movs r3, 0xA0
- lsls r3, 14
- adds r2, r3
- asrs r2, 16
- mov r0, sp
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _080F3AE8
- movs r0, 0
- b _080F3AF2
- .align 2, 0
-_080F3AD0: .4byte gUnknown_083DFEC4
-_080F3AD4: .4byte 0x0000bc8e
-_080F3AD8: .4byte 0x0000bc8f
-_080F3ADC: .4byte 0x0000bc4c
-_080F3AE0: .4byte gSpriteTemplate_83E476C
-_080F3AE4: .4byte gUnknown_083E4698
-_080F3AE8:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F3AFC
- adds r0, r1
-_080F3AF2:
- add sp, 0x18
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_080F3AFC: .4byte gSprites
- thumb_func_end sub_80F3A3C
-
- thumb_func_start sub_80F3B00
-sub_80F3B00: @ 80F3B00
- push {r4,lr}
- ldr r0, _080F3B34
- ldr r4, [r0]
- ldr r1, _080F3B38
- adds r0, r4, r1
- ldrb r0, [r0]
- ldr r2, _080F3B3C
- adds r1, r4, r2
- ldrb r1, [r1]
- bl sub_80F3A3C
- adds r2, r0, 0
- ldr r1, _080F3B40
- adds r0, r4, r1
- str r2, [r0]
- cmp r2, 0
- beq _080F3B48
- adds r0, r2, 0
- movs r1, 0x1
- bl StartSpriteAffineAnim
- ldr r2, _080F3B44
- adds r1, r4, r2
- movs r0, 0x1
- strb r0, [r1]
- b _080F3B4E
- .align 2, 0
-_080F3B34: .4byte gUnknown_083DFEC4
-_080F3B38: .4byte 0x0000bc90
-_080F3B3C: .4byte 0x0000bc91
-_080F3B40: .4byte 0x00009348
-_080F3B44: .4byte 0x0000bc92
-_080F3B48:
- ldr r1, _080F3B54
- adds r0, r4, r1
- strb r2, [r0]
-_080F3B4E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3B54: .4byte 0x0000bc92
- thumb_func_end sub_80F3B00
-
- thumb_func_start sub_80F3B58
-sub_80F3B58: @ 80F3B58
- push {lr}
- ldr r0, _080F3B6C
- ldr r1, [r0]
- ldr r0, _080F3B70
- adds r2, r1, r0
- ldrb r0, [r2]
- cmp r0, 0
- bne _080F3B74
- movs r0, 0
- b _080F3B8A
- .align 2, 0
-_080F3B6C: .4byte gUnknown_083DFEC4
-_080F3B70: .4byte 0x0000bc92
-_080F3B74:
- ldr r3, _080F3B90
- adds r0, r1, r3
- ldr r0, [r0]
- adds r0, 0x3F
- ldrb r0, [r0]
- lsrs r0, 5
- movs r1, 0x1
- eors r0, r1
- ands r0, r1
- strb r0, [r2]
- ldrb r0, [r2]
-_080F3B8A:
- pop {r1}
- bx r1
- .align 2, 0
-_080F3B90: .4byte 0x00009348
- thumb_func_end sub_80F3B58
-
- thumb_func_start sub_80F3B94
-sub_80F3B94: @ 80F3B94
- push {r4,lr}
- ldr r0, _080F3BB8
- ldr r4, [r0]
- ldr r1, _080F3BBC
- adds r0, r4, r1
- ldr r2, [r0]
- cmp r2, 0
- beq _080F3BC4
- adds r0, r2, 0
- movs r1, 0x2
- bl StartSpriteAffineAnim
- ldr r0, _080F3BC0
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
- b _080F3BCA
- .align 2, 0
-_080F3BB8: .4byte gUnknown_083DFEC4
-_080F3BBC: .4byte 0x00009348
-_080F3BC0: .4byte 0x0000bc92
-_080F3BC4:
- ldr r1, _080F3BD0
- adds r0, r4, r1
- strb r2, [r0]
-_080F3BCA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3BD0: .4byte 0x0000bc92
- thumb_func_end sub_80F3B94
-
- thumb_func_start sub_80F3BD4
-sub_80F3BD4: @ 80F3BD4
- push {r4-r6,lr}
- ldr r0, _080F3C18
- ldr r1, [r0]
- ldr r0, _080F3C1C
- adds r5, r1, r0
- ldrb r0, [r5]
- cmp r0, 0
- beq _080F3C24
- ldr r0, _080F3C20
- adds r4, r1, r0
- ldr r0, [r4]
- adds r0, 0x3F
- ldrb r0, [r0]
- lsrs r0, 5
- movs r1, 0x1
- eors r0, r1
- ands r0, r1
- strb r0, [r5]
- adds r6, r0, 0
- cmp r6, 0
- bne _080F3C12
- ldr r0, [r4]
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- bl DestroySprite
- str r6, [r4]
-_080F3C12:
- ldrb r0, [r5]
- b _080F3C26
- .align 2, 0
-_080F3C18: .4byte gUnknown_083DFEC4
-_080F3C1C: .4byte 0x0000bc92
-_080F3C20: .4byte 0x00009348
-_080F3C24:
- movs r0, 0
-_080F3C26:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F3BD4
-
- thumb_func_start sub_80F3C2C
-sub_80F3C2C: @ 80F3C2C
- push {r4,lr}
- ldr r0, _080F3C8C
- ldr r0, [r0]
- ldr r1, _080F3C90
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _080F3C50
- ldrb r0, [r0, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- ldr r0, [r4]
- bl DestroySprite
- movs r0, 0
- str r0, [r4]
-_080F3C50:
- movs r4, 0
-_080F3C52:
- adds r0, r4, 0
- adds r0, 0xB
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpriteTilesByTag
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0xB
- bls _080F3C52
- movs r4, 0
-_080F3C6A:
- adds r0, r4, 0
- adds r0, 0xA
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080F3C6A
- bl sub_80F2F48
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3C8C: .4byte gUnknown_083DFEC4
-_080F3C90: .4byte 0x00009348
- thumb_func_end sub_80F3C2C
-
- thumb_func_start sub_80F3C94
-sub_80F3C94: @ 80F3C94
- push {lr}
- sub sp, 0x10
- ldr r0, _080F3CDC
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp]
- str r1, [sp, 0x4]
- ldr r0, _080F3CE0
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- mov r0, sp
- bl LoadSpriteSheet
- add r0, sp, 0x8
- bl LoadSpritePalette
- movs r1, 0
- ldr r0, _080F3CE4
- ldr r0, [r0]
- movs r3, 0x88
- lsls r3, 8
- adds r2, r0, r3
- movs r3, 0
-_080F3CC6:
- lsls r0, r1, 2
- adds r0, r2, r0
- str r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x9
- bls _080F3CC6
- add sp, 0x10
- pop {r0}
- bx r0
- .align 2, 0
-_080F3CDC: .4byte gUnknown_083E4784
-_080F3CE0: .4byte gUnknown_083E478C
-_080F3CE4: .4byte gUnknown_083DFEC4
- thumb_func_end sub_80F3C94
-
- thumb_func_start sub_80F3CE8
-sub_80F3CE8: @ 80F3CE8
- push {lr}
- bl move_anim_execute
- movs r0, 0x17
- bl FreeSpriteTilesByTag
- movs r0, 0xF
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- thumb_func_end sub_80F3CE8
-
- thumb_func_start sub_80F3D00
-sub_80F3D00: @ 80F3D00
- push {r4,r5,lr}
- ldr r0, _080F3D34
- ldr r2, [r0]
- ldr r1, _080F3D38
- adds r0, r2, r1
- movs r3, 0
- ldrsh r0, [r0, r3]
- lsls r0, 2
- ldr r1, _080F3D3C
- adds r0, r1
- adds r0, r2, r0
- ldrb r1, [r0, 0x3]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080F3D94
- ldr r3, _080F3D40
- adds r0, r2, r3
- movs r1, 0
- ldrsb r1, [r0, r1]
- ldr r3, _080F3D44
- adds r0, r2, r3
- adds r0, r1
- ldrb r5, [r0]
- movs r4, 0
- b _080F3D86
- .align 2, 0
-_080F3D34: .4byte gUnknown_083DFEC4
-_080F3D38: .4byte 0x000087dc
-_080F3D3C: .4byte 0x0000893c
-_080F3D40: .4byte 0x00008fe9
-_080F3D44: .4byte 0x00008931
-_080F3D48:
- ldr r0, _080F3D9C
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080F3D8C
- ldr r0, _080F3DA0
- ldr r2, [r0]
- lsls r0, r4, 2
- movs r3, 0x88
- lsls r3, 8
- adds r2, r3
- adds r2, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F3DA4
- adds r0, r1
- str r0, [r2]
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080F3D86:
- adds r0, r5, 0x1
- cmp r4, r0
- blt _080F3D48
-_080F3D8C:
- adds r0, r5, 0
- movs r1, 0x1
- bl sub_80F3F20
-_080F3D94:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3D9C: .4byte gSpriteTemplate_83E4800
-_080F3DA0: .4byte gUnknown_083DFEC4
-_080F3DA4: .4byte gSprites
- thumb_func_end sub_80F3D00
-
- thumb_func_start move_anim_execute
-move_anim_execute: @ 80F3DA8
- push {r4-r6,lr}
- movs r5, 0
- ldr r0, _080F3DD8
- ldr r0, [r0]
- movs r1, 0x88
- lsls r1, 8
- adds r6, r0, r1
-_080F3DB6:
- lsls r0, r5, 2
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F3DD2
- bl DestroySprite
- movs r0, 0
- str r0, [r4]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _080F3DB6
-_080F3DD2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3DD8: .4byte gUnknown_083DFEC4
- thumb_func_end move_anim_execute
-
- thumb_func_start sub_80F3DDC
-sub_80F3DDC: @ 80F3DDC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3C
- ble _080F3DFE
- movs r0, 0
- strh r0, [r1, 0x30]
- ldrh r0, [r1, 0x32]
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- bl sub_80F3F20
-_080F3DFE:
- pop {r0}
- bx r0
- thumb_func_end sub_80F3DDC
-
- thumb_func_start sub_80F3E04
-sub_80F3E04: @ 80F3E04
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080F3E1C
- movs r0, 0
- strh r0, [r2, 0x30]
- ldr r0, _080F3E20
- str r0, [r2, 0x1C]
-_080F3E1C:
- pop {r0}
- bx r0
- .align 2, 0
-_080F3E20: .4byte sub_80F3DDC
- thumb_func_end sub_80F3E04
-
- thumb_func_start sub_80F3E24
-sub_80F3E24: @ 80F3E24
- push {r4,r5,lr}
- adds r3, r0, 0
- ldr r0, _080F3E64
- ldr r0, [r0]
- ldr r1, _080F3E68
- adds r4, r0, r1
- ldr r0, [r4]
- cmp r0, 0
- beq _080F3E70
- ldrh r1, [r0, 0x24]
- ldrh r0, [r0, 0x20]
- adds r1, r0
- ldr r2, _080F3E6C
- movs r5, 0x2E
- ldrsh r0, [r3, r5]
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0]
- adds r0, r1
- strh r0, [r3, 0x20]
- ldr r0, [r4]
- ldrh r1, [r0, 0x26]
- ldrh r0, [r0, 0x22]
- adds r1, r0
- movs r4, 0x2E
- ldrsh r0, [r3, r4]
- lsls r0, 2
- adds r2, 0x2
- adds r0, r2
- ldrh r0, [r0]
- adds r0, r1
- b _080F3E8E
- .align 2, 0
-_080F3E64: .4byte gUnknown_083DFEC4
-_080F3E68: .4byte 0x00008768
-_080F3E6C: .4byte gUnknown_083E4794
-_080F3E70:
- ldr r1, _080F3E98
- movs r5, 0x2E
- ldrsh r0, [r3, r5]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x28
- strh r0, [r3, 0x20]
- movs r2, 0x2E
- ldrsh r0, [r3, r2]
- lsls r0, 2
- adds r1, 0x2
- adds r0, r1
- ldrh r0, [r0]
- adds r0, 0x68
-_080F3E8E:
- strh r0, [r3, 0x22]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3E98: .4byte gUnknown_083E4794
- thumb_func_end sub_80F3E24
-
- thumb_func_start sub_80F3E9C
-sub_80F3E9C: @ 80F3E9C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _080F3ECA
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bne _080F3F14
- adds r0, r4, 0
- movs r1, 0
- bl SeekSpriteAnim
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080F3ECA:
- adds r0, r4, 0
- bl sub_80F3E24
- adds r0, r4, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080F3F14
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- movs r0, 0x34
- ldrsh r1, [r4, r0]
- movs r2, 0x32
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _080F3F10
- cmp r1, 0x9
- bne _080F3F08
- bl sub_80F3FAC
- ldr r0, _080F3F04
- b _080F3F12
- .align 2, 0
-_080F3F04: .4byte sub_80F3E04
-_080F3F08:
- ldr r0, _080F3F0C
- b _080F3F12
- .align 2, 0
-_080F3F0C: .4byte sub_80F3DDC
-_080F3F10:
- ldr r0, _080F3F1C
-_080F3F12:
- str r0, [r4, 0x1C]
-_080F3F14:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3F1C: .4byte SpriteCallbackDummy
- thumb_func_end sub_80F3E9C
-
- thumb_func_start sub_80F3F20
-sub_80F3F20: @ 80F3F20
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- movs r5, 0
- ldr r0, _080F3F6C
- ldr r0, [r0]
- movs r1, 0x88
- lsls r1, 8
- adds r7, r0, r1
-_080F3F3C:
- lsls r0, r5, 2
- adds r4, r7, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F3F92
- strh r5, [r0, 0x2E]
- ldr r1, [r4]
- lsls r0, r5, 4
- adds r0, 0x1
- strh r0, [r1, 0x30]
- ldr r0, [r4]
- strh r6, [r0, 0x32]
- ldr r0, [r4]
- strh r5, [r0, 0x34]
- mov r3, r8
- cmp r3, 0
- beq _080F3F62
- cmp r6, 0x9
- beq _080F3F74
-_080F3F62:
- ldr r1, [r4]
- ldr r0, _080F3F70
- str r0, [r1, 0x1C]
- b _080F3F92
- .align 2, 0
-_080F3F6C: .4byte gUnknown_083DFEC4
-_080F3F70: .4byte sub_80F3E9C
-_080F3F74:
- ldr r0, [r4]
- bl sub_80F3E24
- bl sub_80F3FAC
- ldr r2, [r4]
- ldr r0, _080F3FA8
- str r0, [r2, 0x1C]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r3, 0x5
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- strb r0, [r2]
-_080F3F92:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _080F3F3C
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3FA8: .4byte sub_80F3E04
- thumb_func_end sub_80F3F20
-
- thumb_func_start sub_80F3FAC
-sub_80F3FAC: @ 80F3FAC
- push {r4-r7,lr}
- movs r5, 0
- ldr r0, _080F3FEC
- ldr r0, [r0]
- movs r1, 0x88
- lsls r1, 8
- adds r6, r0, r1
- movs r0, 0x5
- negs r0, r0
- adds r7, r0, 0
-_080F3FC0:
- lsls r0, r5, 2
- adds r4, r6, r0
- ldr r0, [r4]
- cmp r0, 0
- beq _080F3FDA
- movs r1, 0
- bl SeekSpriteAnim
- ldr r1, [r4]
- adds r1, 0x3E
- ldrb r0, [r1]
- ands r0, r7
- strb r0, [r1]
-_080F3FDA:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _080F3FC0
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F3FEC: .4byte gUnknown_083DFEC4
- thumb_func_end sub_80F3FAC
-
- thumb_func_start sub_80F3FF0
-sub_80F3FF0: @ 80F3FF0
- push {lr}
- ldr r0, _080F4018
- ldr r0, [r0]
- ldr r1, _080F401C
- adds r2, r0, r1
- movs r1, 0
- strh r1, [r2]
- ldr r1, _080F4020
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F4012
-_080F4008:
- bl sub_80F4024
- lsls r0, 24
- cmp r0, 0
- bne _080F4008
-_080F4012:
- pop {r0}
- bx r0
- .align 2, 0
-_080F4018: .4byte gUnknown_083DFEC4
-_080F401C: .4byte 0x00000306
-_080F4020: .4byte 0x00006dac
- thumb_func_end sub_80F3FF0
-
- thumb_func_start sub_80F4024
-sub_80F4024: @ 80F4024
- push {r4,lr}
- sub sp, 0x10
- ldr r0, _080F4040
- ldr r4, [r0]
- ldr r1, _080F4044
- adds r0, r4, r1
- ldrh r0, [r0]
- cmp r0, 0x1
- beq _080F4068
- cmp r0, 0x1
- bgt _080F4048
- cmp r0, 0
- beq _080F4052
- b _080F4106
- .align 2, 0
-_080F4040: .4byte gUnknown_083DFEC4
-_080F4044: .4byte 0x00000306
-_080F4048:
- cmp r0, 0x2
- beq _080F4084
- cmp r0, 0x3
- beq _080F40B8
- b _080F4106
-_080F4052:
- ldr r0, _080F4060
- ldr r2, _080F4064
- adds r1, r4, r2
- bl LZ77UnCompWram
- b _080F4118
- .align 2, 0
-_080F4060: .4byte gUnknown_083E329C
-_080F4064: .4byte 0x000131e4
-_080F4068:
- ldr r1, _080F407C
- adds r0, r4, r1
- str r0, [sp]
- ldr r0, _080F4080
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- b _080F4118
- .align 2, 0
-_080F407C: .4byte 0x000131e4
-_080F4080: .4byte 0x00181000
-_080F4084:
- ldr r0, _080F40B4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [sp, 0x8]
- str r1, [sp, 0xC]
- add r0, sp, 0x8
- bl LoadSpritePalette
- movs r0, 0x10
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0xC2
- lsls r1, 2
- adds r2, r4, r1
- adds r0, 0x10
- movs r1, 0x1
- lsls r1, r0
- movs r0, 0x3
- negs r0, r0
- bics r0, r1
- str r0, [r2]
- b _080F4118
- .align 2, 0
-_080F40B4: .4byte gUnknown_083E4818
-_080F40B8:
- ldr r0, _080F40E4
- movs r1, 0xDA
- movs r2, 0xE
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080F40F0
- ldr r0, _080F40E8
- adds r2, r4, r0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F40EC
- adds r0, r1
- str r0, [r2]
- movs r1, 0
- strh r1, [r0, 0x2E]
- b _080F40F8
- .align 2, 0
-_080F40E4: .4byte gSpriteTemplate_83E4850
-_080F40E8: .4byte 0x00006d98
-_080F40EC: .4byte gSprites
-_080F40F0:
- ldr r2, _080F410C
- adds r1, r4, r2
- movs r0, 0
- str r0, [r1]
-_080F40F8:
- ldr r0, _080F4110
- ldr r1, [r0]
- ldr r0, _080F4114
- adds r1, r0
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080F4106:
- movs r0, 0
- b _080F4128
- .align 2, 0
-_080F410C: .4byte 0x00006d98
-_080F4110: .4byte gUnknown_083DFEC4
-_080F4114: .4byte 0x00000306
-_080F4118:
- ldr r0, _080F4130
- ldr r1, [r0]
- ldr r2, _080F4134
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- movs r0, 0x1
-_080F4128:
- add sp, 0x10
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F4130: .4byte gUnknown_083DFEC4
-_080F4134: .4byte 0x00000306
- thumb_func_end sub_80F4024
-
- thumb_func_start sub_80F4138
-sub_80F4138: @ 80F4138
- push {lr}
- adds r2, r0, 0
- ldr r0, _080F4170
- ldr r0, [r0]
- movs r1, 0xC3
- lsls r1, 2
- adds r0, r1
- ldrh r0, [r0]
- negs r0, r0
- strh r0, [r2, 0x26]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x20
- negs r1, r1
- cmp r0, r1
- bgt _080F4174
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080F418E
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0x1
- b _080F418C
- .align 2, 0
-_080F4170: .4byte gUnknown_083DFEC4
-_080F4174:
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _080F418E
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x5
- negs r1, r1
- ands r1, r0
- strb r1, [r3]
- movs r0, 0
-_080F418C:
- strh r0, [r2, 0x2E]
-_080F418E:
- pop {r0}
- bx r0
- thumb_func_end sub_80F4138
-
- thumb_func_start sub_80F4194
-sub_80F4194: @ 80F4194
- push {r4-r7,lr}
- sub sp, 0x4
- adds r7, r0, 0
- adds r2, r1, 0
- ldr r0, _080F42A4
- ldr r6, [r0]
- mov r0, sp
- ldr r1, _080F42A8
- adds r5, r1, 0
- strh r5, [r0]
- ldr r4, _080F42AC
- str r0, [r4]
- str r6, [r4, 0x4]
- ldr r3, _080F42B0
- str r3, [r4, 0x8]
- ldr r0, [r4, 0x8]
- movs r0, 0x80
- lsls r0, 3
- adds r1, r6, r0
- mov r0, sp
- strh r5, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r3, [r4, 0x8]
- ldr r0, [r4, 0x8]
- ldr r0, _080F42B4
- adds r1, r6, 0
- bl sub_8004E3C
- movs r3, 0x88
- lsls r3, 2
- adds r1, r6, r3
- mov r0, sp
- movs r3, 0
- strh r3, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- ldr r2, _080F42B8
- str r2, [r4, 0x8]
- ldr r0, [r4, 0x8]
- movs r0, 0xC4
- lsls r0, 3
- adds r1, r6, r0
- mov r0, sp
- strh r3, [r0]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r2, [r4, 0x8]
- ldr r0, [r4, 0x8]
- movs r1, 0x80
- lsls r1, 2
- adds r2, r6, r1
- ldr r0, [r2]
- ldr r1, _080F42BC
- ands r0, r1
- str r0, [r2]
- ldr r0, [r2, 0x4]
- ands r0, r1
- str r0, [r2, 0x4]
- ldr r0, [r2, 0x8]
- ands r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0xC]
- ands r0, r1
- str r0, [r2, 0xC]
- ldr r0, [r2, 0x10]
- ands r0, r1
- str r0, [r2, 0x10]
- ldr r0, [r2, 0x14]
- ands r0, r1
- str r0, [r2, 0x14]
- ldr r0, [r2, 0x18]
- ands r0, r1
- str r0, [r2, 0x18]
- ldr r0, [r2, 0x1C]
- ands r0, r1
- str r0, [r2, 0x1C]
- movs r3, 0xC0
- lsls r3, 3
- adds r2, r6, r3
- ldr r0, [r2]
- ands r0, r1
- str r0, [r2]
- ldr r0, [r2, 0x4]
- ands r0, r1
- str r0, [r2, 0x4]
- ldr r0, [r2, 0x8]
- ands r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0xC]
- ands r0, r1
- str r0, [r2, 0xC]
- ldr r0, [r2, 0x10]
- ands r0, r1
- str r0, [r2, 0x10]
- ldr r0, [r2, 0x14]
- ands r0, r1
- str r0, [r2, 0x14]
- ldr r0, [r2, 0x18]
- ands r0, r1
- str r0, [r2, 0x18]
- ldr r0, [r2, 0x1C]
- ands r0, r1
- str r0, [r2, 0x1C]
- movs r1, 0
- ldr r2, _080F42C0
-_080F4268:
- lsls r0, r1, 7
- adds r0, r6, r0
- str r0, [r4]
- lsls r0, r1, 8
- adds r0, r7, r0
- str r0, [r4, 0x4]
- str r2, [r4, 0x8]
- ldr r0, [r4, 0x8]
- lsls r0, r1, 7
- movs r3, 0x80
- lsls r3, 3
- adds r0, r3
- adds r0, r6, r0
- str r0, [r4]
- lsls r0, r1, 3
- adds r0, 0x4
- lsls r0, 5
- adds r0, r7, r0
- str r0, [r4, 0x4]
- str r2, [r4, 0x8]
- ldr r0, [r4, 0x8]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x4
- bls _080F4268
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F42A4: .4byte gUnknown_083DFEC8
-_080F42A8: .4byte 0x00001111
-_080F42AC: .4byte 0x040000d4
-_080F42B0: .4byte 0x81000140
-_080F42B4: .4byte gWindowConfig_81E70F0
-_080F42B8: .4byte 0x81000030
-_080F42BC: .4byte 0x0fffffff
-_080F42C0: .4byte 0x80000040
- thumb_func_end sub_80F4194
-
- thumb_func_start sub_80F42C4
-sub_80F42C4: @ 80F42C4
- push {r4-r7,lr}
- sub sp, 0x8
- adds r1, r0, 0
- ldr r0, _080F433C
- ldr r0, [r0]
- ldr r2, _080F4340
- adds r0, r2
- str r0, [sp]
- ldr r2, _080F4344
- str r2, [sp, 0x4]
- bl sub_80F4194
- mov r0, sp
- bl LoadSpriteSheet
- ldr r0, _080F4348
- bl LoadSpritePalette
- movs r5, 0
- movs r4, 0
- ldr r6, _080F434C
-_080F42EE:
- lsls r1, r4, 21
- movs r7, 0xE2
- lsls r7, 15
- adds r1, r7
- asrs r1, 16
- ldr r0, _080F4350
- movs r2, 0x10
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080F4360
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- adds r3, r6
- ldrh r2, [r3, 0x4]
- lsls r0, r2, 22
- lsrs r0, 22
- adds r0, r5, r0
- ldr r7, _080F4354
- adds r1, r7, 0
- ands r0, r1
- ldr r7, _080F4358
- adds r1, r7, 0
- ands r2, r1
- orrs r2, r0
- strh r2, [r3, 0x4]
- ldr r0, _080F433C
- ldr r0, [r0]
- lsls r1, r4, 2
- ldr r2, _080F435C
- adds r0, r2
- adds r0, r1
- str r3, [r0]
- b _080F4370
- .align 2, 0
-_080F433C: .4byte gUnknown_083DFEC4
-_080F4340: .4byte 0x0000d1e4
-_080F4344: .4byte 0x001a0500
-_080F4348: .4byte gUnknown_083E4868
-_080F434C: .4byte gSprites
-_080F4350: .4byte gSpriteTemplate_83E4878
-_080F4354: .4byte 0x000003ff
-_080F4358: .4byte 0xfffffc00
-_080F435C: .4byte 0x0000ced4
-_080F4360:
- ldr r0, _080F438C
- ldr r1, [r0]
- lsls r0, r4, 2
- ldr r7, _080F4390
- adds r1, r7
- adds r1, r0
- movs r0, 0
- str r0, [r1]
-_080F4370:
- adds r0, r5, 0
- adds r0, 0x8
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080F42EE
- add sp, 0x8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F438C: .4byte gUnknown_083DFEC4
-_080F4390: .4byte 0x0000ced4
- thumb_func_end sub_80F42C4
-
- thumb_func_start sub_80F4394
-sub_80F4394: @ 80F4394
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _080F43CC
- ldr r0, [r0]
- ldr r1, _080F43D0
- adds r5, r0, r1
-_080F43A0:
- lsls r0, r4, 2
- adds r0, r5, r0
- ldr r0, [r0]
- cmp r0, 0
- beq _080F43AE
- bl DestroySprite
-_080F43AE:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080F43A0
- movs r0, 0x1A
- bl FreeSpriteTilesByTag
- movs r0, 0x12
- bl FreeSpritePaletteByTag
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F43CC: .4byte gUnknown_083DFEC4
-_080F43D0: .4byte 0x0000ced4
- thumb_func_end sub_80F4394
-
- thumb_func_start sub_80F43D4
-sub_80F43D4: @ 80F43D4
- push {r4,lr}
- adds r1, r0, 0
- ldr r0, _080F4410
- ldr r0, [r0]
- ldr r2, _080F4414
- adds r4, r0, r2
- adds r0, r4, 0
- bl sub_80F4194
- movs r0, 0x1A
- bl GetSpriteTileStartByTag
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _080F4418
- cmp r1, r0
- beq _080F4408
- lsls r0, r1, 5
- ldr r1, _080F441C
- adds r0, r1
- ldr r1, _080F4420
- str r4, [r1]
- str r0, [r1, 0x4]
- ldr r0, _080F4424
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
-_080F4408:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F4410: .4byte gUnknown_083DFEC4
-_080F4414: .4byte 0x0000d1e4
-_080F4418: .4byte 0x0000ffff
-_080F441C: .4byte 0x06010000
-_080F4420: .4byte 0x040000d4
-_080F4424: .4byte 0x84000140
- thumb_func_end sub_80F43D4
-
- thumb_func_start sub_80F4428
-sub_80F4428: @ 80F4428
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 24
- lsrs r2, 24
- bl sub_80F6514
- pop {r1}
- bx r1
- thumb_func_end sub_80F4428
-
- thumb_func_start sub_80F443C
-sub_80F443C: @ 80F443C
- push {r4,lr}
- lsls r4, r1, 16
- lsrs r4, 16
- ldr r1, _080F4458
- bl StringCopy
- adds r1, r4, 0
- movs r2, 0x38
- movs r3, 0x1
- bl sub_8072C14
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F4458: .4byte gOtherText_Number
- thumb_func_end sub_80F443C
-
- thumb_func_start sub_80F445C
-sub_80F445C: @ 80F445C
- push {r4,lr}
- lsls r1, 16
- lsrs r1, 16
- movs r2, 0x17
- movs r3, 0x1
- bl sub_8072C14
- adds r4, r0, 0
- movs r3, 0xFC
- strb r3, [r4]
- movs r2, 0x11
- strb r2, [r4, 0x1]
- movs r1, 0x1
- strb r1, [r4, 0x2]
- adds r4, 0x3
- movs r0, 0xBA
- strb r0, [r4]
- adds r4, 0x1
- strb r3, [r4]
- strb r2, [r4, 0x1]
- strb r1, [r4, 0x2]
- adds r4, 0x3
- ldr r0, _080F44A8
- ldr r0, [r0]
- ldr r1, _080F44AC
- adds r0, r1
- movs r2, 0
- ldrsh r1, [r0, r2]
- adds r1, 0x1
- adds r0, r4, 0
- movs r2, 0x32
- movs r3, 0x1
- bl sub_8072C14
- adds r4, r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F44A8: .4byte gUnknown_083DFEC4
-_080F44AC: .4byte 0x00008774
- thumb_func_end sub_80F445C
-
- thumb_func_start sub_80F44B0
-sub_80F44B0: @ 80F44B0
- push {r4,lr}
- adds r4, r2, 0
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r2, r1, 16
- cmp r0, 0xE
- bne _080F44F4
- cmp r4, 0x2
- beq _080F44C8
- cmp r4, 0x7
- bne _080F44E0
-_080F44C8:
- movs r0, 0x64
- muls r0, r2
- ldr r1, _080F44DC
- adds r0, r1
- adds r1, r4, 0
- adds r2, r3, 0
- bl GetMonData
- b _080F453C
- .align 2, 0
-_080F44DC: .4byte gPlayerParty
-_080F44E0:
- movs r0, 0x64
- muls r0, r2
- ldr r1, _080F44F0
- adds r0, r1
- adds r1, r4, 0
- bl GetMonData
- b _080F453C
- .align 2, 0
-_080F44F0: .4byte gPlayerParty
-_080F44F4:
- cmp r4, 0x2
- beq _080F44FC
- cmp r4, 0x7
- bne _080F4520
-_080F44FC:
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _080F451C
- adds r1, r2
- adds r0, r1
- adds r1, r4, 0
- adds r2, r3, 0
- bl GetBoxMonData
- b _080F453C
- .align 2, 0
-_080F451C: .4byte gUnknown_020300A4
-_080F4520:
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _080F4544
- adds r1, r2
- adds r0, r1
- adds r1, r4, 0
- bl GetBoxMonData
-_080F453C:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F4544: .4byte gUnknown_020300A4
- thumb_func_end sub_80F44B0
-
- thumb_func_start sub_80F4548
-sub_80F4548: @ 80F4548
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- mov r0, sp
- strb r2, [r0]
- cmp r3, 0xE
- bne _080F4574
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080F4570
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetMonData
- b _080F4592
- .align 2, 0
-_080F4570: .4byte gPlayerParty
-_080F4574:
- lsls r1, r3, 2
- adds r1, r3
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 4
- ldr r2, _080F459C
- adds r1, r2
- adds r0, r1
- movs r1, 0x8
- mov r2, sp
- bl SetBoxMonData
-_080F4592:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F459C: .4byte gUnknown_020300A4
- thumb_func_end sub_80F4548
-
- thumb_func_start sub_80F45A0
-sub_80F45A0: @ 80F45A0
- push {r4-r7,lr}
- lsls r1, 24
- lsrs r6, r1, 24
- ldr r1, _080F45F0
- ldr r5, [r1]
- lsls r1, r0, 16
- asrs r0, r1, 14
- adds r4, r5, r0
- ldr r2, _080F45F4
- adds r0, r4, r2
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r7, r0, 31
- cmp r7, 0
- beq _080F4644
- lsls r0, r6, 6
- ldr r2, _080F45F8
- adds r0, r2
- adds r0, r5, r0
- lsrs r1, 16
- movs r2, 0
- bl sub_80F4428
- ldr r1, _080F45FC
- adds r0, r4, r1
- ldrb r2, [r0]
- cmp r2, 0xE
- bne _080F4608
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 3
- ldr r2, _080F4600
- adds r0, r2
- adds r0, r5, r0
- ldr r1, _080F4604
- movs r2, 0x40
- movs r3, 0
- bl sub_8072C74
- b _080F4624
- .align 2, 0
-_080F45F0: .4byte gUnknown_083DFEC4
-_080F45F4: .4byte 0x0000893f
-_080F45F8: .4byte 0x00008829
-_080F45FC: .4byte 0x0000893d
-_080F4600: .4byte 0x000088e9
-_080F4604: .4byte gOtherText_InParty
-_080F4608:
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 3
- ldr r1, _080F4634
- adds r0, r1
- adds r0, r5, r0
- lsls r1, r2, 3
- adds r1, r2
- ldr r2, _080F4638
- adds r1, r2
- movs r2, 0x40
- movs r3, 0
- bl sub_8072C74
-_080F4624:
- ldr r0, _080F463C
- ldr r0, [r0]
- ldr r2, _080F4640
- adds r0, r2
- adds r0, r6
- movs r1, 0x1
- strb r1, [r0]
- b _080F4676
- .align 2, 0
-_080F4634: .4byte 0x000088e9
-_080F4638: .4byte gUnknown_020383E4
-_080F463C: .4byte gUnknown_083DFEC4
-_080F4640: .4byte 0x00008937
-_080F4644:
- lsls r0, r6, 6
- ldr r1, _080F467C
- adds r0, r1
- adds r0, r5, r0
- ldr r4, _080F4680
- adds r1, r4, 0
- movs r2, 0x68
- movs r3, 0
- bl sub_8072C74
- lsls r0, r6, 1
- adds r0, r6
- lsls r0, 3
- ldr r2, _080F4684
- adds r0, r2
- adds r0, r5, r0
- adds r1, r4, 0
- movs r2, 0x40
- movs r3, 0
- bl sub_8072C74
- ldr r1, _080F4688
- adds r0, r5, r1
- adds r0, r6
- strb r7, [r0]
-_080F4676:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F467C: .4byte 0x00008829
-_080F4680: .4byte gEmptyString_81E72B0
-_080F4684: .4byte 0x000088e9
-_080F4688: .4byte 0x00008937
- thumb_func_end sub_80F45A0
-
- thumb_func_start sub_80F468C
-sub_80F468C: @ 80F468C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- ldr r1, _080F475C
- ldr r7, [r1]
- lsls r0, 16
- asrs r0, 14
- adds r1, r7, r0
- ldr r2, _080F4760
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- blt _080F46B2
- b _080F47C4
-_080F46B2:
- ldr r3, _080F4764
- adds r0, r1, r3
- ldrb r5, [r0]
- subs r2, 0x1
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r6, r0, 27
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x16
- movs r3, 0
- bl sub_80F44B0
- mov r3, r9
- lsls r3, 2
- mov r8, r3
- mov r4, r8
- add r4, r9
- ldr r2, _080F4768
- adds r1, r7, r2
- adds r1, r4
- strb r0, [r1]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x2F
- movs r3, 0
- bl sub_80F44B0
- ldr r3, _080F476C
- adds r1, r7, r3
- adds r1, r4
- strb r0, [r1]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x21
- movs r3, 0
- bl sub_80F44B0
- ldr r2, _080F4770
- adds r1, r7, r2
- adds r1, r4
- strb r0, [r1]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x18
- movs r3, 0
- bl sub_80F44B0
- ldr r3, _080F4774
- adds r1, r7, r3
- adds r1, r4
- strb r0, [r1]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x17
- movs r3, 0
- bl sub_80F44B0
- ldr r2, _080F4778
- adds r1, r7, r2
- adds r1, r4
- strb r0, [r1]
- ldr r3, _080F477C
- adds r0, r7, r3
- mov r7, r9
- adds r4, r0, r7
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x30
- movs r3, 0
- bl sub_80F44B0
- cmp r0, 0xFF
- beq _080F4780
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x30
- movs r3, 0
- bl sub_80F44B0
- movs r1, 0x1D
- bl __udivsi3
- b _080F4782
- .align 2, 0
-_080F475C: .4byte gUnknown_083DFEC4
-_080F4760: .4byte 0x0000893f
-_080F4764: .4byte 0x0000893d
-_080F4768: .4byte 0x00008ff0
-_080F476C: .4byte 0x00008ff1
-_080F4770: .4byte 0x00008ff2
-_080F4774: .4byte 0x00008ff3
-_080F4778: .4byte 0x00008ff4
-_080F477C: .4byte 0x00008931
-_080F4780:
- movs r0, 0x9
-_080F4782:
- strb r0, [r4]
- adds r0, r5, 0
- adds r1, r6, 0
- movs r2, 0x8
- movs r3, 0
- bl sub_80F44B0
- ldr r1, _080F47B4
- ldr r1, [r1]
- ldr r3, _080F47B8
- adds r2, r1, r3
- add r2, r9
- strb r0, [r2]
- mov r2, r8
- add r2, r9
- ldr r7, _080F47BC
- adds r0, r2, r7
- adds r0, r1, r0
- lsls r2, 2
- ldr r3, _080F47C0
- adds r2, r3
- adds r1, r2
- bl sub_80F55AC
- b _080F480A
- .align 2, 0
-_080F47B4: .4byte gUnknown_083DFEC4
-_080F47B8: .4byte 0x00008934
-_080F47BC: .4byte 0x00008ff0
-_080F47C0: .4byte 0x00009004
-_080F47C4:
- movs r3, 0
- mov r0, r9
- lsls r0, 2
- mov r8, r0
- adds r4, r7, 0
- mov r2, r8
- add r2, r9
- ldr r1, _080F4818
- adds r6, r4, r1
- lsls r5, r2, 2
- mov r9, r3
- ldr r7, _080F481C
- mov r8, r7
- movs r0, 0x9B
- mov r12, r0
-_080F47E2:
- adds r0, r3, r2
- adds r0, r6, r0
- mov r1, r9
- strb r1, [r0]
- lsls r0, r3, 2
- adds r0, r5
- adds r0, r4, r0
- mov r7, r8
- adds r1, r0, r7
- mov r7, r12
- strh r7, [r1]
- ldr r1, _080F4820
- adds r0, r1
- movs r1, 0x5B
- strh r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x4
- bls _080F47E2
-_080F480A:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F4818: .4byte 0x00008ff0
-_080F481C: .4byte 0x00009004
-_080F4820: .4byte 0x00009006
- thumb_func_end sub_80F468C
-
- thumb_func_start sub_80F4824
-sub_80F4824: @ 80F4824
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0xC
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- ldr r1, _080F48E0
- ldr r7, [r1]
- lsls r0, 16
- asrs r0, 14
- adds r1, r7, r0
- ldr r2, _080F48E4
- adds r0, r1, r2
- ldrb r0, [r0]
- lsls r0, 25
- cmp r0, 0
- bge _080F48D0
- ldr r6, _080F48E8
- adds r0, r1, r6
- ldrb r6, [r0]
- subs r2, 0x1
- adds r0, r1, r2
- ldrb r4, [r0]
- lsls r4, 27
- lsrs r4, 27
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x41
- movs r3, 0
- bl sub_80F44B0
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x1
- movs r3, 0
- bl sub_80F44B0
- mov r8, r0
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0
- movs r3, 0
- bl sub_80F44B0
- adds r4, r0, 0
- lsls r0, r5, 3
- ldr r1, _080F48EC
- adds r0, r1
- ldr r2, _080F48F0
- lsls r1, r5, 2
- adds r1, r2
- ldrb r1, [r1]
- ldr r6, _080F48F4
- adds r3, r7, r6
- mov r6, r9
- lsls r2, r6, 13
- ldr r6, _080F48F8
- adds r2, r6
- adds r2, r7, r2
- str r2, [sp]
- str r5, [sp, 0x4]
- str r4, [sp, 0x8]
- movs r2, 0x1
- bl sub_800D334
- adds r0, r5, 0
- mov r1, r8
- adds r2, r4, 0
- bl species_and_otid_get_pal
- mov r2, r9
- lsls r1, r2, 7
- adds r1, r7, r1
- bl LZ77UnCompWram
- mov r6, r9
- lsls r1, r6, 1
- ldr r2, _080F48FC
- adds r0, r7, r2
- adds r0, r1
- strh r5, [r0]
-_080F48D0:
- add sp, 0xC
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F48E0: .4byte gUnknown_083DFEC4
-_080F48E4: .4byte 0x0000893f
-_080F48E8: .4byte 0x0000893d
-_080F48EC: .4byte gMonFrontPicTable
-_080F48F0: .4byte gMonFrontPicCoords
-_080F48F4: .4byte 0x000131e4
-_080F48F8: .4byte 0x0000d1e4
-_080F48FC: .4byte 0x0000d1d6
- thumb_func_end sub_80F4824
-
- thumb_func_start sub_80F4900
-sub_80F4900: @ 80F4900
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80F45A0
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80F468C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80F4824
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F4900
-
- thumb_func_start sub_80F492C
-sub_80F492C: @ 80F492C
- ldr r0, _080F493C
- ldr r0, [r0]
- ldr r1, _080F4940
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080F493C: .4byte gUnknown_083DFEC4
-_080F4940: .4byte 0x00008fe4
- thumb_func_end sub_80F492C
-
- thumb_func_start sub_80F4944
-sub_80F4944: @ 80F4944
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r12, r0
- movs r2, 0
- ldr r1, _080F4978
- ldr r5, [r1]
- ldr r3, _080F497C
- adds r0, r5, r3
- ldrh r4, [r0]
- lsrs r3, r4, 1
- mov r8, r1
- cmp r4, r3
- beq _080F499C
- adds r6, r5, 0
- mov r0, r12
- ldrb r5, [r0]
- ldr r7, _080F4980
-_080F4968:
- lsls r0, r3, 2
- adds r0, r6, r0
- adds r0, r7
- ldrb r0, [r0]
- cmp r5, r0
- bls _080F4984
- adds r4, r3, 0
- b _080F498A
- .align 2, 0
-_080F4978: .4byte gUnknown_083DFEC4
-_080F497C: .4byte 0x00008fe4
-_080F4980: .4byte 0x0000893c
-_080F4984:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
-_080F498A:
- subs r0, r4, r2
- lsrs r1, r0, 31
- adds r0, r1
- asrs r0, 1
- adds r0, r2, r0
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r4, r3
- bne _080F4968
-_080F499C:
- mov r1, r8
- ldr r2, [r1]
- ldr r1, _080F49EC
- adds r0, r2, r1
- ldrh r4, [r0]
- lsls r6, r3, 2
- cmp r4, r3
- bls _080F49C6
- ldr r0, _080F49F0
- adds r5, r2, r0
-_080F49B0:
- lsls r2, r4, 2
- adds r2, r5, r2
- subs r1, r4, 0x1
- lsls r0, r1, 2
- adds r0, r5, r0
- ldr r0, [r0]
- str r0, [r2]
- lsls r1, 16
- lsrs r4, r1, 16
- cmp r4, r3
- bhi _080F49B0
-_080F49C6:
- mov r1, r8
- ldr r2, [r1]
- ldr r3, _080F49F0
- adds r0, r2, r3
- adds r0, r6
- mov r3, r12
- ldr r1, [r3]
- str r1, [r0]
- ldr r0, _080F49EC
- adds r2, r0
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r2]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F49EC: .4byte 0x00008fe4
-_080F49F0: .4byte 0x0000893c
- thumb_func_end sub_80F4944
-
- thumb_func_start sub_80F49F4
-sub_80F49F4: @ 80F49F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r3, _080F4A64
- ldr r4, [r3]
- ldr r7, _080F4A68
- adds r2, r4, r7
- ldrh r1, [r2]
- ldr r0, _080F4A6C
- mov r12, r0
- ands r0, r1
- movs r1, 0x20
- orrs r0, r1
- strh r0, [r2]
- movs r5, 0x1
- ldr r1, _080F4A70
- adds r0, r4, r1
- ldrh r3, [r0]
- cmp r5, r3
- bcs _080F4A9E
- adds r6, r4, 0
- ldr r1, _080F4A74
- mov r8, r1
- ldr r3, _080F4A78
- mov r10, r3
- mov r9, r0
-_080F4A2C:
- lsls r0, r5, 2
- adds r3, r6, r0
- mov r0, r8
- adds r2, r3, r0
- subs r0, r5, 0x1
- lsls r0, 2
- adds r4, r6, r0
- mov r0, r8
- adds r1, r4, r0
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- bne _080F4A7C
- adds r0, r4, r7
- ldrh r0, [r0]
- lsls r0, 18
- lsrs r0, 23
- adds r3, r7
- ldr r1, _080F4A78
- ands r1, r0
- lsls r1, 5
- ldrh r2, [r3]
- mov r0, r12
- ands r0, r2
- orrs r0, r1
- strh r0, [r3]
- adds r4, r5, 0x1
- b _080F4A92
- .align 2, 0
-_080F4A64: .4byte gUnknown_083DFEC4
-_080F4A68: .4byte 0x0000893e
-_080F4A6C: .4byte 0xffffc01f
-_080F4A70: .4byte 0x00008fe4
-_080F4A74: .4byte 0x0000893c
-_080F4A78: .4byte 0x000001ff
-_080F4A7C:
- adds r4, r5, 0x1
- adds r3, r7
- adds r1, r4, 0
- mov r0, r10
- ands r1, r0
- lsls r1, 5
- ldrh r2, [r3]
- mov r0, r12
- ands r0, r2
- orrs r0, r1
- strh r0, [r3]
-_080F4A92:
- lsls r0, r4, 16
- lsrs r5, r0, 16
- mov r1, r9
- ldrh r1, [r1]
- cmp r5, r1
- bcc _080F4A2C
-_080F4A9E:
- ldr r3, _080F4AC4
- ldr r2, [r3]
- ldr r1, _080F4AC8
- adds r0, r2, r1
- movs r1, 0
- strh r1, [r0]
- ldr r3, _080F4ACC
- adds r0, r2, r3
- strh r1, [r0]
- subs r3, 0x2
- adds r0, r2, r3
- strh r1, [r0]
- ldr r1, _080F4AD0
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, 0x8
- bhi _080F4AD4
- subs r1, r0, 0x1
- b _080F4AD6
- .align 2, 0
-_080F4AC4: .4byte gUnknown_083DFEC4
-_080F4AC8: .4byte 0x0000876c
-_080F4ACC: .4byte 0x00008770
-_080F4AD0: .4byte 0x00008fe4
-_080F4AD4:
- movs r1, 0x7
-_080F4AD6:
- ldr r3, _080F4B10
- adds r0, r2, r3
- strh r1, [r0]
- ldr r0, _080F4B14
- ldr r2, [r0]
- ldr r1, _080F4B18
- adds r0, r2, r1
- ldrh r0, [r0]
- subs r0, 0x1
- adds r3, 0x2
- adds r1, r2, r3
- strh r0, [r1]
- movs r1, 0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080F4AFA
- movs r1, 0x1
-_080F4AFA:
- ldr r3, _080F4B1C
- adds r0, r2, r3
- strb r1, [r0]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F4B10: .4byte 0x00008772
-_080F4B14: .4byte gUnknown_083DFEC4
-_080F4B18: .4byte 0x00008fe4
-_080F4B1C: .4byte 0x000087c9
- thumb_func_end sub_80F49F4
-
- thumb_func_start sub_80F4B20
-sub_80F4B20: @ 80F4B20
- push {r4-r6,lr}
- ldr r0, _080F4B5C
- ldr r4, [r0]
- ldr r0, _080F4B60
- adds r5, r4, r0
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r1, 0
- bl sub_80F4900
- movs r0, 0
- bl sub_80F2E18
- ldr r0, _080F4B64
- adds r2, r4, r0
- movs r1, 0
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _080F4B6C
- ldr r2, _080F4B68
- adds r0, r4, r2
- movs r1, 0
- strb r1, [r0]
- adds r2, 0x1
- adds r0, r4, r2
- strb r1, [r0]
- adds r2, 0x1
- adds r0, r4, r2
- strb r1, [r0]
- b _080F4BBE
- .align 2, 0
-_080F4B5C: .4byte gUnknown_083DFEC4
-_080F4B60: .4byte 0x000087dc
-_080F4B64: .4byte 0x000087da
-_080F4B68: .4byte 0x00008fe9
-_080F4B6C:
- ldr r0, _080F4BC4
- adds r1, r4, r0
- movs r0, 0
- strb r0, [r1]
- ldr r0, _080F4BC8
- adds r1, r4, r0
- movs r0, 0x1
- strb r0, [r1]
- ldr r0, _080F4BCC
- adds r1, r4, r0
- movs r0, 0x2
- strb r0, [r1]
- ldrh r3, [r5]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- ldrh r6, [r2]
- movs r4, 0
- ldrsh r1, [r2, r4]
- cmp r0, r1
- blt _080F4B9A
- movs r5, 0
-_080F4B9A:
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r0, 0
- bge _080F4BAA
- subs r0, r6, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
-_080F4BAA:
- lsls r0, r5, 16
- asrs r0, 16
- movs r1, 0x1
- bl sub_80F4900
- lsls r0, r4, 16
- asrs r0, 16
- movs r1, 0x2
- bl sub_80F4900
-_080F4BBE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F4BC4: .4byte 0x00008fe9
-_080F4BC8: .4byte 0x00008fea
-_080F4BCC: .4byte 0x00008feb
- thumb_func_end sub_80F4B20
-
- thumb_func_start sub_80F4BD0
-sub_80F4BD0: @ 80F4BD0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r6, 0
- movs r7, 0
- ldr r0, _080F4CC4
- ldr r2, [r0]
- ldr r3, _080F4CC8
- adds r1, r2, r3
- mov r9, r0
- ldrb r1, [r1]
- cmp r7, r1
- bcs _080F4C66
- mov r10, r9
- adds r4, r3, 0
- adds r4, r2
- mov r8, r4
-_080F4BF6:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _080F4CCC
- adds r0, r1
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _080F4C58
- mov r0, r10
- ldr r3, [r0]
- lsls r0, r7, 2
- adds r3, r0
- ldr r2, _080F4CD0
- adds r1, r3, r2
- movs r0, 0xE
- strb r0, [r1]
- ldr r4, _080F4CD4
- adds r5, r3, r4
- movs r0, 0x1F
- adds r2, r6, 0
- ands r2, r0
- ldrb r0, [r5]
- movs r4, 0x20
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r5]
- adds r4, r7, 0x1
- ldr r7, _080F4CD8
- adds r0, r7, 0
- adds r2, r4, 0
- ands r2, r0
- lsls r2, 5
- ldrh r0, [r5]
- ldr r7, _080F4CDC
- adds r1, r7, 0
- ands r0, r1
- orrs r0, r2
- strh r0, [r5]
- ldr r0, _080F4CE0
- adds r3, r0
- ldrb r0, [r3]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r3]
- lsls r4, 16
- lsrs r7, r4, 16
-_080F4C58:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- mov r1, r8
- ldrb r1, [r1]
- cmp r6, r1
- bcc _080F4BF6
-_080F4C66:
- mov r2, r9
- ldr r4, [r2]
- lsls r1, r7, 2
- adds r1, r4, r1
- ldr r3, _080F4CD0
- adds r0, r1, r3
- movs r5, 0
- strb r5, [r0]
- ldr r0, _080F4CD4
- adds r2, r1, r0
- ldrb r3, [r2]
- movs r0, 0x20
- negs r0, r0
- ands r0, r3
- strb r0, [r2]
- ldrh r3, [r2]
- ldr r0, _080F4CDC
- ands r0, r3
- strh r0, [r2]
- ldr r2, _080F4CE0
- adds r1, r2
- ldrb r2, [r1]
- movs r0, 0x41
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
- ldr r3, _080F4CE4
- adds r0, r4, r3
- strh r5, [r0]
- adds r1, r7, 0x1
- ldr r7, _080F4CE8
- adds r0, r4, r7
- strh r1, [r0]
- bl sub_80F4B20
- ldr r0, _080F4CEC
- adds r4, r0
- movs r0, 0x1
- strb r0, [r4]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F4CC4: .4byte gUnknown_083DFEC4
-_080F4CC8: .4byte 0x00008828
-_080F4CCC: .4byte gPlayerParty
-_080F4CD0: .4byte 0x0000893d
-_080F4CD4: .4byte 0x0000893e
-_080F4CD8: .4byte 0x000001ff
-_080F4CDC: .4byte 0xffffc01f
-_080F4CE0: .4byte 0x0000893f
-_080F4CE4: .4byte 0x000087dc
-_080F4CE8: .4byte 0x000087da
-_080F4CEC: .4byte 0x000087cb
- thumb_func_end sub_80F4BD0
-
- thumb_func_start sub_80F4CF0
-sub_80F4CF0: @ 80F4CF0
- push {r4,lr}
- ldr r0, _080F4D1C
- ldr r4, [r0]
- ldr r1, _080F4D20
- adds r0, r4, r1
- ldrh r1, [r0]
- ldr r2, _080F4D24
- adds r0, r4, r2
- strh r1, [r0]
- bl sub_80F4B20
- ldr r1, _080F4D28
- adds r0, r4, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0
- bne _080F4D30
- ldr r0, _080F4D2C
- adds r1, r4, r0
- movs r0, 0
- b _080F4D36
- .align 2, 0
-_080F4D1C: .4byte gUnknown_083DFEC4
-_080F4D20: .4byte 0x0000876e
-_080F4D24: .4byte 0x000087dc
-_080F4D28: .4byte 0x00008774
-_080F4D2C: .4byte 0x000087cb
-_080F4D30:
- ldr r2, _080F4D40
- adds r1, r4, r2
- movs r0, 0x1
-_080F4D36:
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F4D40: .4byte 0x000087cb
- thumb_func_end sub_80F4CF0
-
- thumb_func_start sub_80F4D44
-sub_80F4D44: @ 80F4D44
- push {r4,lr}
- ldr r0, _080F4D78
- ldr r4, [r0]
- ldr r1, _080F4D7C
- adds r0, r4, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080F4D80
- adds r0, r4, r2
- strb r1, [r0]
- bl sub_80F492C
- ldr r0, _080F4D84
- adds r4, r0
- ldrb r0, [r4]
- cmp r0, 0
- bne _080F4D70
-_080F4D66:
- bl sub_80F4D88
- lsls r0, 24
- cmp r0, 0
- bne _080F4D66
-_080F4D70:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F4D78: .4byte gUnknown_083DFEC4
-_080F4D7C: .4byte 0x00008fe6
-_080F4D80: .4byte 0x00008fe7
-_080F4D84: .4byte 0x00006dac
- thumb_func_end sub_80F4D44
-
- thumb_func_start sub_80F4D88
-sub_80F4D88: @ 80F4D88
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r6, _080F4E98
- ldr r4, [r6]
- ldr r1, _080F4E9C
- adds r0, r4, r1
- ldrb r3, [r0]
- cmp r3, 0xE
- bne _080F4DA4
- b _080F4EB8
-_080F4DA4:
- cmp r3, 0xF
- bne _080F4DAA
- b _080F4F60
-_080F4DAA:
- movs r1, 0x80
- lsls r1, 23
- ldr r0, [sp]
- orrs r0, r1
- str r0, [sp]
- movs r7, 0
- mov r10, r6
- ldr r2, _080F4E9C
- adds r6, r4, r2
- ldr r3, _080F4EA0
- adds r5, r4, r3
- ldr r0, _080F4EA4
- adds r0, r4
- mov r9, r0
- ldr r1, _080F4EA8
- mov r8, r1
-_080F4DCA:
- ldrb r0, [r6]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldrb r2, [r5]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- add r1, r8
- adds r0, r1
- movs r1, 0xB
- bl GetBoxMonData
- cmp r0, 0
- beq _080F4E60
- ldrb r0, [r6]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldrb r2, [r5]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- add r1, r8
- adds r0, r1
- movs r1, 0x2D
- bl GetBoxMonData
- cmp r0, 0
- bne _080F4E60
- ldrb r1, [r6]
- lsls r1, 8
- ldr r2, _080F4EAC
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldrb r2, [r5]
- movs r1, 0x1F
- ands r2, r1
- lsls r2, 16
- ldr r1, _080F4EB0
- ands r0, r1
- orrs r0, r2
- str r0, [sp]
- ldrb r0, [r6]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldrb r2, [r5]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- add r1, r8
- adds r0, r1
- mov r2, r9
- ldrb r1, [r2]
- bl GetBoxMonData
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080F4EB4
- ldr r1, [sp]
- ands r1, r2
- orrs r1, r0
- str r1, [sp]
- mov r0, sp
- bl sub_80F4944
-_080F4E60:
- mov r3, r10
- ldr r1, [r3]
- ldr r0, _080F4EA0
- adds r2, r1, r0
- ldrb r0, [r2]
- adds r0, 0x1
- movs r4, 0
- strb r0, [r2]
- movs r3, 0xFF
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bne _080F4E8C
- strb r4, [r2]
- ldr r2, _080F4E9C
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- ands r0, r3
- cmp r0, 0xE
- beq _080F4F64
-_080F4E8C:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- cmp r7, 0xE
- bls _080F4DCA
- b _080F4F64
- .align 2, 0
-_080F4E98: .4byte gUnknown_083DFEC4
-_080F4E9C: .4byte 0x00008fe6
-_080F4EA0: .4byte 0x00008fe7
-_080F4EA4: .4byte 0x000087d8
-_080F4EA8: .4byte gUnknown_020300A4
-_080F4EAC: .4byte 0xffff00ff
-_080F4EB0: .4byte 0xffe0ffff
-_080F4EB4: .4byte 0xffffff00
-_080F4EB8:
- mov r2, sp
- ldrb r0, [r2, 0x3]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2, 0x3]
- strb r3, [r2, 0x1]
- movs r7, 0
- ldr r3, _080F4F44
- adds r0, r4, r3
- ldrb r0, [r0]
- cmp r7, r0
- bcs _080F4F24
- mov r5, sp
- mov r8, r6
- adds r6, r4, r3
-_080F4ED6:
- movs r0, 0x64
- adds r1, r7, 0
- muls r1, r0
- ldr r0, _080F4F48
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- bne _080F4F18
- movs r0, 0x1F
- adds r2, r7, 0
- ands r2, r0
- ldrb r0, [r5, 0x2]
- movs r3, 0x20
- negs r3, r3
- adds r1, r3, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0x2]
- mov r1, r8
- ldr r0, [r1]
- ldr r2, _080F4F4C
- adds r0, r2
- ldrb r1, [r0]
- adds r0, r4, 0
- bl GetMonData
- strb r0, [r5]
- mov r0, sp
- bl sub_80F4944
-_080F4F18:
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- ldrb r3, [r6]
- cmp r7, r3
- bcc _080F4ED6
-_080F4F24:
- bl sub_80F49F4
- ldr r0, _080F4F50
- ldr r1, [r0]
- ldr r2, _080F4F54
- adds r0, r1, r2
- ldrh r2, [r0]
- ldr r3, _080F4F58
- adds r0, r1, r3
- strh r2, [r0]
- ldr r0, _080F4F5C
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080F4F64
- .align 2, 0
-_080F4F44: .4byte 0x00008828
-_080F4F48: .4byte gPlayerParty
-_080F4F4C: .4byte 0x000087d8
-_080F4F50: .4byte gUnknown_083DFEC4
-_080F4F54: .4byte 0x00008fe4
-_080F4F58: .4byte 0x000087da
-_080F4F5C: .4byte 0x00008fe6
-_080F4F60:
- movs r0, 0
- b _080F4F66
-_080F4F64:
- movs r0, 0x1
-_080F4F66:
- 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_80F4D88
-
- thumb_func_start sub_80F4F78
-sub_80F4F78: @ 80F4F78
- push {lr}
- ldr r0, _080F4FA4
- ldr r1, [r0]
- ldr r2, _080F4FA8
- adds r0, r1, r2
- ldr r3, _080F4FAC
- adds r2, r1, r3
- movs r3, 0
- ldrsb r3, [r2, r3]
- lsls r2, r3, 2
- adds r2, r3
- lsls r2, 2
- ldr r3, _080F4FB0
- adds r2, r3
- adds r1, r2
- bl sub_80F53EC
- bl sub_80F5504
- pop {r0}
- bx r0
- .align 2, 0
-_080F4FA4: .4byte gUnknown_083DFEC4
-_080F4FA8: .4byte 0x00009040
-_080F4FAC: .4byte 0x00008fe9
-_080F4FB0: .4byte 0x00009004
- thumb_func_end sub_80F4F78
-
- thumb_func_start sub_80F4FB4
-sub_80F4FB4: @ 80F4FB4
- push {r4,lr}
- bl sub_80F5504
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80F170C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- cmp r4, 0
- bne _080F4FD2
- cmp r0, 0
- beq _080F4FD4
-_080F4FD2:
- movs r1, 0x1
-_080F4FD4:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F4FB4
-
- thumb_func_start sub_80F4FDC
-sub_80F4FDC: @ 80F4FDC
- push {lr}
- ldr r0, _080F5020
- ldr r2, [r0]
- ldr r1, _080F5024
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F4FFE
- ldr r3, _080F5028
- adds r0, r2, r3
- movs r3, 0
- ldrsh r1, [r0, r3]
- ldr r3, _080F502C
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r1, r0
- beq _080F501A
-_080F4FFE:
- ldr r1, _080F5030
- adds r0, r2, r1
- movs r1, 0
- ldrsb r1, [r0, r1]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r3, _080F5034
- adds r0, r3
- adds r0, r2, r0
- adds r3, 0x3C
- adds r1, r2, r3
- bl sub_80F53EC
-_080F501A:
- pop {r0}
- bx r0
- .align 2, 0
-_080F5020: .4byte gUnknown_083DFEC4
-_080F5024: .4byte 0x000076aa
-_080F5028: .4byte 0x000087dc
-_080F502C: .4byte 0x00008828
-_080F5030: .4byte 0x00008fe9
-_080F5034: .4byte 0x00009004
- thumb_func_end sub_80F4FDC
-
- thumb_func_start sub_80F5038
-sub_80F5038: @ 80F5038
- push {r4,lr}
- bl sub_80F5504
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80F173C
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0
- cmp r4, 0
- bne _080F5056
- cmp r0, 0
- beq _080F5058
-_080F5056:
- movs r1, 0x1
-_080F5058:
- adds r0, r1, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F5038
-
- thumb_func_start sub_80F5060
-sub_80F5060: @ 80F5060
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0
- beq _080F507C
- ldr r0, _080F5074
- ldr r0, [r0]
- ldr r1, _080F5078
- adds r0, r1
- b _080F5084
- .align 2, 0
-_080F5074: .4byte gUnknown_083DFEC4
-_080F5078: .4byte 0x00008feb
-_080F507C:
- ldr r0, _080F50FC
- ldr r0, [r0]
- ldr r2, _080F5100
- adds r0, r2
-_080F5084:
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _080F50FC
- ldr r4, [r0]
- ldr r3, _080F5104
- adds r5, r4, r3
- movs r1, 0
- ldrsb r1, [r5, r1]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r2, _080F5108
- adds r0, r2
- adds r0, r4, r0
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 2
- adds r1, r2
- adds r1, r4, r1
- bl sub_80F53EC
- ldr r0, _080F510C
- adds r3, r4, r0
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r0, 2
- adds r0, r4, r0
- ldr r2, _080F5110
- adds r0, r2
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 31
- mov r12, r0
- cmp r7, 0
- beq _080F5158
- ldr r7, _080F5100
- adds r1, r4, r7
- ldrb r0, [r1]
- adds r7, 0x1
- adds r2, r4, r7
- strb r0, [r2]
- ldrb r0, [r5]
- strb r0, [r1]
- strb r6, [r5]
- ldrb r1, [r2]
- ldr r2, _080F5114
- adds r0, r4, r2
- strb r1, [r0]
- adds r5, r4, 0
- ldrh r1, [r3]
- movs r7, 0
- ldrsh r0, [r3, r7]
- cmp r0, 0
- beq _080F5118
- subs r2, r1, 0x1
- b _080F5120
- .align 2, 0
-_080F50FC: .4byte gUnknown_083DFEC4
-_080F5100: .4byte 0x00008fea
-_080F5104: .4byte 0x00008fe9
-_080F5108: .4byte 0x00009004
-_080F510C: .4byte 0x000087dc
-_080F5110: .4byte 0x0000893f
-_080F5114: .4byte 0x00008fec
-_080F5118:
- ldr r1, _080F513C
- adds r0, r4, r1
- ldrh r0, [r0]
- subs r2, r0, 0x1
-_080F5120:
- ldr r1, _080F5140
- adds r0, r5, r1
- strh r2, [r0]
- ldr r2, _080F5144
- ldr r3, [r2]
- adds r1, r3, r1
- ldrh r4, [r1]
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, 0
- beq _080F5148
- subs r1, r4, 0x1
- b _080F51CE
- .align 2, 0
-_080F513C: .4byte 0x000087da
-_080F5140: .4byte 0x000087dc
-_080F5144: .4byte gUnknown_083DFEC4
-_080F5148:
- ldr r7, _080F5154
- adds r0, r3, r7
- ldrh r0, [r0]
- subs r1, r0, 0x1
- b _080F51CE
- .align 2, 0
-_080F5154: .4byte 0x000087da
-_080F5158:
- ldr r7, _080F518C
- adds r1, r4, r7
- ldrb r0, [r1]
- subs r7, 0x1
- adds r2, r4, r7
- strb r0, [r2]
- ldrb r0, [r5]
- strb r0, [r1]
- strb r6, [r5]
- ldrb r1, [r2]
- ldr r2, _080F5190
- adds r0, r4, r2
- strb r1, [r0]
- adds r2, r4, 0
- movs r4, 0
- ldrsh r1, [r3, r4]
- ldr r5, _080F5194
- adds r0, r2, r5
- movs r7, 0
- ldrsh r0, [r0, r7]
- subs r0, 0x1
- cmp r1, r0
- bge _080F5198
- ldrh r0, [r3]
- adds r3, r0, 0x1
- b _080F519A
- .align 2, 0
-_080F518C: .4byte 0x00008feb
-_080F5190: .4byte 0x00008fec
-_080F5194: .4byte 0x000087da
-_080F5198:
- movs r3, 0
-_080F519A:
- ldr r1, _080F51C0
- adds r0, r2, r1
- strh r3, [r0]
- ldr r2, _080F51C4
- ldr r3, [r2]
- adds r4, r3, r1
- movs r0, 0
- ldrsh r1, [r4, r0]
- ldr r5, _080F51C8
- adds r0, r3, r5
- movs r7, 0
- ldrsh r0, [r0, r7]
- subs r0, 0x1
- cmp r1, r0
- bge _080F51CC
- ldrh r0, [r4]
- adds r1, r0, 0x1
- b _080F51CE
- .align 2, 0
-_080F51C0: .4byte 0x000087dc
-_080F51C4: .4byte gUnknown_083DFEC4
-_080F51C8: .4byte 0x000087da
-_080F51CC:
- movs r1, 0
-_080F51CE:
- ldr r4, _080F51FC
- adds r0, r3, r4
- strh r1, [r0]
- ldr r1, [r2]
- ldr r5, _080F5200
- adds r0, r1, r5
- movs r7, 0
- ldrsh r0, [r0, r7]
- lsls r0, 2
- adds r0, r1, r0
- ldr r3, _080F5204
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 31
- mov r4, r12
- cmp r4, 0
- bne _080F520C
- adds r5, 0x4
- adds r1, r5
- ldr r0, _080F5208
- b _080F5226
- .align 2, 0
-_080F51FC: .4byte 0x00008fee
-_080F5200: .4byte 0x000087dc
-_080F5204: .4byte 0x0000893f
-_080F5208: .4byte sub_80F5264
-_080F520C:
- cmp r0, 0
- bne _080F5220
- ldr r7, _080F5218
- adds r1, r7
- ldr r0, _080F521C
- b _080F5226
- .align 2, 0
-_080F5218: .4byte 0x000087e0
-_080F521C: .4byte sub_80F52F8
-_080F5220:
- ldr r0, _080F5238
- adds r1, r0
- ldr r0, _080F523C
-_080F5226:
- str r0, [r1]
- ldr r0, [r2]
- ldr r1, _080F5240
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F5238: .4byte 0x000087e0
-_080F523C: .4byte sub_80F5364
-_080F5240: .4byte 0x000087de
- thumb_func_end sub_80F5060
-
- thumb_func_start gpu_sync_bg_show
-gpu_sync_bg_show: @ 80F5244
- push {lr}
- ldr r0, _080F525C
- ldr r0, [r0]
- ldr r1, _080F5260
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080F525C: .4byte gUnknown_083DFEC4
-_080F5260: .4byte 0x000087e0
- thumb_func_end gpu_sync_bg_show
-
- thumb_func_start sub_80F5264
-sub_80F5264: @ 80F5264
- push {r4,r5,lr}
- ldr r0, _080F5280
- ldr r0, [r0]
- ldr r1, _080F5284
- adds r5, r0, r1
- ldrb r1, [r5]
- cmp r1, 0x1
- beq _080F52AA
- cmp r1, 0x1
- bgt _080F5288
- cmp r1, 0
- beq _080F528E
- b _080F52F0
- .align 2, 0
-_080F5280: .4byte gUnknown_083DFEC4
-_080F5284: .4byte 0x000087de
-_080F5288:
- cmp r1, 0x2
- beq _080F52EC
- b _080F52F0
-_080F528E:
- ldr r2, _080F52D8
- adds r4, r0, r2
- ldrb r0, [r4]
- bl sub_80F2E18
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 16
- lsrs r0, 16
- bl sub_80F01E0
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
-_080F52AA:
- bl sub_80F4FB4
- lsls r0, 24
- cmp r0, 0
- bne _080F52F0
- ldr r0, _080F52DC
- ldr r4, [r0]
- ldr r1, _080F52E0
- adds r0, r4, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- ldr r2, _080F52E4
- adds r1, r4, r2
- ldrb r1, [r1]
- bl sub_80F4900
- ldr r0, _080F52E8
- adds r4, r0
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080F52F0
- .align 2, 0
-_080F52D8: .4byte 0x00008fe9
-_080F52DC: .4byte gUnknown_083DFEC4
-_080F52E0: .4byte 0x00008fee
-_080F52E4: .4byte 0x00008fec
-_080F52E8: .4byte 0x000087de
-_080F52EC:
- movs r0, 0
- b _080F52F2
-_080F52F0:
- movs r0, 0x1
-_080F52F2:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F5264
-
- thumb_func_start sub_80F52F8
-sub_80F52F8: @ 80F52F8
- push {r4,r5,lr}
- ldr r0, _080F5310
- ldr r4, [r0]
- ldr r0, _080F5314
- adds r5, r4, r0
- ldrb r0, [r5]
- cmp r0, 0
- beq _080F5318
- cmp r0, 0x1
- beq _080F5358
- b _080F535C
- .align 2, 0
-_080F5310: .4byte gUnknown_083DFEC4
-_080F5314: .4byte 0x000087de
-_080F5318:
- bl sub_80F5038
- lsls r0, 24
- cmp r0, 0
- bne _080F535C
- ldr r1, _080F5350
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- bl sub_80F01E0
- ldr r2, _080F5354
- adds r0, r4, r2
- movs r1, 0
- ldrsh r0, [r0, r1]
- subs r2, 0x2
- adds r1, r4, r2
- ldrb r1, [r1]
- bl sub_80F4900
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _080F535C
- .align 2, 0
-_080F5350: .4byte 0x00008fe9
-_080F5354: .4byte 0x00008fee
-_080F5358:
- movs r0, 0
- b _080F535E
-_080F535C:
- movs r0, 0x1
-_080F535E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F52F8
-
- thumb_func_start sub_80F5364
-sub_80F5364: @ 80F5364
- push {r4,r5,lr}
- ldr r0, _080F5380
- ldr r4, [r0]
- ldr r0, _080F5384
- adds r5, r4, r0
- ldrb r0, [r5]
- cmp r0, 0x1
- beq _080F53B8
- cmp r0, 0x1
- bgt _080F5388
- cmp r0, 0
- beq _080F538E
- b _080F53E4
- .align 2, 0
-_080F5380: .4byte gUnknown_083DFEC4
-_080F5384: .4byte 0x000087de
-_080F5388:
- cmp r0, 0x2
- beq _080F53CA
- b _080F53E4
-_080F538E:
- bl sub_80F5504
- bl sub_80F173C
- lsls r0, 24
- cmp r0, 0
- bne _080F53E4
- ldr r1, _080F53B4
- adds r4, r1
- ldrb r0, [r4]
- bl sub_80F2E18
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 16
- lsrs r0, 16
- bl sub_80F01E0
- b _080F53C2
- .align 2, 0
-_080F53B4: .4byte 0x00008fe9
-_080F53B8:
- bl sub_80F4FB4
- lsls r0, 24
- cmp r0, 0
- bne _080F53E4
-_080F53C2:
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- b _080F53E4
-_080F53CA:
- ldr r2, _080F53E0
- adds r0, r4, r2
- movs r1, 0
- ldrsh r0, [r0, r1]
- subs r2, 0x2
- adds r1, r4, r2
- ldrb r1, [r1]
- bl sub_80F4900
- movs r0, 0
- b _080F53E6
- .align 2, 0
-_080F53E0: .4byte 0x00008fee
-_080F53E4:
- movs r0, 0x1
-_080F53E6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F5364
-
- thumb_func_start sub_80F53EC
-sub_80F53EC: @ 80F53EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- str r0, [sp]
- mov r9, r1
- movs r7, 0
- ldr r0, _080F54F4
- ldr r0, [r0]
- str r0, [sp, 0x4]
-_080F5404:
- lsls r4, r7, 2
- ldr r1, [sp]
- adds r0, r4, r1
- ldrh r1, [r0]
- lsls r5, r1, 8
- mov r2, r9
- adds r0, r4, r2
- ldrh r0, [r0]
- subs r0, r1
- lsls r0, 8
- movs r1, 0xA
- bl __divsi3
- adds r6, r0, 0
- movs r3, 0
- adds r7, 0x1
- mov r10, r7
- mov r8, r4
-_080F5428:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- add r0, r8
- ldr r7, [sp, 0x4]
- adds r0, r7, r0
- asrs r2, r5, 8
- asrs r1, r5, 7
- movs r7, 0x1
- ands r1, r7
- adds r2, r1
- ldr r1, _080F54F8
- adds r0, r1
- strh r2, [r0]
- adds r5, r6
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x8
- bls _080F5428
- ldr r2, _080F54F4
- ldr r1, [r2]
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- adds r0, r4, r0
- adds r1, r0
- mov r3, r9
- adds r2, r4, r3
- ldrh r0, [r2]
- ldr r7, _080F54F8
- adds r1, r7
- strh r0, [r1]
- ldr r1, [sp]
- adds r0, r4, r1
- ldrh r1, [r0, 0x2]
- lsls r5, r1, 8
- ldrh r0, [r2, 0x2]
- subs r0, r1
- lsls r0, 8
- movs r1, 0xA
- bl __divsi3
- adds r6, r0, 0
- movs r3, 0
- ldr r0, _080F54F4
- ldr r0, [r0]
- mov r12, r0
- str r4, [sp, 0x8]
- movs r2, 0x1
- mov r8, r2
-_080F548E:
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- ldr r7, [sp, 0x8]
- adds r0, r7, r0
- add r0, r12
- asrs r2, r5, 8
- asrs r1, r5, 7
- mov r7, r8
- ands r1, r7
- adds r2, r1
- ldr r1, _080F54FC
- adds r0, r1
- strh r2, [r0]
- adds r5, r6
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x8
- bls _080F548E
- ldr r7, _080F54F4
- ldr r2, [r7]
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 2
- adds r0, r4, r0
- adds r0, r2, r0
- mov r3, r9
- adds r1, r4, r3
- ldrh r1, [r1, 0x2]
- ldr r7, _080F54FC
- adds r0, r7
- strh r1, [r0]
- mov r1, r10
- lsls r0, r1, 16
- lsrs r7, r0, 16
- cmp r7, 0x4
- bls _080F5404
- ldr r3, _080F5500
- adds r1, r2, r3
- movs r0, 0
- strh r0, [r1]
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F54F4: .4byte gUnknown_083DFEC4
-_080F54F8: .4byte 0x00009054
-_080F54FC: .4byte 0x00009056
-_080F5500: .4byte 0x00009342
- thumb_func_end sub_80F53EC
-
- thumb_func_start sub_80F5504
-sub_80F5504: @ 80F5504
- push {r4,lr}
- ldr r0, _080F551C
- ldr r2, [r0]
- ldr r0, _080F5520
- adds r4, r2, r0
- ldrh r0, [r4]
- adds r1, r0, 0
- cmp r1, 0x9
- bls _080F5524
- movs r0, 0
- b _080F5544
- .align 2, 0
-_080F551C: .4byte gUnknown_083DFEC4
-_080F5520: .4byte 0x00009342
-_080F5524:
- adds r0, 0x1
- strh r0, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F554C
- adds r0, r1
- adds r0, r2, r0
- bl sub_80F556C
- ldrh r1, [r4]
- movs r0, 0xA
- eors r1, r0
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
-_080F5544:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F554C: .4byte 0x00009054
- thumb_func_end sub_80F5504
-
- thumb_func_start sub_80F5550
-sub_80F5550: @ 80F5550
- push {lr}
- bl sub_80F53EC
- pop {r0}
- bx r0
- thumb_func_end sub_80F5550
-
- thumb_func_start sub_80F555C
-sub_80F555C: @ 80F555C
- push {lr}
- bl sub_80F5504
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80F555C
-
- thumb_func_start sub_80F556C
-sub_80F556C: @ 80F556C
- push {r4,r5,lr}
- adds r4, r0, 0
- movs r2, 0
- ldr r5, _080F55A0
- ldr r0, [r5]
- ldr r1, _080F55A4
- adds r3, r0, r1
-_080F557A:
- lsls r0, r2, 2
- adds r1, r3, r0
- adds r0, r4
- ldr r0, [r0]
- str r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x4
- bls _080F557A
- ldr r0, [r5]
- ldr r1, _080F55A8
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F55A0: .4byte gUnknown_083DFEC4
-_080F55A4: .4byte 0x0000911c
-_080F55A8: .4byte 0x00009344
- thumb_func_end sub_80F556C
-
- thumb_func_start sub_80F55AC
-sub_80F55AC: @ 80F55AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r6, r0, 0
- mov r8, r1
- ldr r1, _080F5674
- ldrb r0, [r6]
- adds r0, r1
- ldrb r2, [r0]
- adds r6, 0x1
- movs r0, 0x9B
- mov r3, r8
- strh r0, [r3]
- movs r0, 0x5B
- subs r0, r2
- strh r0, [r3, 0x2]
- movs r7, 0x40
- movs r0, 0
- mov r12, r0
- movs r2, 0x1
- mov r9, r2
- ldr r3, _080F5678
- mov r10, r3
-_080F55DE:
- adds r0, r7, 0
- adds r0, 0x33
- lsls r0, 24
- lsrs r7, r0, 24
- mov r1, r12
- lsls r0, r1, 24
- movs r2, 0xFF
- lsls r2, 24
- adds r0, r2
- lsrs r3, r0, 24
- mov r12, r3
- cmp r0, 0
- bge _080F55FC
- movs r0, 0x4
- mov r12, r0
-_080F55FC:
- mov r1, r12
- lsls r0, r1, 24
- asrs r4, r0, 24
- cmp r4, 0x2
- bne _080F560C
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
-_080F560C:
- ldrb r0, [r6]
- ldr r2, _080F5674
- adds r0, r2
- ldrb r2, [r0]
- adds r6, 0x1
- lsls r0, r4, 2
- mov r1, r8
- adds r3, r0, r1
- adds r0, r7, 0
- adds r0, 0x40
- lsls r0, 1
- add r0, r10
- movs r1, 0
- ldrsh r0, [r0, r1]
- muls r0, r2
- asrs r5, r0, 8
- adds r0, r5, 0
- adds r0, 0x9B
- strh r0, [r3]
- lsls r0, r7, 1
- add r0, r10
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r1, r2, 0
- muls r1, r0
- asrs r1, 8
- movs r0, 0x5B
- subs r0, r1
- strh r0, [r3, 0x2]
- cmp r4, 0x2
- bgt _080F5658
- cmp r2, 0x20
- bne _080F5652
- cmp r4, 0x2
- beq _080F5658
-_080F5652:
- adds r0, r5, 0
- adds r0, 0x9C
- strh r0, [r3]
-_080F5658:
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0x4
- bls _080F55DE
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F5674: .4byte gUnknown_083E4890
-_080F5678: .4byte gSineTable
- thumb_func_end sub_80F55AC
-
- thumb_func_start sub_80F567C
-sub_80F567C: @ 80F567C
- push {lr}
- bl sub_80F55AC
- pop {r0}
- bx r0
- thumb_func_end sub_80F567C
-
- thumb_func_start sub_80F5688
-sub_80F5688: @ 80F5688
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- adds r6, r0, 0
- adds r5, r1, 0
- str r2, [sp]
- ldr r7, [sp, 0x34]
- lsls r3, 24
- lsrs r3, 24
- mov r9, r3
- movs r0, 0
- str r0, [sp, 0x8]
- ldrh r0, [r5, 0x2]
- ldrh r1, [r2, 0x2]
- cmp r0, r1
- bcs _080F56D0
- adds r2, r0, 0
- str r2, [sp, 0x4]
- ldr r3, [sp]
- ldrh r0, [r3, 0x2]
- ldrh r1, [r5]
- lsls r4, r1, 10
- ldrh r2, [r3]
- mov r10, r2
- ldr r3, [sp, 0x4]
- subs r0, r3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- beq _080F56FC
- subs r0, r2, r1
- b _080F56F2
-_080F56D0:
- ldrh r0, [r5, 0x2]
- ldr r1, [sp]
- ldrh r1, [r1, 0x2]
- str r1, [sp, 0x4]
- ldr r2, [sp]
- ldrh r1, [r2]
- lsls r4, r1, 10
- ldrh r3, [r5]
- mov r10, r3
- ldr r2, [sp, 0x4]
- subs r0, r2
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0
- beq _080F56FC
- subs r0, r3, r1
-_080F56F2:
- lsls r0, 10
- mov r1, r8
- bl __divsi3
- str r0, [sp, 0x8]
-_080F56FC:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r7, 0
- bne _080F5746
- ldr r0, [sp, 0x4]
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- movs r5, 0
- mov r3, r9
- lsls r3, 1
- mov r12, r3
- mov r0, r10
- add r0, r9
- str r0, [sp, 0xC]
- cmp r7, r8
- bcs _080F57D4
- movs r7, 0x1
-_080F5726:
- adds r2, r3, r6
- asrs r1, r4, 10
- asrs r0, r4, 9
- ands r0, r7
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r1, [sp, 0x8]
- adds r4, r1
- adds r6, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _080F5726
- b _080F57D4
-_080F5746:
- ldr r2, [sp, 0x8]
- cmp r2, 0
- ble _080F57E4
- ldr r0, [sp, 0x4]
- subs r0, 0x38
- lsls r0, 2
- adds r7, r0
- movs r5, 0
- mov r3, r9
- lsls r3, 1
- mov r12, r3
- mov r0, r10
- add r0, r9
- str r0, [sp, 0xC]
- cmp r5, r8
- bcs _080F5798
- ldr r0, _080F57D8
- cmp r4, r0
- bgt _080F5798
- mov r1, r12
- str r1, [sp, 0x10]
- mov r10, r0
-_080F5772:
- ldr r3, [sp, 0x10]
- adds r2, r3, r7
- asrs r1, r4, 10
- asrs r0, r4, 9
- movs r3, 0x1
- ands r0, r3
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r0, [sp, 0x8]
- adds r4, r0
- adds r7, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcs _080F5798
- cmp r4, r10
- ble _080F5772
-_080F5798:
- ldr r1, _080F57DC
- ldr r0, [r1]
- ldr r2, [sp, 0x4]
- adds r1, r2, r5
- ldr r3, _080F57E0
- adds r0, r3
- strh r1, [r0]
- ldrh r0, [r0]
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- cmp r5, r8
- bcs _080F57D4
- mov r3, r12
- movs r7, 0x1
-_080F57B6:
- adds r2, r3, r6
- asrs r1, r4, 10
- asrs r0, r4, 9
- ands r0, r7
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r0, [sp, 0x8]
- adds r4, r0
- adds r6, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _080F57B6
-_080F57D4:
- subs r0, r6, 0x4
- b _080F58C4
- .align 2, 0
-_080F57D8: .4byte 0x00026bff
-_080F57DC: .4byte gUnknown_083DFEC4
-_080F57E0: .4byte 0x00009340
-_080F57E4:
- ldr r1, [sp, 0x8]
- cmp r1, 0
- bge _080F5890
- ldr r0, [sp, 0x4]
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- movs r5, 0
- mov r2, r9
- lsls r2, 1
- mov r12, r2
- mov r3, r10
- add r3, r9
- str r3, [sp, 0xC]
- cmp r5, r8
- bcs _080F5842
- adds r3, r2, r6
- asrs r1, r4, 10
- asrs r0, r4, 9
- movs r2, 0x1
- ands r0, r2
- adds r1, r0
- add r1, r9
- strh r1, [r3]
- b _080F5838
-_080F5816:
- ldr r0, [sp, 0x8]
- adds r4, r0
- adds r6, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcs _080F5842
- mov r1, r12
- adds r3, r1, r6
- asrs r2, r4, 10
- asrs r0, r4, 9
- movs r1, 0x1
- ands r0, r1
- adds r2, r0
- add r2, r9
- strh r2, [r3]
-_080F5838:
- ldr r0, _080F5884
- cmp r4, r0
- bgt _080F5816
- movs r0, 0x9B
- strh r0, [r3]
-_080F5842:
- ldr r2, _080F5888
- ldr r0, [r2]
- ldr r3, [sp, 0x4]
- adds r1, r3, r5
- ldr r2, _080F588C
- adds r0, r2
- strh r1, [r0]
- ldrh r0, [r0]
- subs r0, 0x38
- lsls r0, 2
- adds r7, r0
- cmp r5, r8
- bcs _080F587E
- mov r3, r12
- movs r6, 0x1
-_080F5860:
- adds r2, r3, r7
- asrs r1, r4, 10
- asrs r0, r4, 9
- ands r0, r6
- adds r1, r0
- add r1, r9
- strh r1, [r2]
- ldr r0, [sp, 0x8]
- adds r4, r0
- adds r7, 0x4
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r8
- bcc _080F5860
-_080F587E:
- subs r0, r7, 0x4
- b _080F58C4
- .align 2, 0
-_080F5884: .4byte 0x00026bff
-_080F5888: .4byte gUnknown_083DFEC4
-_080F588C: .4byte 0x00009340
-_080F5890:
- ldr r0, _080F58BC
- ldr r0, [r0]
- ldr r1, _080F58C0
- adds r0, r1
- mov r2, sp
- ldrh r2, [r2, 0x4]
- strh r2, [r0]
- ldr r0, [sp, 0x4]
- subs r0, 0x38
- lsls r0, 2
- adds r6, r0
- adds r7, r0
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r6, 0x2]
- ldr r3, [sp]
- ldrh r0, [r3]
- strh r0, [r7]
- movs r0, 0x9B
- strh r0, [r7, 0x2]
- b _080F58CC
- .align 2, 0
-_080F58BC: .4byte gUnknown_083DFEC4
-_080F58C0: .4byte 0x00009340
-_080F58C4:
- add r0, r12
- mov r1, sp
- ldrh r1, [r1, 0xC]
- strh r1, [r0]
-_080F58CC:
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80F5688
-
- thumb_func_start sub_80F58DC
-sub_80F58DC: @ 80F58DC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x2]
- ldrh r1, [r5, 0x6]
- cmp r0, r1
- bcs _080F5914
- adds r4, r0, 0
- mov r8, r4
- ldr r0, _080F590C
- ldr r0, [r0]
- ldr r1, _080F5910
- adds r0, r1
- adds r4, r5, 0x4
- movs r1, 0
- str r1, [sp]
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0x1
- bl sub_80F5688
- b _080F5930
- .align 2, 0
-_080F590C: .4byte gUnknown_083DFEC4
-_080F5910: .4byte 0x00009130
-_080F5914:
- ldrh r4, [r5, 0x6]
- mov r8, r4
- ldr r0, _080F5A08
- ldr r0, [r0]
- ldr r1, _080F5A0C
- adds r0, r1
- adds r4, r5, 0x4
- movs r1, 0
- str r1, [sp]
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0
- bl sub_80F5688
-_080F5930:
- adds r1, r4, 0
- ldr r0, _080F5A08
- ldr r6, [r0]
- ldr r0, _080F5A0C
- adds r4, r6, r0
- adds r7, r5, 0
- adds r7, 0x8
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- adds r2, r7, 0
- movs r3, 0x1
- bl sub_80F5688
- movs r3, 0
- ldrh r0, [r5, 0xA]
- ldrh r1, [r5, 0xE]
- cmp r0, r1
- bhi _080F5958
- movs r3, 0x1
-_080F5958:
- adds r2, r5, 0
- adds r2, 0xC
- ldr r1, _080F5A10
- adds r0, r6, r1
- str r0, [sp]
- adds r0, r4, 0
- adds r1, r7, 0
- bl sub_80F5688
- movs r2, 0x38
- cmp r2, r8
- bcs _080F5990
- adds r7, r4, 0
- movs r3, 0
- ldr r0, _080F5A14
- adds r4, r6, r0
-_080F5978:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r1, r7, r0
- strh r3, [r1]
- adds r0, r4, r0
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r8
- bcc _080F5978
-_080F5990:
- ldrh r2, [r5, 0x2]
- ldr r0, _080F5A08
- ldr r3, [r0]
- ldr r4, _080F5A18
- adds r1, r3, r4
- adds r6, r0, 0
- ldrh r0, [r1]
- cmp r2, r0
- bhi _080F59BE
- ldr r4, _080F5A0C
- adds r3, r4
- movs r4, 0x9B
-_080F59A8:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r0, r3, r0
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1]
- cmp r2, r0
- bls _080F59A8
-_080F59BE:
- ldr r4, [r6]
- ldr r1, _080F5A18
- adds r0, r4, r1
- ldrh r0, [r0]
- ldrh r1, [r5, 0xA]
- cmp r0, r1
- bcs _080F59CE
- adds r0, r1, 0
-_080F59CE:
- adds r0, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bhi _080F59FA
- ldr r0, _080F5A0C
- adds r5, r4, r0
- movs r3, 0
- ldr r1, _080F5A14
- adds r4, r1
-_080F59E2:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r1, r5, r0
- strh r3, [r1]
- adds r0, r4, r0
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bls _080F59E2
-_080F59FA:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F5A08: .4byte gUnknown_083DFEC4
-_080F5A0C: .4byte 0x00009130
-_080F5A10: .4byte 0x00009238
-_080F5A14: .4byte 0x00009132
-_080F5A18: .4byte 0x00009340
- thumb_func_end sub_80F58DC
-
- thumb_func_start sub_80F5A1C
-sub_80F5A1C: @ 80F5A1C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r5, r0, 0
- ldrh r0, [r5, 0x2]
- ldrh r1, [r5, 0x12]
- cmp r0, r1
- bcs _080F5A54
- adds r7, r0, 0
- ldr r0, _080F5A4C
- ldr r0, [r0]
- ldr r2, _080F5A50
- adds r0, r2
- adds r4, r5, 0
- adds r4, 0x10
- movs r1, 0
- str r1, [sp]
- adds r1, r5, 0
- adds r2, r4, 0
- movs r3, 0
- bl sub_80F5688
- b _080F5A70
- .align 2, 0
-_080F5A4C: .4byte gUnknown_083DFEC4
-_080F5A50: .4byte 0x00009238
-_080F5A54:
- ldrh r7, [r5, 0x12]
- ldr r0, _080F5B28
- ldr r0, [r0]
- ldr r4, _080F5B2C
- adds r0, r4
- adds r4, r5, 0
- adds r4, 0x10
- movs r1, 0
- str r1, [sp]
- adds r1, r4, 0
- adds r2, r5, 0
- movs r3, 0x1
- bl sub_80F5688
-_080F5A70:
- adds r1, r4, 0
- ldr r0, _080F5B28
- ldr r0, [r0]
- mov r8, r0
- ldr r4, _080F5B2C
- add r4, r8
- adds r2, r5, 0
- adds r2, 0xC
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r3, 0
- bl sub_80F5688
- movs r2, 0x38
- cmp r2, r7
- bcs _080F5AB2
- adds r6, r4, 0
- movs r3, 0
- ldr r4, _080F5B30
- add r4, r8
-_080F5A9A:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r1, r6, r0
- strh r3, [r1]
- adds r0, r4, r0
- strh r3, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, r7
- bcc _080F5A9A
-_080F5AB2:
- ldrh r2, [r5, 0x2]
- ldr r0, _080F5B28
- ldr r3, [r0]
- ldr r4, _080F5B34
- adds r1, r3, r4
- adds r6, r0, 0
- ldrh r0, [r1]
- cmp r2, r0
- bhi _080F5AE0
- ldr r4, _080F5B30
- adds r3, r4
- movs r4, 0x9B
-_080F5ACA:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r0, r3, r0
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r0, [r1]
- cmp r2, r0
- bls _080F5ACA
-_080F5AE0:
- ldrh r0, [r5, 0xE]
- adds r1, r0, 0x1
- ldr r3, [r6]
- ldr r2, _080F5B34
- adds r0, r3, r2
- ldrh r0, [r0]
- cmp r0, r1
- bge _080F5AF2
- adds r0, r1, 0
-_080F5AF2:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bhi _080F5B1C
- ldr r4, _080F5B2C
- adds r5, r3, r4
- movs r4, 0
- ldr r0, _080F5B30
- adds r3, r0
-_080F5B04:
- adds r0, r2, 0
- subs r0, 0x38
- lsls r0, 2
- adds r1, r5, r0
- strh r4, [r1]
- adds r0, r3, r0
- strh r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x79
- bls _080F5B04
-_080F5B1C:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F5B28: .4byte gUnknown_083DFEC4
-_080F5B2C: .4byte 0x00009238
-_080F5B30: .4byte 0x0000923a
-_080F5B34: .4byte 0x00009340
- thumb_func_end sub_80F5A1C
-
- thumb_func_start sub_80F5B38
-sub_80F5B38: @ 80F5B38
- ldr r0, _080F5B48
- ldr r0, [r0]
- ldr r1, _080F5B4C
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080F5B48: .4byte gUnknown_083DFEC4
-_080F5B4C: .4byte 0x00009345
- thumb_func_end sub_80F5B38
-
- thumb_func_start sub_80F5B50
-sub_80F5B50: @ 80F5B50
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r0, _080F5B68
- ldr r0, [r0]
- ldr r1, _080F5B6C
- adds r4, r0, r1
- ldrb r0, [r4]
- cmp r0, 0
- beq _080F5B70
- cmp r0, 0x1
- beq _080F5BB4
- b _080F5BCC
- .align 2, 0
-_080F5B68: .4byte gUnknown_083DFEC4
-_080F5B6C: .4byte 0x00009345
-_080F5B70:
- bl dp12_8087EA4
- ldr r0, _080F5BA8
- movs r2, 0xEF
- movs r3, 0xF4
- lsls r3, 3
- adds r1, r0, r3
- adds r0, 0x20
- movs r3, 0xF
-_080F5B82:
- strh r2, [r0]
- strh r2, [r0, 0x2]
- strh r2, [r1]
- strh r2, [r1, 0x2]
- adds r1, 0x4
- adds r0, 0x4
- subs r3, 0x1
- cmp r3, 0
- bge _080F5B82
- ldr r0, _080F5BAC
- ldr r1, [r0]
- ldr r5, _080F5BB0
- adds r1, r5
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
- b _080F5BCE
- .align 2, 0
-_080F5BA8: .4byte gUnknown_03004DE0
-_080F5BAC: .4byte gUnknown_083DFEC4
-_080F5BB0: .4byte 0x00009345
-_080F5BB4:
- mov r0, sp
- ldr r1, _080F5BD8
- ldm r1!, {r2,r3,r5}
- stm r0!, {r2,r3,r5}
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- ldr r2, [sp, 0x8]
- bl sub_80895F8
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_080F5BCC:
- movs r0, 0
-_080F5BCE:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F5BD8: .4byte gUnknown_083E4990
- thumb_func_end sub_80F5B50
-
- thumb_func_start sub_80F5BDC
-sub_80F5BDC: @ 80F5BDC
- push {lr}
- ldr r1, _080F5BEC
- movs r0, 0x3
- strb r0, [r1, 0x15]
- bl sub_8089668
- pop {r0}
- bx r0
- .align 2, 0
-_080F5BEC: .4byte gUnknown_03004DC0
- thumb_func_end sub_80F5BDC
-
- thumb_func_start sub_80F5BF0
-sub_80F5BF0: @ 80F5BF0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldr r0, _080F5CB8
- ldr r5, [r0]
- ldr r1, _080F5CBC
- adds r0, r5, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F5CA6
- ldr r0, _080F5CC0
- adds r4, r5, r0
- adds r0, r4, 0
- bl sub_80F58DC
- adds r0, r4, 0
- bl sub_80F5A1C
- movs r6, 0
- ldr r1, _080F5CC4
- mov r12, r1
- movs r0, 0xF0
- lsls r0, 3
- add r0, r12
- mov r9, r0
- adds r7, r5, 0
- ldr r1, _080F5CC8
- mov r8, r1
- ldr r5, _080F5CCC
- adds r5, r7, r5
- str r5, [sp]
- ldr r0, _080F5CD0
- adds r0, r7, r0
- str r0, [sp, 0x4]
- ldr r1, _080F5CD4
- adds r1, r7
- mov r10, r1
-_080F5C40:
- adds r2, r6, 0
- adds r2, 0x37
- lsls r3, r2, 2
- mov r5, r9
- adds r5, r3, r5
- str r5, [sp, 0x8]
- add r3, r12
- lsls r4, r6, 2
- ldr r1, [sp]
- adds r0, r1, r4
- ldrh r0, [r0]
- lsls r0, 8
- ldr r5, [sp, 0x4]
- adds r1, r5, r4
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r3]
- mov r1, r8
- ands r0, r1
- ldr r5, [sp, 0x8]
- strh r0, [r5]
- lsls r2, 1
- adds r2, 0x1
- lsls r2, 1
- mov r0, r9
- adds r3, r2, r0
- add r2, r12
- mov r1, r10
- adds r0, r1, r4
- ldrh r1, [r0]
- lsls r1, 8
- ldr r5, _080F5CD8
- adds r0, r7, r5
- adds r0, r4
- ldrh r0, [r0]
- orrs r1, r0
- strh r1, [r2]
- mov r0, r8
- ands r1, r0
- strh r1, [r3]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r0, _080F5CB8
- cmp r6, 0x41
- bls _080F5C40
- ldr r0, [r0]
- ldr r1, _080F5CBC
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080F5CA6:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F5CB8: .4byte gUnknown_083DFEC4
-_080F5CBC: .4byte 0x00009344
-_080F5CC0: .4byte 0x0000911c
-_080F5CC4: .4byte gUnknown_03004DE0
-_080F5CC8: .4byte 0x0000ffff
-_080F5CCC: .4byte 0x00009130
-_080F5CD0: .4byte 0x00009132
-_080F5CD4: .4byte 0x00009238
-_080F5CD8: .4byte 0x0000923a
- thumb_func_end sub_80F5BF0
-
- thumb_func_start sub_80F5CDC
-sub_80F5CDC: @ 80F5CDC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080F5DB0
- ldr r6, [r0]
- ldr r1, _080F5DB4
- adds r0, r6, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F5DA0
- ldr r0, _080F5DB8
- adds r4, r6, r0
- adds r0, r4, 0
- bl sub_80F58DC
- adds r0, r4, 0
- bl sub_80F5A1C
- movs r0, 0x37
- subs r0, r5
- lsls r0, 17
- lsrs r5, r0, 16
- movs r7, 0
- ldr r1, _080F5DBC
- mov r12, r1
- movs r4, 0xF0
- lsls r4, 3
- add r4, r12
- mov r9, r4
- ldr r0, _080F5DC0
- mov r8, r0
- ldr r1, _080F5DC4
- adds r1, r6, r1
- str r1, [sp]
- ldr r4, _080F5DC8
- adds r4, r6, r4
- str r4, [sp, 0x4]
- ldr r0, _080F5DCC
- adds r0, r6
- mov r10, r0
-_080F5D36:
- lsls r2, r5, 1
- mov r1, r9
- adds r1, r2, r1
- str r1, [sp, 0x8]
- add r2, r12
- lsls r3, r7, 2
- ldr r4, [sp]
- adds r0, r4, r3
- ldrh r0, [r0]
- lsls r0, 8
- ldr r4, [sp, 0x4]
- adds r1, r4, r3
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r2]
- mov r1, r8
- ands r0, r1
- ldr r4, [sp, 0x8]
- strh r0, [r4]
- adds r2, r5, 0x1
- lsls r2, 1
- mov r0, r9
- adds r0, r2, r0
- str r0, [sp, 0x8]
- add r2, r12
- mov r1, r10
- adds r0, r1, r3
- ldrh r1, [r0]
- lsls r1, 8
- ldr r4, _080F5DD0
- adds r0, r6, r4
- adds r0, r3
- ldrh r0, [r0]
- orrs r1, r0
- strh r1, [r2]
- mov r0, r8
- ands r1, r0
- ldr r4, [sp, 0x8]
- strh r1, [r4]
- adds r0, r5, 0x2
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- ldr r0, _080F5DB0
- cmp r7, 0x41
- bls _080F5D36
- ldr r0, [r0]
- ldr r1, _080F5DB4
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
-_080F5DA0:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F5DB0: .4byte gUnknown_083DFEC4
-_080F5DB4: .4byte 0x00009344
-_080F5DB8: .4byte 0x0000911c
-_080F5DBC: .4byte gUnknown_03004DE0
-_080F5DC0: .4byte 0x0000ffff
-_080F5DC4: .4byte 0x00009130
-_080F5DC8: .4byte 0x00009132
-_080F5DCC: .4byte 0x00009238
-_080F5DD0: .4byte 0x0000923a
- thumb_func_end sub_80F5CDC
-
- thumb_func_start sub_80F5DD4
-sub_80F5DD4: @ 80F5DD4
- push {lr}
- ldr r0, _080F5DE8
- ldrh r1, [r0, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080F5DEC
- bl sub_80F5E20
- b _080F5E18
- .align 2, 0
-_080F5DE8: .4byte gMain
-_080F5DEC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080F5DFA
- bl sub_80F5EE4
- b _080F5E18
-_080F5DFA:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080F5E08
- bl sub_80F5FB4
- b _080F5E18
-_080F5E08:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- bne _080F5E14
- movs r0, 0
- b _080F5E1C
-_080F5E14:
- bl sub_80F6010
-_080F5E18:
- lsls r0, 24
- lsrs r0, 24
-_080F5E1C:
- pop {r1}
- bx r1
- thumb_func_end sub_80F5DD4
-
- thumb_func_start sub_80F5E20
-sub_80F5E20: @ 80F5E20
- push {r4,r5,lr}
- ldr r0, _080F5E38
- ldr r2, [r0]
- ldr r3, _080F5E3C
- adds r1, r2, r3
- movs r5, 0
- ldrsh r1, [r1, r5]
- adds r4, r0, 0
- cmp r1, 0
- bne _080F5E40
- movs r0, 0
- b _080F5EC8
- .align 2, 0
-_080F5E38: .4byte gUnknown_083DFEC4
-_080F5E3C: .4byte 0x0000876e
-_080F5E40:
- ldr r1, _080F5E6C
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F5E74
- ldr r3, _080F5E70
- adds r0, r2, r3
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0
- bne _080F5E74
- movs r4, 0x1
- negs r4, r4
- adds r0, r4, 0
- bl sub_80F063C
- adds r0, r4, 0
- bl sub_80F6074
- movs r0, 0x2
- b _080F5EC8
- .align 2, 0
-_080F5E6C: .4byte 0x000087c9
-_080F5E70: .4byte 0x0000876c
-_080F5E74:
- ldr r1, [r4]
- ldr r0, _080F5ED0
- adds r2, r1, r0
- ldrh r0, [r2]
- subs r3, r0, 0x1
- strh r3, [r2]
- ldr r5, _080F5ED4
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F5E98
- lsls r0, r3, 16
- cmp r0, 0
- bge _080F5E98
- ldr r3, _080F5ED8
- adds r0, r1, r3
- ldrh r0, [r0]
- strh r0, [r2]
-_080F5E98:
- ldr r0, [r4]
- ldr r5, _080F5EDC
- adds r2, r0, r5
- ldr r3, _080F5ED0
- adds r1, r0, r3
- ldrh r1, [r1]
- ldrh r2, [r2]
- adds r2, r1, r2
- subs r5, 0x2
- adds r4, r0, r5
- strh r2, [r4]
- ldr r1, _080F5EE0
- adds r0, r1
- lsls r1, r2, 16
- asrs r1, 16
- ldrh r3, [r0]
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r1, r0
- ble _080F5EC6
- subs r0, r2, 0x1
- subs r0, r3
- strh r0, [r4]
-_080F5EC6:
- movs r0, 0x1
-_080F5EC8:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F5ED0: .4byte 0x0000876c
-_080F5ED4: .4byte 0x000087c9
-_080F5ED8: .4byte 0x00008772
-_080F5EDC: .4byte 0x00008770
-_080F5EE0: .4byte 0x00008774
- thumb_func_end sub_80F5E20
-
- thumb_func_start sub_80F5EE4
-sub_80F5EE4: @ 80F5EE4
- push {r4-r6,lr}
- ldr r3, _080F5F04
- ldr r4, [r3]
- ldr r1, _080F5F08
- adds r0, r4, r1
- ldr r2, _080F5F0C
- adds r1, r4, r2
- movs r5, 0
- ldrsh r2, [r0, r5]
- movs r6, 0
- ldrsh r0, [r1, r6]
- adds r5, r3, 0
- cmp r2, r0
- bne _080F5F10
- movs r0, 0
- b _080F5F98
- .align 2, 0
-_080F5F04: .4byte gUnknown_083DFEC4
-_080F5F08: .4byte 0x0000876e
-_080F5F0C: .4byte 0x00008774
-_080F5F10:
- ldr r1, _080F5F38
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F5F40
- ldr r2, _080F5F3C
- adds r0, r4, r2
- movs r3, 0
- ldrsh r0, [r0, r3]
- cmp r0, 0x7
- bne _080F5F40
- movs r0, 0x1
- bl sub_80F063C
- movs r0, 0x1
- bl sub_80F6074
- movs r0, 0x2
- b _080F5F98
- .align 2, 0
-_080F5F38: .4byte 0x000087c9
-_080F5F3C: .4byte 0x0000876c
-_080F5F40:
- ldr r2, [r5]
- ldr r6, _080F5FA0
- adds r4, r2, r6
- ldrh r0, [r4]
- adds r1, r0, 0x1
- strh r1, [r4]
- ldr r3, _080F5FA4
- adds r0, r2, r3
- ldrb r3, [r0]
- cmp r3, 0
- bne _080F5F68
- adds r6, 0x6
- adds r0, r2, r6
- lsls r1, 16
- asrs r1, 16
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r1, r0
- ble _080F5F68
- strh r3, [r4]
-_080F5F68:
- ldr r0, [r5]
- ldr r3, _080F5FA8
- adds r2, r0, r3
- ldr r5, _080F5FA0
- adds r1, r0, r5
- ldrh r1, [r1]
- ldrh r2, [r2]
- adds r2, r1, r2
- ldr r6, _080F5FAC
- adds r4, r0, r6
- strh r2, [r4]
- ldr r1, _080F5FB0
- adds r0, r1
- lsls r1, r2, 16
- asrs r1, 16
- ldrh r3, [r0]
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r1, r0
- ble _080F5F96
- subs r0, r2, 0x1
- subs r0, r3
- strh r0, [r4]
-_080F5F96:
- movs r0, 0x1
-_080F5F98:
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080F5FA0: .4byte 0x0000876c
-_080F5FA4: .4byte 0x000087c9
-_080F5FA8: .4byte 0x00008770
-_080F5FAC: .4byte 0x0000876e
-_080F5FB0: .4byte 0x00008774
- thumb_func_end sub_80F5EE4
-
- thumb_func_start sub_80F5FB4
-sub_80F5FB4: @ 80F5FB4
- push {r4,lr}
- ldr r0, _080F5FD8
- ldr r1, [r0]
- ldr r2, _080F5FDC
- adds r0, r1, r2
- ldrh r3, [r0]
- movs r4, 0
- ldrsh r2, [r0, r4]
- cmp r2, 0
- beq _080F5FD2
- ldr r4, _080F5FE0
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F5FE4
-_080F5FD2:
- movs r0, 0
- b _080F6004
- .align 2, 0
-_080F5FD8: .4byte gUnknown_083DFEC4
-_080F5FDC: .4byte 0x00008770
-_080F5FE0: .4byte 0x000087c9
-_080F5FE4:
- cmp r2, 0x7
- bgt _080F5FF0
- negs r0, r3
- lsls r0, 16
- lsrs r0, 16
- b _080F5FF2
-_080F5FF0:
- ldr r0, _080F600C
-_080F5FF2:
- lsls r4, r0, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80F063C
- adds r0, r4, 0
- bl sub_80F6074
- movs r0, 0x2
-_080F6004:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080F600C: .4byte 0x0000fff8
- thumb_func_end sub_80F5FB4
-
- thumb_func_start sub_80F6010
-sub_80F6010: @ 80F6010
- push {r4-r6,lr}
- ldr r0, _080F603C
- ldr r3, [r0]
- ldr r1, _080F6040
- adds r0, r3, r1
- ldr r2, _080F6044
- adds r1, r3, r2
- ldrh r5, [r0]
- movs r4, 0
- ldrsh r2, [r0, r4]
- ldrh r4, [r1]
- movs r6, 0
- ldrsh r0, [r1, r6]
- cmp r2, r0
- beq _080F6038
- ldr r1, _080F6048
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F604C
-_080F6038:
- movs r0, 0
- b _080F606C
- .align 2, 0
-_080F603C: .4byte gUnknown_083DFEC4
-_080F6040: .4byte 0x00008772
-_080F6044: .4byte 0x00008774
-_080F6048: .4byte 0x000087c9
-_080F604C:
- subs r0, r4, r5
- lsls r0, 16
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _080F605A
- movs r4, 0x8
-_080F605A:
- lsls r4, 16
- asrs r4, 16
- adds r0, r4, 0
- bl sub_80F063C
- adds r0, r4, 0
- bl sub_80F6074
- movs r0, 0x2
-_080F606C:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F6010
-
- thumb_func_start sub_80F6074
-sub_80F6074: @ 80F6074
- push {r4-r7,lr}
- ldr r1, _080F6120
- ldr r6, [r1]
- ldr r1, _080F6124
- adds r3, r6, r1
- ldrh r1, [r3]
- lsls r0, 16
- asrs r7, r0, 16
- adds r2, r7, r1
- strh r2, [r3]
- ldr r5, _080F6128
- adds r4, r6, r5
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r1, [r4]
- mov r12, r1
- movs r5, 0
- ldrsh r1, [r4, r5]
- cmp r0, r1
- ble _080F60A4
- subs r0, r2, 0x1
- mov r1, r12
- subs r0, r1
- strh r0, [r3]
-_080F60A4:
- ldrh r1, [r3]
- movs r2, 0
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bge _080F60B6
- adds r0, r1, 0x1
- ldrh r5, [r4]
- adds r0, r5
- strh r0, [r3]
-_080F60B6:
- ldr r0, _080F612C
- adds r3, r6, r0
- ldrh r0, [r3]
- adds r2, r7, r0
- strh r2, [r3]
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r1, [r4]
- mov r12, r1
- movs r5, 0
- ldrsh r1, [r4, r5]
- cmp r0, r1
- ble _080F60D8
- subs r0, r2, 0x1
- mov r1, r12
- subs r0, r1
- strh r0, [r3]
-_080F60D8:
- ldrh r1, [r3]
- movs r2, 0
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bge _080F60EA
- adds r0, r1, 0x1
- ldrh r5, [r4]
- adds r0, r5
- strh r0, [r3]
-_080F60EA:
- ldr r0, _080F6130
- adds r3, r6, r0
- ldrh r0, [r3]
- adds r2, r7, r0
- strh r2, [r3]
- lsls r0, r2, 16
- asrs r0, 16
- ldrh r5, [r4]
- movs r6, 0
- ldrsh r1, [r4, r6]
- cmp r0, r1
- ble _080F6108
- subs r0, r2, 0x1
- subs r0, r5
- strh r0, [r3]
-_080F6108:
- ldrh r1, [r3]
- movs r2, 0
- ldrsh r0, [r3, r2]
- cmp r0, 0
- bge _080F611A
- adds r0, r1, 0x1
- ldrh r4, [r4]
- adds r0, r4
- strh r0, [r3]
-_080F611A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6120: .4byte gUnknown_083DFEC4
-_080F6124: .4byte 0x00008770
-_080F6128: .4byte 0x00008774
-_080F612C: .4byte 0x00008772
-_080F6130: .4byte 0x0000876e
- thumb_func_end sub_80F6074
-
- thumb_func_start sub_80F6134
-sub_80F6134: @ 80F6134
- push {r4-r6,lr}
- ldr r0, _080F6194
- ldr r3, [r0]
- ldr r1, _080F6198
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F61E0
- ldr r2, _080F619C
- adds r5, r3, r2
- movs r4, 0
- ldrsh r1, [r5, r4]
- ldr r6, _080F61A0
- adds r4, r3, r6
- movs r2, 0
- ldrsh r0, [r4, r2]
- subs r0, 0x7
- cmp r1, r0
- bge _080F61AC
- subs r6, 0x8
- adds r1, r3, r6
- movs r0, 0
- strh r0, [r1]
- ldrh r0, [r5]
- ldr r1, _080F61A4
- adds r2, r3, r1
- strh r0, [r2]
- ldrh r1, [r5]
- ldr r5, _080F61A8
- adds r0, r3, r5
- strh r1, [r0]
- ldrh r5, [r2]
- adds r0, r5, 0x7
- adds r6, 0x6
- adds r2, r3, r6
- strh r0, [r2]
- lsls r0, 16
- asrs r0, 16
- ldrh r3, [r4]
- movs r6, 0
- ldrsh r1, [r4, r6]
- cmp r0, r1
- ble _080F61F4
- adds r0, r5, 0x6
- subs r0, r3
- strh r0, [r2]
- b _080F61F4
- .align 2, 0
-_080F6194: .4byte gUnknown_083DFEC4
-_080F6198: .4byte 0x000087c9
-_080F619C: .4byte 0x000087dc
-_080F61A0: .4byte 0x00008774
-_080F61A4: .4byte 0x00008770
-_080F61A8: .4byte 0x0000876e
-_080F61AC:
- ldrh r0, [r4]
- subs r0, 0x7
- ldr r2, _080F61D4
- adds r1, r3, r2
- strh r0, [r1]
- ldrh r1, [r4]
- ldr r6, _080F61D8
- adds r0, r3, r6
- strh r1, [r0]
- ldrh r1, [r5]
- subs r2, 0x2
- adds r0, r3, r2
- strh r1, [r0]
- ldrh r0, [r4]
- subs r0, r1
- movs r1, 0x7
- subs r1, r0
- ldr r4, _080F61DC
- adds r0, r3, r4
- b _080F61F2
- .align 2, 0
-_080F61D4: .4byte 0x00008770
-_080F61D8: .4byte 0x00008772
-_080F61DC: .4byte 0x0000876c
-_080F61E0:
- ldr r5, _080F61FC
- adds r2, r3, r5
- ldrh r1, [r2]
- ldr r6, _080F6200
- adds r0, r3, r6
- strh r1, [r0]
- ldrh r1, [r2]
- ldr r2, _080F6204
- adds r0, r3, r2
-_080F61F2:
- strh r1, [r0]
-_080F61F4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F61FC: .4byte 0x000087dc
-_080F6200: .4byte 0x0000876c
-_080F6204: .4byte 0x0000876e
- thumb_func_end sub_80F6134
-
- thumb_func_start sub_80F6208
-sub_80F6208: @ 80F6208
- push {lr}
- ldr r0, _080F623C
- ldr r1, [r0]
- ldr r2, _080F6240
- adds r0, r1, r2
- movs r2, 0
- strb r2, [r0]
- ldr r3, _080F6244
- adds r0, r1, r3
- strb r2, [r0]
- ldr r0, _080F6248
- adds r2, r1, r0
- movs r0, 0xFF
- strb r0, [r2]
- ldr r2, _080F624C
- adds r1, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _080F6238
-_080F622E:
- bl sub_80F6250
- lsls r0, 24
- cmp r0, 0
- bne _080F622E
-_080F6238:
- pop {r0}
- bx r0
- .align 2, 0
-_080F623C: .4byte gUnknown_083DFEC4
-_080F6240: .4byte 0x00008fe6
-_080F6244: .4byte 0x00008fe7
-_080F6248: .4byte 0x00008fe8
-_080F624C: .4byte 0x00006dac
- thumb_func_end sub_80F6208
-
- thumb_func_start sub_80F6250
-sub_80F6250: @ 80F6250
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _080F6270
- ldr r2, [r0]
- ldr r0, _080F6274
- adds r3, r2, r0
- movs r1, 0
- ldrsb r1, [r3, r1]
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080F6278
-_080F626C:
- movs r0, 0
- b _080F637E
- .align 2, 0
-_080F6270: .4byte gUnknown_083DFEC4
-_080F6274: .4byte 0x00008fe8
-_080F6278:
- ldr r1, _080F630C
- adds r0, r2, r1
- ldrb r0, [r0]
- cmp r0, 0x7
- beq _080F631C
- cmp r0, 0x8
- beq _080F626C
- movs r6, 0
- adds r7, r2, 0
- adds r5, r7, r1
- ldr r0, _080F6310
- adds r4, r7, r0
- ldr r1, _080F6314
- mov r8, r1
- ldr r0, _080F6318
- add r0, r8
- mov r9, r0
-_080F629A:
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldrb r2, [r4]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- add r1, r8
- adds r0, r1
- movs r1, 0x51
- bl GetBoxMonData
- cmp r0, 0
- bne _080F636C
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldrb r2, [r4]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- add r1, r9
- adds r0, r1
- movs r1, 0x51
- bl GetBoxMonData
- adds r1, r0, 0
- cmp r1, 0
- bne _080F636C
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r2, 0xFF
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1D
- bls _080F62FE
- strb r1, [r4]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ands r0, r2
- cmp r0, 0x6
- bhi _080F637C
-_080F62FE:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x9
- bls _080F629A
- b _080F637C
- .align 2, 0
-_080F630C: .4byte 0x00008fe6
-_080F6310: .4byte 0x00008fe7
-_080F6314: .4byte gUnknown_020300A4
-_080F6318: .4byte 0x000041a0
-_080F631C:
- movs r0, 0
- strb r0, [r3]
- movs r6, 0
- b _080F632A
-_080F6324:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080F632A:
- cmp r6, 0x5
- bhi _080F634C
- movs r0, 0x64
- muls r0, r6
- ldr r1, _080F635C
- adds r0, r1
- movs r1, 0x51
- bl GetMonData
- cmp r0, 0
- beq _080F6324
- ldr r0, _080F6360
- ldr r0, [r0]
- ldr r1, _080F6364
- adds r0, r1
- movs r1, 0x1
- strb r1, [r0]
-_080F634C:
- ldr r0, _080F6360
- ldr r1, [r0]
- ldr r0, _080F6368
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- b _080F6372
- .align 2, 0
-_080F635C: .4byte gPlayerParty
-_080F6360: .4byte gUnknown_083DFEC4
-_080F6364: .4byte 0x00008fe8
-_080F6368: .4byte 0x00008fe6
-_080F636C:
- ldr r0, _080F6378
- adds r1, r7, r0
- movs r0, 0x1
-_080F6372:
- strb r0, [r1]
- b _080F626C
- .align 2, 0
-_080F6378: .4byte 0x00008fe8
-_080F637C:
- movs r0, 0x1
-_080F637E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F6250
-
- thumb_func_start sub_80F638C
-sub_80F638C: @ 80F638C
- push {r4,lr}
- ldr r0, _080F63C0
- ldr r4, [r0]
- ldr r1, _080F63C4
- adds r0, r4, r1
- movs r1, 0
- strb r1, [r0]
- ldr r2, _080F63C8
- adds r0, r4, r2
- strb r1, [r0]
- bl sub_80F492C
- ldr r0, _080F63CC
- adds r4, r0
- ldrb r0, [r4]
- cmp r0, 0
- bne _080F63B8
-_080F63AE:
- bl sub_80F63D0
- lsls r0, 24
- cmp r0, 0
- bne _080F63AE
-_080F63B8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F63C0: .4byte gUnknown_083DFEC4
-_080F63C4: .4byte 0x00008fe6
-_080F63C8: .4byte 0x00008fe7
-_080F63CC: .4byte 0x00006dac
- thumb_func_end sub_80F638C
-
- thumb_func_start sub_80F63D0
-sub_80F63D0: @ 80F63D0
- push {r4-r6,lr}
- sub sp, 0x4
- ldr r0, _080F647C
- ldr r2, [r0]
- ldr r1, _080F6480
- adds r0, r2, r1
- ldrb r3, [r0]
- cmp r3, 0xE
- beq _080F6498
- cmp r3, 0xF
- bne _080F63E8
- b _080F64F6
-_080F63E8:
- movs r1, 0x80
- lsls r1, 23
- ldr r0, [sp]
- orrs r0, r1
- str r0, [sp]
- movs r6, 0
- ldr r0, _080F6480
- adds r5, r2, r0
- ldr r1, _080F6484
- adds r4, r2, r1
-_080F63FC:
- ldrb r0, [r5]
- lsls r1, r0, 2
- adds r1, r0
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- ldrb r2, [r4]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 4
- ldr r2, _080F6488
- adds r1, r2
- adds r0, r1
- movs r1, 0x51
- bl GetBoxMonData
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _080F644E
- ldrb r1, [r5]
- lsls r1, 8
- ldr r2, _080F648C
- ldr r0, [sp]
- ands r0, r2
- orrs r0, r1
- str r0, [sp]
- ldrb r2, [r4]
- movs r1, 0x1F
- ands r2, r1
- lsls r2, 16
- ldr r1, _080F6490
- ands r0, r1
- orrs r0, r2
- ldr r1, _080F6494
- ands r0, r1
- orrs r0, r3
- str r0, [sp]
- mov r0, sp
- bl sub_80F4944
-_080F644E:
- ldrb r0, [r4]
- adds r0, 0x1
- movs r2, 0
- strb r0, [r4]
- movs r1, 0xFF
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1E
- bne _080F646E
- strb r2, [r4]
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
- ands r0, r1
- cmp r0, 0xE
- beq _080F6508
-_080F646E:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0xE
- bls _080F63FC
- b _080F6508
- .align 2, 0
-_080F647C: .4byte gUnknown_083DFEC4
-_080F6480: .4byte 0x00008fe6
-_080F6484: .4byte 0x00008fe7
-_080F6488: .4byte gUnknown_020300A4
-_080F648C: .4byte 0xffff00ff
-_080F6490: .4byte 0xffe0ffff
-_080F6494: .4byte 0xffffff00
-_080F6498:
- mov r0, sp
- ldrb r1, [r0, 0x3]
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0, 0x3]
- strb r3, [r0, 0x1]
- movs r6, 0
- mov r4, sp
-_080F64A8:
- movs r0, 0x64
- muls r0, r6
- ldr r1, _080F64FC
- adds r0, r1
- movs r1, 0x51
- bl GetMonData
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0
- beq _080F64DA
- movs r0, 0x1F
- adds r2, r6, 0
- ands r2, r0
- ldrb r0, [r4, 0x2]
- movs r5, 0x20
- negs r5, r5
- adds r1, r5, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r4, 0x2]
- strb r3, [r4]
- mov r0, sp
- bl sub_80F4944
-_080F64DA:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x5
- bls _080F64A8
- bl sub_80F49F4
- ldr r0, _080F6500
- ldr r1, [r0]
- ldr r0, _080F6504
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F64F6:
- movs r0, 0
- b _080F650A
- .align 2, 0
-_080F64FC: .4byte gPlayerParty
-_080F6500: .4byte gUnknown_083DFEC4
-_080F6504: .4byte 0x00008fe6
-_080F6508:
- movs r0, 0x1
-_080F650A:
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F63D0
-
- thumb_func_start sub_80F6514
-sub_80F6514: @ 80F6514
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r10, r0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x4]
- mov r5, r10
- ldr r0, _080F65A4
- ldr r0, [r0]
- lsls r1, 2
- adds r0, r1
- ldr r2, _080F65A8
- adds r1, r0, r2
- ldrb r6, [r1]
- mov r8, r6
- ldr r1, _080F65AC
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 27
- lsrs r4, r0, 27
- adds r7, r4, 0
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x2D
- movs r3, 0
- bl sub_80F44B0
- cmp r0, 0
- beq _080F655E
- b _080F66CA
-_080F655E:
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x2
- adds r3, r5, 0
- bl sub_80F44B0
- adds r0, r5, 0
- bl StringGetEnd10
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0xB
- movs r3, 0
- bl sub_80F44B0
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r6, 0xE
- bne _080F65B4
- movs r0, 0x64
- muls r4, r0
- ldr r0, _080F65B0
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0x38
- bl GetMonData
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x8]
- adds r0, r4, 0
- bl GetMonGender
- b _080F65EA
- .align 2, 0
-_080F65A4: .4byte gUnknown_083DFEC4
-_080F65A8: .4byte 0x0000893d
-_080F65AC: .4byte 0x0000893e
-_080F65B0: .4byte gPlayerParty
-_080F65B4:
- mov r2, r8
- lsls r1, r2, 2
- add r1, r8
- lsls r0, r1, 4
- subs r0, r1
- lsls r0, 5
- lsls r1, r7, 2
- adds r1, r7
- lsls r1, 4
- ldr r2, _080F6620
- adds r1, r2
- adds r0, r1
- bl GetLevelFromBoxMonExp
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp, 0x8]
- mov r0, r8
- adds r1, r7, 0
- movs r2, 0
- movs r3, 0
- bl sub_80F44B0
- adds r1, r0, 0
- mov r0, r9
- bl GetGenderFromSpeciesAndPersonality
-_080F65EA:
- lsls r0, 24
- lsrs r4, r0, 24
- mov r0, r9
- mov r1, r10
- bl sub_8040D8C
- cmp r0, 0
- beq _080F65FC
- movs r4, 0xFF
-_080F65FC:
- adds r0, r5, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- adds r5, r0
- movs r1, 0xFC
- strb r1, [r5]
- movs r0, 0x13
- strb r0, [r5, 0x1]
- movs r0, 0x3F
- strb r0, [r5, 0x2]
- adds r5, 0x3
- cmp r4, 0
- beq _080F6624
- cmp r4, 0xFE
- beq _080F663C
- b _080F6656
- .align 2, 0
-_080F6620: .4byte gUnknown_020300A4
-_080F6624:
- strb r1, [r5]
- movs r0, 0x1
- strb r0, [r5, 0x1]
- movs r0, 0xC
- strb r0, [r5, 0x2]
- strb r1, [r5, 0x3]
- movs r0, 0x3
- strb r0, [r5, 0x4]
- movs r0, 0xD
- strb r0, [r5, 0x5]
- movs r0, 0xB5
- b _080F6652
-_080F663C:
- strb r1, [r5]
- movs r0, 0x1
- strb r0, [r5, 0x1]
- movs r0, 0xA
- strb r0, [r5, 0x2]
- strb r1, [r5, 0x3]
- movs r0, 0x3
- strb r0, [r5, 0x4]
- movs r0, 0xB
- strb r0, [r5, 0x5]
- movs r0, 0xB6
-_080F6652:
- strb r0, [r5, 0x6]
- adds r5, 0x7
-_080F6656:
- movs r4, 0xFC
- strb r4, [r5]
- movs r1, 0x1
- strb r1, [r5, 0x1]
- strb r1, [r5, 0x2]
- strb r4, [r5, 0x3]
- movs r0, 0x3
- strb r0, [r5, 0x4]
- movs r0, 0x5
- strb r0, [r5, 0x5]
- adds r5, 0x6
- strb r4, [r5]
- movs r6, 0x13
- strb r6, [r5, 0x1]
- movs r0, 0x46
- strb r0, [r5, 0x2]
- adds r5, 0x3
- movs r0, 0xBA
- strb r0, [r5]
- strb r4, [r5, 0x1]
- movs r0, 0x11
- strb r0, [r5, 0x2]
- strb r1, [r5, 0x3]
- movs r0, 0x34
- strb r0, [r5, 0x4]
- adds r5, 0x5
- adds r0, r5, 0
- ldr r1, [sp, 0x8]
- bl ConvertIntToDecimalString
- adds r5, r0, 0
- ldr r0, [sp, 0x4]
- cmp r0, 0x1
- bne _080F66C0
- ldr r0, _080F66B8
- ldr r0, [r0]
- ldr r2, [sp]
- lsls r1, r2, 2
- adds r0, r1
- ldr r1, _080F66BC
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- movs r2, 0x80
- movs r3, 0x1
- bl sub_8072C14
- adds r5, r0, 0
- b _080F66CE
- .align 2, 0
-_080F66B8: .4byte gUnknown_083DFEC4
-_080F66BC: .4byte 0x0000893c
-_080F66C0:
- strb r4, [r5]
- strb r6, [r5, 0x1]
- movs r0, 0x67
- strb r0, [r5, 0x2]
- adds r5, 0x3
-_080F66CA:
- movs r0, 0xFF
- strb r0, [r5]
-_080F66CE:
- adds r0, r5, 0
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F6514
-
- thumb_func_start sub_80F66E0
-sub_80F66E0: @ 80F66E0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _080F676C
- mov r8, r0
- ldr r4, [r0]
- ldr r1, _080F6770
- adds r0, r4, r1
- ldr r2, _080F6774
- adds r5, r4, r2
- ldrh r1, [r5]
- movs r2, 0
- bl sub_80F6514
- movs r3, 0
- ldrsh r0, [r5, r3]
- movs r1, 0
- bl sub_80F4824
- ldrh r1, [r5]
- ldr r6, _080F6778
- adds r0, r4, r6
- movs r6, 0
- strh r1, [r0]
- ldr r1, _080F677C
- adds r0, r4, r1
- strb r6, [r0]
- movs r2, 0
- mov r9, r2
- movs r3, 0
- ldrsh r1, [r5, r3]
- lsls r1, 2
- adds r1, r4, r1
- ldr r5, _080F6780
- adds r0, r1, r5
- ldrb r0, [r0]
- ldr r2, _080F6784
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 27
- lsrs r1, 27
- movs r2, 0x52
- movs r3, 0
- bl sub_80F44B0
- adds r7, r0, 0
- ldr r3, _080F6788
- adds r4, r3
- strb r6, [r4]
- movs r5, 0
- mov r12, r5
- mov r10, r8
-_080F674E:
- ldr r1, _080F678C
- mov r6, r12
- lsls r0, r6, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x36
- bgt _080F6790
- cmp r0, 0x32
- blt _080F6790
- movs r0, 0x7
- adds r2, r7, 0
- ands r2, r0
- lsrs r7, 3
- movs r0, 0x4
- b _080F679A
- .align 2, 0
-_080F676C: .4byte gUnknown_083DFEC4
-_080F6770: .4byte 0x00008829
-_080F6774: .4byte 0x0000876e
-_080F6778: .4byte 0x000087dc
-_080F677C: .4byte 0x0000bc8e
-_080F6780: .4byte 0x0000893d
-_080F6784: .4byte 0x0000893e
-_080F6788: .4byte 0x0000bc8f
-_080F678C: .4byte gUnknown_083E499C
-_080F6790:
- movs r0, 0x1
- adds r2, r7, 0
- ands r2, r0
- lsrs r7, 1
- movs r0, 0x1
-_080F679A:
- movs r4, 0
- adds r1, r2, 0
- add r0, r9
- mov r8, r0
- cmp r4, r1
- bcs _080F67D4
- mov r3, r10
- ldr r0, [r3]
- ldr r5, _080F6828
- adds r3, r0, r5
- ldr r6, _080F682C
- adds r6, r0, r6
- str r6, [sp]
- adds r5, r1, 0
-_080F67B6:
- ldrb r0, [r3]
- adds r1, r0, 0x1
- strb r1, [r3]
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [sp]
- adds r0, r1, r0
- mov r6, r9
- adds r1, r6, r4
- strb r1, [r0]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r5
- bcc _080F67B6
-_080F67D4:
- cmp r2, 0
- beq _080F67EC
- mov r0, r9
- cmp r0, 0x18
- bls _080F67EC
- mov r2, r10
- ldr r1, [r2]
- ldr r3, _080F6830
- adds r1, r3
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F67EC:
- mov r5, r8
- lsls r0, r5, 24
- lsrs r0, 24
- mov r9, r0
- mov r0, r12
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r12, r0
- cmp r0, 0x10
- bls _080F674E
- ldr r6, _080F6834
- ldr r2, [r6]
- ldr r1, _080F6828
- adds r0, r2, r1
- ldr r3, _080F6830
- adds r1, r2, r3
- ldrb r0, [r0]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080F6840
- ldr r5, _080F6838
- adds r0, r2, r5
- movs r1, 0
- strb r1, [r0]
- ldr r6, _080F683C
- adds r0, r2, r6
- strb r1, [r0]
- b _080F6850
- .align 2, 0
-_080F6828: .4byte 0x0000bc8e
-_080F682C: .4byte 0x0000bc4c
-_080F6830: .4byte 0x0000bc8f
-_080F6834: .4byte gUnknown_083DFEC4
-_080F6838: .4byte 0x0000bc90
-_080F683C: .4byte 0x0000bc91
-_080F6840:
- ldr r0, _080F6888
- adds r1, r2, r0
- movs r0, 0
- strb r0, [r1]
- ldr r3, _080F688C
- adds r1, r2, r3
- movs r0, 0x3
- strb r0, [r1]
-_080F6850:
- ldr r5, _080F6890
- ldr r1, [r5]
- ldr r6, _080F6894
- adds r0, r1, r6
- ldr r2, _080F6898
- adds r1, r2
- ldrb r0, [r0]
- ldrb r1, [r1]
- subs r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- movs r3, 0
- mov r12, r3
- adds r3, r5, 0
- ldr r1, _080F689C
- movs r4, 0x9
-_080F6870:
- cmp r2, 0x8
- bls _080F68A0
- ldr r0, [r3]
- adds r0, r1
- add r0, r12
- strb r4, [r0]
- adds r0, r2, 0
- subs r0, 0x9
- lsls r0, 24
- lsrs r2, r0, 24
- b _080F68AA
- .align 2, 0
-_080F6888: .4byte 0x0000bc90
-_080F688C: .4byte 0x0000bc91
-_080F6890: .4byte gUnknown_083DFEC4
-_080F6894: .4byte 0x0000bc8e
-_080F6898: .4byte 0x0000bc8f
-_080F689C: .4byte 0x0000bc96
-_080F68A0:
- ldr r0, [r3]
- adds r0, r1
- add r0, r12
- strb r2, [r0]
- movs r2, 0
-_080F68AA:
- mov r0, r12
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r12, r0
- cmp r0, 0x2
- bls _080F6870
- ldr r5, _080F68DC
- ldr r0, [r5]
- ldr r6, _080F68E0
- adds r1, r0, r6
- add r1, r12
- ldr r2, _080F68E4
- adds r0, r2
- ldrb r0, [r0]
- strb r0, [r1]
- 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
-_080F68DC: .4byte gUnknown_083DFEC4
-_080F68E0: .4byte 0x0000bc96
-_080F68E4: .4byte 0x0000bc8f
- thumb_func_end sub_80F66E0
-
- thumb_func_start sub_80F68E8
-sub_80F68E8: @ 80F68E8
- push {r4-r7,lr}
- ldr r3, _080F6918
- ldr r0, [r3]
- ldr r2, _080F691C
- adds r1, r0, r2
- ldrb r5, [r1]
- ldr r6, _080F6920
- adds r0, r6
- ldrb r4, [r0]
- movs r0, 0x1
- mov r12, r0
- ldr r2, _080F6924
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- adds r6, r3, 0
- adds r7, r2, 0
- cmp r0, 0
- beq _080F692E
- lsls r0, r4, 24
- cmp r0, 0
- ble _080F692E
- b _080F69BC
- .align 2, 0
-_080F6918: .4byte gUnknown_083DFEC4
-_080F691C: .4byte 0x0000bc90
-_080F6920: .4byte 0x0000bc91
-_080F6924: .4byte gMain
-_080F6928:
- ldr r1, _080F69B0
- adds r0, r2, r1
- ldrb r4, [r0]
-_080F692E:
- ldrh r1, [r7, 0x30]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080F6978
- lsls r0, r4, 24
- asrs r0, 24
- cmp r0, 0x2
- bgt _080F6978
- ldr r3, _080F69B4
- ldr r2, _080F69B8
-_080F6944:
- lsls r0, r4, 24
- asrs r0, 24
- cmp r0, 0x2
- bgt _080F6960
- adds r0, 0x1
- lsls r0, 24
- ldr r1, [r3]
- lsrs r4, r0, 24
- asrs r0, 24
- adds r1, r2
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080F6944
-_080F6960:
- ldr r2, [r6]
- lsls r0, r4, 24
- asrs r0, 24
- ldr r3, _080F69B8
- adds r1, r2, r3
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- bne _080F69EC
- ldr r1, _080F69B0
- adds r0, r2, r1
- ldrb r4, [r0]
-_080F6978:
- ldrh r2, [r7, 0x30]
- movs r0, 0x20
- ands r0, r2
- cmp r0, 0
- beq _080F698A
- lsls r0, r5, 24
- asrs r0, 24
- cmp r0, 0
- bgt _080F6A3C
-_080F698A:
- movs r0, 0x10
- ands r0, r2
- cmp r0, 0
- beq _080F69AA
- lsls r0, r5, 24
- asrs r2, r0, 24
- ldr r1, [r6]
- lsls r0, r4, 24
- asrs r0, 24
- ldr r3, _080F69B8
- adds r1, r3
- adds r1, r0
- ldrb r0, [r1]
- subs r0, 0x1
- cmp r2, r0
- blt _080F6A38
-_080F69AA:
- movs r0, 0
- mov r12, r0
- b _080F69FC
- .align 2, 0
-_080F69B0: .4byte 0x0000bc91
-_080F69B4: .4byte gUnknown_083DFEC4
-_080F69B8: .4byte 0x0000bc96
-_080F69BC:
- lsls r0, r4, 24
- asrs r0, 24
- cmp r0, 0
- ble _080F69DA
- subs r0, 0x1
- lsls r0, 24
- ldr r1, [r6]
- lsrs r4, r0, 24
- asrs r0, 24
- ldr r2, _080F6A2C
- adds r1, r2
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080F69BC
-_080F69DA:
- ldr r2, [r6]
- lsls r0, r4, 24
- asrs r0, 24
- ldr r3, _080F6A2C
- adds r1, r2, r3
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080F6928
-_080F69EC:
- lsls r0, r5, 24
- asrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- blt _080F69FC
- subs r0, r1, 0x1
-_080F69F8:
- lsls r0, 24
- lsrs r5, r0, 24
-_080F69FC:
- mov r0, r12
- cmp r0, 0
- beq _080F6A44
- lsls r0, r5, 24
- asrs r0, 24
- ldr r3, [r6]
- ldr r1, _080F6A30
- adds r2, r3, r1
- ldrb r6, [r2]
- cmp r0, r6
- bne _080F6A20
- lsls r0, r4, 24
- asrs r0, 24
- ldr r6, _080F6A34
- adds r1, r3, r6
- ldrb r1, [r1]
- cmp r0, r1
- beq _080F6A40
-_080F6A20:
- strb r5, [r2]
- ldr r1, _080F6A34
- adds r0, r3, r1
- strb r4, [r0]
- b _080F6A44
- .align 2, 0
-_080F6A2C: .4byte 0x0000bc96
-_080F6A30: .4byte 0x0000bc90
-_080F6A34: .4byte 0x0000bc91
-_080F6A38:
- adds r0, r2, 0x1
- b _080F69F8
-_080F6A3C:
- subs r0, 0x1
- b _080F69F8
-_080F6A40:
- movs r2, 0
- mov r12, r2
-_080F6A44:
- mov r0, r12
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F68E8
-
- thumb_func_start sub_80F6A4C
-sub_80F6A4C: @ 80F6A4C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r0, _080F6AC4
- ldr r3, [r0]
- ldr r0, _080F6AC8
- adds r2, r3, r0
- lsls r0, r4, 24
- asrs r0, 24
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bge _080F6A74
- ldr r5, _080F6ACC
- adds r0, r3, r5
- ldrh r0, [r0]
- strh r0, [r2]
-_080F6A74:
- ldr r1, _080F6ACC
- adds r0, r3, r1
- movs r5, 0
- ldrsh r1, [r2, r5]
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r1, r0
- ble _080F6A88
- movs r0, 0
- strh r0, [r2]
-_080F6A88:
- ldr r1, _080F6AD0
- adds r0, r3, r1
- strb r4, [r0]
- ldrh r1, [r2]
- ldr r2, _080F6AD4
- adds r0, r3, r2
- strh r1, [r0]
- ldr r1, _080F6AD8
- ldr r5, _080F6ADC
- adds r0, r5, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080F6AE0
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xA
- ldr r5, _080F6AE4
- adds r0, r5, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080F6AE8
- adds r0, r2, 0
- strh r0, [r1]
- ldr r5, _080F6AEC
- adds r1, r3, r5
- movs r0, 0
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6AC4: .4byte gUnknown_083DFEC4
-_080F6AC8: .4byte 0x0000876e
-_080F6ACC: .4byte 0x00008774
-_080F6AD0: .4byte 0x0000bc94
-_080F6AD4: .4byte 0x000087dc
-_080F6AD8: .4byte REG_WININ
-_080F6ADC: .4byte 0x00003f37
-_080F6AE0: .4byte 0x00003f3f
-_080F6AE4: .4byte 0x000058f0
-_080F6AE8: .4byte 0x00002060
-_080F6AEC: .4byte 0x000087de
- thumb_func_end sub_80F6A4C
-
- thumb_func_start sub_80F6AF0
-sub_80F6AF0: @ 80F6AF0
- push {r4,lr}
- ldr r1, _080F6B10
- ldr r0, [r1]
- ldr r2, _080F6B14
- adds r0, r2
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _080F6B04
- b _080F6C08
-_080F6B04:
- lsls r0, 2
- ldr r1, _080F6B18
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F6B10: .4byte gUnknown_083DFEC4
-_080F6B14: .4byte 0x000087de
-_080F6B18: .4byte _080F6B1C
- .align 2, 0
-_080F6B1C:
- .4byte _080F6B38
- .4byte _080F6B54
- .4byte _080F6B6E
- .4byte _080F6B84
- .4byte _080F6B9C
- .4byte _080F6BC0
- .4byte _080F6BE0
-_080F6B38:
- bl sub_80F173C
- lsls r0, 24
- cmp r0, 0
- bne _080F6C18
- ldr r0, _080F6B4C
- ldr r1, [r0]
- ldr r3, _080F6B50
- adds r1, r3
- b _080F6BCE
- .align 2, 0
-_080F6B4C: .4byte gUnknown_083DFEC4
-_080F6B50: .4byte 0x000087de
-_080F6B54:
- movs r2, 0x80
- lsls r2, 19
- ldrh r0, [r2]
- movs r3, 0x80
- lsls r3, 6
- adds r1, r3, 0
- orrs r0, r1
- strh r0, [r2]
- bl sub_80F1480
- bl sub_80F66E0
- b _080F6BC6
-_080F6B6E:
- bl sub_80F1238
- ldr r0, _080F6B7C
- ldr r1, [r0]
- ldr r2, _080F6B80
- adds r1, r2
- b _080F6BCE
- .align 2, 0
-_080F6B7C: .4byte gUnknown_083DFEC4
-_080F6B80: .4byte 0x000087de
-_080F6B84:
- bl sub_80F13FC
- ldr r0, _080F6B94
- ldr r1, [r0]
- ldr r3, _080F6B98
- adds r1, r3
- b _080F6BCE
- .align 2, 0
-_080F6B94: .4byte gUnknown_083DFEC4
-_080F6B98: .4byte 0x000087de
-_080F6B9C:
- ldr r4, [r4]
- ldr r1, _080F6BB8
- adds r0, r4, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0
- bl sub_80F4824
- ldr r3, _080F6BBC
- adds r4, r3
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080F6C18
- .align 2, 0
-_080F6BB8: .4byte 0x0000876e
-_080F6BBC: .4byte 0x000087de
-_080F6BC0:
- movs r0, 0
- bl sub_80F2E18
-_080F6BC6:
- ldr r0, _080F6BD8
- ldr r1, [r0]
- ldr r0, _080F6BDC
- adds r1, r0
-_080F6BCE:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080F6C18
- .align 2, 0
-_080F6BD8: .4byte gUnknown_083DFEC4
-_080F6BDC: .4byte 0x000087de
-_080F6BE0:
- bl sub_80F170C
- lsls r0, 24
- cmp r0, 0
- bne _080F6C18
- bl sub_80F1438
- movs r2, 0x80
- lsls r2, 19
- ldrh r1, [r2]
- ldr r0, _080F6C0C
- ands r0, r1
- strh r0, [r2]
- ldr r0, _080F6C10
- ldr r1, [r0]
- ldr r2, _080F6C14
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F6C08:
- movs r0, 0
- b _080F6C1A
- .align 2, 0
-_080F6C0C: .4byte 0x0000dfff
-_080F6C10: .4byte gUnknown_083DFEC4
-_080F6C14: .4byte 0x000087de
-_080F6C18:
- movs r0, 0x1
-_080F6C1A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F6AF0
-
- thumb_func_start sub_80F6C20
-sub_80F6C20: @ 80F6C20
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r0, _080F6D44
- ldr r0, [r0]
- ldr r1, _080F6D48
- adds r0, r1
- movs r1, 0
- strh r1, [r0]
- mov r8, r1
- ldr r2, _080F6D4C
- mov r9, r2
-_080F6C3A:
- ldr r1, _080F6D50
- mov r4, r8
- lsls r0, r4, 4
- adds r6, r0, r1
- ldrh r7, [r6]
- adds r0, r7, 0
- bl trainer_flag_check
- lsls r0, 24
- cmp r0, 0
- beq _080F6CA0
- ldr r0, _080F6D44
- ldr r4, [r0]
- ldr r0, _080F6D48
- adds r5, r4, r0
- ldrh r0, [r5]
- lsls r0, 3
- adds r0, r4, r0
- ldr r1, _080F6D54
- adds r0, r1
- strh r7, [r0]
- ldrh r0, [r5]
- lsls r0, 3
- adds r0, r4, r0
- ldr r2, _080F6D58
- adds r0, r2
- mov r1, r8
- strb r1, [r0]
- ldrh r0, [r5]
- lsls r0, 3
- adds r0, r4, r0
- mov r1, r8
- add r1, r9
- ldrb r1, [r1]
- adds r2, 0x1
- adds r0, r2
- strb r1, [r0]
- ldrh r0, [r6, 0xA]
- ldrh r1, [r6, 0xC]
- bl get_mapheader_by_bank_and_number
- ldrh r1, [r5]
- lsls r1, 3
- adds r4, r1
- ldrb r0, [r0, 0x14]
- ldr r1, _080F6D5C
- adds r4, r1
- strh r0, [r4]
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080F6CA0:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0x37
- bls _080F6C3A
- movs r2, 0
- mov r8, r2
- movs r6, 0
-_080F6CB4:
- ldr r1, _080F6D60
- mov r4, r8
- lsls r0, r4, 2
- adds r5, r0, r1
- ldrh r4, [r5]
- adds r0, r4, 0
- bl trainer_flag_check
- lsls r0, 24
- cmp r0, 0
- beq _080F6D0E
- ldr r0, _080F6D44
- ldr r2, [r0]
- ldr r0, _080F6D48
- adds r3, r2, r0
- ldrh r0, [r3]
- lsls r0, 3
- adds r0, r2, r0
- ldr r1, _080F6D54
- adds r0, r1
- strh r4, [r0]
- ldrh r0, [r3]
- lsls r0, 3
- adds r0, r2, r0
- ldrh r1, [r5, 0x2]
- ldr r4, _080F6D5C
- adds r0, r4
- strh r1, [r0]
- ldrh r0, [r3]
- lsls r0, 3
- adds r0, r2, r0
- ldr r1, _080F6D64
- adds r0, r1
- strb r6, [r0]
- ldrh r0, [r3]
- lsls r0, 3
- adds r2, r0
- mov r0, r8
- adds r0, 0x38
- adds r4, 0x2
- adds r2, r4
- strb r0, [r2]
- ldrh r0, [r3]
- adds r0, 0x1
- strh r0, [r3]
-_080F6D0E:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r0, 0xC
- bls _080F6CB4
- ldr r3, _080F6D44
- ldr r2, [r3]
- ldr r1, _080F6D68
- adds r0, r2, r1
- movs r1, 0
- strh r1, [r0]
- ldr r4, _080F6D6C
- adds r0, r2, r4
- strh r1, [r0]
- subs r4, 0x2
- adds r0, r2, r4
- strh r1, [r0]
- ldr r1, _080F6D48
- adds r0, r2, r1
- ldrh r0, [r0]
- cmp r0, 0x8
- bhi _080F6D70
- subs r4, r0, 0x1
- b _080F6D72
- .align 2, 0
-_080F6D44: .4byte gUnknown_083DFEC4
-_080F6D48: .4byte 0x0000d158
-_080F6D4C: .4byte gSaveBlock1 + 0x97A
-_080F6D50: .4byte gTrainerEyeTrainers
-_080F6D54: .4byte 0x0000cee8
-_080F6D58: .4byte 0x0000ceec
-_080F6D5C: .4byte 0x0000ceea
-_080F6D60: .4byte gUnknown_083E49C0
-_080F6D64: .4byte 0x0000ceed
-_080F6D68: .4byte 0x0000876c
-_080F6D6C: .4byte 0x00008770
-_080F6D70:
- movs r4, 0x7
-_080F6D72:
- ldr r1, _080F6DA8
- adds r0, r2, r1
- strh r4, [r0]
- ldr r3, [r3]
- ldr r2, _080F6DAC
- adds r0, r3, r2
- ldrh r0, [r0]
- subs r0, 0x1
- ldr r4, _080F6DB0
- adds r1, r3, r4
- strh r0, [r1]
- movs r1, 0
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _080F6D94
- movs r1, 0x1
-_080F6D94:
- ldr r2, _080F6DB4
- adds r0, r3, r2
- strb r1, [r0]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6DA8: .4byte 0x00008772
-_080F6DAC: .4byte 0x0000d158
-_080F6DB0: .4byte 0x00008774
-_080F6DB4: .4byte 0x000087c9
- thumb_func_end sub_80F6C20
-
- thumb_func_start sub_80F6DB8
-sub_80F6DB8: @ 80F6DB8
- push {r4,lr}
- movs r1, 0
- ldr r0, _080F6DEC
- ldr r4, [r0]
- ldr r2, _080F6DF0
- adds r0, r4, r2
- strb r1, [r0]
- movs r0, 0
- bl sub_80F6E04
- ldr r0, _080F6DF4
- adds r1, r4, r0
- ldr r0, _080F6DF8
- strh r0, [r1]
- movs r0, 0
- bl sub_80F2F7C
- ldr r1, _080F6DFC
- adds r0, r4, r1
- ldrh r0, [r0]
- ldr r2, _080F6E00
- adds r4, r2
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6DEC: .4byte gUnknown_083DFEC4
-_080F6DF0: .4byte 0x00008fe9
-_080F6DF4: .4byte 0x0000d15a
-_080F6DF8: .4byte 0x0000ffb8
-_080F6DFC: .4byte 0x0000876e
-_080F6E00: .4byte 0x000087dc
- thumb_func_end sub_80F6DB8
-
- thumb_func_start sub_80F6E04
-sub_80F6E04: @ 80F6E04
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080F6E78
- ldr r5, [r0]
- ldr r1, _080F6E7C
- adds r0, r5, r1
- movs r2, 0
- ldrsh r0, [r0, r2]
- lsls r0, 3
- adds r0, r5, r0
- ldr r7, _080F6E80
- adds r0, r7
- ldrh r1, [r0]
- ldr r2, _080F6E84
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrb r6, [r0, 0x3]
- lsls r0, r6, 3
- mov r8, r0
- ldr r0, _080F6E88
- add r0, r8
- ldr r2, _080F6E8C
- lsls r1, r6, 2
- adds r1, r2
- ldrb r1, [r1]
- ldr r2, _080F6E90
- adds r3, r5, r2
- lsls r2, r4, 13
- ldr r7, _080F6E94
- adds r2, r7
- adds r2, r5, r2
- str r2, [sp]
- str r6, [sp, 0x4]
- movs r2, 0x1
- bl DecompressPicFromTable_2
- ldr r0, _080F6E98
- add r8, r0
- mov r1, r8
- ldr r0, [r1]
- lsls r4, 7
- adds r5, r4
- adds r1, r5, 0
- bl LZ77UnCompWram
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F6E78: .4byte gUnknown_083DFEC4
-_080F6E7C: .4byte 0x0000876e
-_080F6E80: .4byte 0x0000cee8
-_080F6E84: .4byte gTrainers
-_080F6E88: .4byte gTrainerFrontPicTable
-_080F6E8C: .4byte gTrainerFrontPicCoords
-_080F6E90: .4byte 0x000131e4
-_080F6E94: .4byte 0x0000d1e4
-_080F6E98: .4byte gTrainerFrontPicPaletteTable
- thumb_func_end sub_80F6E04
-
- thumb_func_start sub_80F6E9C
-sub_80F6E9C: @ 80F6E9C
- push {lr}
- ldr r0, _080F6EB4
- ldr r0, [r0]
- ldr r2, _080F6EB8
- adds r1, r0, r2
- ldrh r2, [r1]
- movs r3, 0
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _080F6EBC
- movs r0, 0
- b _080F6ED0
- .align 2, 0
-_080F6EB4: .4byte gUnknown_083DFEC4
-_080F6EB8: .4byte 0x0000d15a
-_080F6EBC:
- adds r0, r2, 0
- adds r0, 0x8
- strh r0, [r1]
- lsls r0, 16
- cmp r0, 0
- bge _080F6ECC
- movs r0, 0x1
- b _080F6ED0
-_080F6ECC:
- movs r0, 0
- strh r0, [r1]
-_080F6ED0:
- pop {r1}
- bx r1
- thumb_func_end sub_80F6E9C
-
- thumb_func_start sub_80F6ED4
-sub_80F6ED4: @ 80F6ED4
- push {lr}
- ldr r0, _080F6F00
- ldr r0, [r0]
- ldr r2, _080F6F04
- adds r1, r0, r2
- ldrh r3, [r1]
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x48
- negs r2, r2
- cmp r0, r2
- beq _080F6F0A
- adds r0, r3, 0
- subs r0, 0x8
- strh r0, [r1]
- lsls r0, 16
- asrs r0, 16
- cmp r0, r2
- ble _080F6F08
- movs r0, 0x1
- b _080F6F0C
- .align 2, 0
-_080F6F00: .4byte gUnknown_083DFEC4
-_080F6F04: .4byte 0x0000d15a
-_080F6F08:
- strh r2, [r1]
-_080F6F0A:
- movs r0, 0
-_080F6F0C:
- pop {r1}
- bx r1
- thumb_func_end sub_80F6ED4
-
- thumb_func_start sub_80F6F10
-sub_80F6F10: @ 80F6F10
- push {lr}
- ldr r0, _080F6F48
- ldr r0, [r0]
- ldr r2, _080F6F4C
- adds r1, r0, r2
- movs r2, 0
- strb r2, [r1]
- ldr r1, _080F6F50
- adds r0, r1
- strb r2, [r0]
- ldr r1, _080F6F54
- movs r0, 0xC8
- strh r0, [r1]
- ldr r0, _080F6F58
- strh r2, [r0]
- subs r1, 0x8
- ldr r2, _080F6F5C
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080F6F60
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0
- bl sub_80F6FB8
- pop {r0}
- bx r0
- .align 2, 0
-_080F6F48: .4byte gUnknown_083DFEC4
-_080F6F4C: .4byte 0x0000d15e
-_080F6F50: .4byte 0x0000d15f
-_080F6F54: .4byte REG_BLDCNT
-_080F6F58: .4byte REG_BLDY
-_080F6F5C: .4byte 0x00003f3f
-_080F6F60: .4byte 0x00001f1f
- thumb_func_end sub_80F6F10
-
- thumb_func_start sub_80F6F64
-sub_80F6F64: @ 80F6F64
- push {lr}
- ldr r0, _080F6F9C
- ldr r1, [r0]
- ldr r0, _080F6FA0
- adds r2, r1, r0
- ldrb r0, [r2]
- adds r0, 0x1
- strb r0, [r2]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- bls _080F6FB0
- movs r0, 0
- strb r0, [r2]
- ldr r0, _080F6FA4
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r1, 0x1
- ands r1, r0
- cmp r1, 0
- beq _080F6FAC
- ldr r1, _080F6FA8
- movs r0, 0x6
- strh r0, [r1]
- b _080F6FB0
- .align 2, 0
-_080F6F9C: .4byte gUnknown_083DFEC4
-_080F6FA0: .4byte 0x0000d15e
-_080F6FA4: .4byte 0x0000d15f
-_080F6FA8: .4byte REG_BLDY
-_080F6FAC:
- ldr r0, _080F6FB4
- strh r1, [r0]
-_080F6FB0:
- pop {r0}
- bx r0
- .align 2, 0
-_080F6FB4: .4byte REG_BLDY
- thumb_func_end sub_80F6F64
-
- thumb_func_start sub_80F6FB8
-sub_80F6FB8: @ 80F6FB8
- push {lr}
- lsls r0, 24
- cmp r0, 0
- bne _080F6FDC
- ldr r1, _080F6FD0
- ldr r2, _080F6FD4
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080F6FD8
- b _080F6FE8
- .align 2, 0
-_080F6FD0: .4byte REG_WIN0H
-_080F6FD4: .4byte 0x0000e8f0
-_080F6FD8: .4byte 0x00000888
-_080F6FDC:
- ldr r1, _080F6FF0
- ldr r2, _080F6FF4
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x4
- ldr r2, _080F6FF8
-_080F6FE8:
- adds r0, r2, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080F6FF0: .4byte REG_WIN0H
-_080F6FF4: .4byte 0x0000e8f0
-_080F6FF8: .4byte 0x00000818
- thumb_func_end sub_80F6FB8
-
- thumb_func_start sub_80F6FFC
-sub_80F6FFC: @ 80F6FFC
- ldr r0, _080F7008
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080F7008: .4byte REG_BLDCNT
- thumb_func_end sub_80F6FFC
-
- thumb_func_start sub_80F700C
-sub_80F700C: @ 80F700C
- push {r4,r5,lr}
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _080F7078
- ldr r4, [r2]
- lsls r2, r1, 3
- adds r2, r4, r2
- ldr r3, _080F707C
- adds r2, r3
- ldrh r3, [r2]
- lsls r2, r3, 2
- adds r2, r3
- lsls r2, 3
- ldr r3, _080F7080
- adds r5, r2, r3
- adds r3, r0, 0
- ldr r0, _080F7084
- adds r4, r0
- ldrh r4, [r4]
- cmp r1, r4
- bcs _080F7060
- ldrb r1, [r5, 0x1]
- movs r0, 0xD
- muls r1, r0
- ldr r0, _080F7088
- adds r1, r0
- adds r0, r3, 0
- bl StringCopy
- adds r3, r0, 0
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x13
- strb r0, [r3, 0x1]
- movs r0, 0x4B
- strb r0, [r3, 0x2]
- adds r3, 0x3
- adds r1, r5, 0x4
- adds r0, r3, 0
- bl StringCopy
- adds r3, r0, 0
-_080F7060:
- movs r0, 0xFC
- strb r0, [r3]
- movs r0, 0x13
- strb r0, [r3, 0x1]
- movs r0, 0x80
- strb r0, [r3, 0x2]
- movs r0, 0xFF
- strb r0, [r3, 0x3]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F7078: .4byte gUnknown_083DFEC4
-_080F707C: .4byte 0x0000cee8
-_080F7080: .4byte gTrainers
-_080F7084: .4byte 0x0000d158
-_080F7088: .4byte gTrainerClassNames
- thumb_func_end sub_80F700C
-
- thumb_func_start sub_80F708C
-sub_80F708C: @ 80F708C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r0, _080F70E4
- ldr r3, [r0]
- ldr r0, _080F70E8
- adds r2, r3, r0
- lsls r0, r4, 24
- asrs r0, 24
- ldrh r1, [r2]
- adds r0, r1
- strh r0, [r2]
- lsls r0, 16
- cmp r0, 0
- bge _080F70B4
- ldr r5, _080F70EC
- adds r0, r3, r5
- ldrh r0, [r0]
- strh r0, [r2]
-_080F70B4:
- ldr r1, _080F70EC
- adds r0, r3, r1
- movs r5, 0
- ldrsh r1, [r2, r5]
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r1, r0
- ble _080F70C8
- movs r0, 0
- strh r0, [r2]
-_080F70C8:
- ldr r1, _080F70F0
- adds r0, r3, r1
- strb r4, [r0]
- ldrh r1, [r2]
- ldr r2, _080F70F4
- adds r0, r3, r2
- strh r1, [r0]
- ldr r5, _080F70F8
- adds r1, r3, r5
- movs r0, 0
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F70E4: .4byte gUnknown_083DFEC4
-_080F70E8: .4byte 0x0000876e
-_080F70EC: .4byte 0x00008774
-_080F70F0: .4byte 0x0000bc94
-_080F70F4: .4byte 0x000087dc
-_080F70F8: .4byte 0x000087de
- thumb_func_end sub_80F708C
-
- thumb_func_start sub_80F70FC
-sub_80F70FC: @ 80F70FC
- push {r4-r6,lr}
- ldr r1, _080F711C
- ldr r0, [r1]
- ldr r2, _080F7120
- adds r0, r2
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x6
- bls _080F7110
- b _080F7218
-_080F7110:
- lsls r0, 2
- ldr r1, _080F7124
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F711C: .4byte gUnknown_083DFEC4
-_080F7120: .4byte 0x000087de
-_080F7124: .4byte _080F7128
- .align 2, 0
-_080F7128:
- .4byte _080F7144
- .4byte _080F714A
- .4byte _080F7164
- .4byte _080F716C
- .4byte _080F71A0
- .4byte _080F71BA
- .4byte _080F71EA
-_080F7144:
- bl sub_80F6ED4
- b _080F71F8
-_080F714A:
- movs r0, 0
- bl sub_80F6E04
- ldr r0, _080F715C
- ldr r1, [r0]
- ldr r2, _080F7160
- adds r1, r2
- b _080F7206
- .align 2, 0
-_080F715C: .4byte gUnknown_083DFEC4
-_080F7160: .4byte 0x000087de
-_080F7164:
- movs r0, 0
- bl sub_80F2F7C
- b _080F71FE
-_080F716C:
- ldr r4, [r4]
- ldr r2, _080F7194
- adds r5, r4, r2
- ldr r0, _080F7198
- adds r6, r4, r0
- ldrh r1, [r6]
- adds r0, r5, 0
- bl sub_80F700C
- adds r0, r5, 0
- bl sub_80F43D4
- bl sub_80F105C
- ldrb r0, [r6]
- bl sub_80F0FFC
- ldr r2, _080F719C
- adds r4, r2
- b _080F71CC
- .align 2, 0
-_080F7194: .4byte 0x00008788
-_080F7198: .4byte 0x0000876e
-_080F719C: .4byte 0x000087de
-_080F71A0:
- bl sub_80F0CD8
- ldr r0, _080F71D4
- ldr r1, [r0]
- ldr r0, _080F71D8
- adds r2, r1, r0
- movs r0, 0
- strb r0, [r2]
- ldr r2, _080F71DC
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F71BA:
- ldr r0, _080F71D4
- ldr r1, [r0]
- ldr r0, _080F71D8
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0x1
- bhi _080F71E0
- bl sub_80F0D5C
-_080F71CC:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _080F721C
- .align 2, 0
-_080F71D4: .4byte gUnknown_083DFEC4
-_080F71D8: .4byte 0x0000bc95
-_080F71DC: .4byte 0x000087de
-_080F71E0:
- ldr r2, _080F7210
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F71EA:
- bl sub_80F6E9C
- lsls r0, 24
- cmp r0, 0
- bne _080F721C
- bl sub_80F0D5C
-_080F71F8:
- lsls r0, 24
- cmp r0, 0
- bne _080F721C
-_080F71FE:
- ldr r0, _080F7214
- ldr r1, [r0]
- ldr r0, _080F7210
- adds r1, r0
-_080F7206:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080F721C
- .align 2, 0
-_080F7210: .4byte 0x000087de
-_080F7214: .4byte gUnknown_083DFEC4
-_080F7218:
- movs r0, 0
- b _080F721E
-_080F721C:
- movs r0, 0x1
-_080F721E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80F70FC
-
- thumb_func_start sub_80F7224
-sub_80F7224: @ 80F7224
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x64
- muls r0, r1
- ldr r1, _080F7260
- adds r0, r1
- movs r1, 0x30
- bl GetMonData
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _080F7264
- ldr r0, [r0]
- ldr r3, _080F7268
- adds r1, r0, r3
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- ldr r3, _080F726C
- adds r0, r3
- adds r4, r0, r1
- cmp r2, 0xFF
- beq _080F7270
- adds r0, r2, 0
- movs r1, 0x1D
- bl __udivsi3
- b _080F7272
- .align 2, 0
-_080F7260: .4byte gPlayerParty
-_080F7264: .4byte gUnknown_083DFEC4
-_080F7268: .4byte 0x00008fe9
-_080F726C: .4byte 0x00008931
-_080F7270:
- movs r0, 0x9
-_080F7272:
- strb r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F7224
-
- thumb_func_start sub_80F727C
-sub_80F727C: @ 80F727C
- ldr r1, _080F7288
- str r0, [r1]
- movs r1, 0
- strb r1, [r0, 0xB]
- bx lr
- .align 2, 0
-_080F7288: .4byte gUnknown_020388B8
- thumb_func_end sub_80F727C
-
- thumb_func_start sub_80F728C
-sub_80F728C: @ 80F728C
- push {lr}
- sub sp, 0x4
- ldr r0, _080F72C4
- ldrb r0, [r0, 0x14]
- lsrs r0, 3
- bl GetTextWindowFrameGraphics
- ldr r3, _080F72C8
- ldr r2, [r3]
- ldr r1, [r0]
- str r1, [r2, 0x28]
- ldr r0, [r0, 0x4]
- str r0, [r2, 0x2C]
- ldr r0, _080F72CC
- adds r2, r0
- movs r1, 0
- strb r1, [r2]
- mov r0, sp
- strh r1, [r0]
- ldr r1, [r3]
- adds r1, 0x30
- ldr r2, _080F72D0
- bl CpuSet
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080F72C4: .4byte gSaveBlock2
-_080F72C8: .4byte gUnknown_020388B8
-_080F72CC: .4byte 0x000010b0
-_080F72D0: .4byte 0x01000800
- thumb_func_end sub_80F728C
-
- thumb_func_start sub_80F72D4
-sub_80F72D4: @ 80F72D4
- push {r4-r7,lr}
- ldr r0, _080F72F4
- ldr r1, [r0]
- ldr r2, _080F72F8
- adds r0, r1, r2
- ldrb r2, [r0]
- lsls r0, r2, 8
- adds r0, 0x30
- adds r5, r1, r0
- cmp r2, 0xD
- beq _080F73A4
- cmp r2, 0xD
- bgt _080F72FC
- cmp r2, 0
- beq _080F7302
- b _080F734C
- .align 2, 0
-_080F72F4: .4byte gUnknown_020388B8
-_080F72F8: .4byte 0x000010b0
-_080F72FC:
- cmp r2, 0xE
- beq _080F73F0
- b _080F734C
-_080F7302:
- ldr r0, [r1, 0x28]
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_080F7312:
- ldr r6, _080F7344
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0x20
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _080F7312
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0x40
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r0, _080F7348
- adds r1, r0
- b _080F7392
- .align 2, 0
-_080F7344: .4byte gUnknown_020388B8
-_080F7348: .4byte 0x000010b0
-_080F734C:
- ldr r0, _080F739C
- ldr r0, [r0]
- ldr r0, [r0, 0x28]
- adds r0, 0x60
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_080F7362:
- ldr r6, _080F739C
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0x80
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _080F7362
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0xA0
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r2, _080F73A0
- adds r1, r2
-_080F7392:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _080F73FC
- .align 2, 0
-_080F739C: .4byte gUnknown_020388B8
-_080F73A0: .4byte 0x000010b0
-_080F73A4:
- ldr r0, [r1, 0x28]
- adds r0, 0xC0
- adds r1, r5, 0
- movs r2, 0x8
- bl CpuFastSet
- movs r4, 0
- adds r7, r5, 0
- adds r7, 0xE0
-_080F73B6:
- ldr r6, _080F73F4
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- adds r0, 0xE0
- adds r4, 0x1
- lsls r1, r4, 5
- adds r1, r5, r1
- movs r2, 0x8
- bl CpuFastSet
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x5
- bls _080F73B6
- ldr r0, [r6]
- ldr r0, [r0, 0x28]
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- adds r1, r7, 0
- movs r2, 0x8
- bl CpuFastSet
- ldr r1, [r6]
- ldr r2, _080F73F8
- adds r1, r2
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F73F0:
- movs r0, 0
- b _080F73FE
- .align 2, 0
-_080F73F4: .4byte gUnknown_020388B8
-_080F73F8: .4byte 0x000010b0
-_080F73FC:
- movs r0, 0x1
-_080F73FE:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80F72D4
-
- thumb_func_start sub_80F7404
-sub_80F7404: @ 80F7404
- push {lr}
- bl sub_80F728C
-_080F740A:
- bl sub_80F72D4
- lsls r0, 24
- cmp r0, 0
- bne _080F740A
- pop {r0}
- bx r0
- thumb_func_end sub_80F7404
-
- thumb_func_start sub_80F7418
-sub_80F7418: @ 80F7418
- push {r4-r6,lr}
- lsls r1, 16
- lsrs r5, r1, 16
- lsls r2, 16
- lsrs r6, r2, 16
- ldr r2, _080F746C
- ldr r3, [r2]
- movs r1, 0
- strb r1, [r3, 0x5]
- ldr r1, [r2]
- strb r0, [r1, 0x4]
- movs r3, 0
- adds r4, r2, 0
- movs r2, 0x1
-_080F7434:
- ldr r0, [r4]
- adds r1, r0, 0x6
- adds r1, r3
- ldrb r0, [r0, 0x4]
- asrs r0, r3
- ands r0, r2
- strb r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080F7434
- bl sub_814A7FC
- lsls r0, r5, 16
- asrs r0, 16
- lsls r1, r6, 16
- asrs r1, 16
- ldr r2, _080F746C
- ldr r3, [r2]
- ldrh r2, [r3]
- ldrh r3, [r3, 0x2]
- bl sub_80F761C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F746C: .4byte gUnknown_020388B8
- thumb_func_end sub_80F7418
-
- thumb_func_start sub_80F7470
-sub_80F7470: @ 80F7470
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080F74FC
-_080F7476:
- ldr r0, [r5]
- ldrh r0, [r0]
- adds r0, r4, r0
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpriteTilesByTag
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x2
- bls _080F7476
- ldr r4, _080F74FC
- ldr r0, [r4]
- ldrh r0, [r0, 0x2]
- bl FreeSpritePaletteByTag
- ldr r0, [r4]
- ldrh r0, [r0, 0x2]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- bl FreeSpritePaletteByTag
- movs r4, 0
-_080F74A8:
- ldr r0, _080F74FC
- ldr r0, [r0]
- lsls r1, r4, 2
- adds r0, 0xC
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080F74F6
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080F74A8
- movs r4, 0
-_080F74C8:
- ldr r5, _080F74FC
- ldr r0, [r5]
- lsls r1, r4, 2
- adds r0, 0x14
- adds r0, r1
- ldr r0, [r0]
- cmp r0, 0
- beq _080F74F6
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3
- bls _080F74C8
- bl sub_814A7FC
- ldr r0, [r5]
- ldr r0, [r0, 0x24]
- cmp r0, 0
- beq _080F74F6
- bl DestroySprite
-_080F74F6:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F74FC: .4byte gUnknown_020388B8
- thumb_func_end sub_80F7470
-
- thumb_func_start sub_80F7500
-sub_80F7500: @ 80F7500
- push {r4,r5,lr}
- sub sp, 0x30
- ldr r4, _080F7580
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x30
- str r0, [sp, 0x18]
- add r1, sp, 0x1C
- movs r5, 0
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r1]
- ldrh r1, [r2]
- mov r0, sp
- adds r0, 0x1E
- strh r1, [r0]
- add r1, sp, 0x20
- ldr r0, _080F7584
- str r0, [sp, 0x20]
- movs r0, 0xA4
- lsls r0, 3
- strh r0, [r1, 0x4]
- ldrh r0, [r2]
- adds r0, 0x1
- strh r0, [r1, 0x6]
- add r0, sp, 0x28
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r1, sp, 0x18
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- ldr r0, [r4]
- ldrb r0, [r0, 0xB]
- cmp r0, 0
- beq _080F7558
- mov r0, sp
- bl LoadTilesForSpriteSheets
- ldr r0, [r4]
- strb r5, [r0, 0xB]
-_080F7558:
- ldr r0, _080F7588
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080F758C
- movs r0, 0x5
- bl PlaySE
- ldr r1, [r4]
- ldrb r0, [r1, 0x5]
- subs r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- cmp r0, 0
- bge _080F75FE
- ldr r1, [r4]
- movs r0, 0x5
- strb r0, [r1, 0x5]
- b _080F75FE
- .align 2, 0
-_080F7580: .4byte gUnknown_020388B8
-_080F7584: .4byte gPokenavConditionMenuMisc_Gfx
-_080F7588: .4byte gMain
-_080F758C:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080F75B0
- movs r0, 0x5
- bl PlaySE
- ldr r1, [r4]
- ldrb r0, [r1, 0x5]
- adds r0, 0x1
- strb r0, [r1, 0x5]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0x5
- ble _080F75FE
- ldr r0, [r4]
- strb r5, [r0, 0x5]
- b _080F75FE
-_080F75B0:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080F7602
- movs r0, 0x5
- bl PlaySE
- ldr r0, [r4]
- movs r1, 0x5
- ldrsb r1, [r0, r1]
- cmp r1, 0x4
- beq _080F75DC
- cmp r1, 0x5
- beq _080F7610
- adds r0, 0x6
- adds r1, r0, r1
- movs r2, 0
- ldrb r0, [r1]
- cmp r0, 0
- bne _080F75FC
- movs r2, 0x1
- b _080F75FC
-_080F75DC:
- strb r5, [r0, 0x4]
- movs r3, 0
-_080F75E0:
- ldr r2, [r4]
- adds r0, r2, 0x6
- adds r0, r3
- ldrb r0, [r0]
- lsls r0, r3
- ldrb r1, [r2, 0x4]
- orrs r0, r1
- strb r0, [r2, 0x4]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x3
- bls _080F75E0
- b _080F7610
-_080F75FC:
- strb r2, [r1]
-_080F75FE:
- movs r0, 0x1
- b _080F7612
-_080F7602:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080F75FE
- movs r0, 0x5
- bl PlaySE
-_080F7610:
- movs r0, 0
-_080F7612:
- add sp, 0x30
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F7500
-
- thumb_func_start sub_80F761C
-sub_80F761C: @ 80F761C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x5C
- adds r5, r2, 0
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0x4C]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x50]
- lsls r5, 16
- lsrs r5, 16
- lsls r3, 16
- lsrs r3, 16
- str r3, [sp, 0x54]
- ldr r0, _080F7820
- mov r8, r0
- ldr r0, [r0]
- adds r0, 0x30
- str r0, [sp, 0x1C]
- add r1, sp, 0x20
- movs r2, 0
- mov r9, r2
- movs r0, 0x80
- lsls r0, 5
- strh r0, [r1]
- mov r0, sp
- adds r0, 0x22
- strh r5, [r0]
- add r1, sp, 0x24
- ldr r0, _080F7824
- str r0, [sp, 0x24]
- movs r0, 0xA4
- lsls r0, 3
- strh r0, [r1, 0x4]
- adds r0, r5, 0x1
- strh r0, [r1, 0x6]
- add r0, sp, 0x2C
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r6, sp, 0x1C
- add r0, sp, 0x4
- adds r1, r6, 0
- movs r2, 0x18
- bl memcpy
- mov r3, r8
- ldr r0, [r3]
- ldr r0, [r0, 0x2C]
- str r0, [sp, 0x34]
- add r0, sp, 0x38
- add r1, sp, 0x54
- ldrh r1, [r1]
- strh r1, [r0]
- add r1, sp, 0x3C
- ldr r0, _080F7828
- str r0, [sp, 0x3C]
- ldr r0, [sp, 0x54]
- adds r0, 0x1
- strh r0, [r1, 0x4]
- add r0, sp, 0x44
- movs r1, 0
- movs r2, 0x8
- bl memset
- add r4, sp, 0x34
- adds r0, r6, 0
- adds r1, r4, 0
- movs r2, 0x18
- bl memcpy
- strh r5, [r4]
- add r2, sp, 0x54
- ldrh r2, [r2]
- strh r2, [r4, 0x2]
- ldr r0, _080F782C
- str r0, [r4, 0x4]
- ldr r0, _080F7830
- str r0, [r4, 0x8]
- mov r3, r9
- str r3, [r4, 0xC]
- ldr r0, _080F7834
- str r0, [r4, 0x10]
- ldr r0, _080F7838
- str r0, [r4, 0x14]
- mov r0, r8
- ldr r1, [r0]
- movs r0, 0x1
- strb r0, [r1, 0xB]
- add r0, sp, 0x4
- bl AllocTilesForSpriteSheets
- adds r0, r6, 0
- bl LoadSpritePalettes
- movs r5, 0
- ldr r1, [sp, 0x4C]
- lsls r0, r1, 16
- movs r2, 0x80
- lsls r2, 14
- adds r2, r0
- mov r8, r2
- str r0, [sp, 0x58]
- ldr r3, [sp, 0x50]
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 14
- adds r7, r0, r1
- mov r9, r0
-_080F7700:
- adds r0, r4, 0
- mov r2, r8
- asrs r1, r2, 16
- asrs r2, r7, 16
- movs r3, 0x2
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- bne _080F7718
- b _080F7850
-_080F7718:
- ldr r6, _080F7820
- ldr r2, [r6]
- lsls r0, r5, 2
- adds r2, 0xC
- adds r2, r0
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r1, _080F783C
- adds r0, r1
- str r0, [r2]
- lsls r1, r5, 24
- lsrs r1, 24
- bl StartSpriteAnim
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1
- bls _080F7700
- ldr r0, [r6]
- ldr r1, [r0, 0x10]
- mov r3, r9
- asrs r0, r3, 16
- adds r0, 0x60
- strh r0, [r1, 0x22]
- ldrh r0, [r4]
- adds r0, 0x1
- strh r0, [r4]
- ldrh r0, [r4, 0x2]
- adds r0, 0x1
- strh r0, [r4, 0x2]
- ldr r0, _080F7840
- str r0, [r4, 0x8]
- ldr r0, _080F7844
- str r0, [r4, 0x14]
- ldr r0, _080F7848
- str r0, [r4, 0x4]
- movs r5, 0
- ldr r0, [sp, 0x58]
- movs r1, 0x80
- lsls r1, 14
- adds r0, r1
- mov r10, r0
-_080F7770:
- lsls r2, r5, 4
- adds r2, 0x10
- mov r3, r9
- asrs r3, 16
- mov r8, r3
- add r2, r8
- lsls r2, 16
- asrs r2, 16
- adds r0, r4, 0
- mov r3, r10
- asrs r1, r3, 16
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F7860
- ldr r6, _080F7820
- ldr r1, [r6]
- lsls r0, r5, 2
- adds r1, 0x14
- adds r1, r0
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- ldr r7, _080F783C
- adds r0, r7
- str r0, [r1]
- strh r5, [r0, 0x2E]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3
- bls _080F7770
- ldr r0, _080F784C
- str r0, [r4, 0x14]
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x40
- beq _080F7874
- ldr r1, [r6]
- lsls r0, r3, 4
- adds r0, r3
- lsls r0, 2
- adds r0, r7
- str r0, [r1, 0x24]
- ldrb r2, [r0, 0x1]
- movs r1, 0x3F
- ands r1, r2
- movs r2, 0x40
- orrs r1, r2
- strb r1, [r0, 0x1]
- ldr r0, [r6]
- ldr r2, [r0, 0x24]
- ldrb r0, [r2, 0x3]
- movs r1, 0xC0
- orrs r0, r1
- strb r0, [r2, 0x3]
- ldr r0, [r6]
- ldr r0, [r0, 0x24]
- movs r1, 0x9
- bl StartSpriteAnim
- ldr r1, [r6]
- ldr r2, [r1, 0x24]
- ldr r3, [sp, 0x58]
- asrs r0, r3, 16
- adds r0, 0x20
- strh r0, [r2, 0x20]
- ldr r2, [r1, 0x24]
- mov r0, r8
- adds r0, 0x50
- strh r0, [r2, 0x22]
- ldr r0, [r1, 0x24]
- movs r1, 0x1
- movs r2, 0x2
- movs r3, 0
- bl CalcCenterToCornerVec
- b _080F787A
- .align 2, 0
-_080F7820: .4byte gUnknown_020388B8
-_080F7824: .4byte gPokenavConditionMenuMisc_Gfx
-_080F7828: .4byte gUnknown_08E966B8
-_080F782C: .4byte gUnknown_083E5214
-_080F7830: .4byte gSpriteAnimTable_83E52AC
-_080F7834: .4byte gDummySpriteAffineAnimTable
-_080F7838: .4byte nullsub_65
-_080F783C: .4byte gSprites
-_080F7840: .4byte gSpriteAnimTable_83E5274
-_080F7844: .4byte sub_80F78CC
-_080F7848: .4byte gUnknown_083E521C
-_080F784C: .4byte SpriteCallbackDummy
-_080F7850:
- ldr r0, _080F785C
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0xC
- b _080F7868
- .align 2, 0
-_080F785C: .4byte gUnknown_020388B8
-_080F7860:
- ldr r0, _080F7870
- ldr r0, [r0]
- lsls r1, r5, 2
- adds r0, 0x14
-_080F7868:
- adds r0, r1
- movs r1, 0
- str r1, [r0]
- b _080F78B0
- .align 2, 0
-_080F7870: .4byte gUnknown_020388B8
-_080F7874:
- ldr r1, [r6]
- movs r0, 0
- str r0, [r1, 0x24]
-_080F787A:
- ldr r4, _080F78C0
- ldr r1, [r4]
- ldr r0, [sp, 0x50]
- adds r0, 0x8
- strb r0, [r1, 0xA]
- ldr r1, [sp, 0x54]
- adds r1, 0x1
- lsls r1, 16
- lsrs r1, 16
- movs r0, 0x30
- str r0, [sp]
- movs r0, 0
- movs r2, 0xF
- movs r3, 0
- bl sub_814A5C0
- ldr r0, [sp, 0x4C]
- adds r0, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r1, [r4]
- ldrb r1, [r1, 0xA]
- bl sub_814A880
- ldr r0, _080F78C4
- bl sub_814AABC
-_080F78B0:
- add sp, 0x5C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F78C0: .4byte gUnknown_020388B8
-_080F78C4: .4byte sub_80F7908
- thumb_func_end sub_80F761C
-
- thumb_func_start nullsub_65
-nullsub_65: @ 80F78C8
- bx lr
- thumb_func_end nullsub_65
-
- thumb_func_start sub_80F78CC
-sub_80F78CC: @ 80F78CC
- push {lr}
- adds r2, r0, 0
- ldr r0, _080F78F4
- ldr r0, [r0]
- movs r3, 0x2E
- ldrsh r1, [r2, r3]
- adds r0, 0x6
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F78F8
- lsls r1, 1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
- b _080F7902
- .align 2, 0
-_080F78F4: .4byte gUnknown_020388B8
-_080F78F8:
- lsls r1, 25
- lsrs r1, 24
- adds r0, r2, 0
- bl StartSpriteAnim
-_080F7902:
- pop {r0}
- bx r0
- thumb_func_end sub_80F78CC
-
- thumb_func_start sub_80F7908
-sub_80F7908: @ 80F7908
- ldr r1, _080F791C
- ldr r2, [r1]
- movs r1, 0x5
- ldrsb r1, [r2, r1]
- lsls r1, 4
- ldrb r2, [r2, 0xA]
- adds r1, r2
- strh r1, [r0, 0x22]
- bx lr
- .align 2, 0
-_080F791C: .4byte gUnknown_020388B8
- thumb_func_end sub_80F7908
-
- thumb_func_start sub_80F7920
-sub_80F7920: @ 80F7920
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r2, 0
- bne _080F7930
- ldr r2, _080F793C
-_080F7930:
- movs r3, 0x10
- bl sub_80F7960
- pop {r1}
- bx r1
- .align 2, 0
-_080F793C: .4byte gUnknown_083E49F4
- thumb_func_end sub_80F7920
-
- thumb_func_start sub_80F7940
-sub_80F7940: @ 80F7940
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- cmp r2, 0
- bne _080F7950
- ldr r2, _080F795C
-_080F7950:
- movs r3, 0x1
- bl sub_80F7960
- pop {r1}
- bx r1
- .align 2, 0
-_080F795C: .4byte gUnknown_083E49F4
- thumb_func_end sub_80F7940
-
- thumb_func_start sub_80F7960
-sub_80F7960: @ 80F7960
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x28
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r4, _080F79DC
- str r4, [sp, 0x18]
- movs r4, 0x80
- add r5, sp, 0x18
- lsrs r6, r0, 16
- orrs r0, r4
- str r0, [r5, 0x4]
- str r2, [sp, 0x20]
- ldr r0, _080F79E0
- mov r8, r0
- add r4, sp, 0x20
- ldr r0, [r4, 0x4]
- mov r2, r8
- ands r0, r2
- orrs r0, r1
- str r0, [r4, 0x4]
- mov r0, sp
- movs r2, 0
- strh r6, [r0]
- strh r1, [r0, 0x2]
- ldr r0, _080F79E4
- str r0, [sp, 0x4]
- ldr r0, _080F79E8
- str r0, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r0, _080F79EC
- str r0, [sp, 0x10]
- ldr r0, _080F79F0
- str r0, [sp, 0x14]
- lsls r3, 23
- lsrs r3, 16
- ldr r0, [r5, 0x4]
- mov r1, r8
- ands r0, r1
- orrs r0, r3
- str r0, [r5, 0x4]
- adds r0, r5, 0
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- bne _080F79F4
- movs r0, 0
- b _080F79FE
- .align 2, 0
-_080F79DC: .4byte gUnknown_083E4A14
-_080F79E0: .4byte 0xffff0000
-_080F79E4: .4byte gUnknown_083E52B4
-_080F79E8: .4byte gSpriteAnimTable_83E533C
-_080F79EC: .4byte gDummySpriteAffineAnimTable
-_080F79F0: .4byte nullsub_65
-_080F79F4:
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F7A0C
- adds r0, r1
-_080F79FE:
- add sp, 0x28
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080F7A0C: .4byte gSprites
- thumb_func_end sub_80F7960
-
- thumb_func_start sub_80F7A10
-sub_80F7A10: @ 80F7A10
- lsls r0, 24
- lsrs r0, 17
- ldr r2, _080F7A28
- adds r0, r2
- ldr r2, _080F7A2C
- str r0, [r2]
- str r1, [r2, 0x4]
- ldr r0, _080F7A30
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- bx lr
- .align 2, 0
-_080F7A28: .4byte gUnknown_083E4A14
-_080F7A2C: .4byte 0x040000d4
-_080F7A30: .4byte 0x80000040
- thumb_func_end sub_80F7A10
-
- thumb_func_start sub_80F7A34
-sub_80F7A34: @ 80F7A34
- push {r4,lr}
- ldr r0, _080F7A64
- movs r1, 0
- strb r1, [r0]
- adds r2, r0, 0
- adds r2, 0x29
- strb r1, [r2]
- movs r2, 0
- adds r4, r0, 0x2
- ldr r3, _080F7A68
-_080F7A48:
- lsls r0, r2, 1
- adds r1, r4, r0
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _080F7A48
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F7A64: .4byte gSaveBlock1 + 0x2D94
-_080F7A68: .4byte gUnknown_083E537C
- thumb_func_end sub_80F7A34
-
- thumb_func_start sub_80F7A6C
-sub_80F7A6C: @ 80F7A6C
- ldr r0, _080F7A78
- movs r2, 0
- movs r1, 0x1
- strb r1, [r0]
- strb r2, [r0, 0x1]
- bx lr
- .align 2, 0
-_080F7A78: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_80F7A6C
-
- thumb_func_start sub_80F7A7C
-sub_80F7A7C: @ 80F7A7C
- push {lr}
- bl sub_80F83F8
- pop {r0}
- bx r0
- thumb_func_end sub_80F7A7C
-
- thumb_func_start sub_80F7A88
-sub_80F7A88: @ 80F7A88
- ldr r0, _080F7A94
- movs r2, 0
- movs r1, 0x4
- strb r1, [r0]
- strb r2, [r0, 0x1]
- bx lr
- .align 2, 0
-_080F7A94: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_80F7A88
-
- thumb_func_start sub_80F7A98
-sub_80F7A98: @ 80F7A98
- push {lr}
- bl sub_81099CC
- pop {r0}
- bx r0
- thumb_func_end sub_80F7A98
-
- thumb_func_start sub_80F7AA4
-sub_80F7AA4: @ 80F7AA4
- push {lr}
- ldr r0, _080F7AC8
- ldrb r1, [r0, 0xB]
- lsls r1, 8
- ldrb r0, [r0, 0xA]
- orrs r0, r1
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r0, 17
- cmp r0, 0x4
- bhi _080F7B00
- lsls r0, 2
- ldr r1, _080F7ACC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F7AC8: .4byte gSaveBlock2
-_080F7ACC: .4byte _080F7AD0
- .align 2, 0
-_080F7AD0:
- .4byte _080F7AE4
- .4byte _080F7AEA
- .4byte _080F7AF0
- .4byte _080F7AF6
- .4byte _080F7AFC
-_080F7AE4:
- bl sub_80F7A34
- b _080F7B00
-_080F7AEA:
- bl sub_80F7A6C
- b _080F7B00
-_080F7AF0:
- bl sub_80F7A98
- b _080F7B00
-_080F7AF6:
- bl sub_80F7A7C
- b _080F7B00
-_080F7AFC:
- bl sub_80F7A88
-_080F7B00:
- bl sub_80F83D0
- pop {r0}
- bx r0
- thumb_func_end sub_80F7AA4
-
- thumb_func_start GetCurrentMauvilleOldMan
-GetCurrentMauvilleOldMan: @ 80F7B08
- ldr r0, _080F7B10
- ldrb r0, [r0]
- bx lr
- .align 2, 0
-_080F7B10: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end GetCurrentMauvilleOldMan
-
- thumb_func_start sub_80F7B14
-sub_80F7B14: @ 80F7B14
- push {r4,lr}
- ldr r4, _080F7B28
- bl GetCurrentMauvilleOldMan
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F7B28: .4byte gScriptResult
- thumb_func_end sub_80F7B14
-
- thumb_func_start sub_80F7B2C
-sub_80F7B2C: @ 80F7B2C
- ldr r0, _080F7B38
- ldr r1, _080F7B3C
- adds r1, 0x29
- ldrb r1, [r1]
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080F7B38: .4byte gScriptResult
-_080F7B3C: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_80F7B2C
-
- thumb_func_start sub_80F7B40
-sub_80F7B40: @ 80F7B40
- push {r4,r5,lr}
- ldr r5, _080F7B98
- adds r0, r5, 0
- adds r0, 0x1A
- ldr r4, _080F7B9C
- adds r1, r4, 0
- bl StringCopy
- movs r2, 0
- adds r3, r5, 0
- adds r3, 0x25
- adds r4, 0xA
-_080F7B58:
- adds r1, r3, r2
- adds r0, r2, r4
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x3
- bls _080F7B58
- movs r2, 0
- movs r0, 0x29
- adds r0, r5
- mov r12, r0
- adds r4, r5, 0x2
- adds r3, r5, 0
- adds r3, 0xE
-_080F7B78:
- lsls r0, r2, 1
- adds r1, r4, r0
- adds r0, r3, r0
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0x5
- bls _080F7B78
- movs r0, 0x1
- mov r1, r12
- strb r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F7B98: .4byte gSaveBlock1 + 0x2D94
-_080F7B9C: .4byte gSaveBlock2
- thumb_func_end sub_80F7B40
-
- thumb_func_start sub_80F7BA0
-sub_80F7BA0: @ 80F7BA0
- push {r4-r7,lr}
- ldr r1, _080F7C48
- ldr r0, _080F7C4C
- ldrh r0, [r0]
- adds r5, r1, 0
- adds r5, 0xE
- cmp r0, 0
- bne _080F7BB2
- adds r5, r1, 0x2
-_080F7BB2:
- ldr r2, _080F7C50
- adds r4, r2, 0
- movs r6, 0
-_080F7BB8:
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r2, 0
- bl sub_80EB3FC
- adds r2, r0, 0
- adds r7, r6, 0x1
- cmp r2, r4
- beq _080F7BDA
- movs r1, 0x37
-_080F7BCC:
- ldrb r0, [r4]
- cmp r0, 0
- bne _080F7BD4
- strb r1, [r4]
-_080F7BD4:
- adds r4, 0x1
- cmp r2, r4
- bne _080F7BCC
-_080F7BDA:
- adds r4, 0x1
- movs r0, 0
- strb r0, [r2]
- adds r2, 0x1
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r2, 0
- bl sub_80EB3FC
- adds r2, r0, 0
- cmp r2, r4
- beq _080F7C02
- movs r1, 0x37
-_080F7BF4:
- ldrb r0, [r4]
- cmp r0, 0
- bne _080F7BFC
- strb r1, [r4]
-_080F7BFC:
- adds r4, 0x1
- cmp r2, r4
- bne _080F7BF4
-_080F7C02:
- adds r4, 0x1
- movs r0, 0xFE
- strb r0, [r2]
- adds r2, 0x1
- ldrh r1, [r5]
- adds r5, 0x2
- adds r0, r2, 0
- bl sub_80EB3FC
- adds r2, r0, 0
- cmp r2, r4
- beq _080F7C2A
- movs r1, 0x37
-_080F7C1C:
- ldrb r0, [r4]
- cmp r0, 0
- bne _080F7C24
- strb r1, [r4]
-_080F7C24:
- adds r4, 0x1
- cmp r2, r4
- bne _080F7C1C
-_080F7C2A:
- cmp r6, 0
- bne _080F7C3A
- movs r0, 0xFC
- strb r0, [r2]
- adds r2, 0x1
- movs r0, 0xF
- strb r0, [r2]
- adds r2, 0x1
-_080F7C3A:
- lsls r0, r7, 16
- lsrs r6, r0, 16
- cmp r6, 0x1
- bls _080F7BB8
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F7C48: .4byte gSaveBlock1 + 0x2D94
-_080F7C4C: .4byte gUnknown_0202E8CC
-_080F7C50: .4byte gStringVar4
- thumb_func_end sub_80F7BA0
-
- thumb_func_start sub_80F7C54
-sub_80F7C54: @ 80F7C54
- push {lr}
- ldr r0, _080F7C6C
- ldrb r0, [r0]
- bl sub_80F7F80
- bl MenuDisplayMessageBox
- bl ScriptContext1_Stop
- pop {r0}
- bx r0
- .align 2, 0
-_080F7C6C: .4byte gUnknown_0202E8CC
- thumb_func_end sub_80F7C54
-
- thumb_func_start sub_80F7C70
-sub_80F7C70: @ 80F7C70
- ldr r0, _080F7C7C
- ldr r1, _080F7C80
- ldrb r1, [r1, 0x1]
- strh r1, [r0]
- bx lr
- .align 2, 0
-_080F7C7C: .4byte gScriptResult
-_080F7C80: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_80F7C70
-
- thumb_func_start sub_80F7C84
-sub_80F7C84: @ 80F7C84
- ldr r1, _080F7C8C
- movs r0, 0x1
- strb r0, [r1, 0x1]
- bx lr
- .align 2, 0
-_080F7C8C: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_80F7C84
-
- thumb_func_start sub_80F7C90
-sub_80F7C90: @ 80F7C90
- push {lr}
- bl sub_80EB8EC
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r0, _080F7CA8
- cmp r1, r0
- bne _080F7CB0
- ldr r1, _080F7CAC
- movs r0, 0
- b _080F7CBA
- .align 2, 0
-_080F7CA8: .4byte 0x0000ffff
-_080F7CAC: .4byte gScriptResult
-_080F7CB0:
- ldr r0, _080F7CC0
- bl sub_80EB3FC
- ldr r1, _080F7CC4
- movs r0, 0x1
-_080F7CBA:
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_080F7CC0: .4byte gStringVar1
-_080F7CC4: .4byte gScriptResult
- thumb_func_end sub_80F7C90
-
- thumb_func_start sub_80F7CC8
-sub_80F7CC8: @ 80F7CC8
- push {lr}
- ldr r2, _080F7CDC
- ldrb r0, [r2, 0x1]
- cmp r0, 0xA
- bne _080F7CE4
- ldr r1, _080F7CE0
- movs r0, 0
- strh r0, [r1]
- strb r0, [r2, 0x1]
- b _080F7CEA
- .align 2, 0
-_080F7CDC: .4byte gSaveBlock1 + 0x2D94
-_080F7CE0: .4byte gScriptResult
-_080F7CE4:
- ldr r1, _080F7CF0
- movs r0, 0x1
- strh r0, [r1]
-_080F7CEA:
- pop {r0}
- bx r0
- .align 2, 0
-_080F7CF0: .4byte gScriptResult
- thumb_func_end sub_80F7CC8
-
- thumb_func_start sub_80F7CF4
-sub_80F7CF4: @ 80F7CF4
- push {r4-r6,lr}
- ldr r5, _080F7D50
- ldrb r0, [r5, 0x1]
- cmp r0, 0
- bne _080F7D02
- bl sub_80F7DC0
-_080F7D02:
- ldrb r0, [r5, 0x1]
- lsls r0, 1
- adds r6, r5, 0x4
- adds r0, r6
- ldrh r1, [r0]
- ldr r0, _080F7D54
- cmp r1, r0
- beq _080F7D68
- bl Random
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- movs r0, 0x7
- ands r4, r0
- ldr r0, _080F7D58
- ldrb r1, [r5, 0x1]
- lsls r1, 1
- adds r1, r6
- ldrh r1, [r1]
- bl sub_80EB3FC
- adds r2, r0, 0
- ldr r1, _080F7D5C
- bl StringCopy
- adds r2, r0, 0
- ldr r0, _080F7D60
- lsls r4, 2
- adds r4, r0
- ldr r1, [r4]
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r1, _080F7D64
- bl StringCopy
- b _080F7D88
- .align 2, 0
-_080F7D50: .4byte gSaveBlock1 + 0x2D94
-_080F7D54: .4byte 0x0000ffff
-_080F7D58: .4byte gStringVar4
-_080F7D5C: .4byte gOtherText_Is
-_080F7D60: .4byte gUnknown_083E5388
-_080F7D64: .4byte gOtherText_DontYouAgree
-_080F7D68:
- ldr r0, _080F7DA0
- ldr r3, _080F7DA4
- ldrb r1, [r5, 0x2]
- adds r2, r1, 0x1
- strb r2, [r5, 0x2]
- lsls r1, 24
- lsrs r1, 24
- adds r2, r5, 0
- adds r2, 0x18
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl StringCopy
-_080F7D88:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- cmp r0, 0
- bne _080F7DA8
- movs r0, 0xA
- b _080F7DAC
- .align 2, 0
-_080F7DA0: .4byte gStringVar4
-_080F7DA4: .4byte gUnknown_083E53A8
-_080F7DA8:
- ldrb r0, [r5, 0x1]
- adds r0, 0x1
-_080F7DAC:
- strb r0, [r5, 0x1]
- ldr r1, _080F7DBC
- movs r0, 0x1
- strh r0, [r1]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F7DBC: .4byte gScriptResult
- thumb_func_end sub_80F7CF4
-
- thumb_func_start sub_80F7DC0
-sub_80F7DC0: @ 80F7DC0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x18
- ldr r1, _080F7E84
- mov r0, sp
- movs r2, 0x18
- bl memcpy
- movs r5, 0
- movs r0, 0x2
- add r0, sp
- mov r8, r0
- ldr r1, _080F7E88
- adds r1, 0x18
- adds r3, r1, 0
-_080F7DE4:
- adds r0, r3, r5
- strb r5, [r0]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x7
- bls _080F7DE4
- movs r5, 0
- ldr r2, _080F7E88
- adds r2, 0x4
- mov r9, r2
- adds r6, r1, 0
-_080F7DFC:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r4, r5, 0x1
- adds r1, r4, 0
- bl __modsi3
- lsls r0, 16
- lsrs r1, r0, 16
- adds r2, r6, r5
- ldrb r7, [r2]
- adds r1, r6, r1
- ldrb r0, [r1]
- strb r0, [r2]
- strb r7, [r1]
- lsls r4, 16
- lsrs r5, r4, 16
- cmp r5, 0x7
- bls _080F7DFC
- movs r3, 0
- mov r10, r3
- movs r5, 0
-_080F7E2A:
- lsls r4, r5, 2
- mov r1, sp
- adds r0, r1, r4
- ldrb r0, [r0]
- bl sub_80EAE88
- add r4, r8
- strh r0, [r4]
- add r0, r10
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x5
- bls _080F7E2A
- movs r0, 0
- ldr r2, _080F7E88
- strb r0, [r2, 0x2]
- movs r7, 0
- movs r5, 0
-_080F7E56:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xA
- bl __umodsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x2
- bhi _080F7E90
- cmp r7, 0x7
- bhi _080F7E90
- lsls r0, r5, 1
- add r0, r9
- ldr r1, _080F7E8C
- strh r1, [r0]
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- adds r4, r5, 0x1
- b _080F7EE2
- .align 2, 0
-_080F7E84: .4byte gUnknown_083E53C8
-_080F7E88: .4byte gSaveBlock1 + 0x2D94
-_080F7E8C: .4byte 0x0000ffff
-_080F7E90:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- mov r1, r10
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- movs r1, 0
- adds r4, r5, 0x1
- lsls r6, r5, 1
- cmp r5, 0x5
- bhi _080F7ECC
- mov r3, r8
- ldrh r0, [r3]
- b _080F7EC2
-_080F7EB2:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r5, 0x5
- bhi _080F7ECC
- lsls r0, r1, 2
- adds r0, r3, r0
- ldrh r0, [r0]
-_080F7EC2:
- subs r0, r2, r0
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r0, 0
- bgt _080F7EB2
-_080F7ECC:
- cmp r1, 0x6
- bne _080F7ED2
- movs r1, 0
-_080F7ED2:
- lsls r0, r1, 2
- add r0, sp
- ldrh r0, [r0]
- bl sub_80EB784
- mov r2, r9
- adds r1, r2, r6
- strh r0, [r1]
-_080F7EE2:
- lsls r0, r4, 16
- lsrs r5, r0, 16
- cmp r5, 0x9
- bls _080F7E56
- add sp, 0x18
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80F7DC0
-
- thumb_func_start sub_80F7EFC
-sub_80F7EFC: @ 80F7EFC
- ldr r0, _080F7F08
- adds r0, 0x29
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_080F7F08: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_80F7EFC
-
- thumb_func_start sub_80F7F0C
-sub_80F7F0C: @ 80F7F0C
- ldr r1, _080F7F14
- movs r0, 0
- strb r0, [r1, 0x1]
- bx lr
- .align 2, 0
-_080F7F14: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_80F7F0C
-
- thumb_func_start sub_80F7F18
-sub_80F7F18: @ 80F7F18
- push {lr}
- bl sub_8109A20
- pop {r0}
- bx r0
- thumb_func_end sub_80F7F18
-
- thumb_func_start sub_80F7F24
-sub_80F7F24: @ 80F7F24
- push {lr}
- bl sub_80F8428
- pop {r0}
- bx r0
- thumb_func_end sub_80F7F24
-
- thumb_func_start sub_80F7F30
-sub_80F7F30: @ 80F7F30
- push {lr}
- bl GetCurrentMauvilleOldMan
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080F7F76
- lsls r0, 2
- ldr r1, _080F7F48
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F7F48: .4byte _080F7F4C
- .align 2, 0
-_080F7F4C:
- .4byte _080F7F60
- .4byte _080F7F66
- .4byte _080F7F72
- .4byte _080F7F6C
- .4byte _080F7F76
-_080F7F60:
- bl sub_80F7EFC
- b _080F7F76
-_080F7F66:
- bl sub_80F7F0C
- b _080F7F76
-_080F7F6C:
- bl sub_80F7F24
- b _080F7F76
-_080F7F72:
- bl sub_80F7F18
-_080F7F76:
- bl sub_80F83D0
- pop {r0}
- bx r0
- thumb_func_end sub_80F7F30
-
- thumb_func_start sub_80F7F80
-sub_80F7F80: @ 80F7F80
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080F7FA8
- movs r1, 0x50
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080F7FAC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x12]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F7FA8: .4byte sub_80F8184
-_080F7FAC: .4byte gTasks
- thumb_func_end sub_80F7F80
-
- thumb_func_start sub_80F7FB0
-sub_80F7FB0: @ 80F7FB0
- push {r4-r7,lr}
- adds r6, r1, 0
- movs r1, 0x8
- ldrsh r0, [r0, r1]
- cmp r0, 0x5
- bls _080F7FBE
- b _080F817A
-_080F7FBE:
- lsls r0, 2
- ldr r1, _080F7FC8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F7FC8: .4byte _080F7FCC
- .align 2, 0
-_080F7FCC:
- .4byte _080F7FE4
- .4byte _080F817A
- .4byte _080F8040
- .4byte _080F8074
- .4byte _080F8074
- .4byte _080F817A
-_080F7FE4:
- ldr r2, _080F8034
- ldr r0, _080F8038
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0xE
- cmp r0, 0
- bne _080F7FF4
- adds r1, r2, 0x2
-_080F7FF4:
- adds r2, r1, 0
- adds r1, r6, 0
- adds r1, 0xC
- movs r3, 0x5
-_080F7FFC:
- ldrh r0, [r2]
- strh r0, [r1]
- adds r2, 0x2
- adds r1, 0x2
- subs r3, 0x1
- cmp r3, 0
- bge _080F7FFC
- ldr r2, _080F803C
- adds r4, r2, 0
- movs r2, 0
- adds r1, r6, 0
- adds r1, 0x18
- movs r3, 0x5
-_080F8016:
- ldrh r0, [r1]
- orrs r0, r4
- strh r0, [r1]
- strh r2, [r1, 0x2]
- strh r2, [r1, 0x4]
- strh r2, [r1, 0x6]
- adds r1, 0x8
- subs r3, 0x1
- cmp r3, 0
- bge _080F8016
- movs r0, 0
- strb r0, [r6]
- strb r0, [r6, 0x1]
- strh r0, [r6, 0x4]
- b _080F817A
- .align 2, 0
-_080F8034: .4byte gSaveBlock1 + 0x2D94
-_080F8038: .4byte gUnknown_0202E8CC
-_080F803C: .4byte 0x0000ffff
-_080F8040:
- ldrb r1, [r6]
- lsls r1, 1
- adds r0, r6, 0
- adds r0, 0xC
- adds r0, r1
- ldrh r4, [r0]
- lsrs r0, r4, 9
- ldr r1, _080F8070
- ands r1, r4
- bl sub_814A2D0
- adds r1, r0, 0
- movs r0, 0
- strh r0, [r6, 0x4]
- movs r2, 0x3
- ands r2, r4
- lsrs r4, 3
- movs r0, 0x1
- ands r4, r0
- adds r2, r4
- adds r0, r6, 0
- bl sub_814A2EC
- b _080F817A
- .align 2, 0
-_080F8070: .4byte 0x000001ff
-_080F8074:
- ldrb r1, [r6, 0x1]
- lsls r0, r1, 3
- adds r0, 0x18
- adds r7, r6, r0
- ldrb r0, [r6, 0x3]
- cmp r0, 0x1
- beq _080F8124
- cmp r0, 0x1
- bgt _080F808C
- cmp r0, 0
- beq _080F8092
- b _080F817A
-_080F808C:
- cmp r0, 0xFE
- beq _080F8170
- b _080F817A
-_080F8092:
- ldrb r0, [r6, 0x2]
- cmp r0, 0
- bne _080F80D0
- cmp r1, 0x6
- beq _080F80A2
- ldrh r0, [r7]
- cmp r0, 0xFF
- bne _080F80A6
-_080F80A2:
- movs r0, 0xFE
- b _080F8178
-_080F80A6:
- ldrh r0, [r7, 0x2]
- strb r0, [r6, 0x2]
- ldrh r0, [r7]
- cmp r0, 0x32
- bhi _080F80CA
- movs r1, 0x3
- bl __udivsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r0, r1, 1
- adds r0, r1
- adds r0, 0xF9
- lsls r0, 16
- lsrs r0, 16
- bl m4aSongNumStart
-_080F80CA:
- movs r0, 0x1
- strb r0, [r6, 0x3]
- b _080F8114
-_080F80D0:
- ldrh r1, [r6, 0xA]
- movs r2, 0xA
- ldrsh r0, [r6, r2]
- cmp r0, 0xA
- ble _080F80E0
- ldrh r0, [r6, 0x6]
- subs r0, 0x2
- strh r0, [r6, 0x6]
-_080F80E0:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080F80EE
- ldrh r0, [r6, 0x8]
- adds r0, 0x40
- b _080F80F2
-_080F80EE:
- ldrh r0, [r6, 0x8]
- subs r0, 0x40
-_080F80F2:
- strh r0, [r6, 0x8]
- ldr r4, _080F811C
- ldr r5, _080F8120
- ldrh r2, [r6, 0x6]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayVolumeControl
- movs r0, 0x8
- ldrsh r2, [r6, r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayPitchControl
- ldrh r0, [r6, 0xA]
- adds r0, 0x1
- strh r0, [r6, 0xA]
-_080F8114:
- ldrb r0, [r6, 0x2]
- subs r0, 0x1
- strb r0, [r6, 0x2]
- b _080F817A
- .align 2, 0
-_080F811C: .4byte gMPlay_SE2
-_080F8120: .4byte 0x0000ffff
-_080F8124:
- adds r0, r1, 0x1
- movs r1, 0
- strb r0, [r6, 0x1]
- strb r1, [r6, 0x3]
- ldrh r0, [r7]
- cmp r0, 0x32
- bhi _080F817A
- ldrh r0, [r7, 0x6]
- lsls r0, 4
- movs r1, 0x80
- lsls r1, 1
- adds r0, r1
- strh r0, [r6, 0x6]
- ldr r4, _080F8168
- ldr r5, _080F816C
- ldrh r2, [r6, 0x6]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayVolumeControl
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ldrh r7, [r7, 0x4]
- adds r0, r7
- strh r0, [r6, 0x8]
- movs r0, 0x8
- ldrsh r2, [r6, r0]
- adds r0, r4, 0
- adds r1, r5, 0
- bl m4aMPlayPitchControl
- b _080F817A
- .align 2, 0
-_080F8168: .4byte gMPlay_SE2
-_080F816C: .4byte 0x0000ffff
-_080F8170:
- ldr r0, _080F8180
- bl m4aMPlayStop
- movs r0, 0xFF
-_080F8178:
- strb r0, [r6, 0x3]
-_080F817A:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8180: .4byte gMPlay_SE2
- thumb_func_end sub_80F7FB0
-
- thumb_func_start sub_80F8184
-sub_80F8184: @ 80F8184
- push {r4-r7,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _080F81B4
- adds r5, r0, r1
- ldr r1, _080F81B8
- adds r0, r5, 0
- bl sub_80F7FB0
- movs r1, 0x8
- ldrsh r0, [r5, r1]
- cmp r0, 0x5
- bls _080F81A8
- b _080F83C8
-_080F81A8:
- lsls r0, 2
- ldr r1, _080F81BC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F81B4: .4byte gTasks
-_080F81B8: .4byte gUnknown_03005DA0
-_080F81BC: .4byte _080F81C0
- .align 2, 0
-_080F81C0:
- .4byte _080F81D8
- .4byte _080F8218
- .4byte _080F8228
- .4byte _080F82D8
- .4byte _080F83B8
- .4byte _080F82C6
-_080F81D8:
- bl sub_80F7BA0
- ldr r4, _080F820C
- ldr r0, [r4]
- ldr r1, _080F8210
- bl InitWindowFromConfig
- ldr r0, [r4]
- ldr r1, _080F8214
- movs r2, 0xF
- str r2, [sp]
- movs r2, 0x2
- movs r3, 0x4
- bl sub_8002EB0
- movs r0, 0
- strh r0, [r5, 0xA]
- strh r0, [r5, 0xC]
- strh r0, [r5, 0xE]
- strh r0, [r5, 0x10]
- movs r0, 0x4
- bl FadeOutBGMTemporarily
- movs r0, 0x1
- b _080F83C6
- .align 2, 0
-_080F820C: .4byte gMenuWindowPtr
-_080F8210: .4byte gWindowConfig_81E6CE4
-_080F8214: .4byte gStringVar4
-_080F8218:
- bl IsBGMPausedOrStopped
- lsls r0, 24
- cmp r0, 0
- bne _080F8224
- b _080F83C8
-_080F8224:
- movs r0, 0x2
- b _080F83C6
-_080F8228:
- ldr r4, _080F8240
- movs r2, 0xE
- ldrsh r1, [r5, r2]
- ldr r0, _080F8244
- adds r1, r0
- movs r3, 0
- ldrb r0, [r1]
- ldr r7, _080F8248
- ldrh r2, [r5, 0x12]
- ldr r6, _080F824C
- b _080F825A
- .align 2, 0
-_080F8240: .4byte gSaveBlock1 + 0x2D94
-_080F8244: .4byte gStringVar4
-_080F8248: .4byte gUnknown_03005DA0
-_080F824C: .4byte gUnknown_020388BC
-_080F8250:
- adds r1, 0x1
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldrb r0, [r1]
-_080F825A:
- cmp r0, 0
- beq _080F826A
- cmp r0, 0xFE
- beq _080F826A
- cmp r0, 0xFC
- beq _080F826A
- cmp r0, 0xFF
- bne _080F8250
-_080F826A:
- cmp r2, 0
- bne _080F8278
- movs r0, 0x10
- ldrsh r1, [r5, r0]
- lsls r1, 1
- adds r0, r4, 0x2
- b _080F8282
-_080F8278:
- movs r2, 0x10
- ldrsh r1, [r5, r2]
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0xE
-_080F8282:
- adds r0, r1
- ldrh r0, [r0]
- movs r1, 0x3
- ands r1, r0
- lsrs r0, 3
- movs r2, 0x1
- ands r0, r2
- adds r1, r0
- strh r1, [r6]
- movs r1, 0x4
- ldrsh r0, [r7, r1]
- adds r1, r3, 0
- bl __divsi3
- movs r1, 0
- strh r0, [r7, 0x4]
- lsls r0, 16
- cmp r0, 0
- bgt _080F82AC
- movs r0, 0x1
- strh r0, [r7, 0x4]
-_080F82AC:
- ldrh r0, [r5, 0x10]
- adds r0, 0x1
- strh r0, [r5, 0x10]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _080F82BE
- movs r0, 0x3
- b _080F82C0
-_080F82BE:
- movs r0, 0x5
-_080F82C0:
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xA]
- b _080F83C8
-_080F82C6:
- ldrh r1, [r5, 0xC]
- movs r2, 0xC
- ldrsh r0, [r5, r2]
- cmp r0, 0
- bne _080F82D2
- b _080F83C4
-_080F82D2:
- subs r0, r1, 0x1
- strh r0, [r5, 0xC]
- b _080F83C8
-_080F82D8:
- ldr r1, _080F8304
- movs r2, 0xE
- ldrsh r0, [r5, r2]
- adds r0, r1
- ldrb r4, [r0]
- cmp r4, 0xFF
- bne _080F830C
- movs r0, 0xC8
- lsls r0, 1
- movs r1, 0x6
- bl FadeInNewBGM
- ldr r0, _080F8308
- movs r1, 0x2
- bl m4aMPlayFadeOutTemporarily
- bl EnableBothScriptContexts
- adds r0, r6, 0
- bl DestroyTask
- b _080F83C8
- .align 2, 0
-_080F8304: .4byte gStringVar4
-_080F8308: .4byte gMPlay_SE2
-_080F830C:
- cmp r4, 0
- bne _080F832C
- ldr r0, _080F8328
- ldr r0, [r0]
- bl sub_8003418
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- strh r4, [r5, 0xC]
- b _080F83C8
- .align 2, 0
-_080F8328: .4byte gMenuWindowPtr
-_080F832C:
- cmp r4, 0xFE
- bne _080F8340
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- strh r1, [r5, 0xC]
- b _080F83C8
-_080F8340:
- cmp r4, 0xFC
- bne _080F8354
- ldrh r0, [r5, 0xE]
- adds r0, 0x2
- strh r0, [r5, 0xE]
- movs r0, 0x2
- strh r0, [r5, 0x8]
- movs r0, 0x8
- strh r0, [r5, 0xC]
- b _080F83C8
-_080F8354:
- cmp r4, 0x37
- bne _080F8374
- movs r4, 0
- strb r4, [r0]
- ldr r0, _080F8370
- ldr r0, [r0]
- bl sub_8003418
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- strh r0, [r5, 0xE]
- strh r4, [r5, 0xC]
- b _080F83C8
- .align 2, 0
-_080F8370: .4byte gMenuWindowPtr
-_080F8374:
- movs r1, 0xA
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _080F8394
- cmp r0, 0x1
- bgt _080F8386
- cmp r0, 0
- beq _080F838C
- b _080F83C8
-_080F8386:
- cmp r0, 0x2
- beq _080F83A0
- b _080F83C8
-_080F838C:
- ldr r0, _080F839C
- ldr r0, [r0]
- bl sub_8003418
-_080F8394:
- ldrh r0, [r5, 0xA]
- adds r0, 0x1
- strh r0, [r5, 0xA]
- b _080F83C8
- .align 2, 0
-_080F839C: .4byte gMenuWindowPtr
-_080F83A0:
- ldrh r0, [r5, 0xE]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0xE]
- strh r1, [r5, 0xA]
- ldr r0, _080F83B4
- ldrh r0, [r0, 0x4]
- strh r0, [r5, 0xC]
- movs r0, 0x4
- b _080F83C6
- .align 2, 0
-_080F83B4: .4byte gUnknown_03005DA0
-_080F83B8:
- ldrh r0, [r5, 0xC]
- subs r0, 0x1
- strh r0, [r5, 0xC]
- lsls r0, 16
- cmp r0, 0
- bne _080F83C8
-_080F83C4:
- movs r0, 0x3
-_080F83C6:
- strh r0, [r5, 0x8]
-_080F83C8:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80F8184
-
- thumb_func_start sub_80F83D0
-sub_80F83D0: @ 80F83D0
- push {r4,lr}
- ldr r4, _080F83F4
- bl GetCurrentMauvilleOldMan
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 8
- movs r0, 0x8A
- lsls r0, 15
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- bl VarSet
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F83F4: .4byte 0x00004010
- thumb_func_end sub_80F83D0
-
- thumb_func_start sub_80F83F8
-sub_80F83F8: @ 80F83F8
- push {r4,lr}
- ldr r0, _080F8424
- movs r2, 0
- movs r1, 0x3
- strb r1, [r0]
- strb r2, [r0, 0x1]
- movs r4, 0
- movs r3, 0xFF
- adds r1, r0, 0x4
- movs r2, 0x3
-_080F840C:
- strb r4, [r1]
- ldrb r0, [r1, 0x4]
- orrs r0, r3
- strb r0, [r1, 0x4]
- adds r1, 0x1
- subs r2, 0x1
- cmp r2, 0
- bge _080F840C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8424: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_80F83F8
-
- thumb_func_start sub_80F8428
-sub_80F8428: @ 80F8428
- ldr r0, _080F8434
- movs r2, 0
- movs r1, 0x3
- strb r1, [r0]
- strb r2, [r0, 0x1]
- bx lr
- .align 2, 0
-_080F8434: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_80F8428
-
- thumb_func_start sub_80F8438
-sub_80F8438: @ 80F8438
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x32
- bne _080F8444
- movs r0, 0
-_080F8444:
- bl sub_8053108
- pop {r1}
- bx r1
- thumb_func_end sub_80F8438
-
- thumb_func_start sub_80F844C
-sub_80F844C: @ 80F844C
- push {lr}
- adds r3, r0, 0
- movs r2, 0
- ldr r1, _080F8460
-_080F8454:
- ldrb r0, [r1]
- cmp r0, r3
- bne _080F8464
- adds r0, r1, 0
- b _080F846E
- .align 2, 0
-_080F8460: .4byte gUnknown_083E53E0
-_080F8464:
- adds r1, 0x10
- adds r2, 0x1
- cmp r2, 0x23
- ble _080F8454
- ldr r0, _080F8474
-_080F846E:
- pop {r1}
- bx r1
- .align 2, 0
-_080F8474: .4byte gUnknown_083E5610
- thumb_func_end sub_80F844C
-
- thumb_func_start sub_80F8478
-sub_80F8478: @ 80F8478
- push {lr}
- bl sub_80F844C
- ldr r0, [r0, 0x4]
- pop {r1}
- bx r1
- thumb_func_end sub_80F8478
-
- thumb_func_start sub_80F8484
-sub_80F8484: @ 80F8484
- push {lr}
- bl sub_80F844C
- ldr r0, [r0, 0xC]
- pop {r1}
- bx r1
- thumb_func_end sub_80F8484
-
- thumb_func_start sub_80F8490
-sub_80F8490: @ 80F8490
- push {lr}
- bl sub_80F844C
- ldr r0, [r0, 0x8]
- pop {r1}
- bx r1
- thumb_func_end sub_80F8490
-
- thumb_func_start sub_80F849C
-sub_80F849C: @ 80F849C
- push {lr}
- movs r1, 0
- ldr r2, _080F84C4
- ldrb r0, [r2, 0x4]
- cmp r0, 0
- beq _080F84BC
- adds r2, 0x4
-_080F84AA:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bhi _080F84BC
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F84AA
-_080F84BC:
- adds r0, r1, 0
- pop {r1}
- bx r1
- .align 2, 0
-_080F84C4: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_80F849C
-
- thumb_func_start sub_80F84C8
-sub_80F84C8: @ 80F84C8
- lsls r0, 2
- ldr r1, _080F84E8
- adds r0, r1
- ldrb r2, [r0]
- ldrb r1, [r0, 0x1]
- lsls r1, 8
- orrs r2, r1
- ldrb r1, [r0, 0x2]
- lsls r1, 16
- orrs r2, r1
- ldrb r0, [r0, 0x3]
- lsls r0, 24
- orrs r2, r0
- adds r0, r2, 0
- bx lr
- .align 2, 0
-_080F84E8: .4byte gSaveBlock1 + 0x2DB8
- thumb_func_end sub_80F84C8
-
- thumb_func_start sub_80F84EC
-sub_80F84EC: @ 80F84EC
- lsls r0, 2
- ldr r2, _080F8504
- adds r0, r2
- strb r1, [r0]
- lsrs r2, r1, 8
- strb r2, [r0, 0x1]
- lsrs r2, r1, 16
- strb r2, [r0, 0x2]
- lsrs r1, 24
- strb r1, [r0, 0x3]
- bx lr
- .align 2, 0
-_080F8504: .4byte gSaveBlock1 + 0x2DB8
- thumb_func_end sub_80F84EC
-
- thumb_func_start sub_80F8508
-sub_80F8508: @ 80F8508
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r0, _080F8528
- adds r0, 0x4
- adds r0, r5, r0
- ldrb r0, [r0]
- bl sub_80F8438
- adds r4, r0, 0
- adds r0, r5, 0
- bl sub_80F84C8
- cmp r4, r0
- bhi _080F852C
- movs r0, 0
- b _080F852E
- .align 2, 0
-_080F8528: .4byte gSaveBlock1 + 0x2D94
-_080F852C:
- movs r0, 0x1
-_080F852E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F8508
-
- thumb_func_start sub_80F8534
-sub_80F8534: @ 80F8534
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r4, r0, 3
- subs r4, r0
- ldr r0, _080F855C
- adds r4, r0
- adds r0, r5, 0
- movs r1, 0xFF
- movs r2, 0x8
- bl memset
- adds r0, r5, 0
- adds r1, r4, 0
- movs r2, 0x7
- bl memcpy
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F855C: .4byte gSaveBlock1 + 0x2D9C
- thumb_func_end sub_80F8534
-
- thumb_func_start sub_80F8560
-sub_80F8560: @ 80F8560
- push {r4-r6,lr}
- adds r6, r1, 0
- lsls r5, r0, 3
- subs r5, r0
- ldr r0, _080F8594
- adds r5, r0
- adds r0, r6, 0
- bl StringLength
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- movs r1, 0xFF
- movs r2, 0x7
- bl memset
- adds r0, r5, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl StringCopyN
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8594: .4byte gSaveBlock1 + 0x2D9C
- thumb_func_end sub_80F8560
-
- thumb_func_start sub_80F8598
-sub_80F8598: @ 80F8598
- push {r4-r6,lr}
- adds r5, r0, 0
- adds r6, r1, 0
- ldr r0, _080F85EC
- adds r0, 0x4
- adds r0, r5, r0
- strb r6, [r0]
- ldr r1, _080F85F0
- adds r0, r5, 0
- bl sub_80F8560
- lsls r4, r6, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80F8438
- adds r1, r0, 0
- adds r0, r5, 0
- bl sub_80F84EC
- ldr r5, _080F85F4
- adds r0, r4, 0
- bl sub_80F8438
- adds r1, r0, 0
- adds r0, r5, 0
- movs r2, 0
- movs r3, 0xA
- bl ConvertIntToDecimalStringN
- ldr r4, _080F85F8
- adds r0, r6, 0
- bl sub_80F8490
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F85EC: .4byte gSaveBlock1 + 0x2D94
-_080F85F0: .4byte gSaveBlock2
-_080F85F4: .4byte gStringVar1
-_080F85F8: .4byte gStringVar2
- thumb_func_end sub_80F8598
-
- thumb_func_start sub_80F85FC
-sub_80F85FC: @ 80F85FC
- push {r4-r7,lr}
- adds r7, r0, 0
- adds r6, r1, 0
- movs r5, 0
- cmp r5, r6
- bge _080F8612
-_080F8608:
- adds r0, r7, r5
- strb r5, [r0]
- adds r5, 0x1
- cmp r5, r6
- blt _080F8608
-_080F8612:
- cmp r6, 0
- ble _080F8648
- adds r5, r6, 0
-_080F8618:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- adds r4, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r6, 0
- bl __modsi3
- adds r4, r7, r4
- ldrb r2, [r4]
- adds r0, r7, r0
- ldrb r1, [r0]
- strb r1, [r4]
- strb r2, [r0]
- subs r5, 0x1
- cmp r5, 0
- bne _080F8618
-_080F8648:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80F85FC
-
- thumb_func_start sub_80F8650
-sub_80F8650: @ 80F8650
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- mov r7, sp
- mov r10, sp
- ldr r0, _080F86D4
- ldr r0, [r0]
- lsls r0, 3
- lsrs r0, 3
- adds r0, 0x3
- lsrs r0, 2
- lsls r0, 2
- mov r1, sp
- subs r1, r0
- mov sp, r1
- mov r8, sp
- mov r0, sp
- movs r1, 0x24
- bl sub_80F85FC
- movs r5, 0
- ldr r0, _080F86D8
- mov r9, r0
- ldr r3, _080F86DC
-_080F8686:
- mov r1, r8
- adds r0, r1, r5
- ldrb r0, [r0]
- lsls r0, 4
- add r0, r9
- ldrb r4, [r0]
- ldrb r6, [r0, 0x1]
- movs r1, 0
- ldrb r0, [r3, 0x4]
- cmp r0, r4
- beq _080F86AC
- ldr r2, _080F86E0
-_080F869E:
- adds r1, 0x1
- cmp r1, 0x3
- bgt _080F86AC
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, r4
- bne _080F869E
-_080F86AC:
- cmp r1, 0x4
- bne _080F86E4
- adds r0, r4, 0
- str r3, [r7]
- bl sub_80F8438
- ldr r3, [r7]
- cmp r0, r6
- bcc _080F86E4
- movs r0, 0x1
- strb r0, [r3, 0x1]
- bl sub_80F849C
- lsls r0, 24
- lsrs r0, 24
- adds r1, r4, 0
- bl sub_80F8598
- movs r0, 0x1
- b _080F86EC
- .align 2, 0
-_080F86D4: .4byte gUnknown_083E5620
-_080F86D8: .4byte gUnknown_083E53E0
-_080F86DC: .4byte gSaveBlock1 + 0x2D94
-_080F86E0: .4byte gSaveBlock1 + 0x2D98
-_080F86E4:
- adds r5, 0x1
- cmp r5, 0x23
- ble _080F8686
- movs r0, 0
-_080F86EC:
- mov sp, r10
- 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_80F8650
-
- thumb_func_start sub_80F8700
-sub_80F8700: @ 80F8700
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r0, _080F8748
- adds r0, 0x4
- adds r0, r5, r0
- ldrb r6, [r0]
- ldr r4, _080F874C
- adds r0, r5, 0
- bl sub_80F84C8
- adds r1, r0, 0
- adds r0, r4, 0
- movs r2, 0
- movs r3, 0xA
- bl ConvertIntToDecimalStringN
- ldr r4, _080F8750
- adds r0, r6, 0
- bl sub_80F8490
- adds r1, r0, 0
- adds r0, r4, 0
- bl StringCopy
- ldr r1, _080F8754
- adds r0, r5, 0
- bl sub_80F8534
- adds r0, r6, 0
- bl sub_80F8484
- bl ShowFieldMessage
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8748: .4byte gSaveBlock1 + 0x2D94
-_080F874C: .4byte gStringVar1
-_080F8750: .4byte gStringVar2
-_080F8754: .4byte gStringVar3
- thumb_func_end sub_80F8700
-
- thumb_func_start sub_80F8758
-sub_80F8758: @ 80F8758
- push {r4-r6,lr}
- bl sub_80F849C
- adds r3, r0, 0
- lsls r3, 25
- movs r0, 0x80
- lsls r0, 19
- adds r3, r0
- lsrs r3, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x19
- bl MenuDrawTextWindow
- movs r4, 0
- ldr r1, _080F87BC
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _080F87A4
- adds r6, r1, 0x4
- movs r5, 0x80
- lsls r5, 18
-_080F8784:
- bl sub_80F8478
- lsrs r2, r5, 24
- movs r1, 0x1
- bl MenuPrint
- movs r1, 0x80
- lsls r1, 18
- adds r5, r1
- adds r4, 0x1
- cmp r4, 0x3
- bgt _080F87A4
- adds r0, r4, r6
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F8784
-_080F87A4:
- ldr r0, _080F87C0
- lsls r2, r4, 25
- movs r1, 0x80
- lsls r1, 18
- adds r2, r1
- lsrs r2, 24
- movs r1, 0x1
- bl MenuPrint
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F87BC: .4byte gSaveBlock1 + 0x2D94
-_080F87C0: .4byte gPCText_Cancel
- thumb_func_end sub_80F8758
-
- thumb_func_start sub_80F87C4
-sub_80F87C4: @ 80F87C4
- push {r4-r6,lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r6, r0, 24
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- ldr r1, _080F87E4
- adds r4, r0, r1
- movs r0, 0x8
- ldrsh r5, [r4, r0]
- cmp r5, 0
- beq _080F87E8
- cmp r5, 0x1
- beq _080F8810
- b _080F8862
- .align 2, 0
-_080F87E4: .4byte gTasks
-_080F87E8:
- bl sub_80F8758
- bl sub_80F849C
- adds r3, r0, 0
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- str r5, [sp]
- movs r0, 0x18
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x2
- bl InitMenu
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _080F8862
-_080F8810:
- bl ProcessMenuInput
- lsls r0, 24
- asrs r4, r0, 24
- movs r0, 0x2
- negs r0, r0
- cmp r4, r0
- beq _080F8862
- adds r0, 0x1
- cmp r4, r0
- beq _080F8832
- bl sub_80F849C
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bne _080F8840
-_080F8832:
- ldr r1, _080F883C
- movs r0, 0
- strh r0, [r1]
- b _080F8848
- .align 2, 0
-_080F883C: .4byte gScriptResult
-_080F8840:
- ldr r0, _080F886C
- strh r5, [r0]
- ldr r0, _080F8870
- strb r4, [r0]
-_080F8848:
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0x19
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
-_080F8862:
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F886C: .4byte gScriptResult
-_080F8870: .4byte gUnknown_03000748
- thumb_func_end sub_80F87C4
-
- thumb_func_start sub_80F8874
-sub_80F8874: @ 80F8874
- push {lr}
- ldr r0, _080F8884
- movs r1, 0x50
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_080F8884: .4byte sub_80F87C4
- thumb_func_end sub_80F8874
-
- thumb_func_start sub_80F8888
-sub_80F8888: @ 80F8888
- push {lr}
- ldr r0, _080F8898
- ldrb r0, [r0]
- bl sub_80F8700
- pop {r0}
- bx r0
- .align 2, 0
-_080F8898: .4byte gUnknown_03000748
- thumb_func_end sub_80F8888
-
- thumb_func_start sub_80F889C
-sub_80F889C: @ 80F889C
- push {lr}
- bl sub_80F849C
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80F889C
-
- thumb_func_start sub_80F88AC
-sub_80F88AC: @ 80F88AC
- push {r4,r5,lr}
- ldr r1, _080F88C8
- ldr r5, _080F88CC
- ldrb r0, [r5]
- adds r1, 0x4
- adds r1, r0, r1
- ldrb r4, [r1]
- bl sub_80F8508
- cmp r0, 0x1
- beq _080F88D0
- movs r0, 0
- b _080F88DA
- .align 2, 0
-_080F88C8: .4byte gSaveBlock1 + 0x2D94
-_080F88CC: .4byte gUnknown_03000748
-_080F88D0:
- ldrb r0, [r5]
- adds r1, r4, 0
- bl sub_80F8598
- movs r0, 0x1
-_080F88DA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F88AC
-
- thumb_func_start sub_80F88E0
-sub_80F88E0: @ 80F88E0
- push {lr}
- ldr r0, _080F88F0
- ldrb r0, [r0, 0x1]
- cmp r0, 0
- beq _080F88F4
- movs r0, 0x1
- b _080F88F6
- .align 2, 0
-_080F88F0: .4byte gSaveBlock1 + 0x2D94
-_080F88F4:
- movs r0, 0
-_080F88F6:
- pop {r1}
- bx r1
- thumb_func_end sub_80F88E0
-
- thumb_func_start sub_80F88FC
-sub_80F88FC: @ 80F88FC
- push {lr}
- bl sub_80F8650
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- thumb_func_end sub_80F88FC
-
- thumb_func_start sub_80F890C
-sub_80F890C: @ 80F890C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r4, r0, 0
- adds r6, r1, 0
- lsls r2, 24
- lsrs r5, r2, 24
- ldr r2, _080F8958
- adds r1, r2, 0
- adds r1, 0xFF
- movs r0, 0x2
- strb r0, [r1]
- adds r0, 0xFE
- adds r1, r2, r0
- movs r0, 0x1
- strb r0, [r1]
- movs r0, 0x82
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, _080F895C
- str r0, [r1]
- movs r0, 0x84
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, _080F8960
- str r0, [r1]
- ldrh r1, [r4, 0x20]
- adds r0, r1, 0
- subs r0, 0x79
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB
- bhi _080F8964
- subs r1, 0x79
- adds r0, r2, 0
- adds r0, 0xFA
- strb r1, [r0]
- b _080F896E
- .align 2, 0
-_080F8958: .4byte 0x02000000
-_080F895C: .4byte sub_80EB3FC
-_080F8960: .4byte ConvertEasyChatWordsToString
-_080F8964:
- adds r1, r2, 0
- adds r1, 0xFA
- movs r0, 0
- strb r0, [r1]
- movs r5, 0
-_080F896E:
- ldr r1, _080F8994
- movs r2, 0x80
- lsls r2, 1
- adds r0, r1, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F8980
- cmp r0, 0x1
- beq _080F899C
-_080F8980:
- movs r0, 0x86
- lsls r0, 1
- adds r2, r1, r0
- adds r0, r1, 0
- adds r0, 0xFA
- ldrb r0, [r0]
- lsls r0, 3
- ldr r1, _080F8998
- b _080F89AC
- .align 2, 0
-_080F8994: .4byte 0x02000000
-_080F8998: .4byte gUnknown_083E5730
-_080F899C:
- movs r0, 0x86
- lsls r0, 1
- adds r2, r1, r0
- adds r0, r1, 0
- adds r0, 0xFA
- ldrb r0, [r0]
- lsls r0, 3
- ldr r1, _080F89DC
-_080F89AC:
- adds r0, r1
- str r0, [r2]
- ldrh r0, [r4, 0x1E]
- mov r1, sp
- bl sub_80A2D64
- lsls r0, 16
- ldr r1, _080F89E0
- adds r0, r1
- movs r1, 0xCD
- lsls r1, 17
- cmp r0, r1
- bhi _080F89F8
- ldr r0, _080F89E4
- adds r1, r0, 0
- adds r1, 0xFA
- ldrb r2, [r1]
- adds r1, r0, 0
- cmp r2, 0x6
- beq _080F89E8
- cmp r2, 0x9
- beq _080F89F0
- b _080F89FA
- .align 2, 0
-_080F89DC: .4byte gUnknown_083E57A4
-_080F89E0: .4byte 0xffff0000
-_080F89E4: .4byte 0x02000000
-_080F89E8:
- adds r2, r1, 0
- adds r2, 0xFB
- movs r0, 0x1
- b _080F8A00
-_080F89F0:
- adds r2, r1, 0
- adds r2, 0xFB
- movs r0, 0x2
- b _080F8A00
-_080F89F8:
- ldr r1, _080F8A20
-_080F89FA:
- adds r2, r1, 0
- adds r2, 0xFB
- movs r0, 0
-_080F8A00:
- strb r0, [r2]
- adds r0, r1, 0
- adds r0, 0xF4
- str r4, [r0]
- subs r0, 0x8
- str r6, [r0]
- adds r0, 0xC
- strb r5, [r0]
- ldr r0, _080F8A24
- bl SetMainCallback2
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8A20: .4byte 0x02000000
-_080F8A24: .4byte sub_80F8D50
- thumb_func_end sub_80F890C
-
- thumb_func_start sub_80F8A28
-sub_80F8A28: @ 80F8A28
- push {r4,r5,lr}
- sub sp, 0x8
- ldr r0, _080F8A44
- ldr r1, _080F8A48
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x12
- bls _080F8A3A
- b _080F8D3C
-_080F8A3A:
- lsls r0, 2
- ldr r1, _080F8A4C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F8A44: .4byte gMain
-_080F8A48: .4byte 0x0000043c
-_080F8A4C: .4byte _080F8A50
- .align 2, 0
-_080F8A50:
- .4byte _080F8A9C
- .4byte _080F8AB0
- .4byte _080F8AC8
- .4byte _080F8ACE
- .4byte _080F8AD4
- .4byte _080F8ADA
- .4byte _080F8B10
- .4byte _080F8B1C
- .4byte _080F8B28
- .4byte _080F8B34
- .4byte _080F8B3A
- .4byte _080F8B54
- .4byte _080F8B78
- .4byte _080F8BA0
- .4byte _080F8C14
- .4byte _080F8C2C
- .4byte _080F8C58
- .4byte _080F8CBC
- .4byte _080F8CC6
-_080F8A9C:
- movs r0, 0
- bl SetVBlankCallback
- bl remove_some_task
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- b _080F8D30
-_080F8AB0:
- add r1, sp, 0x4
- movs r0, 0
- strh r0, [r1]
- movs r1, 0xE0
- lsls r1, 19
- ldr r2, _080F8AC4
- add r0, sp, 0x4
- bl CpuSet
- b _080F8D30
- .align 2, 0
-_080F8AC4: .4byte 0x01000200
-_080F8AC8:
- bl ResetPaletteFade
- b _080F8D30
-_080F8ACE:
- bl ResetTasks
- b _080F8D30
-_080F8AD4:
- bl ResetSpriteData
- b _080F8D30
-_080F8ADA:
- bl FreeAllSpritePalettes
- ldr r0, _080F8B0C
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x32
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- b _080F8D30
- .align 2, 0
-_080F8B0C: .4byte REG_BG0HOFS
-_080F8B10:
- ldr r0, _080F8B18
- bl SetUpWindowConfig
- b _080F8D30
- .align 2, 0
-_080F8B18: .4byte gWindowConfig_81E6DFC
-_080F8B1C:
- ldr r0, _080F8B24
- bl MultistepInitMenuWindowBegin
- b _080F8D30
- .align 2, 0
-_080F8B24: .4byte gWindowConfig_81E6DFC
-_080F8B28:
- bl MultistepInitMenuWindowContinue
- cmp r0, 0
- beq _080F8B32
- b _080F8D30
-_080F8B32:
- b _080F8D3C
-_080F8B34:
- bl MenuZeroFillScreen
- b _080F8D30
-_080F8B3A:
- mov r0, sp
- adds r0, 0x6
- movs r1, 0x1
- strh r1, [r0]
- ldr r1, _080F8B4C
- ldr r2, _080F8B50
- bl CpuSet
- b _080F8D30
- .align 2, 0
-_080F8B4C: .4byte 0x06004800
-_080F8B50: .4byte 0x01000400
-_080F8B54:
- ldr r2, _080F8B70
- ldr r0, _080F8B74
- adds r0, 0xFA
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0
- movs r2, 0x20
- bl LoadPalette
- b _080F8D30
- .align 2, 0
-_080F8B70: .4byte gMailGraphicsTable
-_080F8B74: .4byte 0x02000000
-_080F8B78:
- ldr r2, _080F8B94
- ldr r0, _080F8B98
- adds r0, 0xFA
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r2, 0x8
- adds r0, r2
- ldr r0, [r0]
- ldr r1, _080F8B9C
- bl LZ77UnCompVram
- b _080F8D30
- .align 2, 0
-_080F8B94: .4byte gMailGraphicsTable
-_080F8B98: .4byte 0x02000000
-_080F8B9C: .4byte 0x06004000
-_080F8BA0:
- ldr r5, _080F8C00
- ldr r4, _080F8C04
- adds r4, 0xFA
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r1, r5, 0x4
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0xC0
- lsls r1, 19
- bl LZ77UnCompVram
- ldr r3, _080F8C08
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r0, [r0, 0x10]
- movs r2, 0xF1
- lsls r2, 1
- adds r1, r3, r2
- strh r0, [r1]
- ldrb r1, [r4]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldrh r1, [r0, 0x12]
- adds r2, 0xE
- adds r0, r3, r2
- strh r1, [r0]
- ldr r1, _080F8C0C
- ldr r2, _080F8C10
- ldrb r0, [r2, 0x8]
- lsls r0, 2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3, 0x14]
- ldrb r0, [r2, 0x8]
- lsls r0, 2
- adds r1, 0x2
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r3, 0x16]
- b _080F8D30
- .align 2, 0
-_080F8C00: .4byte gMailGraphicsTable
-_080F8C04: .4byte 0x02000000
-_080F8C08: .4byte gPlttBufferUnfaded
-_080F8C0C: .4byte gUnknown_083E562C
-_080F8C10: .4byte gSaveBlock2
-_080F8C14:
- ldr r0, _080F8C28
- adds r0, 0xF8
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F8C20
- b _080F8D30
-_080F8C20:
- bl sub_80F8DA0
- b _080F8D30
- .align 2, 0
-_080F8C28: .4byte 0x02000000
-_080F8C2C:
- ldr r0, _080F8C4C
- adds r0, 0xF8
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F8C3A
- bl sub_80F8E80
-_080F8C3A:
- ldr r0, _080F8C50
- bl SetVBlankCallback
- ldr r2, _080F8C54
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- b _080F8D30
- .align 2, 0
-_080F8C4C: .4byte 0x02000000
-_080F8C50: .4byte sub_80F8F18
-_080F8C54: .4byte gPaletteFade
-_080F8C58:
- ldr r5, _080F8C7C
- adds r0, r5, 0
- adds r0, 0xF4
- ldr r0, [r0]
- ldrh r0, [r0, 0x1E]
- bl sub_809D4A8
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r5, 0
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0x1
- beq _080F8C80
- cmp r0, 0x2
- beq _080F8C98
- b _080F8D30
- .align 2, 0
-_080F8C7C: .4byte 0x02000000
-_080F8C80:
- adds r0, r4, 0
- bl sub_809D580
- ldr r1, _080F8C94
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x60
- b _080F8CA8
- .align 2, 0
-_080F8C94: .4byte SpriteCallbackDummy
-_080F8C98:
- adds r0, r4, 0
- bl sub_809D580
- ldr r1, _080F8CB8
- movs r0, 0
- str r0, [sp]
- adds r0, r4, 0
- movs r2, 0x28
-_080F8CA8:
- movs r3, 0x80
- bl sub_809D3A4
- adds r1, r5, 0
- adds r1, 0xFC
- strb r0, [r1]
- b _080F8D30
- .align 2, 0
-_080F8CB8: .4byte SpriteCallbackDummy
-_080F8CBC:
- bl sub_8055870
- cmp r0, 0x1
- bne _080F8D30
- b _080F8D3C
-_080F8CC6:
- ldr r1, _080F8D14
- ldr r2, _080F8D18
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080F8D1C
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _080F8D20
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x44
- movs r0, 0
- strh r0, [r1]
- subs r1, 0x50
- movs r2, 0xBA
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r2, _080F8D24
- ldrb r1, [r2, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r2, 0x8]
- ldr r0, _080F8D28
- adds r0, 0xF0
- ldr r1, _080F8D2C
- str r1, [r0]
- movs r0, 0x1
- b _080F8D3E
- .align 2, 0
-_080F8D14: .4byte REG_BG0CNT
-_080F8D18: .4byte 0x00009f08
-_080F8D1C: .4byte 0x00000801
-_080F8D20: .4byte 0x00000902
-_080F8D24: .4byte gPaletteFade
-_080F8D28: .4byte 0x02000000
-_080F8D2C: .4byte sub_80F8F58
-_080F8D30:
- ldr r1, _080F8D48
- ldr r0, _080F8D4C
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080F8D3C:
- movs r0, 0
-_080F8D3E:
- add sp, 0x8
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080F8D48: .4byte gMain
-_080F8D4C: .4byte 0x0000043c
- thumb_func_end sub_80F8A28
-
- thumb_func_start sub_80F8D50
-sub_80F8D50: @ 80F8D50
- push {lr}
-_080F8D52:
- bl sub_80F8A28
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F8D6C
- ldr r0, _080F8D68
- bl SetMainCallback2
- b _080F8D78
- .align 2, 0
-_080F8D68: .4byte sub_80F8F2C
-_080F8D6C:
- bl sub_80F9344
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F8D52
-_080F8D78:
- pop {r0}
- bx r0
- thumb_func_end sub_80F8D50
-
- thumb_func_start sub_80F8D7C
-sub_80F8D7C: @ 80F8D7C
- push {r4,lr}
- adds r4, r0, 0
- bl StringCopy
- adds r0, r4, 0
- bl sub_814A568
- adds r0, r4, 0
- bl StringLength
- lsls r0, 16
- lsrs r0, 16
- adds r4, r0
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F8D7C
-
- thumb_func_start sub_80F8DA0
-sub_80F8DA0: @ 80F8DA0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- movs r5, 0
- ldr r2, _080F8E3C
- movs r0, 0x86
- lsls r0, 1
- adds r1, r2, r0
- ldr r0, [r1]
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080F8E04
- mov r8, r2
- adds r7, r1, 0
-_080F8DBE:
- lsls r0, r5, 3
- subs r0, r5
- lsls r0, 2
- subs r0, r5
- add r0, r8
- mov r1, r8
- adds r1, 0xF4
- lsls r2, r6, 1
- ldr r1, [r1]
- adds r1, r2
- ldr r2, [r7]
- ldr r2, [r2, 0x4]
- lsls r4, r5, 2
- adds r2, r4, r2
- ldr r2, [r2]
- lsls r2, 28
- lsrs r2, 30
- movs r3, 0x1
- bl ConvertEasyChatWordsToString
- ldr r1, [r7]
- ldr r0, [r1, 0x4]
- adds r4, r0
- ldr r0, [r4]
- lsls r0, 28
- lsrs r0, 30
- adds r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r1, [r1]
- cmp r5, r1
- bcc _080F8DBE
-_080F8E04:
- ldr r2, _080F8E40
- adds r4, r2, 0
- subs r4, 0xD8
- adds r0, r2, 0
- adds r0, 0x28
- ldrb r0, [r0]
- cmp r0, 0
- bne _080F8E48
- ldr r1, [r2, 0x1C]
- adds r1, 0x12
- adds r0, r2, 0
- bl sub_80F8D7C
- adds r2, r0, 0
- ldr r1, _080F8E44
- bl StringCopy
- ldr r0, _080F8E40
- bl StringLength
- movs r2, 0x86
- lsls r2, 1
- adds r1, r4, r2
- ldr r1, [r1]
- ldrb r1, [r1, 0x2]
- subs r1, r0
- b _080F8E6A
- .align 2, 0
-_080F8E3C: .4byte 0x02000000
-_080F8E40: .4byte 0x020000d8
-_080F8E44: .4byte gOtherText_From
-_080F8E48:
- ldr r1, _080F8E7C
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- adds r0, r4, 0
- adds r0, 0xF4
- ldr r1, [r0]
- adds r1, 0x12
- adds r0, r2, 0
- bl sub_80F8D7C
- movs r1, 0x86
- lsls r1, 1
- adds r0, r4, r1
- ldr r0, [r0]
- ldrb r1, [r0, 0x2]
-_080F8E6A:
- adds r0, r4, 0
- adds r0, 0xF9
- strb r1, [r0]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8E7C: .4byte gOtherText_From
- thumb_func_end sub_80F8DA0
-
- thumb_func_start sub_80F8E80
-sub_80F8E80: @ 80F8E80
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- movs r4, 0
- ldr r1, _080F8F10
- movs r0, 0x86
- lsls r0, 1
- adds r2, r1, r0
- ldr r0, [r2]
- ldrb r0, [r0]
- cmp r4, r0
- bcs _080F8EF6
- mov r8, r1
- adds r7, r2, 0
-_080F8E9E:
- lsls r0, r4, 3
- subs r0, r4
- lsls r0, 2
- subs r0, r4
- mov r1, r8
- adds r5, r0, r1
- ldrb r0, [r5]
- cmp r0, 0xFF
- beq _080F8EE8
- cmp r0, 0
- beq _080F8EE8
- ldr r2, [r7]
- ldr r1, [r2, 0x4]
- lsls r0, r4, 2
- adds r0, r1
- ldr r0, [r0]
- lsls r3, r0, 24
- lsrs r3, 28
- lsls r0, 30
- lsrs r0, 30
- adds r0, r6, r0
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r2, [r2, 0x3]
- lsrs r1, r2, 4
- adds r1, r3
- lsls r2, 28
- lsrs r2, 28
- adds r2, r6, r2
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- bl MenuPrint
- adds r0, r6, 0x2
- lsls r0, 24
- lsrs r6, r0, 24
-_080F8EE8:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r0, [r7]
- ldrb r0, [r0]
- cmp r4, r0
- bcc _080F8E9E
-_080F8EF6:
- ldr r0, _080F8F14
- adds r1, r0, 0
- adds r1, 0x21
- ldrb r1, [r1]
- ldr r2, [r0, 0x34]
- ldrb r2, [r2, 0x1]
- bl MenuPrint
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8F10: .4byte 0x02000000
-_080F8F14: .4byte 0x020000d8
- thumb_func_end sub_80F8E80
-
- thumb_func_start sub_80F8F18
-sub_80F8F18: @ 80F8F18
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80F8F18
-
- thumb_func_start sub_80F8F2C
-sub_80F8F2C: @ 80F8F2C
- push {r4,lr}
- ldr r4, _080F8F54
- adds r0, r4, 0
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0
- beq _080F8F42
- bl AnimateSprites
- bl BuildOamBuffer
-_080F8F42:
- adds r0, r4, 0
- adds r0, 0xF0
- ldr r0, [r0]
- bl _call_via_r0
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F8F54: .4byte 0x02000000
- thumb_func_end sub_80F8F2C
-
- thumb_func_start sub_80F8F58
-sub_80F8F58: @ 80F8F58
- push {lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080F8F6C
- ldr r0, _080F8F70
- adds r0, 0xF0
- ldr r1, _080F8F74
- str r1, [r0]
-_080F8F6C:
- pop {r0}
- bx r0
- .align 2, 0
-_080F8F70: .4byte 0x02000000
-_080F8F74: .4byte sub_80F8F78
- thumb_func_end sub_80F8F58
-
- thumb_func_start sub_80F8F78
-sub_80F8F78: @ 80F8F78
- push {lr}
- sub sp, 0x4
- ldr r0, _080F8FA8
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080F8FA0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldr r0, _080F8FAC
- adds r0, 0xF0
- ldr r1, _080F8FB0
- str r1, [r0]
-_080F8FA0:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080F8FA8: .4byte gMain
-_080F8FAC: .4byte 0x02000000
-_080F8FB0: .4byte sub_80F8FB4
- thumb_func_end sub_80F8F78
-
- thumb_func_start sub_80F8FB4
-sub_80F8FB4: @ 80F8FB4
- push {r4,lr}
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080F9012
- ldr r4, _080F9018
- adds r0, r4, 0
- adds r0, 0xEC
- ldr r0, [r0]
- bl SetMainCallback2
- adds r0, r4, 0
- adds r0, 0xFB
- ldrb r0, [r0]
- cmp r0, 0x2
- bgt _080F9002
- cmp r0, 0x1
- blt _080F9002
- adds r0, r4, 0
- adds r0, 0xF4
- ldr r0, [r0]
- ldrh r0, [r0, 0x1E]
- bl sub_809D4A8
- lsls r0, 16
- lsrs r0, 16
- bl sub_809D608
- adds r0, r4, 0
- adds r0, 0xFC
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F901C
- adds r0, r1
- bl sub_809D510
-_080F9002:
- ldr r0, _080F9018
- movs r2, 0x88
- lsls r2, 1
- movs r1, 0
- bl memset
- bl ResetPaletteFade
-_080F9012:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9018: .4byte 0x02000000
-_080F901C: .4byte gSprites
- thumb_func_end sub_80F8FB4
-
- thumb_func_start sub_80F9020
-sub_80F9020: @ 80F9020
- push {r4,r5,lr}
- ldr r4, _080F9054
- movs r5, 0x80
- lsls r5, 4
- adds r0, r4, 0
- movs r1, 0
- adds r2, r5, 0
- bl memset
- adds r0, r4, r5
- movs r1, 0
- adds r2, r5, 0
- bl memset
- movs r0, 0x80
- lsls r0, 5
- adds r4, r0
- adds r0, r4, 0
- movs r1, 0
- adds r2, r5, 0
- bl memset
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9054: .4byte gBG1TilemapBuffer
- thumb_func_end sub_80F9020
-
- thumb_func_start sav2_get_text_speed
-sav2_get_text_speed: @ 80F9058
- push {r4,r5,lr}
- sub sp, 0x8
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- bl MenuDisplayMessageBox
- cmp r4, 0
- beq _080F907C
- ldr r0, _080F908C
- movs r1, 0x4
- str r1, [sp]
- str r4, [sp, 0x4]
- movs r1, 0x2
- movs r2, 0xF
- movs r3, 0x1A
- bl sub_80A3FA0
-_080F907C:
- adds r0, r5, 0
- bl sub_8072044
- add sp, 0x8
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F908C: .4byte gBG1TilemapBuffer
- thumb_func_end sav2_get_text_speed
-
- thumb_func_start sub_80F9090
-sub_80F9090: @ 80F9090
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl MenuUpdateWindowText
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F90AC
- ldr r0, _080F90B4
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_080F90AC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F90B4: .4byte gUnknown_0300074C
- thumb_func_end sub_80F9090
-
- thumb_func_start DisplayItemMessageOnField
-DisplayItemMessageOnField: @ 80F90B8
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r0, r1, 0
- adds r5, r2, 0
- adds r1, r3, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r1, 16
- lsrs r1, 16
- bl sav2_get_text_speed
- ldr r0, _080F90E8
- str r5, [r0]
- ldr r1, _080F90EC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080F90F0
- str r1, [r0]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F90E8: .4byte gUnknown_0300074C
-_080F90EC: .4byte gTasks
-_080F90F0: .4byte sub_80F9090
- thumb_func_end DisplayItemMessageOnField
-
- thumb_func_start Task_CallYesOrNoCallback
-Task_CallYesOrNoCallback: @ 80F90F4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- beq _080F911A
- cmp r1, 0
- bgt _080F9114
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- beq _080F9130
- b _080F9140
-_080F9114:
- cmp r1, 0x1
- beq _080F9130
- b _080F9140
-_080F911A:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080F912C
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080F9140
- .align 2, 0
-_080F912C: .4byte gUnknown_020388C4
-_080F9130:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080F9148
- ldr r1, [r0, 0x4]
- adds r0, r4, 0
- bl _call_via_r1
-_080F9140:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9148: .4byte gUnknown_020388C4
- thumb_func_end Task_CallYesOrNoCallback
-
- thumb_func_start sub_80F914C
-sub_80F914C: @ 80F914C
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080F916C
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [r3]
- str r2, [r3, 0x4]
- ldr r2, _080F9170
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- ldr r0, _080F9174
- str r0, [r1]
- bx lr
- .align 2, 0
-_080F916C: .4byte gUnknown_020388C4
-_080F9170: .4byte gTasks
-_080F9174: .4byte Task_CallYesOrNoCallback
- thumb_func_end sub_80F914C
-
- thumb_func_start brm_trade_1
-brm_trade_1: @ 80F9178
- push {r4-r7,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r1, 24
- lsrs r4, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- lsls r3, 24
- lsrs r6, r3, 24
- ldr r1, _080F91C0
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- cmp r4, 0xFF
- beq _080F91CC
- mov r0, sp
- strb r4, [r0, 0x2]
- ldr r4, _080F91C4
- adds r0, r4, 0
- mov r1, sp
- bl StringCopy
- adds r0, r4, 0
- adds r1, r5, 0
- bl StringAppend
- mov r1, sp
- ldr r0, _080F91C8
- ldr r0, [r0]
- ldrb r0, [r0, 0x6]
- strb r0, [r1, 0x2]
- adds r0, r4, 0
- bl StringAppend
- b _080F91D4
- .align 2, 0
-_080F91C0: .4byte gUnknown_083E5A18
-_080F91C4: .4byte gStringVar4
-_080F91C8: .4byte gMenuWindowPtr
-_080F91CC:
- ldr r0, _080F91E8
- adds r1, r5, 0
- bl StringCopy
-_080F91D4:
- ldr r0, _080F91E8
- adds r1, r7, 0
- adds r2, r6, 0
- bl MenuPrint
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F91E8: .4byte gStringVar4
- thumb_func_end brm_trade_1
-
- thumb_func_start unref_sub_80F91EC
-unref_sub_80F91EC: @ 80F91EC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r12, r0
- adds r4, r2, 0
- adds r2, r3, 0
- ldr r0, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- lsls r1, 24
- lsrs r1, 24
- mov r8, r1
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r2, 24
- lsls r0, 24
- lsrs r7, r0, 24
- lsls r3, 24
- lsrs r5, r3, 24
- ldr r6, _080F9234
- adds r0, r6, 0
- mov r1, r12
- adds r3, r4, 0
- bl ConvertIntToDecimalStringN
- mov r0, r8
- cmp r0, 0xFF
- beq _080F9238
- adds r0, r6, 0
- mov r1, r8
- adds r2, r7, 0
- adds r3, r5, 0
- bl brm_trade_1
- b _080F9242
- .align 2, 0
-_080F9234: .4byte gStringVar1
-_080F9238:
- adds r0, r6, 0
- adds r1, r7, 0
- adds r2, r5, 0
- bl MenuPrint
-_080F9242:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end unref_sub_80F91EC
-
- thumb_func_start unref_sub_80F924C
-unref_sub_80F924C: @ 80F924C
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- adds r6, r1, 0
- adds r4, r2, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r6, 24
- lsrs r6, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080F9280
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl brm_trade_1
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9280: .4byte gUnknown_083E5A1C
- thumb_func_end unref_sub_80F924C
-
- thumb_func_start sub_80F9284
-sub_80F9284: @ 80F9284
- push {lr}
- ldr r0, _080F92A0
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080F92B6
- ldr r0, _080F92A4
- ldrh r1, [r0, 0x2E]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080F92A8
- movs r0, 0x1
- b _080F92B8
- .align 2, 0
-_080F92A0: .4byte gSaveBlock2
-_080F92A4: .4byte gMain
-_080F92A8:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080F92B6
- movs r0, 0x2
- b _080F92B8
-_080F92B6:
- movs r0, 0
-_080F92B8:
- pop {r1}
- bx r1
- thumb_func_end sub_80F9284
-
- thumb_func_start sub_80F92BC
-sub_80F92BC: @ 80F92BC
- push {lr}
- ldr r0, _080F92D8
- ldrb r0, [r0, 0x13]
- cmp r0, 0x1
- bne _080F92EE
- ldr r0, _080F92DC
- ldrh r1, [r0, 0x30]
- movs r0, 0x80
- lsls r0, 2
- ands r0, r1
- cmp r0, 0
- beq _080F92E0
- movs r0, 0x1
- b _080F92F0
- .align 2, 0
-_080F92D8: .4byte gSaveBlock2
-_080F92DC: .4byte gMain
-_080F92E0:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _080F92EE
- movs r0, 0x2
- b _080F92F0
-_080F92EE:
- movs r0, 0
-_080F92F0:
- pop {r1}
- bx r1
- thumb_func_end sub_80F92BC
-
- thumb_func_start sub_80F92F4
-sub_80F92F4: @ 80F92F4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xAF
- bne _080F9314
- ldr r0, _080F930C
- ldrh r1, [r0, 0x4]
- ldr r0, _080F9310
- cmp r1, r0
- bne _080F9314
- movs r0, 0
- b _080F9316
- .align 2, 0
-_080F930C: .4byte gSaveBlock1
-_080F9310: .4byte 0x00001919
-_080F9314:
- movs r0, 0x1
-_080F9316:
- pop {r1}
- bx r1
- thumb_func_end sub_80F92F4
-
- thumb_func_start sub_80F931C
-sub_80F931C: @ 80F931C
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- bl is_c1_link_related_active
- cmp r0, 0x1
- bne _080F933C
- adds r0, r4, 0
- bl itemid_is_mail
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F933C
- movs r0, 0
- b _080F933E
-_080F933C:
- movs r0, 0x1
-_080F933E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80F931C
-
- thumb_func_start sub_80F9344
-sub_80F9344: @ 80F9344
- push {lr}
- bl is_c1_link_related_active
- cmp r0, 0x1
- beq _080F9356
- ldr r0, _080F935C
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080F9360
-_080F9356:
- movs r0, 0x1
- b _080F9362
- .align 2, 0
-_080F935C: .4byte gReceivedRemoteLinkPlayers
-_080F9360:
- movs r0, 0
-_080F9362:
- pop {r1}
- bx r1
- thumb_func_end sub_80F9344
-
- thumb_func_start sub_80F9368
-sub_80F9368: @ 80F9368
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- adds r0, 0xE
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x14
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- subs r0, 0x6
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- movs r3, 0xC0
- lsls r3, 19
- movs r4, 0xC0
- lsls r4, 9
- add r0, sp, 0x4
- mov r8, r0
- mov r2, sp
- movs r6, 0
- ldr r1, _080F9430
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _080F9434
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_080F93C6:
- strh r6, [r2]
- mov r0, sp
- str r0, [r1]
- str r3, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r3, r5
- subs r4, r5
- cmp r4, r5
- bhi _080F93C6
- strh r6, [r2]
- mov r2, sp
- str r2, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r4, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 19
- movs r3, 0x80
- lsls r3, 3
- movs r4, 0
- str r4, [sp, 0x4]
- ldr r2, _080F9430
- mov r1, r8
- str r1, [r2]
- str r0, [r2, 0x4]
- lsrs r0, r3, 2
- movs r1, 0x85
- lsls r1, 24
- orrs r0, r1
- str r0, [r2, 0x8]
- ldr r0, [r2, 0x8]
- movs r1, 0xA0
- lsls r1, 19
- mov r0, sp
- strh r4, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsrs r3, 1
- movs r0, 0x81
- lsls r0, 24
- orrs r3, r0
- str r3, [r2, 0x8]
- ldr r0, [r2, 0x8]
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9430: .4byte 0x040000d4
-_080F9434: .4byte 0x81000800
- thumb_func_end sub_80F9368
-
- thumb_func_start sub_80F9438
-sub_80F9438: @ 80F9438
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- pop {r0}
- bx r0
- thumb_func_end sub_80F9438
-
- thumb_func_start sub_80F944C
-sub_80F944C: @ 80F944C
- push {r4,lr}
- movs r2, 0
- ldr r4, _080F9478
- movs r3, 0xFF
-_080F9454:
- adds r0, r2, r4
- ldrb r1, [r0]
- orrs r1, r3
- strb r1, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x3
- bls _080F9454
- movs r0, 0x6
- bl FreeSpritePaletteByTag
- ldr r0, _080F947C
- bl LoadSpritePalette
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9478: .4byte gUnknown_020388C0
-_080F947C: .4byte gUnknown_083E5968
- thumb_func_end sub_80F944C
-
- thumb_func_start sub_80F9480
-sub_80F9480: @ 80F9480
- push {r4,lr}
- adds r3, r0, 0
- lsls r1, 24
- lsrs r1, 24
- movs r2, 0
- cmp r2, r1
- bcs _080F949E
- movs r4, 0xFF
-_080F9490:
- adds r0, r3, r2
- strb r4, [r0]
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r1
- bcc _080F9490
-_080F949E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F9480
-
- thumb_func_start sub_80F94A4
-sub_80F94A4: @ 80F94A4
- push {r4,r5,lr}
- adds r5, r1, 0
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r2, 16
- lsrs r1, r2, 16
- lsls r3, 16
- lsrs r2, r3, 16
- cmp r4, 0x5
- bhi _080F94E8
- ldrb r0, [r5]
- cmp r0, 0xFF
- bne _080F94D0
- ldr r0, _080F94F0
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- strb r0, [r5]
-_080F94D0:
- subs r0, r4, 0x4
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F94F4
- adds r0, r1
- adds r1, r4, 0
- bl StartSpriteAnim
-_080F94E8:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F94F0: .4byte gSpriteTemplate_83E5A00
-_080F94F4: .4byte gSprites
- thumb_func_end sub_80F94A4
-
- thumb_func_start sub_80F94F8
-sub_80F94F8: @ 80F94F8
- push {r4,lr}
- adds r4, r0, 0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080F9516
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F951C
- adds r0, r1
- bl DestroySprite
- movs r0, 0xFF
- strb r0, [r4]
-_080F9516:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F951C: .4byte gSprites
- thumb_func_end sub_80F94F8
-
- thumb_func_start sub_80F9520
-sub_80F9520: @ 80F9520
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
-_080F9526:
- adds r0, r5, r4
- bl sub_80F94F8
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _080F9526
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80F9520
-
- thumb_func_start sub_80F953C
-sub_80F953C: @ 80F953C
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 16
- lsrs r3, r1, 16
- lsls r2, 16
- lsrs r2, 16
- cmp r4, 0x3
- bls _080F9550
- b _080F9790
-_080F9550:
- cmp r4, 0x1
- beq _080F95F6
- cmp r4, 0x1
- bgt _080F9564
- cmp r4, 0
- beq _080F9578
- ldr r5, _080F9560
- b _080F977A
- .align 2, 0
-_080F9560: .4byte gUnknown_020388C0
-_080F9564:
- cmp r4, 0x2
- bne _080F956A
- b _080F967C
-_080F956A:
- cmp r4, 0x3
- bne _080F9570
- b _080F96F8
-_080F9570:
- ldr r5, _080F9574
- b _080F977A
- .align 2, 0
-_080F9574: .4byte gUnknown_020388C0
-_080F9578:
- ldr r0, _080F95D8
- ldrb r1, [r0]
- adds r5, r0, 0
- cmp r1, 0xFF
- beq _080F9584
- b _080F977A
-_080F9584:
- ldr r0, _080F95DC
- lsls r1, r3, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- strb r0, [r5]
- ldr r3, _080F95E0
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, _080F95E4
- strh r1, [r0, 0x32]
- ldrb r0, [r5, 0x1]
- cmp r0, 0xFF
- beq _080F95E8
- ldrb r0, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0x1]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x26
- ldrsh r0, [r0, r2]
- negs r0, r0
- strh r0, [r1, 0x26]
- ldrb r0, [r5]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0x1]
- b _080F9650
- .align 2, 0
-_080F95D8: .4byte gUnknown_020388C0
-_080F95DC: .4byte gSpriteTemplate_83E59D0
-_080F95E0: .4byte gSprites
-_080F95E4: .4byte 0x0000ffff
-_080F95E8:
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x34]
- b _080F977A
-_080F95F6:
- ldr r0, _080F9660
- ldrb r1, [r0, 0x1]
- adds r5, r0, 0
- cmp r1, 0xFF
- beq _080F9602
- b _080F977A
-_080F9602:
- ldr r0, _080F9664
- lsls r1, r3, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- strb r0, [r5, 0x1]
- ldr r3, _080F9668
- ldrb r1, [r5, 0x1]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r4, [r0, 0x32]
- ldrb r0, [r5]
- cmp r0, 0xFF
- beq _080F966C
- ldrb r0, [r5, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x26
- ldrsh r0, [r0, r2]
- negs r0, r0
- strh r0, [r1, 0x26]
- ldrb r0, [r5, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5]
-_080F9650:
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x34]
- strh r0, [r1, 0x34]
- b _080F977A
- .align 2, 0
-_080F9660: .4byte gUnknown_020388C0
-_080F9664: .4byte gSpriteTemplate_83E59D0
-_080F9668: .4byte gSprites
-_080F966C:
- ldrb r0, [r5, 0x1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r0, 0
- strh r0, [r1, 0x34]
- b _080F977A
-_080F967C:
- ldr r0, _080F96E4
- ldrb r1, [r0, 0x2]
- adds r5, r0, 0
- cmp r1, 0xFF
- bne _080F977A
- ldr r0, _080F96E8
- lsls r1, r3, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- strb r0, [r5, 0x2]
- ldr r3, _080F96EC
- ldrb r1, [r5, 0x2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldr r1, _080F96F0
- strh r1, [r0, 0x2E]
- ldrb r0, [r5, 0x3]
- cmp r0, 0xFF
- beq _080F96F4
- ldrb r0, [r5, 0x2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0x3]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x24
- ldrsh r0, [r0, r2]
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrb r0, [r5, 0x2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0x3]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x30]
- b _080F9778
- .align 2, 0
-_080F96E4: .4byte gUnknown_020388C0
-_080F96E8: .4byte gSpriteTemplate_83E59E8
-_080F96EC: .4byte gSprites
-_080F96F0: .4byte 0x0000ffff
-_080F96F4:
- ldrb r0, [r5, 0x2]
- b _080F976E
-_080F96F8:
- ldr r0, _080F9760
- ldrb r1, [r0, 0x3]
- adds r5, r0, 0
- cmp r1, 0xFF
- bne _080F977A
- ldr r0, _080F9764
- lsls r1, r3, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0
- bl CreateSprite
- strb r0, [r5, 0x3]
- ldr r3, _080F9768
- ldrb r1, [r5, 0x3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r1, 0x1
- strh r1, [r0, 0x2E]
- ldrb r0, [r5, 0x2]
- cmp r0, 0xFF
- beq _080F976C
- ldrb r0, [r5, 0x3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0x2]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- movs r2, 0x24
- ldrsh r0, [r0, r2]
- negs r0, r0
- strh r0, [r1, 0x24]
- ldrb r0, [r5, 0x3]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrb r2, [r5, 0x2]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r3
- ldrh r0, [r0, 0x30]
- b _080F9778
- .align 2, 0
-_080F9760: .4byte gUnknown_020388C0
-_080F9764: .4byte gSpriteTemplate_83E59E8
-_080F9768: .4byte gSprites
-_080F976C:
- ldrb r0, [r5, 0x3]
-_080F976E:
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- movs r0, 0
-_080F9778:
- strh r0, [r1, 0x30]
-_080F977A:
- adds r0, r4, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F9798
- adds r0, r1
- movs r1, 0x1
- ands r1, r4
- bl StartSpriteAnim
-_080F9790:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9798: .4byte gSprites
- thumb_func_end sub_80F953C
-
- thumb_func_start sub_80F979C
-sub_80F979C: @ 80F979C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- cmp r2, 0x3
- bhi _080F97D4
- ldr r0, _080F97D8
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _080F97D4
- ldr r2, _080F97DC
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- adds r1, 0x3E
- movs r0, 0x1
- adds r2, r3, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1]
-_080F97D4:
- pop {r0}
- bx r0
- .align 2, 0
-_080F97D8: .4byte gUnknown_020388C0
-_080F97DC: .4byte gSprites
- thumb_func_end sub_80F979C
-
- thumb_func_start SetBgTilemapBuffer
-SetBgTilemapBuffer: @ 80F97E0
- push {r4,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x3
- bhi _080F9808
- ldr r0, _080F9810
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080F9808
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080F9814
- adds r0, r1
- bl DestroySprite
- movs r0, 0xFF
- strb r0, [r4]
-_080F9808:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9810: .4byte gUnknown_020388C0
-_080F9814: .4byte gSprites
- thumb_func_end SetBgTilemapBuffer
-
- thumb_func_start InitMenuInUpperLeftCornerPlaySoundWhenAPressed
-InitMenuInUpperLeftCornerPlaySoundWhenAPressed: @ 80F9818
- push {lr}
- ldr r0, _080F9824
- bl LoadSpritePalette
- pop {r0}
- bx r0
- .align 2, 0
-_080F9824: .4byte gUnknown_083E5968
- thumb_func_end InitMenuInUpperLeftCornerPlaySoundWhenAPressed
-
- thumb_func_start BuyMenuFreeMemory
-BuyMenuFreeMemory: @ 80F9828
- push {lr}
- movs r0, 0x6
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- thumb_func_end BuyMenuFreeMemory
-
- thumb_func_start sub_80F9834
-sub_80F9834: @ 80F9834
- push {lr}
- adds r2, r0, 0
- movs r1, 0x30
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080F9848
- ldrh r0, [r2, 0x2E]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
-_080F9848:
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _080F9858
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x26]
- adds r0, r1
- strh r0, [r2, 0x26]
-_080F9858:
- ldrh r1, [r2, 0x30]
- adds r1, 0x1
- movs r3, 0
- strh r1, [r2, 0x30]
- ldrh r0, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x34]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x2
- ble _080F9870
- strh r3, [r2, 0x30]
-_080F9870:
- movs r1, 0x34
- ldrsh r0, [r2, r1]
- cmp r0, 0x2
- ble _080F987A
- strh r3, [r2, 0x34]
-_080F987A:
- movs r0, 0x24
- ldrsh r1, [r2, r0]
- cmp r1, 0x8
- beq _080F988A
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- bne _080F988C
-_080F988A:
- strh r3, [r2, 0x24]
-_080F988C:
- movs r0, 0x26
- ldrsh r1, [r2, r0]
- cmp r1, 0x8
- beq _080F989C
- movs r0, 0x8
- negs r0, r0
- cmp r1, r0
- bne _080F98A0
-_080F989C:
- movs r0, 0
- strh r0, [r2, 0x26]
-_080F98A0:
- pop {r0}
- bx r0
- thumb_func_end sub_80F9834
-
- thumb_func_start sub_80F98A4
-sub_80F98A4: @ 80F98A4
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080F98D0
- adds r3, r1, r0
- ldrb r0, [r3]
- cmp r0, 0xFF
- beq _080F98CA
- cmp r1, 0x3
- bhi _080F98CA
- ldr r2, _080F98D4
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080F98D8
- str r1, [r0]
-_080F98CA:
- pop {r0}
- bx r0
- .align 2, 0
-_080F98D0: .4byte gUnknown_020388C0
-_080F98D4: .4byte gSprites
-_080F98D8: .4byte SpriteCallbackDummy
- thumb_func_end sub_80F98A4
-
- thumb_func_start sub_80F98DC
-sub_80F98DC: @ 80F98DC
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080F9908
- adds r3, r1, r0
- ldrb r0, [r3]
- cmp r0, 0xFF
- beq _080F9902
- cmp r1, 0x3
- bhi _080F9902
- ldr r2, _080F990C
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r2, 0x1C
- adds r0, r2
- ldr r1, _080F9910
- str r1, [r0]
-_080F9902:
- pop {r0}
- bx r0
- .align 2, 0
-_080F9908: .4byte gUnknown_020388C0
-_080F990C: .4byte gSprites
-_080F9910: .4byte sub_80F9834
- thumb_func_end sub_80F98DC
-
- thumb_func_start sub_80F9914
-sub_80F9914: @ 80F9914
- push {r4,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _080F9964
- adds r4, r1, r0
- ldrb r0, [r4]
- cmp r0, 0xFF
- beq _080F995C
- cmp r1, 0x3
- bhi _080F995C
- ldr r3, _080F9968
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r2, 0
- strh r2, [r0, 0x24]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x26]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x30]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x34]
-_080F995C:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9964: .4byte gUnknown_020388C0
-_080F9968: .4byte gSprites
- thumb_func_end sub_80F9914
-
- thumb_func_start sub_80F996C
-sub_80F996C: @ 80F996C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80F98A4
- adds r0, r4, 0
- bl sub_80F9914
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80F996C
-
- thumb_func_start sub_80F9988
-sub_80F9988: @ 80F9988
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r3, r1, 24
- ldr r0, _080F99C4
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0xFF
- beq _080F99BE
- cmp r2, 0x3
- bhi _080F99BE
- ldr r2, _080F99C8
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- movs r0, 0x3
- adds r2, r3, 0
- ands r2, r0
- lsls r2, 2
- ldrb r3, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r3
- orrs r0, r2
- strb r0, [r1, 0x5]
-_080F99BE:
- pop {r0}
- bx r0
- .align 2, 0
-_080F99C4: .4byte gUnknown_020388C0
-_080F99C8: .4byte gSprites
- thumb_func_end sub_80F9988
-
- thumb_func_start sub_80F99CC
-sub_80F99CC: @ 80F99CC
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _080F9A04
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080F9A08
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- movs r0, 0x2
- strh r0, [r1, 0x8]
- subs r0, 0x3
- str r2, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080F9A04: .4byte sub_80F9A8C
-_080F9A08: .4byte gTasks
- thumb_func_end sub_80F99CC
-
- thumb_func_start sub_80F9A0C
-sub_80F9A0C: @ 80F9A0C
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _080F9A44
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080F9A48
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- movs r0, 0x3
- strh r0, [r1, 0x8]
- subs r0, 0x4
- str r2, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080F9A44: .4byte sub_80F9A8C
-_080F9A48: .4byte gTasks
- thumb_func_end sub_80F9A0C
-
- thumb_func_start sub_80F9A4C
-sub_80F9A4C: @ 80F9A4C
- push {lr}
- sub sp, 0x4
- bl ScriptContext2_Enable
- ldr r0, _080F9A84
- movs r1, 0xA
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080F9A88
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0
- movs r0, 0x7
- strh r0, [r1, 0x8]
- subs r0, 0x8
- str r2, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_080F9A84: .4byte sub_80F9A8C
-_080F9A88: .4byte gTasks
- thumb_func_end sub_80F9A4C
-
- thumb_func_start sub_80F9A8C
-sub_80F9A8C: @ 80F9A8C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r2, _080F9AC4
- ldrb r1, [r2, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080F9ABE
- ldrb r0, [r2, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r2, 0x8]
- ldr r1, _080F9AC8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldrb r0, [r0, 0x8]
- movs r1, 0
- bl sub_806AFAC
- adds r0, r4, 0
- bl DestroyTask
-_080F9ABE:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9AC4: .4byte gPaletteFade
-_080F9AC8: .4byte gTasks
- thumb_func_end sub_80F9A8C
-
- thumb_func_start sub_80F9ACC
-sub_80F9ACC: @ 80F9ACC
- push {r4,r5,lr}
- ldr r1, _080F9AEC
- movs r2, 0x99
- lsls r2, 2
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0x7
- bls _080F9AE2
- b _080F9BF6
-_080F9AE2:
- lsls r0, 2
- ldr r1, _080F9AF0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F9AEC: .4byte 0x0201b000
-_080F9AF0: .4byte _080F9AF4
- .align 2, 0
-_080F9AF4:
- .4byte _080F9B14
- .4byte _080F9B54
- .4byte _080F9B5A
- .4byte _080F9B6E
- .4byte _080F9B98
- .4byte _080F9B9E
- .4byte _080F9BB0
- .4byte _080F9BC8
-_080F9B14:
- ldr r0, _080F9B3C
- adds r5, r4, r0
- movs r1, 0
- ldrsh r3, [r5, r1]
- ldr r0, _080F9B40
- ldrb r0, [r0]
- cmp r3, r0
- bge _080F9B48
- movs r2, 0x98
- lsls r2, 2
- adds r0, r4, r2
- ldrb r0, [r0]
- ldrb r1, [r5]
- movs r2, 0x64
- muls r2, r3
- ldr r3, _080F9B44
- adds r2, r3
- bl sub_806D90C
- b _080F9BF0
- .align 2, 0
-_080F9B3C: .4byte 0x00000266
-_080F9B40: .4byte gPlayerPartyCount
-_080F9B44: .4byte gPlayerParty
-_080F9B48:
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r4, r0
- b _080F9BBC
-_080F9B54:
- bl sub_806DA98
- b _080F9BB4
-_080F9B5A:
- movs r1, 0x98
- lsls r1, 2
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_806DC34
- movs r2, 0x99
- lsls r2, 2
- adds r1, r4, r2
- b _080F9BBC
-_080F9B6E:
- movs r1, 0x98
- lsls r1, 2
- adds r0, r4, r1
- ldrb r0, [r0]
- ldr r2, _080F9B94
- adds r5, r4, r2
- ldrb r1, [r5]
- bl sub_806BD58
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F9BF0
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r4, r0
- b _080F9BBC
- .align 2, 0
-_080F9B94: .4byte 0x00000266
-_080F9B98:
- bl sub_806E334
- b _080F9BB4
-_080F9B9E:
- bl sub_806E0C4
- ldr r1, _080F9BAC
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- b _080F9BBC
- .align 2, 0
-_080F9BAC: .4byte 0x0201b000
-_080F9BB0:
- bl sub_80F9C00
-_080F9BB4:
- ldr r1, _080F9BC4
- movs r2, 0x99
- lsls r2, 2
- adds r1, r2
-_080F9BBC:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080F9BF6
- .align 2, 0
-_080F9BC4: .4byte 0x0201b000
-_080F9BC8:
- ldr r0, _080F9BEC
- adds r5, r4, r0
- ldrb r0, [r5]
- bl sub_806B58C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F9BF0
- movs r1, 0
- strh r1, [r5]
- movs r2, 0x99
- lsls r2, 2
- adds r0, r4, r2
- strh r1, [r0]
- movs r0, 0x1
- b _080F9BF8
- .align 2, 0
-_080F9BEC: .4byte 0x00000266
-_080F9BF0:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080F9BF6:
- movs r0, 0
-_080F9BF8:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F9ACC
-
- thumb_func_start sub_80F9C00
-sub_80F9C00: @ 80F9C00
- push {r4,lr}
- movs r4, 0
- b _080F9C58
-_080F9C06:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080F9C24
- adds r0, r1
- bl sub_80AE47C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _080F9C52
- lsls r0, 2
- ldr r1, _080F9C28
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F9C24: .4byte gPlayerParty
-_080F9C28: .4byte _080F9C2C
- .align 2, 0
-_080F9C2C:
- .4byte _080F9C40
- .4byte _080F9C4A
- .4byte _080F9C4A
- .4byte _080F9C40
- .4byte _080F9C40
-_080F9C40:
- adds r0, r4, 0
- movs r1, 0x7E
- bl sub_806BC3C
- b _080F9C52
-_080F9C4A:
- adds r0, r4, 0
- movs r1, 0x70
- bl sub_806BC3C
-_080F9C52:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080F9C58:
- ldr r0, _080F9C68
- ldrb r0, [r0]
- cmp r4, r0
- bcc _080F9C06
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9C68: .4byte gPlayerPartyCount
- thumb_func_end sub_80F9C00
-
- thumb_func_start sub_80F9C6C
-sub_80F9C6C: @ 80F9C6C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080F9C94
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080F9CD8
- adds r0, r4, 0
- bl sub_806BD80
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _080F9C98
- cmp r0, 0x2
- beq _080F9CC0
- b _080F9CD8
- .align 2, 0
-_080F9C94: .4byte gPaletteFade
-_080F9C98:
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_806CA38
- ldr r1, _080F9CB8
- strb r0, [r1]
- ldr r2, _080F9CBC
- ldrb r0, [r1]
- strh r0, [r2]
- adds r0, r4, 0
- bl sub_8123138
- b _080F9CD8
- .align 2, 0
-_080F9CB8: .4byte gUnknown_02038694
-_080F9CBC: .4byte gUnknown_0202E8CC
-_080F9CC0:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080F9CE0
- movs r0, 0xFF
- strb r0, [r1]
- ldr r1, _080F9CE4
- movs r0, 0xFF
- strh r0, [r1]
- adds r0, r4, 0
- bl sub_8123138
-_080F9CD8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9CE0: .4byte gUnknown_02038694
-_080F9CE4: .4byte gUnknown_0202E8CC
- thumb_func_end sub_80F9C6C
-
- thumb_func_start sub_80F9CE8
-sub_80F9CE8: @ 80F9CE8
- push {r4,r5,lr}
- ldr r1, _080F9D08
- movs r2, 0x99
- lsls r2, 2
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- adds r4, r1, 0
- cmp r0, 0x7
- bls _080F9CFE
- b _080F9E12
-_080F9CFE:
- lsls r0, 2
- ldr r1, _080F9D0C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080F9D08: .4byte 0x0201b000
-_080F9D0C: .4byte _080F9D10
- .align 2, 0
-_080F9D10:
- .4byte _080F9D30
- .4byte _080F9D70
- .4byte _080F9D76
- .4byte _080F9D8A
- .4byte _080F9DB4
- .4byte _080F9DBA
- .4byte _080F9DCC
- .4byte _080F9DE4
-_080F9D30:
- ldr r0, _080F9D58
- adds r5, r4, r0
- movs r1, 0
- ldrsh r3, [r5, r1]
- ldr r0, _080F9D5C
- ldrb r0, [r0]
- cmp r3, r0
- bge _080F9D64
- movs r2, 0x98
- lsls r2, 2
- adds r0, r4, r2
- ldrb r0, [r0]
- ldrb r1, [r5]
- movs r2, 0x64
- muls r2, r3
- ldr r3, _080F9D60
- adds r2, r3
- bl sub_806D90C
- b _080F9E0C
- .align 2, 0
-_080F9D58: .4byte 0x00000266
-_080F9D5C: .4byte gPlayerPartyCount
-_080F9D60: .4byte gPlayerParty
-_080F9D64:
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r4, r0
- b _080F9DD8
-_080F9D70:
- bl sub_806DA98
- b _080F9DD0
-_080F9D76:
- movs r1, 0x98
- lsls r1, 2
- adds r0, r4, r1
- ldrb r0, [r0]
- bl sub_806DC34
- movs r2, 0x99
- lsls r2, 2
- adds r1, r4, r2
- b _080F9DD8
-_080F9D8A:
- movs r1, 0x98
- lsls r1, 2
- adds r0, r4, r1
- ldrb r0, [r0]
- ldr r2, _080F9DB0
- adds r5, r4, r2
- ldrb r1, [r5]
- bl sub_806BD58
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F9E0C
- movs r0, 0
- strh r0, [r5]
- movs r0, 0x99
- lsls r0, 2
- adds r1, r4, r0
- b _080F9DD8
- .align 2, 0
-_080F9DB0: .4byte 0x00000266
-_080F9DB4:
- bl sub_806E334
- b _080F9DD0
-_080F9DBA:
- bl sub_806E0C4
- ldr r1, _080F9DC8
- movs r0, 0x99
- lsls r0, 2
- adds r1, r0
- b _080F9DD8
- .align 2, 0
-_080F9DC8: .4byte 0x0201b000
-_080F9DCC:
- bl sub_80F9E1C
-_080F9DD0:
- ldr r1, _080F9DE0
- movs r2, 0x99
- lsls r2, 2
- adds r1, r2
-_080F9DD8:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080F9E12
- .align 2, 0
-_080F9DE0: .4byte 0x0201b000
-_080F9DE4:
- ldr r0, _080F9E08
- adds r5, r4, r0
- ldrb r0, [r5]
- bl sub_806B58C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080F9E0C
- movs r1, 0
- strh r1, [r5]
- movs r2, 0x99
- lsls r2, 2
- adds r0, r4, r2
- strh r1, [r0]
- movs r0, 0x1
- b _080F9E14
- .align 2, 0
-_080F9E08: .4byte 0x00000266
-_080F9E0C:
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080F9E12:
- movs r0, 0
-_080F9E14:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80F9CE8
-
- thumb_func_start sub_80F9E1C
-sub_80F9E1C: @ 80F9E1C
- push {r4,lr}
- movs r4, 0
- b _080F9E52
-_080F9E22:
- movs r0, 0x64
- muls r0, r4
- ldr r1, _080F9E40
- adds r0, r1
- bl sub_8040574
- lsls r0, 24
- cmp r0, 0
- bne _080F9E44
- adds r0, r4, 0
- movs r1, 0x9A
- bl sub_806BC3C
- b _080F9E4C
- .align 2, 0
-_080F9E40: .4byte gPlayerParty
-_080F9E44:
- adds r0, r4, 0
- movs r1, 0x8C
- bl sub_806BC3C
-_080F9E4C:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
-_080F9E52:
- ldr r0, _080F9E60
- ldrb r0, [r0]
- cmp r4, r0
- bcc _080F9E22
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9E60: .4byte gPlayerPartyCount
- thumb_func_end sub_80F9E1C
-
- thumb_func_start sub_80F9E64
-sub_80F9E64: @ 80F9E64
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _080F9E8C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080F9EE2
- adds r0, r6, 0
- bl sub_806BD80
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x1
- beq _080F9E90
- cmp r0, 0x2
- beq _080F9ED0
- b _080F9EE2
- .align 2, 0
-_080F9E8C: .4byte gPaletteFade
-_080F9E90:
- movs r0, 0x5
- bl PlaySE
- ldr r4, _080F9EC4
- adds r0, r6, 0
- bl sub_806CA38
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- ldr r5, _080F9EC8
- ldrh r1, [r4]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080F9ECC
- adds r0, r1
- bl sub_8040574
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- adds r0, r6, 0
- bl sub_8123138
- b _080F9EE2
- .align 2, 0
-_080F9EC4: .4byte gUnknown_0202E8CC
-_080F9EC8: .4byte gUnknown_0202E8CE
-_080F9ECC: .4byte gPlayerParty
-_080F9ED0:
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080F9EE8
- movs r0, 0xFF
- strh r0, [r1]
- adds r0, r6, 0
- bl sub_8123138
-_080F9EE2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9EE8: .4byte gUnknown_0202E8CC
- thumb_func_end sub_80F9E64
-
- thumb_func_start sub_80F9EEC
-sub_80F9EEC: @ 80F9EEC
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _080F9F20
- ldr r1, _080F9F24
- ldrb r1, [r1]
- ldr r2, _080F9F28
- ldrb r2, [r2]
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- ldr r3, _080F9F2C
- movs r4, 0
- str r4, [sp]
- bl sub_809D9F0
- ldr r1, _080F9F30
- movs r0, 0x3
- strb r0, [r1, 0x8]
- ldr r1, _080F9F34
- ldr r0, _080F9F38
- str r0, [r1]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9F20: .4byte gPlayerParty
-_080F9F24: .4byte gUnknown_0202E8CC
-_080F9F28: .4byte gPlayerPartyCount
-_080F9F2C: .4byte c2_exit_to_overworld_2_switch
-_080F9F30: .4byte 0x02018000
-_080F9F34: .4byte gUnknown_0300485C
-_080F9F38: .4byte sub_8080990
- thumb_func_end sub_80F9EEC
-
- thumb_func_start sub_80F9F3C
-sub_80F9F3C: @ 80F9F3C
- push {r4,r5,lr}
- ldr r1, _080F9F78
- movs r0, 0
- strh r0, [r1]
- movs r4, 0
- adds r5, r1, 0
-_080F9F48:
- ldr r0, _080F9F7C
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080F9F80
- adds r0, r1
- adds r1, r4, 0
- adds r1, 0xD
- bl GetMonData
- cmp r0, 0
- beq _080F9F66
- ldrh r0, [r5]
- adds r0, 0x1
- strh r0, [r5]
-_080F9F66:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _080F9F48
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9F78: .4byte gScriptResult
-_080F9F7C: .4byte gUnknown_0202E8CC
-_080F9F80: .4byte gPlayerParty
- thumb_func_end sub_80F9F3C
-
- thumb_func_start sub_80F9F84
-sub_80F9F84: @ 80F9F84
- push {r4,r5,lr}
- ldr r0, _080F9FC4
- ldrh r1, [r0]
- movs r0, 0x64
- adds r5, r1, 0
- muls r5, r0
- ldr r0, _080F9FC8
- adds r5, r0
- ldr r0, _080F9FCC
- ldrh r1, [r0]
- adds r1, 0xD
- adds r0, r5, 0
- bl GetMonData
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- ldr r1, _080F9FD0
- adds r0, r5, 0
- bl GetMonNickname
- ldr r0, _080F9FD4
- movs r1, 0xD
- muls r1, r4
- ldr r2, _080F9FD8
- adds r1, r2
- bl StringCopy
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080F9FC4: .4byte gUnknown_0202E8CC
-_080F9FC8: .4byte gPlayerParty
-_080F9FCC: .4byte gUnknown_0202E8CE
-_080F9FD0: .4byte gStringVar1
-_080F9FD4: .4byte gStringVar2
-_080F9FD8: .4byte gMoveNames
- thumb_func_end sub_80F9F84
-
- thumb_func_start sub_80F9FDC
-sub_80F9FDC: @ 80F9FDC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- mov r8, r0
- adds r5, r1, 0
- adds r4, r2, 0
- lsls r5, 24
- lsrs r5, 24
- lsls r4, 24
- lsrs r4, 24
- adds r0, r5, 0
- adds r0, 0xD
- str r0, [sp, 0x8]
- mov r0, r8
- ldr r1, [sp, 0x8]
- bl GetMonData
- mov r1, sp
- adds r1, 0x2
- str r1, [sp, 0x14]
- strh r0, [r1]
- adds r3, r4, 0
- adds r3, 0xD
- str r3, [sp, 0xC]
- mov r0, r8
- adds r1, r3, 0
- bl GetMonData
- mov r1, sp
- strh r0, [r1]
- adds r7, r5, 0
- adds r7, 0x11
- str r7, [sp, 0x10]
- mov r0, r8
- adds r1, r7, 0
- bl GetMonData
- mov r1, sp
- adds r1, 0x5
- str r1, [sp, 0x18]
- strb r0, [r1]
- adds r3, r4, 0
- adds r3, 0x11
- str r3, [sp, 0x1C]
- mov r0, r8
- adds r1, r3, 0
- bl GetMonData
- add r7, sp, 0x4
- mov r10, r7
- strb r0, [r7]
- mov r0, r8
- movs r1, 0x15
- bl GetMonData
- mov r6, sp
- adds r6, 0x6
- strb r0, [r6]
- ldr r1, _080FA0D8
- adds r0, r5, r1
- ldrb r0, [r0]
- mov r9, r0
- ldrb r0, [r6]
- adds r2, r0, 0
- mov r3, r9
- ands r2, r3
- lsls r5, 1
- asrs r2, r5
- lsls r2, 24
- lsrs r2, 24
- adds r1, r4, r1
- ldrb r3, [r1]
- adds r1, r0, 0
- ands r1, r3
- lsls r4, 1
- asrs r1, r4
- lsls r1, 24
- lsrs r1, 24
- mov r7, r9
- bics r0, r7
- strb r0, [r6]
- ldrb r0, [r6]
- bics r0, r3
- strb r0, [r6]
- lsls r2, r4
- lsls r1, r5
- adds r2, r1
- ldrb r0, [r6]
- orrs r0, r2
- strb r0, [r6]
- mov r0, r8
- ldr r1, [sp, 0x8]
- mov r2, sp
- bl SetMonData
- mov r0, r8
- ldr r1, [sp, 0xC]
- ldr r2, [sp, 0x14]
- bl SetMonData
- mov r0, r8
- ldr r1, [sp, 0x10]
- mov r2, r10
- bl SetMonData
- mov r0, r8
- ldr r1, [sp, 0x1C]
- ldr r2, [sp, 0x18]
- bl SetMonData
- mov r0, r8
- movs r1, 0x15
- adds r2, r6, 0
- bl SetMonData
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA0D8: .4byte gUnknown_08208238
- thumb_func_end sub_80F9FDC
-
- thumb_func_start sub_80FA0DC
-sub_80FA0DC: @ 80FA0DC
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- ldr r0, _080FA13C
- mov r8, r0
- ldrh r0, [r0]
- movs r6, 0x64
- muls r0, r6
- ldr r5, _080FA140
- adds r0, r5
- ldr r4, _080FA144
- ldrb r2, [r4]
- movs r1, 0
- bl SetMonMoveSlot
- mov r1, r8
- ldrh r0, [r1]
- muls r0, r6
- adds r0, r5
- ldrb r1, [r4]
- bl RemoveMonPPBonus
- ldrh r4, [r4]
- cmp r4, 0x2
- bhi _080FA130
-_080FA10E:
- ldr r0, _080FA13C
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080FA140
- adds r0, r1
- lsls r1, r4, 24
- lsrs r1, 24
- adds r4, 0x1
- lsls r2, r4, 24
- lsrs r2, 24
- bl sub_80F9FDC
- lsls r4, 16
- lsrs r4, 16
- cmp r4, 0x2
- bls _080FA10E
-_080FA130:
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA13C: .4byte gUnknown_0202E8CC
-_080FA140: .4byte gPlayerParty
-_080FA144: .4byte gUnknown_0202E8CE
- thumb_func_end sub_80FA0DC
-
- thumb_func_start sub_80FA148
-sub_80FA148: @ 80FA148
- push {r4,lr}
- ldr r0, _080FA170
- ldrh r1, [r0]
- movs r0, 0x64
- muls r0, r1
- ldr r1, _080FA174
- adds r0, r1
- ldr r4, _080FA178
- movs r1, 0
- strh r1, [r4]
- movs r1, 0x2D
- bl GetMonData
- cmp r0, 0
- beq _080FA16A
- movs r0, 0x1
- strh r0, [r4]
-_080FA16A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA170: .4byte gUnknown_0202E8CC
-_080FA174: .4byte gPlayerParty
-_080FA178: .4byte gScriptResult
- thumb_func_end sub_80FA148
-
- thumb_func_start sub_80FA17C
-sub_80FA17C: @ 80FA17C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r6, 0
- ldr r7, _080FA1B4
- ldr r0, _080FA1B8
- adds r0, r7
- mov r9, r0
- movs r1, 0x1
- mov r8, r1
-_080FA192:
- movs r0, 0xA
- bl sub_80EB72C
- lsls r4, r6, 3
- adds r5, r4, r7
- ldr r2, _080FA1BC
- adds r1, r5, r2
- strh r0, [r1]
- bl Random
- mov r1, r8
- ands r1, r0
- cmp r1, 0
- beq _080FA1C0
- movs r0, 0xC
- b _080FA1C2
- .align 2, 0
-_080FA1B4: .4byte gSaveBlock1
-_080FA1B8: .4byte 0x00002dd4
-_080FA1BC: .4byte 0x00002dd8
-_080FA1C0:
- movs r0, 0xD
-_080FA1C2:
- bl sub_80EB72C
- ldr r2, _080FA214
- adds r1, r5, r2
- strh r0, [r1]
- bl Random
- adds r3, r4, r7
- mov r2, r8
- ands r2, r0
- ldr r5, _080FA218
- adds r3, r5
- lsls r2, 6
- ldrb r0, [r3]
- movs r5, 0x41
- negs r5, r5
- adds r1, r5, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r3]
- mov r1, r9
- adds r0, r4, r1
- bl sub_80FA740
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _080FA192
- ldr r0, _080FA21C
- movs r1, 0x5
- movs r2, 0
- bl sub_80FA46C
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA214: .4byte 0x00002dda
-_080FA218: .4byte 0x00002dd5
-_080FA21C: .4byte gSaveBlock1 + 0x2DD4
- thumb_func_end sub_80FA17C
-
- thumb_func_start sub_80FA220
-sub_80FA220: @ 80FA220
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080FA236
- b _080FA34E
-_080FA236:
- lsls r0, r1, 2
- adds r0, r1
- str r0, [sp]
- movs r0, 0
- mov r10, r0
- movs r1, 0x7F
- mov r9, r1
- movs r2, 0x80
- negs r2, r2
- mov r8, r2
-_080FA24A:
- ldr r2, [sp]
- mov r4, r10
- lsls r0, r4, 3
- ldr r1, _080FA28C
- adds r5, r0, r1
- ldrb r6, [r5, 0x1]
- movs r0, 0x40
- ands r0, r6
- cmp r0, 0
- bne _080FA2A0
- ldrb r4, [r5]
- lsls r3, r4, 25
- lsrs r1, r3, 25
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r1, r0
- bcc _080FA290
- adds r0, r1, 0
- subs r0, r2
- mov r2, r9
- ands r0, r2
- mov r1, r8
- ands r1, r4
- orrs r1, r0
- strb r1, [r5]
- movs r0, 0x7F
- ands r1, r0
- cmp r1, 0
- bne _080FA336
- movs r0, 0x40
- orrs r0, r6
- b _080FA334
- .align 2, 0
-_080FA28C: .4byte gSaveBlock1 + 0x2DD4
-_080FA290:
- lsrs r0, r3, 25
- subs r2, r0
- mov r0, r8
- ands r0, r4
- strb r0, [r5]
- movs r0, 0x40
- orrs r0, r6
- strb r0, [r5, 0x1]
-_080FA2A0:
- ldrb r7, [r5]
- lsls r0, r7, 25
- lsrs r0, 25
- adds r4, r0, r2
- ldrh r0, [r5]
- lsls r6, r0, 18
- lsls r0, r4, 16
- lsrs r0, 16
- lsrs r1, r6, 25
- cmp r0, r1
- bls _080FA310
- adds r0, r4, 0
- bl __umodsi3
- adds r3, r0, 0
- lsrs r1, r6, 25
- adds r0, r4, 0
- str r3, [sp, 0x4]
- bl __udivsi3
- adds r4, r0, 0
- movs r0, 0x1
- eors r4, r0
- ands r4, r0
- lsls r2, r4, 6
- ldrb r0, [r5, 0x1]
- movs r4, 0x41
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
- orrs r0, r2
- strb r0, [r5, 0x1]
- movs r1, 0x40
- ands r0, r1
- ldr r3, [sp, 0x4]
- cmp r0, 0
- beq _080FA2FA
- adds r1, r3, 0
- mov r0, r9
- ands r1, r0
- mov r0, r8
- ands r0, r7
- orrs r0, r1
- strb r0, [r5]
- b _080FA336
-_080FA2FA:
- ldrh r0, [r5]
- lsls r0, 18
- lsrs r0, 25
- subs r0, r3
- mov r1, r9
- ands r0, r1
- mov r1, r8
- ands r1, r7
- orrs r1, r0
- strb r1, [r5]
- b _080FA336
-_080FA310:
- mov r2, r9
- ands r4, r2
- mov r0, r8
- ands r0, r7
- orrs r0, r4
- strb r0, [r5]
- lsls r0, 25
- ldrh r1, [r5]
- lsls r1, 18
- lsrs r0, 25
- lsrs r1, 25
- cmp r0, r1
- bne _080FA336
- ldrb r0, [r5, 0x1]
- movs r4, 0x41
- negs r4, r4
- adds r1, r4, 0
- ands r0, r1
-_080FA334:
- strb r0, [r5, 0x1]
-_080FA336:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- cmp r0, 0x4
- bls _080FA24A
- ldr r0, _080FA360
- movs r1, 0x5
- movs r2, 0
- bl sub_80FA46C
-_080FA34E:
- 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
-_080FA360: .4byte gSaveBlock1 + 0x2DD4
- thumb_func_end sub_80FA220
-
- thumb_func_start sub_80FA364
-sub_80FA364: @ 80FA364
- push {r4-r7,lr}
- sub sp, 0x8
- adds r4, r0, 0
- movs r0, 0
- movs r1, 0
- str r0, [sp]
- str r1, [sp, 0x4]
- adds r0, r4, 0
- bl sub_80FA7C8
- lsls r0, 24
- cmp r0, 0
- bne _080FA462
- ldr r5, _080FA3B4
- adds r0, r5, 0
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080FA3C8
- adds r0, r5, 0
- bl FlagSet
- ldr r0, _080FA3B8
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _080FA3C8
- ldr r1, _080FA3BC
- ldrh r2, [r4]
- ldr r3, _080FA3C0
- adds r0, r1, r3
- strh r2, [r0]
- ldrh r0, [r4, 0x2]
- ldr r2, _080FA3C4
- adds r1, r2
- strh r0, [r1]
- movs r0, 0x1
- b _080FA464
- .align 2, 0
-_080FA3B4: .4byte 0x00000833
-_080FA3B8: .4byte 0x00000834
-_080FA3BC: .4byte gSaveBlock1
-_080FA3C0: .4byte 0x00002dd8
-_080FA3C4: .4byte 0x00002dda
-_080FA3C8:
- ldrh r1, [r4, 0x2]
- lsls r1, 16
- ldrh r0, [r4]
- orrs r0, r1
- str r0, [sp, 0x4]
- movs r1, 0x80
- lsls r1, 7
- ldr r0, [sp]
- orrs r0, r1
- str r0, [sp]
- mov r0, sp
- bl sub_80FA740
- movs r6, 0
-_080FA3E4:
- lsls r4, r6, 3
- ldr r5, _080FA444
- adds r1, r4, r5
- mov r0, sp
- movs r2, 0
- bl atk90_changetypestoenemyattacktype
- lsls r0, 24
- adds r7, r4, 0
- cmp r0, 0
- beq _080FA450
- movs r3, 0x4
- ldr r0, _080FA448
- adds r0, r5
- mov r12, r0
- cmp r3, r6
- bls _080FA428
- mov r5, r12
- ldr r4, _080FA44C
-_080FA40A:
- lsls r2, r3, 3
- adds r2, r5
- adds r2, r4
- subs r3, 0x1
- lsls r0, r3, 3
- adds r0, r5
- adds r0, r4
- ldr r1, [r0, 0x4]
- ldr r0, [r0]
- str r0, [r2]
- str r1, [r2, 0x4]
- lsls r3, 16
- lsrs r3, 16
- cmp r3, r6
- bhi _080FA40A
-_080FA428:
- mov r3, r12
- adds r2, r7, r3
- ldr r0, _080FA44C
- adds r2, r0
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
- movs r0, 0
- cmp r6, 0
- bne _080FA464
- movs r0, 0x1
- b _080FA464
- .align 2, 0
-_080FA444: .4byte gSaveBlock1 + 0x2DD4
-_080FA448: .4byte 0xffffd22c
-_080FA44C: .4byte 0x00002dd4
-_080FA450:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _080FA3E4
- ldr r0, [sp]
- ldr r1, [sp, 0x4]
- str r0, [r5, 0x20]
- str r1, [r5, 0x24]
-_080FA462:
- movs r0, 0
-_080FA464:
- add sp, 0x8
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FA364
-
- thumb_func_start sub_80FA46C
-sub_80FA46C: @ 80FA46C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- mov r9, r0
- lsls r1, 16
- lsrs r7, r1, 16
- lsls r2, 24
- lsrs r2, 24
- mov r10, r2
- movs r2, 0
- cmp r2, r7
- bcs _080FA4D4
-_080FA488:
- adds r1, r2, 0x1
- lsls r0, r1, 16
- lsrs r5, r0, 16
- mov r8, r1
- cmp r5, r7
- bcs _080FA4CA
- lsls r0, r2, 3
- mov r1, r9
- adds r6, r1, r0
-_080FA49A:
- lsls r0, r5, 3
- mov r1, r9
- adds r4, r1, r0
- adds r0, r4, 0
- adds r1, r6, 0
- mov r2, r10
- bl atk90_changetypestoenemyattacktype
- lsls r0, 24
- cmp r0, 0
- beq _080FA4C0
- ldr r2, [r4]
- ldr r3, [r4, 0x4]
- ldr r0, [r6]
- ldr r1, [r6, 0x4]
- str r0, [r4]
- str r1, [r4, 0x4]
- str r2, [r6]
- str r3, [r6, 0x4]
-_080FA4C0:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, r7
- bcc _080FA49A
-_080FA4CA:
- mov r1, r8
- lsls r0, r1, 16
- lsrs r2, r0, 16
- cmp r2, r7
- bcc _080FA488
-_080FA4D4:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FA46C
-
- thumb_func_start sub_80FA4E4
-sub_80FA4E4: @ 80FA4E4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- adds r6, r0, 0
- adds r5, r1, 0
- bl GetLinkPlayerCount
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r4, 0
- cmp r4, r8
- bcs _080FA520
-_080FA500:
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- ldr r1, _080FA554
- adds r0, r1
- adds r1, r4, 0
- muls r1, r5
- adds r1, r6, r1
- movs r2, 0x28
- bl memcpy
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r8
- bcc _080FA500
-_080FA520:
- ldr r5, _080FA554
- movs r0, 0x80
- lsls r0, 1
- adds r3, r5, r0
- movs r7, 0
- movs r4, 0
- cmp r4, r8
- bcs _080FA588
-_080FA530:
- movs r6, 0
-_080FA532:
- adds r0, r5, 0
- adds r1, r7, 0
- str r3, [sp]
- bl sub_80FA828
- lsls r0, 16
- asrs r0, 16
- ldr r3, [sp]
- cmp r0, 0
- bge _080FA558
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- stm r3!, {r0,r1}
- adds r0, r7, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
- b _080FA572
- .align 2, 0
-_080FA554: .4byte 0x02007800
-_080FA558:
- lsls r1, r0, 3
- ldr r0, _080FA5B4
- adds r2, r1, r0
- ldrb r1, [r2]
- lsls r1, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bcs _080FA572
- ldr r0, [r5]
- ldr r1, [r5, 0x4]
- str r0, [r2]
- str r1, [r2, 0x4]
-_080FA572:
- adds r5, 0x8
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- cmp r6, 0x4
- bls _080FA532
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, r8
- bcc _080FA530
-_080FA588:
- ldr r4, _080FA5B4
- adds r0, r4, 0
- adds r1, r7, 0
- movs r2, 0x2
- bl sub_80FA46C
- adds r5, r4, 0
- ldr r3, _080FA5B8
- movs r4, 0
-_080FA59A:
- ldm r5!, {r0,r1}
- stm r3!, {r0,r1}
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080FA59A
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA5B4: .4byte 0x02007900
-_080FA5B8: .4byte gSaveBlock1 + 0x2DD4
- thumb_func_end sub_80FA4E4
-
- thumb_func_start sub_80FA5BC
-sub_80FA5BC: @ 80FA5BC
- push {lr}
- ldr r0, _080FA5D8
- ldrh r1, [r0]
- lsls r1, 3
- ldr r0, _080FA5DC
- adds r1, r0
- ldr r0, _080FA5E0
- adds r1, 0x4
- movs r2, 0x2
- movs r3, 0x1
- bl ConvertEasyChatWordsToString
- pop {r0}
- bx r0
- .align 2, 0
-_080FA5D8: .4byte gUnknown_0202E8CC
-_080FA5DC: .4byte gSaveBlock1 + 0x2DD4
-_080FA5E0: .4byte gStringVar1
- thumb_func_end sub_80FA5BC
-
- thumb_func_start sub_80FA5E4
-sub_80FA5E4: @ 80FA5E4
- push {r4,lr}
- movs r4, 0
- ldr r3, _080FA630
- ldr r1, _080FA634
- adds r0, r3, r1
- ldrb r1, [r0]
- lsls r1, 25
- lsrs r1, 25
- ldr r2, _080FA638
- adds r0, r3, r2
- ldrb r0, [r0]
- lsls r0, 25
- lsrs r0, 25
- subs r1, r0
- cmp r1, 0x1
- bgt _080FA626
- ldr r1, _080FA63C
- adds r0, r3, r1
- ldrb r1, [r0]
- movs r2, 0x40
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080FA626
- ldr r1, _080FA640
- adds r0, r3, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- ands r0, r1
- lsls r0, 24
- lsrs r0, 24
- negs r0, r0
- lsrs r4, r0, 31
-_080FA626:
- ldr r0, _080FA644
- strh r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA630: .4byte gSaveBlock1
-_080FA634: .4byte 0x00002dd4
-_080FA638: .4byte 0x00002ddc
-_080FA63C: .4byte 0x00002dd5
-_080FA640: .4byte 0x00002ddd
-_080FA644: .4byte gScriptResult
- thumb_func_end sub_80FA5E4
-
- thumb_func_start sub_80FA648
-sub_80FA648: @ 80FA648
- ldr r2, _080FA664
- ldr r0, _080FA668
- ldr r3, _080FA66C
- adds r1, r0, r3
- adds r3, 0x2
- adds r0, r3
- ldrh r0, [r0]
- ldrh r1, [r1]
- adds r0, r1
- movs r1, 0x7
- ands r0, r1
- strh r0, [r2]
- bx lr
- .align 2, 0
-_080FA664: .4byte gScriptResult
-_080FA668: .4byte gSaveBlock1
-_080FA66C: .4byte 0x00002dd8
- thumb_func_end sub_80FA648
-
- thumb_func_start atk90_changetypestoenemyattacktype
-atk90_changetypestoenemyattacktype: @ 80FA670
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r5, r1, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r2, 0
- cmp r2, 0x1
- beq _080FA6B6
- cmp r2, 0x1
- bgt _080FA68A
- cmp r2, 0
- beq _080FA690
- b _080FA732
-_080FA68A:
- cmp r0, 0x2
- beq _080FA6E2
- b _080FA732
-_080FA690:
- ldrb r0, [r3]
- lsls r1, r0, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bhi _080FA72E
- cmp r1, r0
- bcc _080FA6DE
- ldrh r0, [r3]
- lsls r3, r0, 18
- ldrh r0, [r5]
- lsls r2, r0, 18
- lsrs r1, r3, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bhi _080FA72E
- lsrs r1, r3, 25
- lsrs r0, r2, 25
- b _080FA6DA
-_080FA6B6:
- ldrh r0, [r3]
- lsls r4, r0, 18
- ldrh r0, [r5]
- lsls r2, r0, 18
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bhi _080FA72E
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bcc _080FA6DE
- ldrb r0, [r3]
- lsls r1, r0, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bhi _080FA72E
-_080FA6DA:
- cmp r1, r0
- bcs _080FA732
-_080FA6DE:
- movs r0, 0
- b _080FA73A
-_080FA6E2:
- ldrb r0, [r3]
- lsls r1, r0, 25
- ldrb r0, [r5]
- lsls r0, 25
- cmp r1, r0
- bhi _080FA72E
- cmp r1, r0
- bcc _080FA6DE
- ldrh r0, [r3]
- lsls r4, r0, 18
- ldrh r0, [r5]
- lsls r2, r0, 18
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bhi _080FA72E
- lsrs r1, r4, 25
- lsrs r0, r2, 25
- cmp r1, r0
- bcc _080FA6DE
- ldrh r1, [r3, 0x2]
- ldrh r0, [r5, 0x2]
- cmp r1, r0
- bhi _080FA72E
- cmp r1, r0
- bcc _080FA6DE
- ldrh r1, [r3, 0x4]
- ldrh r0, [r5, 0x4]
- cmp r1, r0
- bhi _080FA72E
- cmp r1, r0
- bcc _080FA6DE
- ldrh r1, [r3, 0x6]
- ldrh r0, [r5, 0x6]
- cmp r1, r0
- bhi _080FA72E
- cmp r1, r0
- bcc _080FA6DE
-_080FA72E:
- movs r0, 0x1
- b _080FA73A
-_080FA732:
- bl Random
- movs r1, 0x1
- ands r0, r1
-_080FA73A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end atk90_changetypestoenemyattacktype
-
- thumb_func_start sub_80FA740
-sub_80FA740: @ 80FA740
- push {r4,r5,lr}
- adds r5, r0, 0
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x62
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x32
- bls _080FA782
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x62
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x50
- bls _080FA782
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x62
- bl __umodsi3
- lsls r0, 16
- lsrs r4, r0, 16
-_080FA782:
- adds r1, r4, 0
- adds r1, 0x1E
- movs r0, 0x7F
- ands r1, r0
- lsls r1, 7
- ldrh r2, [r5]
- ldr r0, _080FA7C4
- ands r0, r2
- orrs r0, r1
- strh r0, [r5]
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0x1
- bl __modsi3
- adds r0, 0x1E
- movs r1, 0x7F
- ands r0, r1
- ldrb r2, [r5]
- movs r1, 0x80
- negs r1, r1
- ands r1, r2
- orrs r1, r0
- strb r1, [r5]
- bl Random
- strh r0, [r5, 0x2]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA7C4: .4byte 0xffffc07f
- thumb_func_end sub_80FA740
-
- thumb_func_start sub_80FA7C8
-sub_80FA7C8: @ 80FA7C8
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
-_080FA7CE:
- lsls r1, r4, 3
- ldr r0, _080FA7E4
- adds r1, r0
- adds r0, r5, 0
- bl sub_80FA7FC
- lsls r0, 24
- cmp r0, 0
- beq _080FA7E8
- movs r0, 0x1
- b _080FA7F4
- .align 2, 0
-_080FA7E4: .4byte gSaveBlock1 + 0x2DD8
-_080FA7E8:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x4
- bls _080FA7CE
- movs r0, 0
-_080FA7F4:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FA7C8
-
- thumb_func_start sub_80FA7FC
-sub_80FA7FC: @ 80FA7FC
- push {r4,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- movs r4, 0
-_080FA804:
- ldrh r1, [r3]
- ldrh r0, [r2]
- adds r2, 0x2
- adds r3, 0x2
- cmp r1, r0
- beq _080FA814
- movs r0, 0
- b _080FA820
-_080FA814:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1
- bls _080FA804
- movs r0, 0x1
-_080FA820:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FA7FC
-
- thumb_func_start sub_80FA828
-sub_80FA828: @ 80FA828
- push {r4-r7,lr}
- adds r7, r0, 0
- lsls r1, 16
- lsrs r5, r1, 16
- ldr r6, _080FA84C
- movs r4, 0
- cmp r4, r5
- bge _080FA862
-_080FA838:
- adds r1, r6, 0x4
- adds r0, r7, 0x4
- bl sub_80FA7FC
- lsls r0, 24
- cmp r0, 0
- beq _080FA850
- lsls r0, r4, 16
- asrs r0, 16
- b _080FA866
- .align 2, 0
-_080FA84C: .4byte 0x02007900
-_080FA850:
- adds r6, 0x8
- lsls r0, r4, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, r5
- blt _080FA838
-_080FA862:
- movs r0, 0x1
- negs r0, r0
-_080FA866:
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FA828
-
- thumb_func_start sub_80FA86C
-sub_80FA86C: @ 80FA86C
- push {r4,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- lsls r1, 16
- lsrs r1, 16
- movs r3, 0
- ldr r2, _080FA890
-_080FA87A:
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r0, r4
- bne _080FA894
- movs r0, 0x1
- ldrsb r0, [r2, r0]
- cmp r0, r1
- bne _080FA894
- adds r0, r3, 0x1
- b _080FA89E
- .align 2, 0
-_080FA890: .4byte gUnknown_083E5A20
-_080FA894:
- adds r2, 0x8
- adds r3, 0x1
- cmp r3, 0x15
- bls _080FA87A
- movs r0, 0
-_080FA89E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FA86C
-
- thumb_func_start unref_sub_80FA8A4
-unref_sub_80FA8A4: @ 80FA8A4
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- bl sub_80FA86C
- cmp r0, 0
- beq _080FA8C4
- lsls r0, 3
- ldr r1, _080FA8C0
- adds r0, r1
- b _080FA8C6
- .align 2, 0
-_080FA8C0: .4byte gUnknown_083E5A18
-_080FA8C4:
- movs r0, 0
-_080FA8C6:
- pop {r1}
- bx r1
- thumb_func_end unref_sub_80FA8A4
-
- thumb_func_start sub_80FA8CC
-sub_80FA8CC: @ 80FA8CC
- push {lr}
- cmp r0, 0
- beq _080FA8E4
- cmp r0, 0x16
- bhi _080FA8E4
- lsls r0, 3
- ldr r1, _080FA8E0
- adds r0, r1
- b _080FA8E6
- .align 2, 0
-_080FA8E0: .4byte gUnknown_083E5A18
-_080FA8E4:
- movs r0, 0
-_080FA8E6:
- pop {r1}
- bx r1
- thumb_func_end sub_80FA8CC
-
- thumb_func_start sub_80FA8EC
-sub_80FA8EC: @ 80FA8EC
- push {lr}
- lsls r1, 24
- lsrs r1, 24
- bl sub_80FA904
-_080FA8F6:
- bl sub_80FA940
- lsls r0, 24
- cmp r0, 0
- bne _080FA8F6
- pop {r0}
- bx r0
- thumb_func_end sub_80FA8EC
-
- thumb_func_start sub_80FA904
-sub_80FA904: @ 80FA904
- push {r4,lr}
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _080FA928
- str r0, [r3]
- movs r2, 0x79
- adds r2, r0
- mov r12, r2
- movs r2, 0
- mov r4, r12
- strb r2, [r4]
- adds r0, 0x78
- strb r1, [r0]
- ldr r3, [r3]
- cmp r1, 0
- bne _080FA930
- ldr r0, _080FA92C
- b _080FA932
- .align 2, 0
-_080FA928: .4byte gUnknown_020388CC
-_080FA92C: .4byte sub_80FAB78
-_080FA930:
- ldr r0, _080FA93C
-_080FA932:
- str r0, [r3, 0x18]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FA93C: .4byte sub_80FAD04
- thumb_func_end sub_80FA904
-
- thumb_func_start sub_80FA940
-sub_80FA940: @ 80FA940
- push {r4,r5,lr}
- sub sp, 0xC
- ldr r0, _080FA95C
- ldr r0, [r0]
- adds r0, 0x79
- ldrb r0, [r0]
- cmp r0, 0x7
- bls _080FA952
- b _080FAAE2
-_080FA952:
- lsls r0, 2
- ldr r1, _080FA960
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FA95C: .4byte gUnknown_020388CC
-_080FA960: .4byte _080FA964
- .align 2, 0
-_080FA964:
- .4byte _080FA984
- .4byte _080FA998
- .4byte _080FA9AC
- .4byte _080FA9BC
- .4byte _080FA9D8
- .4byte _080FA9F4
- .4byte _080FAA38
- .4byte _080FAAB4
-_080FA984:
- ldr r0, _080FA990
- ldr r1, _080FA994
- bl LZ77UnCompVram
- b _080FAAF4
- .align 2, 0
-_080FA990: .4byte gUnknown_083E5DA0
-_080FA994: .4byte 0x06008000
-_080FA998:
- ldr r0, _080FA9A4
- ldr r1, _080FA9A8
- bl LZ77UnCompVram
- b _080FAAF4
- .align 2, 0
-_080FA9A4: .4byte gUnknown_083E6B04
-_080FA9A8: .4byte 0x0600e000
-_080FA9AC:
- ldr r0, _080FA9B8
- movs r1, 0x70
- movs r2, 0x60
- bl LoadPalette
- b _080FAAF4
- .align 2, 0
-_080FA9B8: .4byte gUnknown_083E5D60
-_080FA9BC:
- ldr r0, _080FA9D0
- ldr r1, _080FA9D4
- ldr r1, [r1]
- movs r2, 0xC0
- lsls r2, 1
- adds r1, r2
- bl LZ77UnCompWram
- b _080FAAF4
- .align 2, 0
-_080FA9D0: .4byte gUnknown_083E5AF0
-_080FA9D4: .4byte gUnknown_020388CC
-_080FA9D8:
- ldr r0, _080FA9EC
- ldr r1, _080FA9F0
- ldr r1, [r1]
- movs r3, 0xA0
- lsls r3, 2
- adds r1, r3
- bl LZ77UnCompWram
- b _080FAAF4
- .align 2, 0
-_080FA9EC: .4byte gUnknown_083E5B34
-_080FA9F0: .4byte gUnknown_020388CC
-_080FA9F4:
- bl sub_80FB32C
- ldr r4, _080FAA34
- ldr r2, [r4]
- adds r0, r2, 0
- adds r0, 0x54
- ldrh r1, [r0]
- adds r0, 0x20
- strh r1, [r0]
- subs r0, 0x1E
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x76
- strh r0, [r1]
- ldrh r0, [r2, 0x14]
- bl sub_80FB758
- ldr r1, [r4]
- strb r0, [r1, 0x16]
- ldr r0, [r4]
- ldrh r0, [r0, 0x14]
- bl sub_80FB9C0
- adds r1, r0, 0
- ldr r0, [r4]
- strh r1, [r0, 0x14]
- ldrh r1, [r0, 0x14]
- movs r2, 0x10
- bl sub_80FBFB4
- b _080FAAF4
- .align 2, 0
-_080FAA34: .4byte gUnknown_020388CC
-_080FAA38:
- ldr r0, _080FAA60
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x78
- ldrb r1, [r0]
- cmp r1, 0
- bne _080FAA64
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- str r1, [sp, 0x8]
- movs r0, 0
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_80FB170
- b _080FAAF4
- .align 2, 0
-_080FAA60: .4byte gUnknown_020388CC
-_080FAA64:
- adds r1, r4, 0
- adds r1, 0x54
- ldrh r0, [r1]
- lsls r0, 3
- subs r0, 0x34
- adds r2, r4, 0
- adds r2, 0x5C
- movs r3, 0
- strh r0, [r2]
- movs r5, 0x56
- adds r5, r4
- mov r12, r5
- ldrh r0, [r5]
- lsls r0, 3
- subs r0, 0x44
- adds r5, r4, 0
- adds r5, 0x5E
- strh r0, [r5]
- ldrh r1, [r1]
- adds r0, r4, 0
- adds r0, 0x64
- strh r1, [r0]
- mov r0, r12
- ldrh r1, [r0]
- adds r0, r4, 0
- adds r0, 0x66
- strh r1, [r0]
- movs r1, 0
- ldrsh r0, [r2, r1]
- movs r2, 0
- ldrsh r1, [r5, r2]
- movs r2, 0x80
- str r2, [sp]
- str r2, [sp, 0x4]
- str r3, [sp, 0x8]
- movs r2, 0x38
- movs r3, 0x48
- bl sub_80FB170
- b _080FAAF4
-_080FAAB4:
- bl sub_80FBA18
- bl sub_80FB260
- ldr r2, _080FAAE8
- ldr r0, [r2]
- movs r1, 0
- str r1, [r0, 0x1C]
- str r1, [r0, 0x20]
- adds r0, 0x7A
- strb r1, [r0]
- ldr r0, [r2]
- adds r0, 0x7E
- strb r1, [r0]
- ldr r1, _080FAAEC
- ldr r3, _080FAAF0
- adds r0, r3, 0
- strh r0, [r1]
- ldr r1, [r2]
- adds r1, 0x79
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080FAAE2:
- movs r0, 0
- b _080FAB02
- .align 2, 0
-_080FAAE8: .4byte gUnknown_020388CC
-_080FAAEC: .4byte REG_BG2CNT
-_080FAAF0: .4byte 0x0000bc8a
-_080FAAF4:
- ldr r0, _080FAB0C
- ldr r1, [r0]
- adds r1, 0x79
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- movs r0, 0x1
-_080FAB02:
- add sp, 0xC
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080FAB0C: .4byte gUnknown_020388CC
- thumb_func_end sub_80FA940
-
- thumb_func_start sub_80FAB10
-sub_80FAB10: @ 80FAB10
- push {r4,lr}
- ldr r4, _080FAB5C
- ldr r0, [r4]
- ldr r0, [r0, 0x1C]
- cmp r0, 0
- beq _080FAB34
- bl DestroySprite
- ldr r0, [r4]
- adds r0, 0x58
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- adds r0, 0x5A
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_080FAB34:
- ldr r0, [r4]
- ldr r0, [r0, 0x20]
- cmp r0, 0
- beq _080FAB54
- bl DestroySprite
- ldr r0, [r4]
- adds r0, 0x70
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- adds r0, 0x72
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_080FAB54:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FAB5C: .4byte gUnknown_020388CC
- thumb_func_end sub_80FAB10
-
- thumb_func_start sub_80FAB60
-sub_80FAB60: @ 80FAB60
- push {lr}
- ldr r0, _080FAB74
- ldr r0, [r0]
- ldr r0, [r0, 0x18]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_080FAB74: .4byte gUnknown_020388CC
- thumb_func_end sub_80FAB60
-
- thumb_func_start sub_80FAB78
-sub_80FAB78: @ 80FAB78
- push {r4,lr}
- movs r4, 0
- ldr r2, _080FAC14
- ldr r0, [r2]
- adds r0, 0x7B
- strb r4, [r0]
- ldr r0, [r2]
- adds r0, 0x7C
- strb r4, [r0]
- ldr r3, _080FAC18
- ldrh r1, [r3, 0x2C]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080FABAA
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x56
- ldrh r0, [r0]
- cmp r0, 0x2
- bls _080FABAA
- adds r1, 0x7C
- movs r0, 0xFF
- strb r0, [r1]
- movs r4, 0x1
-_080FABAA:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080FABC8
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x56
- ldrh r0, [r0]
- cmp r0, 0xF
- bhi _080FABC8
- adds r1, 0x7C
- movs r0, 0x1
- strb r0, [r1]
- movs r4, 0x1
-_080FABC8:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080FABE6
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- cmp r0, 0x1
- bls _080FABE6
- adds r1, 0x7B
- movs r0, 0xFF
- strb r0, [r1]
- movs r4, 0x1
-_080FABE6:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080FAC04
- ldr r1, [r2]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- cmp r0, 0x1B
- bhi _080FAC04
- adds r1, 0x7B
- movs r0, 0x1
- strb r0, [r1]
- movs r4, 0x1
-_080FAC04:
- ldrh r3, [r3, 0x2E]
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _080FAC1C
- movs r4, 0x4
- b _080FAC26
- .align 2, 0
-_080FAC14: .4byte gUnknown_020388CC
-_080FAC18: .4byte gMain
-_080FAC1C:
- movs r0, 0x2
- ands r0, r3
- cmp r0, 0
- beq _080FAC26
- movs r4, 0x5
-_080FAC26:
- cmp r4, 0x1
- bne _080FAC38
- ldr r0, [r2]
- adds r0, 0x7A
- movs r1, 0x4
- strb r1, [r0]
- ldr r1, [r2]
- ldr r0, _080FAC40
- str r0, [r1, 0x18]
-_080FAC38:
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080FAC40: .4byte _swiopen
- thumb_func_end sub_80FAB78
-
- thumb_func_start _swiopen
-_swiopen: @ 80FAC44
- push {r4,r5,lr}
- ldr r5, _080FAC5C
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7A
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080FAC60
- movs r0, 0x2
- b _080FACFA
- .align 2, 0
-_080FAC5C: .4byte gUnknown_020388CC
-_080FAC60:
- adds r0, r1, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- ble _080FAC76
- adds r1, 0x54
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080FAC76:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _080FAC8E
- adds r1, 0x54
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_080FAC8E:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- ble _080FACA6
- adds r1, 0x56
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080FACA6:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- bge _080FACBE
- adds r1, 0x56
- ldrh r0, [r1]
- subs r0, 0x1
- strh r0, [r1]
-_080FACBE:
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- adds r1, 0x56
- ldrh r1, [r1]
- bl sub_80FB2EC
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80FB758
- ldr r1, [r5]
- strb r0, [r1, 0x16]
- ldr r0, [r5]
- ldrh r1, [r0, 0x14]
- cmp r4, r1
- beq _080FACEE
- strh r4, [r0, 0x14]
- ldrh r1, [r0, 0x14]
- movs r2, 0x10
- bl sub_80FBFB4
-_080FACEE:
- bl sub_80FBA18
- ldr r1, [r5]
- ldr r0, _080FAD00
- str r0, [r1, 0x18]
- movs r0, 0x3
-_080FACFA:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080FAD00: .4byte sub_80FAB78
- thumb_func_end _swiopen
-
- thumb_func_start sub_80FAD04
-sub_80FAD04: @ 80FAD04
- push {r4-r6,lr}
- movs r4, 0
- ldr r3, _080FADD4
- ldr r0, [r3]
- mov r12, r0
- adds r0, 0x6A
- strh r4, [r0]
- mov r5, r12
- adds r5, 0x68
- strh r4, [r5]
- ldr r2, _080FADD8
- ldrh r1, [r2, 0x2C]
- movs r0, 0x40
- ands r0, r1
- adds r6, r3, 0
- adds r3, r2, 0
- cmp r0, 0
- beq _080FAD3E
- mov r0, r12
- adds r0, 0x5E
- movs r2, 0
- ldrsh r1, [r0, r2]
- movs r0, 0x34
- negs r0, r0
- cmp r1, r0
- ble _080FAD3E
- ldr r0, _080FADDC
- strh r0, [r5]
- movs r4, 0x1
-_080FAD3E:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080FAD5E
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x5E
- movs r5, 0
- ldrsh r0, [r0, r5]
- cmp r0, 0x3B
- bgt _080FAD5E
- adds r1, 0x68
- movs r0, 0x1
- strh r0, [r1]
- movs r4, 0x1
-_080FAD5E:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _080FAD84
- ldr r2, [r6]
- adds r0, r2, 0
- adds r0, 0x5C
- movs r5, 0
- ldrsh r1, [r0, r5]
- movs r0, 0x2C
- negs r0, r0
- cmp r1, r0
- ble _080FAD84
- adds r1, r2, 0
- adds r1, 0x6A
- ldr r0, _080FADDC
- strh r0, [r1]
- movs r4, 0x1
-_080FAD84:
- ldrh r1, [r3, 0x2C]
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _080FADA4
- ldr r1, [r6]
- adds r0, r1, 0
- adds r0, 0x5C
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, 0xAB
- bgt _080FADA4
- adds r1, 0x6A
- movs r0, 0x1
- strh r0, [r1]
- movs r4, 0x1
-_080FADA4:
- ldrh r2, [r3, 0x2E]
- movs r0, 0x1
- ands r0, r2
- cmp r0, 0
- beq _080FADB0
- movs r4, 0x4
-_080FADB0:
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _080FADBA
- movs r4, 0x5
-_080FADBA:
- cmp r4, 0x1
- bne _080FADCA
- ldr r0, [r6]
- ldr r1, _080FADE0
- str r1, [r0, 0x18]
- adds r0, 0x6C
- movs r1, 0
- strh r1, [r0]
-_080FADCA:
- adds r0, r4, 0
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080FADD4: .4byte gUnknown_020388CC
-_080FADD8: .4byte gMain
-_080FADDC: .4byte 0x0000ffff
-_080FADE0: .4byte sub_80FADE4
- thumb_func_end sub_80FAD04
-
- thumb_func_start sub_80FADE4
-sub_80FADE4: @ 80FADE4
- push {r4,r5,lr}
- ldr r5, _080FAEB4
- ldr r2, [r5]
- adds r3, r2, 0
- adds r3, 0x5E
- adds r0, r2, 0
- adds r0, 0x68
- ldrh r0, [r0]
- ldrh r1, [r3]
- adds r0, r1
- strh r0, [r3]
- adds r1, r2, 0
- adds r1, 0x5C
- adds r0, r2, 0
- adds r0, 0x6A
- ldrh r0, [r0]
- ldrh r2, [r1]
- adds r0, r2
- strh r0, [r1]
- movs r4, 0
- ldrsh r0, [r1, r4]
- movs r2, 0
- ldrsh r1, [r3, r2]
- bl sub_80FB238
- ldr r2, [r5]
- adds r1, r2, 0
- adds r1, 0x6C
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x8
- bne _080FAEBC
- adds r0, r2, 0
- adds r0, 0x5C
- movs r3, 0
- ldrsh r1, [r0, r3]
- adds r0, r1, 0
- adds r0, 0x2C
- cmp r0, 0
- bge _080FAE3C
- adds r0, 0x7
-_080FAE3C:
- asrs r0, 3
- adds r0, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- adds r0, r2, 0
- adds r0, 0x5E
- movs r4, 0
- ldrsh r1, [r0, r4]
- adds r0, r1, 0
- adds r0, 0x34
- cmp r0, 0
- bge _080FAE56
- adds r0, 0x7
-_080FAE56:
- asrs r0, 3
- adds r0, 0x2
- lsls r0, 16
- lsrs r1, r0, 16
- adds r4, r2, 0
- adds r4, 0x64
- adds r0, r2, 0
- adds r0, 0x66
- ldrh r2, [r4]
- cmp r3, r2
- bne _080FAE72
- ldrh r2, [r0]
- cmp r1, r2
- beq _080FAEA0
-_080FAE72:
- strh r3, [r4]
- strh r1, [r0]
- adds r0, r3, 0
- bl sub_80FB2EC
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- bl sub_80FB758
- ldr r1, [r5]
- strb r0, [r1, 0x16]
- ldr r0, [r5]
- ldrh r3, [r0, 0x14]
- cmp r4, r3
- beq _080FAE9C
- strh r4, [r0, 0x14]
- ldrh r1, [r0, 0x14]
- movs r2, 0x10
- bl sub_80FBFB4
-_080FAE9C:
- bl sub_80FBA18
-_080FAEA0:
- ldr r0, _080FAEB4
- ldr r2, [r0]
- adds r1, r2, 0
- adds r1, 0x6C
- movs r0, 0
- strh r0, [r1]
- ldr r0, _080FAEB8
- str r0, [r2, 0x18]
- movs r0, 0x3
- b _080FAEBE
- .align 2, 0
-_080FAEB4: .4byte gUnknown_020388CC
-_080FAEB8: .4byte sub_80FAD04
-_080FAEBC:
- movs r0, 0x2
-_080FAEBE:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FADE4
-
- thumb_func_start sub_80FAEC4
-sub_80FAEC4: @ 80FAEC4
- push {r4-r6,lr}
- ldr r1, _080FAF40
- ldr r2, [r1]
- adds r0, r2, 0
- adds r0, 0x78
- ldrb r3, [r0]
- adds r5, r1, 0
- cmp r3, 0
- bne _080FAF48
- subs r0, 0x1A
- strh r3, [r0]
- subs r0, 0x2
- strh r3, [r0]
- str r3, [r2, 0x40]
- str r3, [r2, 0x3C]
- adds r4, r2, 0
- adds r4, 0x54
- ldrh r0, [r4]
- lsls r0, 3
- subs r0, 0x34
- adds r1, r2, 0
- adds r1, 0x60
- strh r0, [r1]
- movs r0, 0x56
- adds r0, r2
- mov r12, r0
- ldrh r0, [r0]
- lsls r0, 3
- subs r0, 0x44
- adds r3, r2, 0
- adds r3, 0x62
- strh r0, [r3]
- movs r6, 0
- ldrsh r0, [r1, r6]
- lsls r0, 8
- cmp r0, 0
- bge _080FAF10
- adds r0, 0xF
-_080FAF10:
- asrs r0, 4
- str r0, [r2, 0x44]
- movs r1, 0
- ldrsh r0, [r3, r1]
- lsls r0, 8
- cmp r0, 0
- bge _080FAF20
- adds r0, 0xF
-_080FAF20:
- asrs r0, 4
- str r0, [r2, 0x48]
- ldrh r1, [r4]
- adds r0, r2, 0
- adds r0, 0x64
- strh r1, [r0]
- mov r3, r12
- ldrh r0, [r3]
- adds r1, r2, 0
- adds r1, 0x66
- strh r0, [r1]
- movs r0, 0x80
- lsls r0, 9
- str r0, [r2, 0x4C]
- ldr r0, _080FAF44
- b _080FAFA6
- .align 2, 0
-_080FAF40: .4byte gUnknown_020388CC
-_080FAF44: .4byte 0xfffff800
-_080FAF48:
- adds r0, r2, 0
- adds r0, 0x5C
- movs r6, 0
- ldrsh r0, [r0, r6]
- lsls r0, 8
- str r0, [r2, 0x3C]
- adds r0, r2, 0
- adds r0, 0x5E
- movs r1, 0
- ldrsh r0, [r0, r1]
- lsls r0, 8
- str r0, [r2, 0x40]
- adds r0, r2, 0
- adds r0, 0x60
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r0, [r2, 0x3C]
- cmp r0, 0
- bge _080FAF74
- adds r0, 0xF
-_080FAF74:
- asrs r0, 4
- negs r0, r0
- str r0, [r2, 0x44]
- ldr r0, [r2, 0x40]
- cmp r0, 0
- bge _080FAF82
- adds r0, 0xF
-_080FAF82:
- asrs r0, 4
- negs r0, r0
- str r0, [r2, 0x48]
- adds r0, r2, 0
- adds r0, 0x64
- ldrh r1, [r0]
- subs r0, 0x10
- strh r1, [r0]
- adds r0, 0x12
- ldrh r0, [r0]
- adds r1, r2, 0
- adds r1, 0x56
- strh r0, [r1]
- movs r0, 0x80
- lsls r0, 8
- str r0, [r2, 0x4C]
- movs r0, 0x80
- lsls r0, 4
-_080FAFA6:
- str r0, [r2, 0x50]
- ldr r0, [r5]
- adds r0, 0x6E
- movs r1, 0
- strh r1, [r0]
- bl sub_80FBCA0
- bl sub_80FBDF8
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_80FAEC4
-
- thumb_func_start sub_80FAFC0
-sub_80FAFC0: @ 80FAFC0
- push {r4-r6,lr}
- sub sp, 0xC
- ldr r0, _080FAFD8
- ldr r3, [r0]
- adds r2, r3, 0
- adds r2, 0x6E
- ldrh r1, [r2]
- adds r5, r0, 0
- cmp r1, 0xF
- bls _080FAFDC
- movs r0, 0
- b _080FB164
- .align 2, 0
-_080FAFD8: .4byte gUnknown_020388CC
-_080FAFDC:
- adds r0, r1, 0x1
- movs r1, 0
- strh r0, [r2]
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x10
- bne _080FB050
- str r1, [r3, 0x44]
- str r1, [r3, 0x48]
- adds r0, r3, 0
- adds r0, 0x60
- ldrh r1, [r0]
- subs r0, 0x4
- strh r1, [r0]
- adds r0, 0x6
- ldrh r0, [r0]
- adds r1, r3, 0
- adds r1, 0x5E
- strh r0, [r1]
- adds r1, 0x1A
- ldrb r0, [r1]
- movs r2, 0x80
- lsls r2, 9
- cmp r0, 0
- bne _080FB012
- movs r2, 0x80
- lsls r2, 8
-_080FB012:
- str r2, [r3, 0x4C]
- movs r2, 0
- ldrb r0, [r1]
- cmp r0, 0
- bne _080FB01E
- movs r2, 0x1
-_080FB01E:
- strb r2, [r1]
- ldr r1, [r5]
- adds r0, r1, 0
- adds r0, 0x78
- ldrb r0, [r0]
- ldr r2, _080FB048
- cmp r0, 0
- bne _080FB030
- ldr r2, _080FB04C
-_080FB030:
- str r2, [r1, 0x18]
- adds r0, r1, 0
- adds r0, 0x58
- ldrh r0, [r0]
- adds r1, 0x5A
- ldrh r1, [r1]
- bl sub_80FBB3C
- bl sub_80FBE24
- movs r4, 0
- b _080FB132
- .align 2, 0
-_080FB048: .4byte sub_80FAD04
-_080FB04C: .4byte sub_80FAB78
-_080FB050:
- ldr r2, [r3, 0x3C]
- ldr r0, [r3, 0x44]
- adds r2, r0
- str r2, [r3, 0x3C]
- ldr r0, [r3, 0x40]
- ldr r1, [r3, 0x48]
- adds r0, r1
- str r0, [r3, 0x40]
- asrs r2, 8
- adds r4, r3, 0
- adds r4, 0x5C
- strh r2, [r4]
- ldr r0, [r3, 0x40]
- asrs r0, 8
- adds r1, r3, 0
- adds r1, 0x5E
- strh r0, [r1]
- ldr r0, [r3, 0x4C]
- ldr r1, [r3, 0x50]
- adds r0, r1
- str r0, [r3, 0x4C]
- ldr r2, [r3, 0x44]
- cmp r2, 0
- bge _080FB090
- adds r0, r3, 0
- adds r0, 0x60
- movs r6, 0
- ldrsh r1, [r4, r6]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r1, r0
- blt _080FB0A4
-_080FB090:
- cmp r2, 0
- ble _080FB0B4
- adds r0, r3, 0
- adds r0, 0x60
- movs r2, 0
- ldrsh r1, [r4, r2]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r1, r0
- ble _080FB0B4
-_080FB0A4:
- ldr r3, [r5]
- adds r0, r3, 0
- adds r0, 0x60
- ldrh r2, [r0]
- subs r0, 0x4
- movs r1, 0
- strh r2, [r0]
- str r1, [r3, 0x44]
-_080FB0B4:
- ldr r2, [r5]
- ldr r4, [r2, 0x48]
- cmp r4, 0
- bge _080FB0D0
- adds r0, r2, 0
- adds r0, 0x5E
- adds r3, r2, 0
- adds r3, 0x62
- movs r6, 0
- ldrsh r1, [r0, r6]
- movs r6, 0
- ldrsh r0, [r3, r6]
- cmp r1, r0
- blt _080FB0E8
-_080FB0D0:
- cmp r4, 0
- ble _080FB0FA
- adds r1, r2, 0
- adds r1, 0x5E
- adds r0, r2, 0
- adds r0, 0x62
- movs r2, 0
- ldrsh r1, [r1, r2]
- movs r6, 0
- ldrsh r0, [r0, r6]
- cmp r1, r0
- ble _080FB0FA
-_080FB0E8:
- ldr r2, [r5]
- adds r0, r2, 0
- adds r0, 0x62
- ldrh r1, [r0]
- adds r3, r2, 0
- adds r3, 0x5E
- movs r0, 0
- strh r1, [r3]
- str r0, [r2, 0x48]
-_080FB0FA:
- ldr r0, _080FB118
- ldr r2, [r0]
- adds r0, r2, 0
- adds r0, 0x78
- ldrb r3, [r0]
- cmp r3, 0
- bne _080FB120
- ldr r1, [r2, 0x4C]
- ldr r0, _080FB11C
- cmp r1, r0
- bgt _080FB130
- adds r0, 0x1
- str r0, [r2, 0x4C]
- str r3, [r2, 0x50]
- b _080FB130
- .align 2, 0
-_080FB118: .4byte gUnknown_020388CC
-_080FB11C: .4byte 0x00007fff
-_080FB120:
- ldr r0, [r2, 0x4C]
- movs r1, 0x80
- lsls r1, 9
- cmp r0, r1
- ble _080FB130
- str r1, [r2, 0x4C]
- movs r0, 0
- str r0, [r2, 0x50]
-_080FB130:
- movs r4, 0x1
-_080FB132:
- ldr r0, _080FB16C
- ldr r3, [r0]
- adds r0, r3, 0
- adds r0, 0x5C
- movs r1, 0
- ldrsh r0, [r0, r1]
- adds r1, r3, 0
- adds r1, 0x5E
- movs r2, 0
- ldrsh r1, [r1, r2]
- ldr r2, [r3, 0x4C]
- lsls r2, 8
- lsrs r2, 16
- str r2, [sp]
- ldr r2, [r3, 0x4C]
- lsls r2, 8
- lsrs r2, 16
- str r2, [sp, 0x4]
- movs r2, 0
- str r2, [sp, 0x8]
- movs r2, 0x38
- movs r3, 0x48
- bl sub_80FB170
- adds r0, r4, 0
-_080FB164:
- add sp, 0xC
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_080FB16C: .4byte gUnknown_020388CC
- thumb_func_end sub_80FAFC0
-
- thumb_func_start sub_80FB170
-sub_80FB170: @ 80FB170
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r4, [sp, 0x24]
- ldr r7, [sp, 0x28]
- ldr r5, [sp, 0x2C]
- lsls r4, 16
- lsrs r4, 16
- mov r8, r4
- lsls r7, 16
- adds r4, r7, 0
- lsrs r4, 16
- mov r9, r4
- lsls r5, 24
- lsrs r5, 24
- ldr r4, _080FB230
- ldr r6, [r4]
- ldr r7, _080FB234
- mov r12, r7
- adds r4, r5, 0
- adds r4, 0x40
- lsls r4, 1
- add r4, r12
- movs r7, 0
- ldrsh r4, [r4, r7]
- str r4, [sp]
- mov r7, r8
- muls r7, r4
- adds r4, r7, 0
- asrs r4, 8
- mov r10, r4
- str r4, [r6, 0x2C]
- lsls r5, 1
- add r5, r12
- movs r7, 0
- ldrsh r5, [r5, r7]
- negs r4, r5
- mov r7, r8
- muls r7, r4
- adds r4, r7, 0
- asrs r4, 8
- mov r12, r4
- str r4, [r6, 0x30]
- mov r7, r9
- muls r7, r5
- adds r5, r7, 0
- asrs r5, 8
- str r5, [r6, 0x34]
- ldr r7, [sp]
- mov r4, r9
- muls r4, r7
- asrs r4, 8
- mov r8, r4
- str r4, [r6, 0x38]
- lsls r0, 16
- asrs r0, 8
- lsls r2, 16
- asrs r2, 16
- lsls r4, r2, 8
- adds r0, r4
- lsls r3, 16
- asrs r3, 16
- adds r4, r3, 0
- muls r4, r5
- mov r5, r10
- muls r5, r2
- adds r4, r5
- subs r0, r4
- str r0, [r6, 0x24]
- lsls r1, 16
- asrs r1, 8
- lsls r0, r3, 8
- adds r1, r0
- mov r0, r8
- muls r0, r3
- mov r3, r12
- muls r3, r2
- adds r2, r3, 0
- adds r0, r2
- subs r1, r0
- str r1, [r6, 0x28]
- adds r6, 0x7D
- movs r0, 0x1
- strb r0, [r6]
- 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
-_080FB230: .4byte gUnknown_020388CC
-_080FB234: .4byte gSineTable
- thumb_func_end sub_80FB170
-
- thumb_func_start sub_80FB238
-sub_80FB238: @ 80FB238
- ldr r2, _080FB25C
- ldr r2, [r2]
- lsls r0, 16
- asrs r0, 8
- movs r3, 0xE0
- lsls r3, 5
- adds r0, r3
- str r0, [r2, 0x24]
- lsls r1, 16
- asrs r1, 8
- movs r0, 0x90
- lsls r0, 6
- adds r1, r0
- str r1, [r2, 0x28]
- adds r2, 0x7D
- movs r0, 0x1
- strb r0, [r2]
- bx lr
- .align 2, 0
-_080FB25C: .4byte gUnknown_020388CC
- thumb_func_end sub_80FB238
-
- thumb_func_start sub_80FB260
-sub_80FB260: @ 80FB260
- push {lr}
- ldr r0, _080FB29C
- ldr r2, [r0]
- adds r3, r2, 0
- adds r3, 0x7D
- ldrb r0, [r3]
- cmp r0, 0
- beq _080FB298
- ldr r1, _080FB2A0
- ldr r0, [r2, 0x2C]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, [r2, 0x34]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, [r2, 0x30]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, [r2, 0x38]
- strh r0, [r1]
- adds r1, 0x2
- ldr r0, [r2, 0x24]
- str r0, [r1]
- adds r1, 0x4
- ldr r0, [r2, 0x28]
- str r0, [r1]
- movs r0, 0
- strb r0, [r3]
-_080FB298:
- pop {r0}
- bx r0
- .align 2, 0
-_080FB29C: .4byte gUnknown_020388CC
-_080FB2A0: .4byte REG_BG2PA
- thumb_func_end sub_80FB260
-
- thumb_func_start sub_80FB2A4
-sub_80FB2A4: @ 80FB2A4
- push {r4,r5,lr}
- sub sp, 0xC
- lsls r0, 16
- asrs r4, r0, 16
- lsls r1, 16
- asrs r5, r1, 16
- movs r0, 0x80
- lsls r0, 1
- str r0, [sp]
- str r0, [sp, 0x4]
- movs r0, 0
- str r0, [sp, 0x8]
- adds r0, r4, 0
- adds r1, r5, 0
- movs r2, 0x38
- movs r3, 0x48
- bl sub_80FB170
- bl sub_80FB260
- ldr r0, _080FB2E8
- ldr r2, [r0]
- ldr r1, [r2, 0x20]
- cmp r1, 0
- beq _080FB2E0
- negs r0, r4
- strh r0, [r1, 0x24]
- ldr r1, [r2, 0x20]
- negs r0, r5
- strh r0, [r1, 0x26]
-_080FB2E0:
- add sp, 0xC
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FB2E8: .4byte gUnknown_020388CC
- thumb_func_end sub_80FB2A4
-
- thumb_func_start sub_80FB2EC
-sub_80FB2EC: @ 80FB2EC
- push {lr}
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- ldr r0, _080FB30C
- adds r1, r0
- lsrs r2, r1, 16
- cmp r2, 0xE
- bhi _080FB306
- cmp r3, 0
- beq _080FB306
- cmp r3, 0x1C
- bls _080FB310
-_080FB306:
- movs r0, 0x58
- b _080FB324
- .align 2, 0
-_080FB30C: .4byte 0xfffe0000
-_080FB310:
- subs r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- ldr r1, _080FB328
- lsls r0, r2, 3
- subs r0, r2
- lsls r0, 2
- adds r0, r3, r0
- adds r0, r1
- ldrb r0, [r0]
-_080FB324:
- pop {r1}
- bx r1
- .align 2, 0
-_080FB328: .4byte gRegionMapSections
- thumb_func_end sub_80FB2EC
-
- thumb_func_start sub_80FB32C
-sub_80FB32C: @ 80FB32C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- ldr r0, _080FB358
- movs r1, 0x4
- ldrsb r1, [r0, r1]
- adds r2, r0, 0
- cmp r1, 0x19
- bne _080FB35C
- ldrb r0, [r2, 0x5]
- subs r0, 0x29
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x2
- bhi _080FB35C
- bl sub_80FB600
- b _080FB5E8
- .align 2, 0
-_080FB358: .4byte gSaveBlock1
-_080FB35C:
- movs r0, 0x4
- ldrsb r0, [r2, r0]
- movs r1, 0x5
- ldrsb r1, [r2, r1]
- bl get_map_light_level_by_bank_and_number
- lsls r0, 24
- lsrs r0, 24
- subs r0, 0x1
- cmp r0, 0x8
- bhi _080FB3A4
- lsls r0, 2
- ldr r1, _080FB37C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FB37C: .4byte _080FB380
- .align 2, 0
-_080FB380:
- .4byte _080FB3A4
- .4byte _080FB3A4
- .4byte _080FB3A4
- .4byte _080FB3E0
- .4byte _080FB3A4
- .4byte _080FB3A4
- .4byte _080FB3E0
- .4byte _080FB464
- .4byte _080FB428
-_080FB3A4:
- ldr r4, _080FB3D4
- ldr r0, [r4]
- ldr r3, _080FB3D8
- ldrb r1, [r3, 0x14]
- movs r2, 0
- strh r1, [r0, 0x14]
- adds r0, 0x7F
- strb r2, [r0]
- ldr r0, [r3]
- ldrh r2, [r0]
- ldrh r0, [r0, 0x4]
- mov r8, r0
- ldr r0, _080FB3DC
- ldrh r6, [r0]
- ldrh r3, [r0, 0x2]
- ldr r1, [r4]
- ldrh r0, [r1, 0x14]
- cmp r0, 0x45
- beq _080FB3CC
- b _080FB4CC
-_080FB3CC:
- adds r1, 0x7F
- movs r0, 0x1
- strb r0, [r1]
- b _080FB4CC
- .align 2, 0
-_080FB3D4: .4byte gUnknown_020388CC
-_080FB3D8: .4byte gMapHeader
-_080FB3DC: .4byte gSaveBlock1
-_080FB3E0:
- ldr r4, _080FB420
- adds r0, r4, 0
- adds r0, 0x24
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 16
- lsrs r0, 16
- adds r1, r4, 0
- adds r1, 0x25
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r2, r0, 0
- ldr r0, _080FB424
- ldr r0, [r0]
- ldrb r1, [r2, 0x14]
- strh r1, [r0, 0x14]
- adds r0, 0x7F
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldrh r2, [r0]
- ldrh r0, [r0, 0x4]
- mov r8, r0
- ldrh r6, [r4, 0x28]
- ldrh r3, [r4, 0x2A]
- b _080FB4CC
- .align 2, 0
-_080FB420: .4byte gSaveBlock1
-_080FB424: .4byte gUnknown_020388CC
-_080FB428:
- ldr r4, _080FB45C
- movs r0, 0x14
- ldrsb r0, [r4, r0]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x15
- ldrsb r1, [r4, r1]
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r2, r0, 0
- ldr r0, _080FB460
- ldr r0, [r0]
- ldrb r1, [r2, 0x14]
- strh r1, [r0, 0x14]
- adds r0, 0x7F
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, [r2]
- ldrh r2, [r0]
- ldrh r0, [r0, 0x4]
- mov r8, r0
- ldrh r6, [r4, 0x18]
- ldrh r3, [r4, 0x1A]
- b _080FB4CC
- .align 2, 0
-_080FB45C: .4byte gSaveBlock1
-_080FB460: .4byte gUnknown_020388CC
-_080FB464:
- ldr r5, _080FB48C
- ldr r0, [r5]
- ldr r1, _080FB490
- ldrb r1, [r1, 0x14]
- strh r1, [r0, 0x14]
- cmp r1, 0x57
- beq _080FB498
- ldr r4, _080FB494
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r2, r0, 0
- b _080FB4B6
- .align 2, 0
-_080FB48C: .4byte gUnknown_020388CC
-_080FB490: .4byte gMapHeader
-_080FB494: .4byte gSaveBlock1 + 0x24
-_080FB498:
- ldr r4, _080FB548
- movs r0, 0
- ldrsb r0, [r4, r0]
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x1
- ldrsb r1, [r4, r1]
- lsls r1, 16
- lsrs r1, 16
- bl get_mapheader_by_bank_and_number
- adds r2, r0, 0
- ldr r1, [r5]
- ldrb r0, [r2, 0x14]
- strh r0, [r1, 0x14]
-_080FB4B6:
- ldr r0, _080FB54C
- ldr r0, [r0]
- adds r0, 0x7F
- movs r1, 0
- strb r1, [r0]
- ldr r0, [r2]
- ldrh r2, [r0]
- ldrh r0, [r0, 0x4]
- mov r8, r0
- ldrh r6, [r4, 0x4]
- ldrh r3, [r4, 0x6]
-_080FB4CC:
- mov r9, r6
- ldr r4, _080FB54C
- ldr r0, [r4]
- ldrh r5, [r0, 0x14]
- lsls r0, r5, 3
- ldr r1, _080FB550
- adds r0, r1
- mov r10, r0
- ldrb r7, [r0, 0x2]
- adds r0, r2, 0
- adds r1, r7, 0
- str r3, [sp]
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r3, [sp]
- cmp r1, 0
- bne _080FB4F4
- movs r1, 0x1
-_080FB4F4:
- adds r0, r6, 0
- str r3, [sp]
- bl __udivsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- cmp r6, r7
- bcc _080FB50C
- subs r0, r7, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080FB50C:
- mov r2, r10
- ldrb r4, [r2, 0x3]
- mov r0, r8
- adds r1, r4, 0
- str r3, [sp]
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- ldr r3, [sp]
- cmp r1, 0
- bne _080FB526
- movs r1, 0x1
-_080FB526:
- adds r0, r3, 0
- bl __udivsi3
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r4
- bcc _080FB53A
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
-_080FB53A:
- cmp r5, 0x24
- beq _080FB59C
- cmp r5, 0x24
- bgt _080FB554
- cmp r5, 0x1D
- beq _080FB55E
- b _080FB5BE
- .align 2, 0
-_080FB548: .4byte gSaveBlock1 + 0x14
-_080FB54C: .4byte gUnknown_020388CC
-_080FB550: .4byte gRegionMapLocations
-_080FB554:
- cmp r5, 0x29
- beq _080FB566
- cmp r5, 0x33
- beq _080FB566
- b _080FB5BE
-_080FB55E:
- cmp r3, 0
- beq _080FB5BE
- movs r6, 0
- b _080FB5BE
-_080FB566:
- movs r6, 0
- ldr r1, _080FB598
- movs r2, 0
- ldrsh r0, [r1, r2]
- cmp r0, 0x20
- ble _080FB574
- movs r6, 0x1
-_080FB574:
- cmp r0, 0x33
- ble _080FB57E
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080FB57E:
- movs r3, 0
- movs r2, 0x2
- ldrsh r0, [r1, r2]
- cmp r0, 0x25
- ble _080FB58A
- movs r3, 0x1
-_080FB58A:
- cmp r0, 0x38
- ble _080FB5BE
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- b _080FB5BE
- .align 2, 0
-_080FB598: .4byte gSaveBlock1
-_080FB59C:
- movs r6, 0
- mov r0, r9
- cmp r0, 0xE
- bls _080FB5A6
- movs r6, 0x1
-_080FB5A6:
- mov r1, r9
- cmp r1, 0x1C
- bls _080FB5B2
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080FB5B2:
- mov r2, r9
- cmp r2, 0x36
- bls _080FB5BE
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080FB5BE:
- ldr r0, _080FB5F8
- ldr r2, [r0]
- ldrh r0, [r2, 0x14]
- lsls r0, 3
- ldr r1, _080FB5FC
- adds r0, r1
- ldrb r0, [r0]
- adds r0, r6, r0
- adds r0, 0x1
- adds r1, r2, 0
- adds r1, 0x54
- strh r0, [r1]
- ldrh r0, [r2, 0x14]
- lsls r0, 3
- ldr r1, _080FB5FC
- adds r0, r1
- ldrb r0, [r0, 0x1]
- adds r0, r3, r0
- adds r0, 0x2
- adds r2, 0x56
- strh r0, [r2]
-_080FB5E8:
- 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
-_080FB5F8: .4byte gUnknown_020388CC
-_080FB5FC: .4byte gRegionMapLocations
- thumb_func_end sub_80FB32C
-
- thumb_func_start sub_80FB600
-sub_80FB600: @ 80FB600
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- movs r7, 0
- movs r0, 0
- mov r8, r0
- mov r4, sp
- adds r4, 0x1
- mov r5, sp
- adds r5, 0x2
- add r6, sp, 0x4
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- adds r3, r6, 0
- bl sub_810D9EC
- lsls r0, 24
- lsrs r0, 24
- mov r10, r5
- cmp r0, 0x4
- bhi _080FB694
- lsls r0, 2
- ldr r1, _080FB63C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FB63C: .4byte _080FB640
- .align 2, 0
-_080FB640:
- .4byte _080FB694
- .4byte _080FB654
- .4byte _080FB664
- .4byte _080FB674
- .4byte _080FB684
-_080FB654:
- ldr r2, _080FB660
- ldr r1, [r2]
- movs r0, 0x8
- strh r0, [r1, 0x14]
- b _080FB710
- .align 2, 0
-_080FB660: .4byte gUnknown_020388CC
-_080FB664:
- ldr r2, _080FB670
- ldr r1, [r2]
- movs r0, 0xC
- strh r0, [r1, 0x14]
- b _080FB710
- .align 2, 0
-_080FB670: .4byte gUnknown_020388CC
-_080FB674:
- ldr r2, _080FB680
- ldr r1, [r2]
- movs r0, 0x27
- strh r0, [r1, 0x14]
- b _080FB710
- .align 2, 0
-_080FB680: .4byte gUnknown_020388CC
-_080FB684:
- ldr r2, _080FB690
- ldr r1, [r2]
- movs r0, 0x2E
- strh r0, [r1, 0x14]
- b _080FB710
- .align 2, 0
-_080FB690: .4byte gUnknown_020388CC
-_080FB694:
- mov r0, sp
- ldrb r0, [r0]
- ldrb r1, [r4]
- bl get_mapheader_by_bank_and_number
- ldr r1, _080FB750
- mov r9, r1
- ldr r2, [r1]
- ldrb r1, [r0, 0x14]
- strh r1, [r2, 0x14]
- ldr r6, [r0]
- ldr r1, _080FB754
- ldrh r0, [r2, 0x14]
- lsls r0, 3
- adds r5, r0, r1
- ldrb r4, [r5, 0x2]
- ldr r0, [r6]
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080FB6C6
- movs r1, 0x1
-_080FB6C6:
- mov r2, r10
- movs r3, 0
- ldrsh r0, [r2, r3]
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- cmp r8, r4
- bcc _080FB6E2
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
-_080FB6E2:
- ldrb r4, [r5, 0x3]
- ldr r0, [r6, 0x4]
- adds r1, r4, 0
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- bne _080FB6F6
- movs r1, 0x1
-_080FB6F6:
- mov r2, sp
- movs r3, 0x4
- ldrsh r0, [r2, r3]
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r2, r9
- cmp r7, r4
- bcc _080FB710
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r7, r0, 16
-_080FB710:
- ldr r0, [r2]
- adds r0, 0x7F
- movs r1, 0
- strb r1, [r0]
- ldr r2, [r2]
- ldr r3, _080FB754
- ldrh r0, [r2, 0x14]
- lsls r0, 3
- adds r0, r3
- ldrb r0, [r0]
- add r0, r8
- adds r0, 0x1
- adds r1, r2, 0
- adds r1, 0x54
- strh r0, [r1]
- ldrh r0, [r2, 0x14]
- lsls r0, 3
- adds r0, r3
- ldrb r0, [r0, 0x1]
- adds r0, r7, r0
- adds r0, 0x2
- adds r2, 0x56
- strh r0, [r2]
- 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
-_080FB750: .4byte gUnknown_020388CC
-_080FB754: .4byte gRegionMapLocations
- thumb_func_end sub_80FB600
-
- thumb_func_start sub_80FB758
-sub_80FB758: @ 80FB758
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0x58
- bls _080FB764
- b _080FB9A0
-_080FB764:
- lsls r0, 2
- ldr r1, _080FB770
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FB770: .4byte _080FB774
- .align 2, 0
-_080FB774:
- .4byte _080FB8DC
- .4byte _080FB8E4
- .4byte _080FB8EA
- .4byte _080FB8F4
- .4byte _080FB8FC
- .4byte _080FB904
- .4byte _080FB90C
- .4byte _080FB914
- .4byte _080FB91C
- .4byte _080FB924
- .4byte _080FB92C
- .4byte _080FB934
- .4byte _080FB93C
- .4byte _080FB944
- .4byte _080FB94C
- .4byte _080FB954
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB96C
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB988
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB9A0
- .4byte _080FB8D8
-_080FB8D8:
- movs r0, 0
- b _080FB9A2
-_080FB8DC:
- ldr r0, _080FB8E0
- b _080FB956
- .align 2, 0
-_080FB8E0: .4byte 0x0000080f
-_080FB8E4:
- movs r0, 0x81
- lsls r0, 4
- b _080FB956
-_080FB8EA:
- ldr r0, _080FB8F0
- b _080FB956
- .align 2, 0
-_080FB8F0: .4byte 0x00000811
-_080FB8F4:
- ldr r0, _080FB8F8
- b _080FB956
- .align 2, 0
-_080FB8F8: .4byte 0x00000812
-_080FB8FC:
- ldr r0, _080FB900
- b _080FB956
- .align 2, 0
-_080FB900: .4byte 0x00000813
-_080FB904:
- ldr r0, _080FB908
- b _080FB956
- .align 2, 0
-_080FB908: .4byte 0x00000814
-_080FB90C:
- ldr r0, _080FB910
- b _080FB956
- .align 2, 0
-_080FB910: .4byte 0x00000815
-_080FB914:
- ldr r0, _080FB918
- b _080FB956
- .align 2, 0
-_080FB918: .4byte 0x00000816
-_080FB91C:
- ldr r0, _080FB920
- b _080FB956
- .align 2, 0
-_080FB920: .4byte 0x00000817
-_080FB924:
- ldr r0, _080FB928
- b _080FB956
- .align 2, 0
-_080FB928: .4byte 0x00000818
-_080FB92C:
- ldr r0, _080FB930
- b _080FB956
- .align 2, 0
-_080FB930: .4byte 0x00000819
-_080FB934:
- ldr r0, _080FB938
- b _080FB956
- .align 2, 0
-_080FB938: .4byte 0x0000081a
-_080FB93C:
- ldr r0, _080FB940
- b _080FB956
- .align 2, 0
-_080FB940: .4byte 0x0000081b
-_080FB944:
- ldr r0, _080FB948
- b _080FB956
- .align 2, 0
-_080FB948: .4byte 0x0000081c
-_080FB94C:
- ldr r0, _080FB950
- b _080FB956
- .align 2, 0
-_080FB950: .4byte 0x0000081d
-_080FB954:
- ldr r0, _080FB968
-_080FB956:
- bl FlagGet
- lsls r0, 24
- movs r1, 0x3
- cmp r0, 0
- beq _080FB964
- movs r1, 0x2
-_080FB964:
- adds r0, r1, 0
- b _080FB9A2
- .align 2, 0
-_080FB968: .4byte 0x0000081e
-_080FB96C:
- ldr r0, _080FB984
- bl FlagGet
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- negs r0, r1
- orrs r0, r1
- asrs r0, 31
- movs r1, 0x4
- ands r0, r1
- b _080FB9A2
- .align 2, 0
-_080FB984: .4byte 0x00000848
-_080FB988:
- ldr r0, _080FB99C
- bl FlagGet
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- negs r0, r1
- orrs r0, r1
- lsrs r0, 31
- b _080FB9A2
- .align 2, 0
-_080FB99C: .4byte 0x00000849
-_080FB9A0:
- movs r0, 0x1
-_080FB9A2:
- pop {r1}
- bx r1
- thumb_func_end sub_80FB758
-
- thumb_func_start sub_80FB9A8
-sub_80FB9A8: @ 80FB9A8
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- lsls r1, 16
- lsrs r1, 16
- bl sub_80FB2EC
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80FB9A8
-
- thumb_func_start sub_80FB9C0
-sub_80FB9C0: @ 80FB9C0
- push {r4-r6,lr}
- lsls r0, 16
- lsrs r3, r0, 16
- movs r2, 0
- ldr r0, _080FB9E8
- ldrh r1, [r0]
- adds r4, r0, 0
- cmp r1, 0x58
- beq _080FB9FC
- adds r5, r4, 0
- adds r6, r4, 0x2
-_080FB9D6:
- lsls r1, r2, 2
- adds r0, r1, r5
- ldrh r0, [r0]
- cmp r0, r3
- bne _080FB9EC
- adds r0, r1, r6
- ldrh r0, [r0]
- b _080FB9FE
- .align 2, 0
-_080FB9E8: .4byte gUnknown_083E7684
-_080FB9EC:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- lsls r0, r2, 2
- adds r0, r4
- ldrh r0, [r0]
- cmp r0, 0x58
- bne _080FB9D6
-_080FB9FC:
- adds r0, r3, 0
-_080FB9FE:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80FB9C0
-
- thumb_func_start sub_80FBA04
-sub_80FBA04: @ 80FBA04
- push {lr}
- lsls r0, 16
- lsrs r0, 16
- bl sub_80FB9C0
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80FBA04
-
- thumb_func_start sub_80FBA18
-sub_80FBA18: @ 80FBA18
- push {r4-r6,lr}
- ldr r0, _080FBA2C
- ldr r1, [r0]
- ldrh r0, [r1, 0x14]
- cmp r0, 0x58
- bne _080FBA30
- movs r0, 0
- strb r0, [r1, 0x17]
- b _080FBA96
- .align 2, 0
-_080FBA2C: .4byte gUnknown_020388CC
-_080FBA30:
- adds r0, r1, 0
- adds r0, 0x78
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FBA40
- adds r0, r1, 0
- adds r0, 0x54
- b _080FBA44
-_080FBA40:
- adds r0, r1, 0
- adds r0, 0x64
-_080FBA44:
- ldrh r4, [r0]
- adds r0, 0x2
- ldrh r5, [r0]
- movs r6, 0
- b _080FBA70
-_080FBA4E:
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FB2EC
- ldr r1, _080FBA8C
- ldr r1, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1, 0x14]
- cmp r0, r1
- bne _080FBA70
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_080FBA70:
- cmp r4, 0x1
- bhi _080FBA4E
- adds r0, r5, 0
- bl sub_80FBAA0
- lsls r0, 24
- cmp r0, 0
- beq _080FBA90
- subs r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- movs r4, 0x1D
- b _080FBA70
- .align 2, 0
-_080FBA8C: .4byte gUnknown_020388CC
-_080FBA90:
- ldr r0, _080FBA9C
- ldr r0, [r0]
- strb r6, [r0, 0x17]
-_080FBA96:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBA9C: .4byte gUnknown_020388CC
- thumb_func_end sub_80FBA18
-
- thumb_func_start sub_80FBAA0
-sub_80FBAA0: @ 80FBAA0
- push {r4,r5,lr}
- lsls r0, 16
- ldr r1, _080FBAB4
- adds r0, r1
- lsrs r5, r0, 16
- ldr r0, _080FBAB8
- cmp r5, r0
- bne _080FBAC0
- b _080FBAE2
- .align 2, 0
-_080FBAB4: .4byte 0xffff0000
-_080FBAB8: .4byte 0x0000ffff
-_080FBABC:
- movs r0, 0x1
- b _080FBAE4
-_080FBAC0:
- movs r4, 0x1
-_080FBAC2:
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FB2EC
- ldr r1, _080FBAEC
- ldr r1, [r1]
- lsls r0, 16
- lsrs r0, 16
- ldrh r1, [r1, 0x14]
- cmp r0, r1
- beq _080FBABC
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x1C
- bls _080FBAC2
-_080FBAE2:
- movs r0, 0
-_080FBAE4:
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_080FBAEC: .4byte gUnknown_020388CC
- thumb_func_end sub_80FBAA0
-
- thumb_func_start sub_80FBAF0
-sub_80FBAF0: @ 80FBAF0
- push {r4,lr}
- adds r2, r0, 0
- ldr r0, _080FBB34
- ldr r1, [r0]
- adds r3, r1, 0
- adds r3, 0x7A
- movs r0, 0
- ldrsb r0, [r3, r0]
- cmp r0, 0
- beq _080FBB2E
- adds r0, r1, 0
- adds r0, 0x7B
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- ldrh r4, [r2, 0x20]
- adds r0, r4
- strh r0, [r2, 0x20]
- adds r0, r1, 0
- adds r0, 0x7C
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- lsls r0, 1
- ldrh r1, [r2, 0x22]
- adds r0, r1
- strh r0, [r2, 0x22]
- ldrb r0, [r3]
- subs r0, 0x1
- strb r0, [r3]
-_080FBB2E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBB34: .4byte gUnknown_020388CC
- thumb_func_end sub_80FBAF0
-
- thumb_func_start nullsub_66
-nullsub_66: @ 80FBB38
- bx lr
- thumb_func_end nullsub_66
-
- thumb_func_start sub_80FBB3C
-sub_80FBB3C: @ 80FBB3C
- push {r4-r7,lr}
- sub sp, 0x28
- lsls r0, 16
- lsls r1, 16
- lsrs r6, r1, 16
- ldr r1, _080FBBAC
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [sp, 0x20]
- str r2, [sp, 0x24]
- mov r2, sp
- ldr r1, _080FBBB0
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- ldm r1!, {r3-r5}
- stm r2!, {r3-r5}
- lsrs r3, r0, 16
- add r2, sp, 0x18
- ldrh r1, [r2, 0x4]
- orrs r1, r0
- str r1, [r2, 0x4]
- mov r0, sp
- strh r3, [r0]
- ldr r0, _080FBBB4
- ldr r4, [r0]
- adds r0, r4, 0
- adds r0, 0x58
- strh r3, [r0]
- ldr r5, _080FBBB8
- add r1, sp, 0x20
- ldr r0, [r1, 0x4]
- ands r0, r5
- orrs r0, r6
- str r0, [r1, 0x4]
- mov r0, sp
- strh r6, [r0, 0x2]
- adds r3, r4, 0
- adds r0, r3, 0
- adds r0, 0x5A
- strh r6, [r0]
- adds r0, 0x1E
- ldrb r0, [r0]
- adds r7, r1, 0
- cmp r0, 0
- bne _080FBBC0
- movs r1, 0xC0
- lsls r1, 1
- adds r0, r3, r1
- str r0, [sp, 0x18]
- ldr r0, [r2, 0x4]
- ands r0, r5
- subs r1, 0x80
- orrs r0, r1
- str r0, [r2, 0x4]
- ldr r0, _080FBBBC
- b _080FBBD6
- .align 2, 0
-_080FBBAC: .4byte gUnknown_083E76E8
-_080FBBB0: .4byte gSpriteTemplate_83E76F0
-_080FBBB4: .4byte gUnknown_020388CC
-_080FBBB8: .4byte 0xffff0000
-_080FBBBC: .4byte sub_80FBAF0
-_080FBBC0:
- movs r3, 0xA0
- lsls r3, 2
- adds r0, r4, r3
- str r0, [sp, 0x18]
- ldr r0, [r2, 0x4]
- ands r0, r5
- movs r1, 0xC0
- lsls r1, 3
- orrs r0, r1
- str r0, [r2, 0x4]
- ldr r0, _080FBC38
-_080FBBD6:
- str r0, [sp, 0x14]
- adds r0, r2, 0
- bl LoadSpriteSheet
- adds r0, r7, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0x38
- movs r2, 0x48
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x40
- beq _080FBC90
- ldr r4, _080FBC3C
- ldr r2, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _080FBC40
- adds r3, r0, r1
- str r3, [r2, 0x1C]
- adds r2, 0x78
- ldrb r0, [r2]
- cmp r0, 0x1
- bne _080FBC44
- ldrb r1, [r3, 0x3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r3, 0x3]
- ldr r2, [r4]
- ldr r1, [r2, 0x1C]
- ldrh r0, [r1, 0x20]
- subs r0, 0x8
- strh r0, [r1, 0x20]
- ldr r1, [r2, 0x1C]
- ldrh r0, [r1, 0x22]
- subs r0, 0x8
- strh r0, [r1, 0x22]
- ldr r0, [r2, 0x1C]
- movs r1, 0x1
- bl StartSpriteAnim
- b _080FBC6C
- .align 2, 0
-_080FBC38: .4byte nullsub_66
-_080FBC3C: .4byte gUnknown_020388CC
-_080FBC40: .4byte gSprites
-_080FBC44:
- ldrb r1, [r3, 0x3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r3, 0x3]
- ldr r1, [r4]
- ldr r2, [r1, 0x1C]
- adds r0, r1, 0
- adds r0, 0x54
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r2, 0x20]
- ldr r2, [r1, 0x1C]
- adds r1, 0x56
- ldrh r0, [r1]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r2, 0x22]
-_080FBC6C:
- ldr r4, _080FBC98
- ldr r0, [r4]
- ldr r1, [r0, 0x1C]
- movs r0, 0x2
- strh r0, [r1, 0x30]
- adds r0, r6, 0
- bl IndexOfSpritePaletteTag
- ldr r1, [r4]
- ldr r2, [r1, 0x1C]
- lsls r0, 24
- lsrs r0, 20
- ldr r4, _080FBC9C
- adds r0, r4
- strh r0, [r2, 0x32]
- ldr r1, [r1, 0x1C]
- movs r0, 0x1
- strh r0, [r1, 0x34]
-_080FBC90:
- add sp, 0x28
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBC98: .4byte gUnknown_020388CC
-_080FBC9C: .4byte 0x00000101
- thumb_func_end sub_80FBB3C
-
- thumb_func_start sub_80FBCA0
-sub_80FBCA0: @ 80FBCA0
- push {r4,lr}
- ldr r4, _080FBCCC
- ldr r0, [r4]
- ldr r0, [r0, 0x1C]
- cmp r0, 0
- beq _080FBCC4
- bl DestroySprite
- ldr r0, [r4]
- adds r0, 0x58
- ldrh r0, [r0]
- bl FreeSpriteTilesByTag
- ldr r0, [r4]
- adds r0, 0x5A
- ldrh r0, [r0]
- bl FreeSpritePaletteByTag
-_080FBCC4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBCCC: .4byte gUnknown_020388CC
- thumb_func_end sub_80FBCA0
-
- thumb_func_start unref_sub_80FBCD0
-unref_sub_80FBCD0: @ 80FBCD0
- ldr r0, _080FBCDC
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- movs r0, 0x1
- strh r0, [r1, 0x34]
- bx lr
- .align 2, 0
-_080FBCDC: .4byte gUnknown_020388CC
- thumb_func_end unref_sub_80FBCD0
-
- thumb_func_start unref_sub_80FBCE0
-unref_sub_80FBCE0: @ 80FBCE0
- ldr r0, _080FBCEC
- ldr r0, [r0]
- ldr r1, [r0, 0x1C]
- movs r0, 0
- strh r0, [r1, 0x34]
- bx lr
- .align 2, 0
-_080FBCEC: .4byte gUnknown_020388CC
- thumb_func_end unref_sub_80FBCE0
-
- thumb_func_start sub_80FBCF0
-sub_80FBCF0: @ 80FBCF0
- push {r4,r5,lr}
- sub sp, 0x28
- lsls r0, 16
- lsls r1, 16
- lsrs r1, 16
- ldr r2, _080FBD98
- str r2, [sp, 0x18]
- movs r2, 0x80
- add r5, sp, 0x18
- lsrs r3, r0, 16
- orrs r0, r2
- str r0, [r5, 0x4]
- ldr r0, _080FBD9C
- str r0, [sp, 0x20]
- ldr r2, _080FBDA0
- add r4, sp, 0x20
- ldr r0, [r4, 0x4]
- ands r0, r2
- orrs r0, r1
- str r0, [r4, 0x4]
- mov r0, sp
- movs r2, 0
- strh r3, [r0]
- strh r1, [r0, 0x2]
- ldr r0, _080FBDA4
- str r0, [sp, 0x4]
- ldr r0, _080FBDA8
- str r0, [sp, 0x8]
- str r2, [sp, 0xC]
- ldr r0, _080FBDAC
- str r0, [sp, 0x10]
- ldr r0, _080FBDB0
- str r0, [sp, 0x14]
- ldr r0, _080FBDB4
- ldrb r0, [r0, 0x8]
- cmp r0, 0x1
- bne _080FBD42
- ldr r0, _080FBDB8
- str r0, [sp, 0x18]
- ldr r0, _080FBDBC
- str r0, [sp, 0x20]
-_080FBD42:
- adds r0, r5, 0
- bl LoadSpriteSheet
- adds r0, r4, 0
- bl LoadSpritePalette
- mov r0, sp
- movs r1, 0
- movs r2, 0
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _080FBDC0
- ldr r2, [r1]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _080FBDC4
- adds r1, r0
- str r1, [r2, 0x20]
- adds r0, r2, 0
- adds r0, 0x78
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FBDCC
- adds r0, r2, 0
- adds r0, 0x74
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x20]
- ldr r1, [r2, 0x20]
- adds r0, r2, 0
- adds r0, 0x76
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x22]
- ldr r1, [r2, 0x20]
- ldr r0, _080FBDC8
- b _080FBDEA
- .align 2, 0
-_080FBD98: .4byte gUnknown_083E5C40
-_080FBD9C: .4byte gUnknown_083E5C20
-_080FBDA0: .4byte 0xffff0000
-_080FBDA4: .4byte gUnknown_083E7708
-_080FBDA8: .4byte gUnknown_083E7718
-_080FBDAC: .4byte gDummySpriteAffineAnimTable
-_080FBDB0: .4byte SpriteCallbackDummy
-_080FBDB4: .4byte gSaveBlock2
-_080FBDB8: .4byte gUnknown_083E5CE0
-_080FBDBC: .4byte gUnknown_083E5CC0
-_080FBDC0: .4byte gUnknown_020388CC
-_080FBDC4: .4byte gSprites
-_080FBDC8: .4byte sub_80FBF34
-_080FBDCC:
- adds r0, r2, 0
- adds r0, 0x74
- ldrh r0, [r0]
- lsls r0, 4
- subs r0, 0x30
- strh r0, [r1, 0x20]
- ldr r1, [r2, 0x20]
- adds r0, r2, 0
- adds r0, 0x76
- ldrh r0, [r0]
- lsls r0, 4
- subs r0, 0x42
- strh r0, [r1, 0x22]
- ldr r1, [r2, 0x20]
- ldr r0, _080FBDF4
-_080FBDEA:
- str r0, [r1, 0x1C]
- add sp, 0x28
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FBDF4: .4byte sub_80FBEA4
- thumb_func_end sub_80FBCF0
-
- thumb_func_start sub_80FBDF8
-sub_80FBDF8: @ 80FBDF8
- push {lr}
- ldr r3, _080FBE1C
- ldr r0, [r3]
- ldr r2, [r0, 0x20]
- cmp r2, 0
- beq _080FBE16
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldr r0, [r3]
- ldr r1, [r0, 0x20]
- ldr r0, _080FBE20
- str r0, [r1, 0x1C]
-_080FBE16:
- pop {r0}
- bx r0
- .align 2, 0
-_080FBE1C: .4byte gUnknown_020388CC
-_080FBE20: .4byte SpriteCallbackDummy
- thumb_func_end sub_80FBDF8
-
- thumb_func_start sub_80FBE24
-sub_80FBE24: @ 80FBE24
- push {lr}
- ldr r0, _080FBE5C
- ldr r3, [r0]
- ldr r1, [r3, 0x20]
- cmp r1, 0
- beq _080FBE9A
- adds r0, r3, 0
- adds r0, 0x78
- ldrb r0, [r0]
- cmp r0, 0x1
- bne _080FBE64
- adds r0, r3, 0
- adds r0, 0x74
- ldrh r0, [r0]
- lsls r0, 4
- subs r0, 0x30
- strh r0, [r1, 0x20]
- ldr r1, [r3, 0x20]
- adds r0, r3, 0
- adds r0, 0x76
- ldrh r0, [r0]
- lsls r0, 4
- subs r0, 0x42
- strh r0, [r1, 0x22]
- ldr r1, [r3, 0x20]
- ldr r0, _080FBE60
- b _080FBE8C
- .align 2, 0
-_080FBE5C: .4byte gUnknown_020388CC
-_080FBE60: .4byte sub_80FBEA4
-_080FBE64:
- adds r0, r3, 0
- adds r0, 0x74
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- movs r2, 0
- strh r0, [r1, 0x20]
- ldr r1, [r3, 0x20]
- adds r0, r3, 0
- adds r0, 0x76
- ldrh r0, [r0]
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x22]
- ldr r0, [r3, 0x20]
- strh r2, [r0, 0x24]
- ldr r0, [r3, 0x20]
- strh r2, [r0, 0x26]
- ldr r1, [r3, 0x20]
- ldr r0, _080FBEA0
-_080FBE8C:
- str r0, [r1, 0x1C]
- adds r1, 0x3E
- ldrb r2, [r1]
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- strb r0, [r1]
-_080FBE9A:
- pop {r0}
- bx r0
- .align 2, 0
-_080FBEA0: .4byte sub_80FBF34
- thumb_func_end sub_80FBE24
-
- thumb_func_start sub_80FBEA4
-sub_80FBEA4: @ 80FBEA4
- push {r4,lr}
- adds r3, r0, 0
- ldr r0, _080FBF08
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x5C
- movs r4, 0
- ldrsh r2, [r0, r4]
- lsls r2, 1
- negs r2, r2
- strh r2, [r3, 0x24]
- adds r1, 0x5E
- movs r4, 0
- ldrsh r0, [r1, r4]
- lsls r0, 1
- negs r0, r0
- strh r0, [r3, 0x26]
- ldrh r1, [r3, 0x22]
- adds r1, r0
- adds r0, r3, 0
- adds r0, 0x29
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r0, r1
- strh r0, [r3, 0x2E]
- ldrh r1, [r3, 0x20]
- adds r1, r2
- adds r2, r3, 0
- adds r2, 0x28
- ldrb r2, [r2]
- lsls r2, 24
- asrs r2, 24
- adds r2, r1
- strh r2, [r3, 0x30]
- adds r0, 0x8
- lsls r0, 16
- lsrs r0, 16
- cmp r0, 0xB0
- bhi _080FBF04
- lsls r0, r2, 16
- asrs r2, r0, 16
- movs r0, 0x8
- negs r0, r0
- cmp r2, r0
- blt _080FBF04
- cmp r2, 0xF8
- ble _080FBF0C
-_080FBF04:
- movs r0, 0
- b _080FBF0E
- .align 2, 0
-_080FBF08: .4byte gUnknown_020388CC
-_080FBF0C:
- movs r0, 0x1
-_080FBF0E:
- strh r0, [r3, 0x32]
- movs r1, 0x32
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- bne _080FBF20
- adds r0, r3, 0
- bl sub_80FBF40
- b _080FBF2C
-_080FBF20:
- adds r0, r3, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
-_080FBF2C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FBEA4
-
- thumb_func_start sub_80FBF34
-sub_80FBF34: @ 80FBF34
- push {lr}
- bl sub_80FBF40
- pop {r0}
- bx r0
- thumb_func_end sub_80FBF34
-
- thumb_func_start sub_80FBF40
-sub_80FBF40: @ 80FBF40
- push {lr}
- adds r2, r0, 0
- ldr r0, _080FBF80
- ldr r0, [r0]
- adds r0, 0x7E
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FBF84
- ldrh r0, [r2, 0x3C]
- adds r0, 0x1
- strh r0, [r2, 0x3C]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080FBF90
- movs r0, 0
- strh r0, [r2, 0x3C]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _080FBF90
- .align 2, 0
-_080FBF80: .4byte gUnknown_020388CC
-_080FBF84:
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_080FBF90:
- pop {r0}
- bx r0
- thumb_func_end sub_80FBF40
-
- thumb_func_start sub_80FBF94
-sub_80FBF94: @ 80FBF94
- push {lr}
- ldr r0, _080FBFB0
- ldr r1, [r0]
- adds r0, r1, 0
- adds r0, 0x7F
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FBFAA
- adds r1, 0x7E
- movs r0, 0x1
- strb r0, [r1]
-_080FBFAA:
- pop {r0}
- bx r0
- .align 2, 0
-_080FBFB0: .4byte gUnknown_020388CC
- thumb_func_end sub_80FBF94
-
- thumb_func_start sub_80FBFB4
-sub_80FBFB4: @ 80FBFB4
- push {lr}
- adds r3, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r2, 16
- lsrs r2, 16
- cmp r1, 0x56
- bne _080FBFCA
- bl GetSecretBaseMapName
- b _080FBFF2
-_080FBFCA:
- cmp r1, 0x57
- bhi _080FBFE4
- ldr r0, _080FBFE0
- lsls r1, 3
- adds r0, 0x4
- adds r1, r0
- ldr r1, [r1]
- adds r0, r3, 0
- bl StringCopy
- b _080FBFF2
- .align 2, 0
-_080FBFE0: .4byte gRegionMapLocations
-_080FBFE4:
- cmp r2, 0
- bne _080FBFEA
- movs r2, 0x12
-_080FBFEA:
- adds r0, r3, 0
- movs r1, 0
- bl StringFill
-_080FBFF2:
- pop {r1}
- bx r1
- thumb_func_end sub_80FBFB4
-
- thumb_func_start sub_80FBFF8
-sub_80FBFF8: @ 80FBFF8
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x56
- beq _080FC014
- cmp r1, 0x57
- bne _080FC020
- ldr r1, _080FC010
- bl StringCopy
- b _080FC026
- .align 2, 0
-_080FC010: .4byte gOtherText_Ferry
-_080FC014:
- ldr r1, _080FC01C
- bl StringCopy
- b _080FC026
- .align 2, 0
-_080FC01C: .4byte gOtherText_SecretBase
-_080FC020:
- movs r2, 0
- bl sub_80FBFB4
-_080FC026:
- pop {r1}
- bx r1
- thumb_func_end sub_80FBFF8
-
- thumb_func_start sub_80FC02C
-sub_80FC02C: @ 80FC02C
- push {lr}
- lsls r1, 16
- lsrs r1, 16
- cmp r1, 0x42
- beq _080FC03C
- bl sub_80FBFF8
- b _080FC042
-_080FC03C:
- ldr r1, _080FC048
- bl StringCopy
-_080FC042:
- pop {r1}
- bx r1
- .align 2, 0
-_080FC048: .4byte gOtherText_Hideout
- thumb_func_end sub_80FC02C
-
- thumb_func_start sub_80FC04C
-sub_80FC04C: @ 80FC04C
- push {r4,r5,lr}
- ldr r5, [sp, 0xC]
- lsls r0, 16
- ldr r4, _080FC070
- lsrs r0, 13
- adds r0, r4
- ldrb r4, [r0]
- strh r4, [r1]
- ldrb r1, [r0, 0x1]
- strh r1, [r2]
- ldrb r1, [r0, 0x2]
- strh r1, [r3]
- ldrb r0, [r0, 0x3]
- strh r0, [r5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC070: .4byte gRegionMapLocations
- thumb_func_end sub_80FC04C
-
- thumb_func_start sub_80FC074
-sub_80FC074: @ 80FC074
- push {r4,lr}
- ldr r0, _080FC090
- ldr r1, _080FC094
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x9
- bls _080FC084
- b _080FC1F2
-_080FC084:
- lsls r0, 2
- ldr r1, _080FC098
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FC090: .4byte gMain
-_080FC094: .4byte 0x0000043c
-_080FC098: .4byte _080FC09C
- .align 2, 0
-_080FC09C:
- .4byte _080FC0C4
- .4byte _080FC104
- .4byte _080FC110
- .4byte _080FC120
- .4byte _080FC15C
- .4byte _080FC170
- .4byte _080FC184
- .4byte _080FC1A4
- .4byte _080FC1AA
- .4byte _080FC1C4
-_080FC0C4:
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0x80
- lsls r0, 19
- movs r1, 0
- strh r1, [r0]
- adds r0, 0x10
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- subs r0, 0x2
- strh r1, [r0]
- adds r0, 0x4
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bl ResetPaletteFade
- bl ResetSpriteData
- bl FreeSpriteTileRanges
- bl FreeAllSpritePalettes
- b _080FC1E6
-_080FC104:
- ldr r0, _080FC10C
- bl SetUpWindowConfig
- b _080FC1E6
- .align 2, 0
-_080FC10C: .4byte gWindowConfig_81E7224
-_080FC110:
- ldr r0, _080FC11C
- bl InitMenuWindow
- bl MenuZeroFillScreen
- b _080FC1E6
- .align 2, 0
-_080FC11C: .4byte gWindowConfig_81E7224
-_080FC120:
- ldr r4, _080FC158
- adds r0, r4, 0
- movs r1, 0
- bl sub_80FA8EC
- movs r0, 0
- movs r1, 0
- bl sub_80FBB3C
- movs r0, 0x1
- movs r1, 0x1
- bl sub_80FBCF0
- adds r1, r4, 0
- subs r1, 0x8
- ldrh r0, [r1, 0x1C]
- strh r0, [r1, 0x6]
- movs r2, 0xA4
- lsls r2, 4
- adds r4, r2
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0xC
- bl StringFill
- bl sub_80FC254
- b _080FC1E6
- .align 2, 0
-_080FC158: .4byte 0x02000008
-_080FC15C:
- ldr r0, _080FC168
- ldr r1, _080FC16C
- bl LZ77UnCompVram
- b _080FC1E6
- .align 2, 0
-_080FC168: .4byte gUnknown_083E773C
-_080FC16C: .4byte 0x0600c000
-_080FC170:
- ldr r0, _080FC17C
- ldr r1, _080FC180
- bl LZ77UnCompVram
- b _080FC1E6
- .align 2, 0
-_080FC17C: .4byte gUnknown_083E7774
-_080FC180: .4byte 0x0600f000
-_080FC184:
- ldr r0, _080FC19C
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- ldr r0, _080FC1A0
- movs r1, 0x1
- movs r2, 0x90
- movs r3, 0x1
- bl sub_80729D8
- b _080FC1E6
- .align 2, 0
-_080FC19C: .4byte gUnknown_083E771C
-_080FC1A0: .4byte gOtherText_FlyToWhere
-_080FC1A4:
- bl sub_80FC31C
- b _080FC1E6
-_080FC1AA:
- movs r0, 0x1
- negs r0, r0
- movs r1, 0x10
- movs r2, 0
- bl BlendPalettes
- ldr r0, _080FC1C0
- bl SetVBlankCallback
- b _080FC1E6
- .align 2, 0
-_080FC1C0: .4byte sub_80FC214
-_080FC1C4:
- ldr r1, _080FC1F8
- movs r0, 0
- strh r0, [r1]
- subs r1, 0x46
- ldr r2, _080FC1FC
- adds r0, r2, 0
- strh r0, [r1]
- subs r1, 0xA
- ldr r2, _080FC200
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _080FC204
- bl sub_80FC244
- ldr r0, _080FC208
- bl SetMainCallback2
-_080FC1E6:
- ldr r1, _080FC20C
- ldr r0, _080FC210
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_080FC1F2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC1F8: .4byte REG_BLDCNT
-_080FC1FC: .4byte 0x00001e0d
-_080FC200: .4byte 0x00001741
-_080FC204: .4byte sub_80FC5B4
-_080FC208: .4byte sub_80FC228
-_080FC20C: .4byte gMain
-_080FC210: .4byte 0x0000043c
- thumb_func_end sub_80FC074
-
- thumb_func_start sub_80FC214
-sub_80FC214: @ 80FC214
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_80FC214
-
- thumb_func_start sub_80FC228
-sub_80FC228: @ 80FC228
- push {lr}
- ldr r0, _080FC240
- ldr r0, [r0]
- bl _call_via_r0
- bl AnimateSprites
- bl BuildOamBuffer
- pop {r0}
- bx r0
- .align 2, 0
-_080FC240: .4byte 0x02000000
- thumb_func_end sub_80FC228
-
- thumb_func_start sub_80FC244
-sub_80FC244: @ 80FC244
- ldr r1, _080FC250
- str r0, [r1]
- movs r0, 0
- strh r0, [r1, 0x4]
- bx lr
- .align 2, 0
-_080FC250: .4byte 0x02000000
- thumb_func_end sub_80FC244
-
- thumb_func_start sub_80FC254
-sub_80FC254: @ 80FC254
- push {r4,r5,lr}
- ldr r4, _080FC2AC
- ldrb r0, [r4, 0x1E]
- cmp r0, 0x2
- beq _080FC262
- cmp r0, 0x4
- bne _080FC2EC
-_080FC262:
- movs r1, 0
- ldr r2, _080FC2B0
- adds r5, r4, 0
-_080FC268:
- lsls r0, r1, 3
- adds r4, r0, r2
- ldrh r0, [r5, 0x1C]
- ldrh r3, [r4, 0x4]
- cmp r0, r3
- bne _080FC2B4
- ldrh r0, [r4, 0x6]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080FC2BE
- movs r0, 0x10
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- adds r0, r5, 0
- adds r0, 0x8
- movs r1, 0x11
- movs r2, 0xF
- bl MenuPrint
- ldrb r0, [r5, 0x1F]
- ldr r1, [r4]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x1D
- movs r2, 0x11
- bl sub_8072B4C
- b _080FC310
- .align 2, 0
-_080FC2AC: .4byte 0x02000000
-_080FC2B0: .4byte gUnknown_083E79C0
-_080FC2B4:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0
- beq _080FC268
-_080FC2BE:
- movs r0, 0
- cmp r0, 0
- bne _080FC310
- movs r0, 0x10
- movs r1, 0x10
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r0, _080FC2E8
- movs r1, 0x11
- movs r2, 0x11
- bl MenuPrint
- movs r0, 0x10
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0xF
- bl MenuZeroFillWindowRect
- b _080FC310
- .align 2, 0
-_080FC2E8: .4byte 0x02000008
-_080FC2EC:
- movs r0, 0x10
- movs r1, 0x10
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r1, _080FC318
- adds r0, r4, r1
- movs r1, 0x11
- movs r2, 0x11
- bl MenuPrint
- movs r0, 0x10
- movs r1, 0xE
- movs r2, 0x1D
- movs r3, 0xF
- bl MenuZeroFillWindowRect
-_080FC310:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC318: .4byte 0x00000a48
- thumb_func_end sub_80FC254
-
- thumb_func_start sub_80FC31C
-sub_80FC31C: @ 80FC31C
- push {r4,lr}
- sub sp, 0x8
- ldr r0, _080FC360
- ldr r4, _080FC364
- adds r1, r4, 0
- bl LZ77UnCompWram
- str r4, [sp]
- ldr r1, _080FC368
- ldr r0, [sp, 0x4]
- ands r0, r1
- movs r1, 0xE0
- lsls r1, 1
- orrs r0, r1
- ldr r1, _080FC36C
- ands r0, r1
- movs r1, 0x80
- lsls r1, 10
- orrs r0, r1
- str r0, [sp, 0x4]
- mov r0, sp
- bl LoadSpriteSheet
- ldr r0, _080FC370
- bl LoadSpritePalette
- bl sub_80FC374
- bl sub_80FC484
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC360: .4byte gUnknown_083E784C
-_080FC364: .4byte 0x02000888
-_080FC368: .4byte 0xffff0000
-_080FC36C: .4byte 0x0000ffff
-_080FC370: .4byte gUnknown_083E79CC
- thumb_func_end sub_80FC31C
-
- thumb_func_start sub_80FC374
-sub_80FC374: @ 80FC374
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x1C
- ldr r0, _080FC3D4
- str r0, [sp, 0xC]
- movs r1, 0
- mov r9, r1
- mov r2, sp
- adds r2, 0x6
- str r2, [sp, 0x14]
- mov r3, sp
- adds r3, 0xA
- str r3, [sp, 0x18]
- mov r0, sp
- adds r0, 0x8
- str r0, [sp, 0x10]
- add r1, sp, 0x4
- mov r10, r1
-_080FC39E:
- ldr r2, [sp, 0x18]
- str r2, [sp]
- mov r0, r9
- add r1, sp, 0x4
- mov r2, sp
- adds r2, 0x6
- ldr r3, [sp, 0x10]
- bl sub_80FC04C
- mov r3, r10
- ldrh r0, [r3]
- adds r0, 0x1
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r3]
- mov r1, sp
- ldrh r0, [r1, 0x6]
- adds r0, 0x2
- lsls r0, 3
- adds r0, 0x4
- strh r0, [r1, 0x6]
- ldr r2, [sp, 0x10]
- ldrh r0, [r2]
- cmp r0, 0x2
- bne _080FC3D8
- movs r7, 0x1
- b _080FC3E4
- .align 2, 0
-_080FC3D4: .4byte 0x0000080f
-_080FC3D8:
- ldr r3, [sp, 0x18]
- ldrh r0, [r3]
- movs r7, 0
- cmp r0, 0x2
- bne _080FC3E4
- movs r7, 0x2
-_080FC3E4:
- mov r0, r10
- movs r2, 0
- ldrsh r1, [r0, r2]
- ldr r3, [sp, 0x14]
- movs r0, 0
- ldrsh r2, [r3, r0]
- ldr r0, _080FC430
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x40
- beq _080FC458
- ldr r1, _080FC434
- mov r8, r1
- lsls r4, r5, 4
- adds r0, r4, r5
- lsls r6, r0, 2
- adds r2, r6, r1
- lsls r3, r7, 6
- ldrb r1, [r2, 0x1]
- movs r0, 0x3F
- ands r0, r1
- orrs r0, r3
- strb r0, [r2, 0x1]
- ldr r0, [sp, 0xC]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080FC43C
- mov r0, r8
- adds r0, 0x1C
- adds r0, r6, r0
- ldr r1, _080FC438
- str r1, [r0]
- b _080FC442
- .align 2, 0
-_080FC430: .4byte gSpriteTemplate_83E7A38
-_080FC434: .4byte gSprites
-_080FC438: .4byte sub_80FC55C
-_080FC43C:
- adds r0, r7, 0x3
- lsls r0, 16
- lsrs r7, r0, 16
-_080FC442:
- adds r4, r5
- lsls r4, 2
- ldr r0, _080FC480
- adds r4, r0
- lsls r1, r7, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- mov r2, r9
- strh r2, [r4, 0x2E]
-_080FC458:
- ldr r0, [sp, 0xC]
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp, 0xC]
- mov r0, r9
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- cmp r0, 0xF
- bls _080FC39E
- add sp, 0x1C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC480: .4byte gSprites
- thumb_func_end sub_80FC374
-
- thumb_func_start sub_80FC484
-sub_80FC484: @ 80FC484
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r0, 0
- mov r8, r0
- ldr r6, _080FC54C
- ldrh r0, [r6, 0x2]
- cmp r0, 0x58
- beq _080FC53C
- mov r5, sp
- adds r5, 0x6
- add r7, sp, 0x4
- ldr r1, _080FC550
- mov r9, r1
- movs r0, 0x1C
- add r0, r9
- mov r10, r0
-_080FC4AC:
- mov r1, r8
- lsls r4, r1, 2
- adds r0, r4, r6
- ldrh r0, [r0]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- beq _080FC524
- adds r0, r6, 0x2
- adds r0, r4, r0
- ldrh r6, [r0]
- mov r0, sp
- adds r0, 0xA
- str r0, [sp]
- adds r0, r6, 0
- add r1, sp, 0x4
- adds r2, r5, 0
- add r3, sp, 0x8
- bl sub_80FC04C
- ldrh r0, [r7]
- adds r0, 0x1
- lsls r0, 3
- strh r0, [r7]
- ldrh r0, [r5]
- adds r0, 0x2
- lsls r0, 3
- strh r0, [r5]
- movs r0, 0
- ldrsh r1, [r7, r0]
- movs r0, 0
- ldrsh r2, [r5, r0]
- ldr r0, _080FC554
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x40
- beq _080FC524
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- mov r1, r9
- adds r4, r2, r1
- ldrb r1, [r4, 0x3]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r4, 0x3]
- add r2, r10
- ldr r0, _080FC558
- str r0, [r2]
- adds r0, r4, 0
- movs r1, 0x6
- bl StartSpriteAnim
- strh r6, [r4, 0x2E]
-_080FC524:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r6, _080FC54C
- lsls r0, 2
- adds r1, r6, 0x2
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, 0x58
- bne _080FC4AC
-_080FC53C:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC54C: .4byte gUnknown_083E79D4
-_080FC550: .4byte gSprites
-_080FC554: .4byte gSpriteTemplate_83E7A38
-_080FC558: .4byte sub_80FC55C
- thumb_func_end sub_80FC484
-
- thumb_func_start sub_80FC55C
-sub_80FC55C: @ 80FC55C
- push {lr}
- adds r2, r0, 0
- ldr r0, _080FC59C
- ldrh r1, [r0, 0x1C]
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- cmp r1, r0
- bne _080FC5A0
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x10
- ble _080FC5AE
- movs r0, 0
- strh r0, [r2, 0x30]
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r2, [r3]
- lsrs r1, r2, 2
- movs r0, 0x1
- eors r1, r0
- ands r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- b _080FC5AE
- .align 2, 0
-_080FC59C: .4byte 0x02000000
-_080FC5A0:
- movs r0, 0x10
- strh r0, [r2, 0x30]
- adds r2, 0x3E
- ldrb r1, [r2]
- subs r0, 0x15
- ands r0, r1
- strb r0, [r2]
-_080FC5AE:
- pop {r0}
- bx r0
- thumb_func_end sub_80FC55C
-
- thumb_func_start sub_80FC5B4
-sub_80FC5B4: @ 80FC5B4
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080FC5C8
- ldrh r1, [r4, 0x4]
- cmp r1, 0
- beq _080FC5CC
- cmp r1, 0x1
- beq _080FC5E4
- b _080FC5F4
- .align 2, 0
-_080FC5C8: .4byte 0x02000000
-_080FC5CC:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- b _080FC5F4
-_080FC5E4:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080FC5F4
- ldr r0, _080FC5FC
- bl sub_80FC244
-_080FC5F4:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC5FC: .4byte sub_80FC600
- thumb_func_end sub_80FC5B4
-
- thumb_func_start sub_80FC600
-sub_80FC600: @ 80FC600
- push {r4,lr}
- ldr r0, _080FC620
- ldrh r0, [r0, 0x4]
- cmp r0, 0
- bne _080FC68A
- bl sub_80FAB60
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _080FC68A
- lsls r0, 2
- ldr r1, _080FC624
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FC620: .4byte 0x02000000
-_080FC624: .4byte _080FC628
- .align 2, 0
-_080FC628:
- .4byte _080FC68A
- .4byte _080FC68A
- .4byte _080FC68A
- .4byte _080FC640
- .4byte _080FC646
- .4byte _080FC674
-_080FC640:
- bl sub_80FC254
- b _080FC68A
-_080FC646:
- ldr r4, _080FC668
- ldrb r0, [r4, 0x1E]
- cmp r0, 0x2
- beq _080FC652
- cmp r0, 0x4
- bne _080FC68A
-_080FC652:
- movs r0, 0x5
- bl m4aSongNumStart
- ldr r1, _080FC66C
- adds r0, r4, r1
- movs r1, 0x1
- strb r1, [r0]
- ldr r0, _080FC670
- bl sub_80FC244
- b _080FC68A
- .align 2, 0
-_080FC668: .4byte 0x02000000
-_080FC66C: .4byte 0x00000a6e
-_080FC670: .4byte sub_80FC69C
-_080FC674:
- movs r0, 0x5
- bl m4aSongNumStart
- ldr r0, _080FC690
- ldr r1, _080FC694
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080FC698
- bl sub_80FC244
-_080FC68A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC690: .4byte 0x02000000
-_080FC694: .4byte 0x00000a6e
-_080FC698: .4byte sub_80FC69C
- thumb_func_end sub_80FC600
-
- thumb_func_start sub_80FC69C
-sub_80FC69C: @ 80FC69C
- push {r4,lr}
- sub sp, 0x4
- ldr r4, _080FC6B0
- ldrh r1, [r4, 0x4]
- cmp r1, 0
- beq _080FC6B4
- cmp r1, 0x1
- beq _080FC6CC
- b _080FC792
- .align 2, 0
-_080FC6B0: .4byte 0x02000000
-_080FC6B4:
- movs r0, 0x1
- negs r0, r0
- str r1, [sp]
- movs r1, 0
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x4]
- adds r0, 0x1
- strh r0, [r4, 0x4]
- b _080FC792
-_080FC6CC:
- bl UpdatePaletteFade
- lsls r0, 24
- cmp r0, 0
- bne _080FC792
- bl sub_80FAB10
- ldr r1, _080FC6F4
- adds r0, r4, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FC78C
- ldrh r0, [r4, 0x1C]
- cmp r0, 0xF
- beq _080FC724
- cmp r0, 0xF
- bgt _080FC6F8
- cmp r0, 0
- beq _080FC710
- b _080FC748
- .align 2, 0
-_080FC6F4: .4byte 0x00000a6e
-_080FC6F8:
- cmp r0, 0x3A
- beq _080FC708
- cmp r0, 0x49
- bne _080FC748
- movs r0, 0x16
- bl sub_8053538
- b _080FC786
-_080FC708:
- movs r0, 0x15
- bl sub_8053538
- b _080FC786
-_080FC710:
- ldr r0, _080FC720
- ldrb r0, [r0, 0x8]
- movs r1, 0xD
- cmp r0, 0
- bne _080FC73A
- movs r1, 0xC
- b _080FC73A
- .align 2, 0
-_080FC720: .4byte gSaveBlock2
-_080FC724:
- ldr r0, _080FC744
- bl FlagGet
- lsls r0, 24
- movs r1, 0xB
- cmp r0, 0
- beq _080FC73A
- ldrb r0, [r4, 0x1F]
- cmp r0, 0
- bne _080FC73A
- movs r1, 0x14
-_080FC73A:
- adds r0, r1, 0
- bl sub_8053538
- b _080FC786
- .align 2, 0
-_080FC744: .4byte 0x00000854
-_080FC748:
- ldr r3, _080FC764
- ldr r0, _080FC768
- ldrh r1, [r0, 0x1C]
- lsls r0, r1, 1
- adds r2, r0, r1
- adds r0, r3, 0x2
- adds r1, r2, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080FC76C
- bl sub_8053538
- b _080FC786
- .align 2, 0
-_080FC764: .4byte gUnknown_083E7920
-_080FC768: .4byte 0x02000000
-_080FC76C:
- adds r0, r2, r3
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- adds r1, r3, 0x1
- adds r1, r2, r1
- ldrb r1, [r1]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- bl warp1_set_2
-_080FC786:
- bl sub_80865BC
- b _080FC792
-_080FC78C:
- ldr r0, _080FC79C
- bl SetMainCallback2
-_080FC792:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC79C: .4byte sub_808AD58
- thumb_func_end sub_80FC69C
-
- thumb_func_start sub_80FC7A0
-sub_80FC7A0: @ 80FC7A0
- push {lr}
- ldr r2, _080FC7E8
- ldr r1, [r0, 0x4]
- str r1, [r2]
- ldr r2, _080FC7EC
- ldrb r1, [r0, 0x1F]
- strb r1, [r2]
- ldr r2, _080FC7F0
- ldrb r1, [r0, 0x19]
- strb r1, [r2]
- ldr r2, _080FC7F4
- ldrb r1, [r0, 0x1A]
- strb r1, [r2]
- ldr r2, _080FC7F8
- ldrb r1, [r0, 0x1B]
- strb r1, [r2]
- ldr r2, _080FC7FC
- ldrb r1, [r0, 0x1C]
- strb r1, [r2]
- ldr r2, _080FC800
- ldrb r1, [r0, 0x1D]
- strb r1, [r2]
- ldr r2, _080FC804
- ldrb r1, [r0, 0x1E]
- strb r1, [r2]
- ldrb r0, [r0]
- subs r0, 0x2
- cmp r0, 0x22
- bls _080FC7DC
- b _080FC928
-_080FC7DC:
- lsls r0, 2
- ldr r1, _080FC808
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FC7E8: .4byte gUnknown_03005DEC
-_080FC7EC: .4byte gUnknown_03005E00
-_080FC7F0: .4byte gUnknown_03005DE8
-_080FC7F4: .4byte gUnknown_03005DFC
-_080FC7F8: .4byte gUnknown_03005DF8
-_080FC7FC: .4byte gUnknown_03005DF0
-_080FC800: .4byte gUnknown_03005E04
-_080FC804: .4byte gUnknown_03005DF4
-_080FC808: .4byte _080FC80C
- .align 2, 0
-_080FC80C:
- .4byte _080FC898
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC8F8
- .4byte _080FC928
- .4byte _080FC89E
- .4byte _080FC8A4
- .4byte _080FC8B8
- .4byte _080FC8CA
- .4byte _080FC928
- .4byte _080FC8E0
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC8E6
- .4byte _080FC8C4
- .4byte _080FC8EC
- .4byte _080FC8F2
- .4byte _080FC928
- .4byte _080FC928
- .4byte _080FC904
-_080FC898:
- bl sub_80FCAA4
- b _080FC928
-_080FC89E:
- bl sub_80FCB5C
- b _080FC928
-_080FC8A4:
- bl sub_80FCD54
- ldr r0, _080FC8B4
- ldrb r0, [r0]
- bl sub_80FCC18
- b _080FC928
- .align 2, 0
-_080FC8B4: .4byte gUnknown_03005E00
-_080FC8B8:
- bl sub_80FCD54
- bl sub_80FCEA4
- bl sub_80FCCBC
-_080FC8C4:
- bl sub_80FCEA4
- b _080FC928
-_080FC8CA:
- bl sub_80FCD54
- bl sub_80FD06C
- bl sub_80FD06C
- bl sub_80FD114
- bl sub_80FCCBC
- b _080FC928
-_080FC8E0:
- bl sub_80FCF3C
- b _080FC928
-_080FC8E6:
- bl sub_80FCD54
- b _080FC928
-_080FC8EC:
- bl sub_80FD06C
- b _080FC928
-_080FC8F2:
- bl sub_80FD114
- b _080FC928
-_080FC8F8:
- bl sub_80FCAC4
- movs r0, 0x3
- bl sub_80FC92C
- b _080FC928
-_080FC904:
- bl sub_80FCD54
- bl sub_80FD06C
- bl sub_80FD114
- bl sub_80FCCBC
- bl sub_80FCB5C
- bl sub_80FCB5C
- movs r0, 0x2
- bl sub_80FC92C
- movs r0, 0x4
- bl sub_80FC9E4
-_080FC928:
- pop {r0}
- bx r0
- thumb_func_end sub_80FC7A0
-
- thumb_func_start sub_80FC92C
-sub_80FC92C: @ 80FC92C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r2, 0
- ldr r0, _080FC9CC
- mov r8, r0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FC9BE
- ldr r1, _080FC9D0
- mov r12, r1
- ldr r3, _080FC9D4
- mov r10, r3
- ldr r0, _080FC9D8
- mov r9, r0
-_080FC952:
- ldr r1, _080FC9DC
- ldrb r0, [r1]
- adds r0, r2
- mov r3, r10
- ldrb r1, [r3]
- muls r0, r1
- lsls r0, 1
- ldr r3, _080FC9E0
- ldr r1, [r3]
- adds r1, r0
- mov r3, r9
- ldrb r0, [r3]
- lsls r0, 1
- adds r3, r1, r0
- movs r4, 0
- adds r5, r2, 0x1
- mov r0, r12
- ldrb r0, [r0]
- cmp r4, r0
- bcs _080FC9B2
- movs r6, 0x80
- lsls r6, 8
-_080FC97E:
- ldrh r1, [r3]
- adds r0, r6, 0
- ands r0, r1
- cmp r0, 0
- bne _080FC9A2
- movs r0, 0x1F
- ands r0, r1
- adds r0, r7
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x1F
- bls _080FC998
- movs r2, 0x1F
-_080FC998:
- lsls r0, r2, 10
- lsls r1, r2, 5
- orrs r0, r1
- orrs r0, r2
- strh r0, [r3]
-_080FC9A2:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- adds r3, 0x2
- mov r1, r12
- ldrb r1, [r1]
- cmp r4, r1
- bcc _080FC97E
-_080FC9B2:
- lsls r0, r5, 24
- lsrs r2, r0, 24
- mov r3, r8
- ldrb r3, [r3]
- cmp r2, r3
- bcc _080FC952
-_080FC9BE:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FC9CC: .4byte gUnknown_03005DF0
-_080FC9D0: .4byte gUnknown_03005DF8
-_080FC9D4: .4byte gUnknown_03005E04
-_080FC9D8: .4byte gUnknown_03005DE8
-_080FC9DC: .4byte gUnknown_03005DFC
-_080FC9E0: .4byte gUnknown_03005DEC
- thumb_func_end sub_80FC92C
-
- thumb_func_start sub_80FC9E4
-sub_80FC9E4: @ 80FC9E4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, _080FCA8C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FCA7C
- ldr r1, _080FCA90
- mov r10, r1
-_080FCA02:
- ldr r3, _080FCA94
- ldrb r0, [r3]
- adds r0, r2
- ldr r3, _080FCA98
- ldrb r1, [r3]
- muls r0, r1
- lsls r0, 1
- ldr r3, _080FCA9C
- ldr r1, [r3]
- adds r1, r0
- ldr r3, _080FCAA0
- ldrb r0, [r3]
- lsls r0, 1
- adds r3, r1, r0
- movs r5, 0
- adds r7, r2, 0x1
- mov r0, r10
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080FCA70
- movs r1, 0x80
- lsls r1, 8
- mov r9, r1
- movs r0, 0x1F
- mov r12, r0
- mov r1, r8
- subs r6, r0, r1
-_080FCA38:
- ldrh r1, [r3]
- mov r0, r9
- ands r0, r1
- cmp r0, 0
- bne _080FCA60
- movs r4, 0x1F
- mov r2, r12
- ands r2, r1
- cmp r2, r6
- ble _080FCA56
- mov r1, r8
- lsrs r0, r1, 1
- subs r0, r4, r0
- lsls r0, 24
- lsrs r2, r0, 24
-_080FCA56:
- lsls r0, r2, 10
- lsls r1, r2, 5
- orrs r0, r1
- orrs r0, r2
- strh r0, [r3]
-_080FCA60:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r3, 0x2
- mov r0, r10
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080FCA38
-_080FCA70:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r1, _080FCA8C
- ldrb r1, [r1]
- cmp r2, r1
- bcc _080FCA02
-_080FCA7C:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCA8C: .4byte gUnknown_03005DF0
-_080FCA90: .4byte gUnknown_03005DF8
-_080FCA94: .4byte gUnknown_03005DFC
-_080FCA98: .4byte gUnknown_03005E04
-_080FCA9C: .4byte gUnknown_03005DEC
-_080FCAA0: .4byte gUnknown_03005DE8
- thumb_func_end sub_80FC9E4
-
- thumb_func_start sub_80FCAA4
-sub_80FCAA4: @ 80FCAA4
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _080FCAC0
-_080FCAAA:
- lsls r0, r4, 16
- lsrs r0, 16
- bl sub_80FD1C8
- adds r4, 0x1
- cmp r4, r5
- bls _080FCAAA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCAC0: .4byte 0x00000c7f
- thumb_func_end sub_80FCAA4
-
- thumb_func_start sub_80FCAC4
-sub_80FCAC4: @ 80FCAC4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FCB44
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FCB36
- ldr r0, _080FCB48
- mov r8, r0
- ldr r3, _080FCB4C
-_080FCADC:
- ldr r0, _080FCB50
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FCB54
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080FCB58
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _080FCB2A
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080FCB08:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080FCB1C
- adds r0, r4, 0
- str r3, [sp]
- bl sub_80FD39C
- strh r0, [r4]
- ldr r3, [sp]
-_080FCB1C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _080FCB08
-_080FCB2A:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080FCB44
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FCADC
-_080FCB36:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCB44: .4byte gUnknown_03005DF0
-_080FCB48: .4byte gUnknown_03005DEC
-_080FCB4C: .4byte gUnknown_03005DF8
-_080FCB50: .4byte gUnknown_03005DFC
-_080FCB54: .4byte gUnknown_03005E04
-_080FCB58: .4byte gUnknown_03005DE8
- thumb_func_end sub_80FCAC4
-
- thumb_func_start sub_80FCB5C
-sub_80FCB5C: @ 80FCB5C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r2, 0
- ldr r0, _080FCC00
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FCBF2
- ldr r0, _080FCC04
- mov r8, r0
- ldr r3, _080FCC08
-_080FCB74:
- ldr r0, _080FCC0C
- ldrb r1, [r0]
- ldrb r0, [r3]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080FCC10
- ldrb r0, [r0]
- adds r0, r2
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- ldrb r0, [r3]
- lsls r0, 1
- adds r4, r0
- ldr r0, _080FCC14
- ldrb r0, [r0]
- subs r0, 0x1
- adds r7, r2, 0x1
- cmp r5, r0
- bge _080FCBE6
- ldr r6, _080FCC08
-_080FCBAA:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080FCBD0
- ldrb r2, [r6]
- lsls r2, 1
- adds r2, r4, r2
- mov r0, sp
- adds r1, r4, 0
- str r3, [sp, 0x4]
- bl sub_80FD68C
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
- ldr r3, [sp, 0x4]
-_080FCBD0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r6]
- lsls r0, 1
- adds r4, r0
- ldr r0, _080FCC14
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _080FCBAA
-_080FCBE6:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080FCC00
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FCB74
-_080FCBF2:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCC00: .4byte gUnknown_03005DF8
-_080FCC04: .4byte gUnknown_03005DEC
-_080FCC08: .4byte gUnknown_03005E04
-_080FCC0C: .4byte gUnknown_03005DFC
-_080FCC10: .4byte gUnknown_03005DE8
-_080FCC14: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FCB5C
-
- thumb_func_start sub_80FCC18
-sub_80FCC18: @ 80FCC18
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- movs r2, 0
- ldr r0, _080FCCA4
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FCC94
- ldr r0, _080FCCA8
- mov r9, r0
- ldr r3, _080FCCAC
-_080FCC38:
- ldr r0, _080FCCB0
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FCCB4
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r9
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080FCCB8
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _080FCC88
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080FCC64:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080FCC7A
- adds r0, r4, 0
- mov r1, r8
- str r3, [sp]
- bl sub_80FD3D0
- strh r0, [r4]
- ldr r3, [sp]
-_080FCC7A:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _080FCC64
-_080FCC88:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080FCCA4
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FCC38
-_080FCC94:
- add sp, 0x4
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCCA4: .4byte gUnknown_03005DF0
-_080FCCA8: .4byte gUnknown_03005DEC
-_080FCCAC: .4byte gUnknown_03005DF8
-_080FCCB0: .4byte gUnknown_03005DFC
-_080FCCB4: .4byte gUnknown_03005E04
-_080FCCB8: .4byte gUnknown_03005DE8
- thumb_func_end sub_80FCC18
-
- thumb_func_start sub_80FCCBC
-sub_80FCCBC: @ 80FCCBC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FCD3C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FCD2E
- ldr r0, _080FCD40
- mov r8, r0
- ldr r3, _080FCD44
-_080FCCD4:
- ldr r0, _080FCD48
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FCD4C
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080FCD50
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _080FCD22
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080FCD00:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080FCD14
- adds r0, r4, 0
- str r3, [sp]
- bl sub_80FD4DC
- strh r0, [r4]
- ldr r3, [sp]
-_080FCD14:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _080FCD00
-_080FCD22:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080FCD3C
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FCCD4
-_080FCD2E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCD3C: .4byte gUnknown_03005DF0
-_080FCD40: .4byte gUnknown_03005DEC
-_080FCD44: .4byte gUnknown_03005DF8
-_080FCD48: .4byte gUnknown_03005DFC
-_080FCD4C: .4byte gUnknown_03005E04
-_080FCD50: .4byte gUnknown_03005DE8
- thumb_func_end sub_80FCCBC
-
- thumb_func_start sub_80FCD54
-sub_80FCD54: @ 80FCD54
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- movs r7, 0
- ldr r0, _080FCE8C
- ldrb r0, [r0]
- cmp r7, r0
- bcs _080FCDE0
- ldr r0, _080FCE90
- mov r8, r0
-_080FCD6A:
- ldr r0, _080FCE94
- ldrb r1, [r0]
- adds r1, r7
- ldr r0, _080FCE98
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r2, r8
- ldr r1, [r2]
- adds r1, r0
- ldr r0, _080FCE9C
- ldrb r0, [r0]
- lsls r0, 1
- adds r5, r1, r0
- adds r4, r5, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80FD50C
- strh r0, [r5]
- movs r6, 0x1
- adds r5, r4, 0
- ldr r0, _080FCEA0
- ldrb r0, [r0]
- subs r0, 0x1
- adds r7, 0x1
- cmp r6, r0
- bge _080FCDCA
-_080FCDA2:
- adds r4, r5, 0x2
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_80FD50C
- strh r0, [r5]
- subs r1, r5, 0x2
- adds r0, r5, 0
- bl sub_80FD50C
- strh r0, [r5]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r5, r4, 0
- ldr r0, _080FCEA0
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r6, r0
- blt _080FCDA2
-_080FCDCA:
- subs r1, r5, 0x2
- adds r0, r5, 0
- bl sub_80FD50C
- strh r0, [r5]
- lsls r0, r7, 24
- lsrs r7, r0, 24
- ldr r0, _080FCE8C
- ldrb r0, [r0]
- cmp r7, r0
- bcc _080FCD6A
-_080FCDE0:
- movs r6, 0
- ldr r0, _080FCEA0
- ldrb r0, [r0]
- cmp r6, r0
- bcs _080FCE80
- ldr r3, _080FCE90
- mov r9, r3
- ldr r0, _080FCE98
- mov r8, r0
-_080FCDF2:
- ldr r0, _080FCE94
- ldrb r0, [r0]
- mov r2, r8
- ldrb r1, [r2]
- muls r0, r1
- lsls r0, 1
- mov r3, r9
- ldr r2, [r3]
- adds r2, r0
- ldr r0, _080FCE9C
- ldrb r0, [r0]
- adds r0, r6
- lsls r0, 1
- adds r5, r2, r0
- lsls r1, 1
- adds r1, r5, r1
- adds r0, r5, 0
- bl sub_80FD50C
- strh r0, [r5]
- movs r7, 0x1
- mov r1, r8
- ldrb r0, [r1]
- lsls r0, 1
- adds r5, r0
- ldr r0, _080FCE8C
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, 0x1
- cmp r7, r0
- bge _080FCE64
- ldr r4, _080FCE98
-_080FCE32:
- ldrb r1, [r4]
- lsls r1, 1
- adds r1, r5, r1
- adds r0, r5, 0
- bl sub_80FD50C
- strh r0, [r5]
- ldrb r1, [r4]
- lsls r1, 1
- subs r1, r5, r1
- adds r0, r5, 0
- bl sub_80FD50C
- strh r0, [r5]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r4]
- lsls r0, 1
- adds r5, r0
- ldr r0, _080FCE8C
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r7, r0
- blt _080FCE32
-_080FCE64:
- mov r2, r8
- ldrb r1, [r2]
- lsls r1, 1
- subs r1, r5, r1
- adds r0, r5, 0
- bl sub_80FD50C
- strh r0, [r5]
- lsls r0, r6, 24
- lsrs r6, r0, 24
- ldr r0, _080FCEA0
- ldrb r0, [r0]
- cmp r6, r0
- bcc _080FCDF2
-_080FCE80:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCE8C: .4byte gUnknown_03005DF0
-_080FCE90: .4byte gUnknown_03005DEC
-_080FCE94: .4byte gUnknown_03005DFC
-_080FCE98: .4byte gUnknown_03005E04
-_080FCE9C: .4byte gUnknown_03005DE8
-_080FCEA0: .4byte gUnknown_03005DF8
- thumb_func_end sub_80FCD54
-
- thumb_func_start sub_80FCEA4
-sub_80FCEA4: @ 80FCEA4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FCF24
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FCF16
- ldr r0, _080FCF28
- mov r8, r0
- ldr r3, _080FCF2C
-_080FCEBC:
- ldr r0, _080FCF30
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FCF34
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r4, r8
- ldr r1, [r4]
- adds r1, r0
- ldr r0, _080FCF38
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- adds r6, r2, 0x1
- ldrb r0, [r3]
- cmp r5, r0
- bcs _080FCF0A
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080FCEE8:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080FCEFC
- adds r0, r4, 0
- str r3, [sp]
- bl sub_80FD53C
- strh r0, [r4]
- ldr r3, [sp]
-_080FCEFC:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r5, r0
- bcc _080FCEE8
-_080FCF0A:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080FCF24
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FCEBC
-_080FCF16:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FCF24: .4byte gUnknown_03005DF0
-_080FCF28: .4byte gUnknown_03005DEC
-_080FCF2C: .4byte gUnknown_03005DF8
-_080FCF30: .4byte gUnknown_03005DFC
-_080FCF34: .4byte gUnknown_03005E04
-_080FCF38: .4byte gUnknown_03005DE8
- thumb_func_end sub_80FCEA4
-
- thumb_func_start sub_80FCF3C
-sub_80FCF3C: @ 80FCF3C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- ldr r0, _080FD068
- ldr r4, [r0]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- adds r5, r0, 0
-_080FCF54:
- movs r7, 0
-_080FCF56:
- ldrh r0, [r4]
- ands r0, r5
- cmp r0, 0
- bne _080FCF66
- adds r0, r4, 0
- bl sub_80FD53C
- strh r0, [r4]
-_080FCF66:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, 0x2
- cmp r7, 0x3F
- bls _080FCF56
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0x3F
- bls _080FCF54
- movs r7, 0
- ldr r1, _080FD068
- mov r10, r1
- mov r3, sp
- movs r2, 0x80
- lsls r2, 8
- mov r9, r2
-_080FCF8A:
- lsls r0, r7, 1
- mov r2, r10
- ldr r1, [r2]
- adds r4, r1, r0
- ldrh r1, [r4]
- strh r1, [r3]
- mov r1, r9
- strh r1, [r4]
- movs r6, 0x1
- adds r4, 0x80
- adds r5, r0, 0
-_080FCFA0:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- ands r0, r2
- cmp r0, 0
- bne _080FCFC0
- adds r2, r4, 0
- adds r2, 0x80
- mov r0, sp
- adds r1, r4, 0
- str r3, [sp, 0x4]
- bl sub_80FD7AC
- strh r0, [r4]
- ldr r3, [sp, 0x4]
- strh r0, [r3]
-_080FCFC0:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, 0x80
- cmp r6, 0x3E
- bls _080FCFA0
- mov r0, r9
- strh r0, [r4]
- mov r1, r10
- ldr r0, [r1]
- adds r4, r0, r5
- ldrh r0, [r4]
- strh r0, [r3]
- mov r2, r9
- strh r2, [r4]
- movs r6, 0x1
- adds r4, 0x80
- movs r0, 0x80
- lsls r0, 8
- mov r8, r0
-_080FCFE8:
- ldrh r0, [r4]
- mov r1, r8
- ands r0, r1
- adds r5, r4, 0
- adds r5, 0x80
- cmp r0, 0
- bne _080FD008
- mov r0, sp
- adds r1, r4, 0
- adds r2, r5, 0
- str r3, [sp, 0x4]
- bl sub_80FD7AC
- strh r0, [r4]
- ldr r3, [sp, 0x4]
- strh r0, [r3]
-_080FD008:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, r5, 0
- cmp r6, 0x3E
- bls _080FCFE8
- mov r2, r9
- strh r2, [r4]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x3F
- bls _080FCF8A
- ldr r0, _080FD068
- ldr r4, [r0]
- movs r6, 0
- movs r0, 0x80
- lsls r0, 8
- mov r8, r0
-_080FD02E:
- movs r7, 0
- adds r5, r6, 0x1
-_080FD032:
- ldrh r0, [r4]
- mov r1, r8
- ands r0, r1
- cmp r0, 0
- bne _080FD044
- adds r0, r4, 0
- bl sub_80FD53C
- strh r0, [r4]
-_080FD044:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- adds r4, 0x2
- cmp r7, 0x3F
- bls _080FD032
- lsls r0, r5, 24
- lsrs r6, r0, 24
- cmp r6, 0x3F
- bls _080FD02E
- 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
-_080FD068: .4byte gUnknown_03005DEC
- thumb_func_end sub_80FCF3C
-
- thumb_func_start sub_80FD06C
-sub_80FD06C: @ 80FD06C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FD0FC
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FD0EE
- ldr r0, _080FD100
- mov r8, r0
-_080FD082:
- ldr r0, _080FD104
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FD108
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080FD10C
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- adds r4, 0x2
- ldr r0, _080FD110
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0x1
- cmp r5, r0
- bge _080FD0E2
- movs r0, 0x80
- lsls r0, 8
- adds r7, r0, 0
-_080FD0BA:
- ldrh r0, [r4]
- ands r0, r7
- cmp r0, 0
- bne _080FD0D0
- mov r0, sp
- adds r1, r4, 0
- bl sub_80FD568
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
-_080FD0D0:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, _080FD110
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _080FD0BA
-_080FD0E2:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080FD0FC
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FD082
-_080FD0EE:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FD0FC: .4byte gUnknown_03005DF0
-_080FD100: .4byte gUnknown_03005DEC
-_080FD104: .4byte gUnknown_03005DFC
-_080FD108: .4byte gUnknown_03005E04
-_080FD10C: .4byte gUnknown_03005DE8
-_080FD110: .4byte gUnknown_03005DF8
- thumb_func_end sub_80FD06C
-
- thumb_func_start sub_80FD114
-sub_80FD114: @ 80FD114
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- movs r2, 0
- ldr r0, _080FD1B0
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FD1A2
- ldr r0, _080FD1B4
- mov r8, r0
- ldr r7, _080FD1B8
-_080FD12C:
- ldr r0, _080FD1BC
- ldrb r1, [r0]
- ldrb r0, [r7]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080FD1C0
- ldrb r0, [r0]
- adds r0, r2
- lsls r0, 1
- adds r4, r1, r0
- ldrh r1, [r4]
- mov r0, sp
- strh r1, [r0]
- movs r5, 0x1
- ldrb r0, [r7]
- lsls r0, 1
- adds r4, r0
- ldr r0, _080FD1C4
- ldrb r0, [r0]
- subs r0, 0x1
- adds r6, r2, 0x1
- cmp r5, r0
- bge _080FD196
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_080FD166:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- bne _080FD180
- mov r0, sp
- adds r1, r4, 0
- str r2, [sp, 0x4]
- bl sub_80FD568
- strh r0, [r4]
- mov r1, sp
- strh r0, [r1]
- ldr r2, [sp, 0x4]
-_080FD180:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldrb r0, [r7]
- lsls r0, 1
- adds r4, r0
- ldr r0, _080FD1C4
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r5, r0
- blt _080FD166
-_080FD196:
- lsls r0, r6, 24
- lsrs r2, r0, 24
- ldr r0, _080FD1B0
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FD12C
-_080FD1A2:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FD1B0: .4byte gUnknown_03005DF8
-_080FD1B4: .4byte gUnknown_03005DEC
-_080FD1B8: .4byte gUnknown_03005E04
-_080FD1BC: .4byte gUnknown_03005DFC
-_080FD1C0: .4byte gUnknown_03005DE8
-_080FD1C4: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FD114
-
- thumb_func_start sub_80FD1C8
-sub_80FD1C8: @ 80FD1C8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x20
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- mov r2, sp
- ldr r3, _080FD234
- lsls r1, r0, 1
- add r1, r10
- adds r0, r1, r3
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r3, 0x1
- adds r0, r1, r0
- ldrb r0, [r0]
- strb r0, [r2, 0x1]
- mov r5, sp
- adds r0, r3, 0x2
- adds r1, r0
- ldrb r4, [r1]
- lsls r2, r4, 24
- lsrs r1, r2, 27
- movs r0, 0x7
- ands r1, r0
- strh r1, [r5, 0x2]
- lsrs r2, 25
- mov r9, r2
- movs r0, 0x3
- ands r2, r0
- mov r9, r2
- movs r5, 0x1
- ands r5, r4
- movs r4, 0x1
- mov r8, r4
- cmp r8, r1
- bcs _080FD27A
- mov r3, sp
-_080FD21A:
- cmp r5, 0
- bne _080FD238
- mov r0, r8
- lsls r2, r0, 2
- mov r4, sp
- adds r1, r4, r2
- ldrb r0, [r3]
- mov r4, r8
- subs r0, r4
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- add r0, r8
- b _080FD24A
- .align 2, 0
-_080FD234: .4byte gUnknown_083E7A50
-_080FD238:
- mov r0, r8
- lsls r2, r0, 2
- mov r4, sp
- adds r1, r4, r2
- ldrb r0, [r3]
- adds r0, 0x1
- strb r0, [r1]
- ldrb r0, [r3, 0x1]
- subs r0, 0x1
-_080FD24A:
- strb r0, [r1, 0x1]
- add r2, sp
- ldrb r0, [r2]
- cmp r0, 0x3F
- bhi _080FD25A
- ldrb r0, [r2, 0x1]
- cmp r0, 0x3F
- bls _080FD262
-_080FD25A:
- mov r0, r8
- subs r0, 0x1
- strh r0, [r3, 0x2]
- b _080FD27A
-_080FD262:
- ldrh r0, [r3, 0x2]
- mov r1, r8
- subs r0, r1
- strh r0, [r2, 0x2]
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldrh r0, [r3, 0x2]
- cmp r8, r0
- bcc _080FD21A
-_080FD27A:
- movs r2, 0
- mov r8, r2
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r8, r0
- bcc _080FD288
- b _080FD38A
-_080FD288:
- movs r3, 0x1F
-_080FD28A:
- ldr r1, _080FD2E8
- mov r4, r8
- lsls r0, r4, 2
- mov r2, sp
- adds r6, r2, r0
- ldrb r0, [r6, 0x1]
- lsls r0, 7
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r6]
- lsls r0, 1
- adds r2, r1, r0
- ldrh r1, [r2]
- movs r4, 0x80
- lsls r4, 8
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- bne _080FD376
- movs r7, 0x1F
- ands r7, r1
- lsls r0, r1, 16
- lsrs r5, r0, 21
- ands r5, r3
- lsrs r4, r0, 26
- ands r4, r3
- mov r0, r9
- cmp r0, 0
- blt _080FD36C
- cmp r0, 0x1
- ble _080FD2EC
- cmp r0, 0x3
- bgt _080FD36C
- ldrh r0, [r6, 0x2]
- adds r1, r7, r0
- lsls r1, 16
- lsrs r7, r1, 16
- adds r1, r5, r0
- lsls r1, 16
- lsrs r5, r1, 16
- adds r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r7, 0x1F
- bls _080FD360
- movs r7, 0x1F
- b _080FD360
- .align 2, 0
-_080FD2E8: .4byte gUnknown_03005DEC
-_080FD2EC:
- mov r1, r10
- lsls r0, r1, 1
- add r0, r10
- ldr r1, _080FD320
- adds r1, 0x2
- adds r0, r1
- ldrb r0, [r0]
- lsrs r0, 3
- movs r1, 0x7
- ands r0, r1
- movs r1, 0x3
- str r2, [sp, 0x18]
- str r3, [sp, 0x1C]
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- ldr r2, [sp, 0x18]
- ldr r3, [sp, 0x1C]
- cmp r0, 0x1
- beq _080FD33C
- cmp r0, 0x1
- bgt _080FD324
- cmp r0, 0
- beq _080FD32A
- b _080FD36C
- .align 2, 0
-_080FD320: .4byte gUnknown_083E7A50
-_080FD324:
- cmp r0, 0x2
- beq _080FD34E
- b _080FD36C
-_080FD32A:
- ldrh r0, [r6, 0x2]
- cmp r7, r0
- bcc _080FD338
- subs r0, r7, r0
- lsls r0, 16
- lsrs r7, r0, 16
- b _080FD36C
-_080FD338:
- movs r7, 0
- b _080FD36C
-_080FD33C:
- ldrh r0, [r6, 0x2]
- cmp r5, r0
- bcc _080FD34A
- subs r0, r5, r0
- lsls r0, 16
- lsrs r5, r0, 16
- b _080FD36C
-_080FD34A:
- movs r5, 0
- b _080FD36C
-_080FD34E:
- ldrh r0, [r6, 0x2]
- cmp r4, r0
- bcc _080FD35C
- subs r0, r4, r0
- lsls r0, 16
- lsrs r4, r0, 16
- b _080FD36C
-_080FD35C:
- movs r4, 0
- b _080FD36C
-_080FD360:
- cmp r5, 0x1F
- bls _080FD366
- movs r5, 0x1F
-_080FD366:
- cmp r4, 0x1F
- bls _080FD36C
- movs r4, 0x1F
-_080FD36C:
- lsls r0, r4, 10
- lsls r1, r5, 5
- orrs r0, r1
- orrs r7, r0
- strh r7, [r2]
-_080FD376:
- mov r0, r8
- adds r0, 0x1
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r8, r0
- bcs _080FD38A
- b _080FD28A
-_080FD38A:
- add sp, 0x20
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FD1C8
-
- thumb_func_start sub_80FD39C
-sub_80FD39C: @ 80FD39C
- push {lr}
- ldrh r1, [r0]
- movs r3, 0x1F
- movs r0, 0x1F
- ands r0, r1
- lsls r1, 16
- lsrs r2, r1, 21
- ands r2, r3
- lsrs r1, 26
- ands r1, r3
- adds r0, r2
- adds r0, r1
- movs r1, 0x3
- bl __divsi3
- adds r1, r0, 0
- lsls r1, 16
- lsrs r1, 16
- lsls r0, r1, 10
- lsls r2, r1, 5
- orrs r0, r2
- orrs r0, r1
- lsls r0, 16
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80FD39C
-
- thumb_func_start sub_80FD3D0
-sub_80FD3D0: @ 80FD3D0
- push {r4,lr}
- lsls r1, 24
- lsrs r4, r1, 24
- ldrh r0, [r0]
- movs r2, 0x1F
- movs r1, 0x1F
- ands r1, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r2
- lsrs r0, 26
- ands r0, r2
- cmp r1, 0x10
- bhi _080FD400
- cmp r3, 0x10
- bhi _080FD400
- cmp r0, 0x10
- bhi _080FD400
- adds r0, r4, 0
- bl sub_80FD40C
- lsls r0, 16
- lsrs r0, 16
- b _080FD402
-_080FD400:
- ldr r0, _080FD408
-_080FD402:
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_080FD408: .4byte 0x00007fff
- thumb_func_end sub_80FD3D0
-
- thumb_func_start sub_80FD40C
-sub_80FD40C: @ 80FD40C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- mov r8, r0
- movs r6, 0
- movs r7, 0
- adds r0, r4, 0
- movs r1, 0x6
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- movs r1, 0x3
- bl __umodsi3
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r4, 0
- movs r1, 0x6
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x5
- bhi _080FD4C4
- lsls r0, 2
- ldr r1, _080FD450
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FD450: .4byte _080FD454
- .align 2, 0
-_080FD454:
- .4byte _080FD46C
- .4byte _080FD47C
- .4byte _080FD48C
- .4byte _080FD49A
- .4byte _080FD4A8
- .4byte _080FD4B6
-_080FD46C:
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r6, r0, 16
- adds r7, r6, 0
- movs r1, 0
- mov r8, r1
- b _080FD4C4
-_080FD47C:
- movs r7, 0
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- mov r6, r8
- b _080FD4C4
-_080FD48C:
- movs r0, 0x15
- subs r0, r5
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- mov r8, r7
- b _080FD4C4
-_080FD49A:
- movs r7, 0
- movs r6, 0
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r0, 16
- b _080FD4C2
-_080FD4A8:
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r7, r0, 16
- movs r6, 0
- mov r8, r6
- b _080FD4C4
-_080FD4B6:
- movs r7, 0
- movs r0, 0x17
- subs r0, r5
- lsls r0, 16
- lsrs r6, r0, 16
- movs r0, 0
-_080FD4C2:
- mov r8, r0
-_080FD4C4:
- lsls r0, r7, 10
- lsls r1, r6, 5
- orrs r0, r1
- mov r1, r8
- orrs r1, r0
- lsls r0, r1, 16
- lsrs r0, 16
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD40C
-
- thumb_func_start sub_80FD4DC
-sub_80FD4DC: @ 80FD4DC
- push {lr}
- ldrh r0, [r0]
- movs r2, 0x1F
- movs r1, 0x1F
- ands r1, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r2
- lsrs r0, 26
- ands r0, r2
- cmp r1, 0x10
- bhi _080FD500
- cmp r3, 0x10
- bhi _080FD500
- cmp r0, 0x10
- bhi _080FD500
- movs r0, 0
- b _080FD502
-_080FD500:
- ldr r0, _080FD508
-_080FD502:
- pop {r1}
- bx r1
- .align 2, 0
-_080FD508: .4byte 0x00007fff
- thumb_func_end sub_80FD4DC
-
- thumb_func_start sub_80FD50C
-sub_80FD50C: @ 80FD50C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r3, [r4]
- cmp r3, 0
- beq _080FD534
- movs r2, 0x80
- lsls r2, 8
- adds r0, r2, 0
- ands r0, r3
- cmp r0, 0
- beq _080FD526
- adds r0, r2, 0
- b _080FD536
-_080FD526:
- ldrh r1, [r1]
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- bne _080FD534
- ldrh r0, [r4]
- b _080FD536
-_080FD534:
- movs r0, 0
-_080FD536:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD50C
-
- thumb_func_start sub_80FD53C
-sub_80FD53C: @ 80FD53C
- push {r4,lr}
- ldrh r1, [r0]
- movs r0, 0x1F
- movs r3, 0x1F
- ands r3, r1
- lsls r1, 16
- lsrs r2, r1, 21
- lsrs r1, 26
- subs r3, r0, r3
- adds r4, r0, 0
- bics r4, r2
- adds r2, r4, 0
- bics r0, r1
- lsls r0, 10
- lsls r2, 5
- orrs r0, r2
- orrs r0, r3
- lsls r0, 16
- lsrs r0, 16
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD53C
-
- thumb_func_start sub_80FD568
-sub_80FD568: @ 80FD568
- push {r4-r7,lr}
- sub sp, 0x14
- adds r7, r1, 0
- ldrh r4, [r0]
- ldrh r5, [r7]
- lsls r6, r4, 16
- lsls r0, r5, 16
- mov r12, r0
- cmp r4, r5
- beq _080FD5DA
- mov r2, sp
- movs r3, 0x1F
- movs r1, 0x1F
- adds r0, r1, 0
- ands r0, r4
- strh r0, [r2]
- lsrs r0, r6, 21
- ands r0, r3
- strh r0, [r2, 0x2]
- lsrs r0, r6, 26
- ands r0, r3
- strh r0, [r2, 0x4]
- mov r0, sp
- ands r1, r5
- strh r1, [r0, 0x6]
- mov r1, sp
- mov r2, r12
- lsrs r0, r2, 21
- ands r0, r3
- strh r0, [r1, 0x8]
- lsrs r0, r2, 26
- ands r0, r3
- strh r0, [r1, 0xA]
- mov r0, sp
- ldrh r0, [r0]
- cmp r0, 0x19
- bls _080FD5C2
- mov r0, sp
- ldrh r0, [r0, 0x2]
- cmp r0, 0x19
- bls _080FD5C2
- mov r0, sp
- ldrh r0, [r0, 0x4]
- cmp r0, 0x19
- bhi _080FD5DA
-_080FD5C2:
- mov r0, sp
- ldrh r0, [r0, 0x6]
- cmp r0, 0x19
- bls _080FD5DE
- mov r0, sp
- ldrh r0, [r0, 0x8]
- cmp r0, 0x19
- bls _080FD5DE
- mov r0, sp
- ldrh r0, [r0, 0xA]
- cmp r0, 0x19
- bls _080FD5DE
-_080FD5DA:
- ldrh r0, [r7]
- b _080FD684
-_080FD5DE:
- movs r4, 0
- add r6, sp, 0xC
- mov r7, sp
- adds r7, 0x6
- adds r5, r6, 0
-_080FD5E8:
- lsls r2, r4, 1
- mov r1, sp
- adds r0, r1, r2
- adds r1, r7, r2
- ldrh r3, [r0]
- ldrh r0, [r1]
- cmp r3, r0
- bls _080FD5FE
- adds r1, r5, r2
- subs r0, r3, r0
- b _080FD602
-_080FD5FE:
- adds r1, r5, r2
- subs r0, r3
-_080FD602:
- strh r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _080FD5E8
- adds r1, r6, 0
- ldrh r0, [r1, 0x2]
- ldrh r3, [r1]
- cmp r3, r0
- bcc _080FD628
- ldrh r2, [r1, 0x4]
- cmp r3, r2
- bcc _080FD622
- adds r2, r3, 0
- b _080FD63C
-_080FD622:
- cmp r0, r2
- bcs _080FD62E
- b _080FD636
-_080FD628:
- ldrh r2, [r1, 0x4]
- cmp r0, r2
- bcc _080FD632
-_080FD62E:
- ldrh r2, [r1, 0x2]
- b _080FD63C
-_080FD632:
- cmp r2, r3
- bcc _080FD63A
-_080FD636:
- ldrh r2, [r1, 0x4]
- b _080FD63C
-_080FD63A:
- ldrh r2, [r6]
-_080FD63C:
- mov r0, sp
- ldrh r1, [r0, 0x6]
- lsrs r0, r2, 1
- movs r6, 0x1F
- subs r6, r0
- adds r0, r1, 0
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- adds r5, r0, 0
- lsls r5, 16
- lsrs r5, 16
- mov r0, sp
- ldrh r0, [r0, 0x8]
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- mov r0, sp
- ldrh r0, [r0, 0xA]
- muls r0, r6
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- lsls r4, 5
- orrs r0, r4
- orrs r5, r0
- lsls r5, 16
- lsrs r5, 16
- adds r0, r5, 0
-_080FD684:
- add sp, 0x14
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD568
-
- thumb_func_start sub_80FD68C
-sub_80FD68C: @ 80FD68C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- mov r10, r1
- str r2, [sp]
- ldrh r1, [r3]
- mov r0, r10
- ldrh r0, [r0]
- cmp r1, r0
- bne _080FD6B4
- ldrh r0, [r2]
- cmp r0, r1
- bne _080FD6B4
- mov r1, r10
- ldrh r0, [r1]
- b _080FD79C
-_080FD6B4:
- mov r2, r10
- ldrh r0, [r2]
- movs r1, 0x1F
- mov r9, r1
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- lsls r0, 16
- lsrs r2, r0, 21
- mov r1, r9
- ands r1, r2
- mov r8, r1
- lsrs r0, 26
- mov r2, r9
- ands r2, r0
- str r2, [sp, 0x4]
- ldrh r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- lsls r2, 16
- lsrs r1, r2, 21
- mov r3, r9
- ands r1, r3
- adds r0, r1
- lsrs r2, 26
- ands r2, r3
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- adds r0, r5, r1
- ldr r2, [sp, 0x4]
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- ldrh r1, [r3]
- ands r4, r1
- lsls r1, 16
- lsrs r0, r1, 21
- mov r2, r9
- ands r0, r2
- adds r4, r0
- lsrs r1, 26
- ands r1, r2
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r7, r6
- bne _080FD736
- cmp r1, r6
- bne _080FD736
- mov r3, r10
- ldrh r0, [r3]
- b _080FD79C
-_080FD736:
- cmp r7, r6
- bls _080FD73E
- subs r0, r7, r6
- b _080FD740
-_080FD73E:
- subs r0, r6, r7
-_080FD740:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r1, r6
- bls _080FD74C
- subs r0, r1, r6
- b _080FD74E
-_080FD74C:
- subs r0, r6, r1
-_080FD74E:
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- bcc _080FD758
- adds r0, r2, 0
-_080FD758:
- lsrs r0, 1
- movs r4, 0x1F
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- adds r0, r1, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- mov r2, r8
- lsls r1, r2, 5
- orrs r0, r1
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r0, 16
-_080FD79C:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD68C
-
- thumb_func_start sub_80FD7AC
-sub_80FD7AC: @ 80FD7AC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x8
- adds r3, r0, 0
- mov r10, r1
- str r2, [sp]
- ldrh r1, [r3]
- mov r0, r10
- ldrh r0, [r0]
- cmp r1, r0
- bne _080FD7D4
- ldrh r0, [r2]
- cmp r0, r1
- bne _080FD7D4
- mov r1, r10
- ldrh r0, [r1]
- b _080FD8BA
-_080FD7D4:
- mov r2, r10
- ldrh r0, [r2]
- movs r1, 0x1F
- mov r9, r1
- movs r4, 0x1F
- adds r5, r4, 0
- ands r5, r0
- lsls r0, 16
- lsrs r2, r0, 21
- mov r1, r9
- ands r1, r2
- mov r8, r1
- lsrs r0, 26
- mov r2, r9
- ands r2, r0
- str r2, [sp, 0x4]
- ldrh r2, [r3]
- adds r0, r4, 0
- ands r0, r2
- lsls r2, 16
- lsrs r1, r2, 21
- mov r3, r9
- ands r1, r3
- adds r0, r1
- lsrs r2, 26
- ands r2, r3
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r7, r0, 16
- mov r1, r8
- adds r0, r5, r1
- ldr r2, [sp, 0x4]
- adds r0, r2
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r6, r0, 16
- ldr r3, [sp]
- ldrh r1, [r3]
- ands r4, r1
- lsls r1, 16
- lsrs r0, r1, 21
- mov r2, r9
- ands r0, r2
- adds r4, r0
- lsrs r1, 26
- ands r1, r2
- adds r4, r1
- adds r0, r4, 0
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r7, r6
- bne _080FD856
- cmp r1, r6
- bne _080FD856
- mov r3, r10
- ldrh r0, [r3]
- b _080FD8BA
-_080FD856:
- cmp r7, r6
- bls _080FD85E
- subs r0, r7, r6
- b _080FD860
-_080FD85E:
- subs r0, r6, r7
-_080FD860:
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r1, r6
- bls _080FD86C
- subs r0, r1, r6
- b _080FD86E
-_080FD86C:
- subs r0, r6, r1
-_080FD86E:
- lsls r0, 16
- lsrs r0, 16
- cmp r2, r0
- bcc _080FD878
- adds r0, r2, 0
-_080FD878:
- movs r4, 0x1F
- subs r4, r0
- lsls r4, 16
- lsrs r4, 16
- adds r0, r5, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r5, r0, 16
- mov r0, r8
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 16
- mov r8, r0
- ldr r1, [sp, 0x4]
- adds r0, r1, 0
- muls r0, r4
- movs r1, 0x1F
- bl __divsi3
- lsls r0, 16
- lsrs r0, 6
- mov r2, r8
- lsls r1, r2, 5
- orrs r0, r1
- orrs r5, r0
- lsls r0, r5, 16
- lsrs r0, 16
-_080FD8BA:
- add sp, 0x8
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FD7AC
-
- thumb_func_start sub_80FD8CC
-sub_80FD8CC: @ 80FD8CC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- ldrb r1, [r0, 0x1D]
- lsrs r5, r1, 3
- ldrb r1, [r0, 0x1E]
- lsrs r1, 3
- str r1, [sp, 0x8]
- ldr r1, [r0, 0x4]
- str r1, [sp]
- ldr r2, [r0, 0x10]
- str r2, [sp, 0x4]
- ldrh r0, [r0, 0x16]
- cmp r0, 0x2
- bne _080FD97C
- movs r1, 0
- ldr r0, [sp, 0x8]
- cmp r1, r0
- bcc _080FD8FA
- b _080FDA08
-_080FD8FA:
- movs r0, 0
- adds r2, r1, 0x1
- mov r10, r2
- cmp r0, r5
- bcs _080FD96E
- adds r2, r1, 0
- muls r2, r5
- mov r9, r2
- lsls r1, 3
- mov r8, r1
-_080FD90E:
- movs r4, 0
- lsls r6, r0, 4
- adds r7, r0, 0x1
- add r0, r9
- lsls r0, 6
- ldr r1, [sp, 0x4]
- adds r1, r0
- mov r12, r1
-_080FD91E:
- lsls r0, r4, 3
- mov r2, r12
- adds r3, r2, r0
- mov r1, r8
- adds r0, r1, r4
- lsls r0, 3
- muls r0, r5
- lsls r0, 1
- ldr r2, [sp]
- adds r0, r2, r0
- adds r2, r0, r6
- ldrh r0, [r2, 0x2]
- lsls r0, 8
- ldrh r1, [r2]
- orrs r0, r1
- strh r0, [r3]
- ldrh r0, [r2, 0x6]
- lsls r0, 8
- ldrh r1, [r2, 0x4]
- orrs r0, r1
- strh r0, [r3, 0x2]
- ldrh r0, [r2, 0xA]
- lsls r0, 8
- ldrh r1, [r2, 0x8]
- orrs r0, r1
- strh r0, [r3, 0x4]
- ldrh r0, [r2, 0xE]
- lsls r0, 8
- ldrh r1, [r2, 0xC]
- orrs r0, r1
- strh r0, [r3, 0x6]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x7
- bls _080FD91E
- lsls r0, r7, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _080FD90E
-_080FD96E:
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bcc _080FD8FA
- b _080FDA08
-_080FD97C:
- movs r1, 0
- ldr r0, [sp, 0x8]
- cmp r1, r0
- bcs _080FDA08
-_080FD984:
- movs r0, 0
- adds r2, r1, 0x1
- mov r10, r2
- cmp r0, r5
- bcs _080FD9FC
- adds r2, r1, 0
- muls r2, r5
- mov r9, r2
- lsls r1, 3
- mov r8, r1
-_080FD998:
- movs r4, 0
- lsls r6, r0, 4
- adds r7, r0, 0x1
- add r0, r9
- lsls r0, 5
- ldr r1, [sp, 0x4]
- adds r1, r0
- mov r12, r1
-_080FD9A8:
- lsls r0, r4, 2
- mov r2, r12
- adds r3, r2, r0
- mov r1, r8
- adds r0, r1, r4
- lsls r0, 3
- muls r0, r5
- lsls r0, 1
- ldr r2, [sp]
- adds r0, r2, r0
- adds r2, r0, r6
- ldrh r1, [r2, 0x2]
- lsls r1, 4
- ldrh r0, [r2]
- orrs r1, r0
- ldrh r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrh r0, [r2, 0x6]
- lsls r0, 12
- orrs r1, r0
- strh r1, [r3]
- ldrh r1, [r2, 0xA]
- lsls r1, 4
- ldrh r0, [r2, 0x8]
- orrs r1, r0
- ldrh r0, [r2, 0xC]
- lsls r0, 8
- orrs r1, r0
- ldrh r0, [r2, 0xE]
- lsls r0, 12
- orrs r1, r0
- strh r1, [r3, 0x2]
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x7
- bls _080FD9A8
- lsls r0, r7, 16
- lsrs r0, 16
- cmp r0, r5
- bcc _080FD998
-_080FD9FC:
- mov r1, r10
- lsls r0, r1, 16
- lsrs r1, r0, 16
- ldr r2, [sp, 0x8]
- cmp r1, r2
- bcc _080FD984
-_080FDA08:
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FD8CC
-
- thumb_func_start sub_80FDA18
-sub_80FDA18: @ 80FDA18
- push {lr}
- ldr r2, _080FDA68
- ldrb r1, [r0, 0x18]
- lsls r1, 4
- strh r1, [r2]
- ldr r3, _080FDA6C
- ldrh r2, [r2]
- lsls r2, 1
- ldr r1, [r0, 0x8]
- adds r1, r2
- str r1, [r3]
- ldr r2, _080FDA70
- ldr r1, [r0, 0x4]
- str r1, [r2]
- ldr r2, _080FDA74
- ldrb r1, [r0, 0x19]
- strb r1, [r2]
- ldr r2, _080FDA78
- ldrb r1, [r0, 0x1A]
- strb r1, [r2]
- ldr r2, _080FDA7C
- ldrb r1, [r0, 0x1B]
- strb r1, [r2]
- ldr r2, _080FDA80
- ldrb r1, [r0, 0x1C]
- strb r1, [r2]
- ldr r2, _080FDA84
- ldrb r1, [r0, 0x1D]
- strb r1, [r2]
- ldr r2, _080FDA88
- ldrb r1, [r0, 0x1E]
- strb r1, [r2]
- ldrh r0, [r0, 0x14]
- cmp r0, 0x5
- bhi _080FDADE
- lsls r0, 2
- ldr r1, _080FDA8C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FDA68: .4byte gUnknown_03005E0C
-_080FDA6C: .4byte gUnknown_03005E08
-_080FDA70: .4byte gUnknown_03005DEC
-_080FDA74: .4byte gUnknown_03005DE8
-_080FDA78: .4byte gUnknown_03005DFC
-_080FDA7C: .4byte gUnknown_03005DF8
-_080FDA80: .4byte gUnknown_03005DF0
-_080FDA84: .4byte gUnknown_03005E04
-_080FDA88: .4byte gUnknown_03005DF4
-_080FDA8C: .4byte _080FDA90
- .align 2, 0
-_080FDA90:
- .4byte _080FDAA8
- .4byte _080FDAB0
- .4byte _080FDAB8
- .4byte _080FDAC2
- .4byte _080FDACC
- .4byte _080FDAD6
-_080FDAA8:
- movs r0, 0
- bl sub_80FDC18
- b _080FDADE
-_080FDAB0:
- movs r0, 0x1
- bl sub_80FDC18
- b _080FDADE
-_080FDAB8:
- bl sub_80FDAE4
- bl sub_80FDF88
- b _080FDADE
-_080FDAC2:
- bl sub_80FDBE4
- bl sub_80FDED8
- b _080FDADE
-_080FDACC:
- bl sub_80FDBA8
- bl sub_80FDE28
- b _080FDADE
-_080FDAD6:
- bl sub_80FDB8C
- bl sub_80FDD70
-_080FDADE:
- pop {r0}
- bx r0
- thumb_func_end sub_80FDA18
-
- thumb_func_start sub_80FDAE4
-sub_80FDAE4: @ 80FDAE4
- ldr r2, _080FDB4C
- ldr r1, [r2]
- movs r0, 0
- strh r0, [r1]
- ldr r0, [r2]
- ldr r2, _080FDB50
- adds r1, r2, 0
- strh r1, [r0, 0x2]
- ldr r2, _080FDB54
- adds r1, r2, 0
- strh r1, [r0, 0x4]
- ldr r2, _080FDB58
- adds r1, r2, 0
- strh r1, [r0, 0x6]
- ldr r2, _080FDB5C
- adds r1, r2, 0
- strh r1, [r0, 0x8]
- ldr r2, _080FDB60
- adds r1, r2, 0
- strh r1, [r0, 0xA]
- ldr r2, _080FDB64
- adds r1, r2, 0
- strh r1, [r0, 0xC]
- ldr r2, _080FDB68
- adds r1, r2, 0
- strh r1, [r0, 0xE]
- ldr r2, _080FDB6C
- adds r1, r2, 0
- strh r1, [r0, 0x10]
- ldr r2, _080FDB70
- adds r1, r2, 0
- strh r1, [r0, 0x12]
- ldr r2, _080FDB74
- adds r1, r2, 0
- strh r1, [r0, 0x14]
- ldr r2, _080FDB78
- adds r1, r2, 0
- strh r1, [r0, 0x16]
- ldr r2, _080FDB7C
- adds r1, r2, 0
- strh r1, [r0, 0x18]
- ldr r2, _080FDB80
- adds r1, r2, 0
- strh r1, [r0, 0x1A]
- ldr r2, _080FDB84
- adds r1, r2, 0
- strh r1, [r0, 0x1C]
- ldr r2, _080FDB88
- adds r1, r2, 0
- strh r1, [r0, 0x1E]
- bx lr
- .align 2, 0
-_080FDB4C: .4byte gUnknown_03005E08
-_080FDB50: .4byte 0x000018c6
-_080FDB54: .4byte 0x000077bd
-_080FDB58: .4byte 0x00002d6b
-_080FDB5C: .4byte 0x000018dd
-_080FDB60: .4byte 0x00001ba6
-_080FDB64: .4byte 0x000074c6
-_080FDB68: .4byte 0x00001bbd
-_080FDB6C: .4byte 0x000074dd
-_080FDB70: .4byte 0x000077a6
-_080FDB74: .4byte 0x0000197d
-_080FDB78: .4byte 0x00001bab
-_080FDB7C: .4byte 0x00007566
-_080FDB80: .4byte 0x00002cdd
-_080FDB84: .4byte 0x00002fa6
-_080FDB88: .4byte 0x000074cb
- thumb_func_end sub_80FDAE4
-
- thumb_func_start sub_80FDB8C
-sub_80FDB8C: @ 80FDB8C
- ldr r2, _080FDBA0
- ldr r0, [r2]
- movs r1, 0
- strh r1, [r0]
- ldr r2, [r2]
- strh r1, [r2, 0x2]
- ldr r1, _080FDBA4
- adds r0, r1, 0
- strh r0, [r2, 0x4]
- bx lr
- .align 2, 0
-_080FDBA0: .4byte gUnknown_03005E08
-_080FDBA4: .4byte 0x00007fff
- thumb_func_end sub_80FDB8C
-
- thumb_func_start sub_80FDBA8
-sub_80FDBA8: @ 80FDBA8
- push {r4,r5,lr}
- ldr r1, _080FDBE0
- ldr r0, [r1]
- movs r2, 0
- strh r2, [r0]
- ldr r0, [r1]
- strh r2, [r0, 0x2]
- movs r4, 0
- adds r5, r1, 0
-_080FDBBA:
- ldr r0, [r5]
- lsls r2, r4, 1
- adds r2, r0
- adds r0, r4, 0x2
- lsls r3, r0, 1
- lsls r1, r0, 11
- lsls r0, 6
- orrs r1, r0
- orrs r1, r3
- strh r1, [r2, 0x4]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0xD
- bls _080FDBBA
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDBE0: .4byte gUnknown_03005E08
- thumb_func_end sub_80FDBA8
-
- thumb_func_start sub_80FDBE4
-sub_80FDBE4: @ 80FDBE4
- push {r4,lr}
- ldr r2, _080FDC14
- ldr r1, [r2]
- movs r0, 0
- strh r0, [r1]
- movs r3, 0
- adds r4, r2, 0
-_080FDBF2:
- ldr r0, [r4]
- lsls r2, r3, 1
- adds r2, r0
- lsls r0, r3, 10
- lsls r1, r3, 5
- orrs r0, r1
- orrs r0, r3
- strh r0, [r2, 0x2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1F
- bls _080FDBF2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDC14: .4byte gUnknown_03005E08
- thumb_func_end sub_80FDBE4
-
- thumb_func_start sub_80FDC18
-sub_80FDC18: @ 80FDC18
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- movs r1, 0xDF
- mov r9, r1
- cmp r0, 0
- bne _080FDC30
- movs r2, 0xFF
- mov r9, r2
-_080FDC30:
- movs r6, 0
- ldr r3, _080FDCB4
- mov r12, r3
- mov r0, r9
- lsls r4, r0, 1
- ldr r5, _080FDCB8
- cmp r6, r9
- bcs _080FDC54
- movs r2, 0
-_080FDC42:
- ldr r0, [r3]
- lsls r1, r6, 1
- adds r1, r0
- strh r2, [r1]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, r9
- bcc _080FDC42
-_080FDC54:
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4, r0
- ldr r2, _080FDCBC
- adds r1, r2, 0
- strh r1, [r0]
- movs r3, 0
- ldrb r5, [r5]
- cmp r3, r5
- bcs _080FDD58
-_080FDC68:
- ldr r2, _080FDCC0
- ldr r0, _080FDCC4
- ldrb r1, [r0]
- adds r1, r3
- ldr r0, _080FDCC8
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- ldr r1, [r2]
- adds r1, r0
- ldr r0, _080FDCCC
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r6, 0
- ldr r0, _080FDCD0
- adds r2, r0, 0
- adds r3, 0x1
- mov r10, r3
- ldrb r3, [r2]
- cmp r6, r3
- bcs _080FDD4A
- ldr r0, _080FDCD4
- mov r8, r0
-_080FDC98:
- ldrh r0, [r4]
- movs r3, 0x80
- lsls r3, 8
- adds r1, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080FDCD8
- mov r1, r8
- ldrh r0, [r1]
- strh r0, [r4]
- adds r6, 0x1
- adds r7, r4, 0x2
- b _080FDD3E
- .align 2, 0
-_080FDCB4: .4byte gUnknown_03005E08
-_080FDCB8: .4byte gUnknown_03005DF0
-_080FDCBC: .4byte 0x00003def
-_080FDCC0: .4byte gUnknown_03005DEC
-_080FDCC4: .4byte gUnknown_03005DFC
-_080FDCC8: .4byte gUnknown_03005E04
-_080FDCCC: .4byte gUnknown_03005DE8
-_080FDCD0: .4byte gUnknown_03005DF8
-_080FDCD4: .4byte gUnknown_03005E0C
-_080FDCD8:
- adds r0, r4, 0
- bl sub_80FE038
- lsls r0, 16
- lsrs r5, r0, 16
- movs r3, 0x1
- adds r6, 0x1
- adds r7, r4, 0x2
- cmp r3, r9
- bcs _080FDD34
- ldr r0, _080FDD04
- ldr r2, [r0]
- ldrh r1, [r2, 0x2]
- mov r12, r0
- cmp r1, 0
- bne _080FDD08
- strh r5, [r2, 0x2]
- mov r2, r8
- ldrh r0, [r2]
- adds r0, 0x1
- b _080FDD32
- .align 2, 0
-_080FDD04: .4byte gUnknown_03005E08
-_080FDD08:
- mov r2, r12
- ldr r1, [r2]
- lsls r0, r3, 1
- adds r0, r1
- ldrh r0, [r0]
- cmp r0, r5
- beq _080FDD2C
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, r9
- bcs _080FDD34
- lsls r0, r3, 1
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, 0
- bne _080FDD08
- strh r5, [r1]
-_080FDD2C:
- mov r1, r8
- ldrh r0, [r1]
- adds r0, r3
-_080FDD32:
- strh r0, [r4]
-_080FDD34:
- ldr r2, _080FDD68
- cmp r3, r9
- bne _080FDD3E
- mov r3, r9
- strh r3, [r4]
-_080FDD3E:
- lsls r0, r6, 24
- lsrs r6, r0, 24
- adds r4, r7, 0
- ldrb r0, [r2]
- cmp r6, r0
- bcc _080FDC98
-_080FDD4A:
- mov r1, r10
- lsls r0, r1, 24
- lsrs r3, r0, 24
- ldr r0, _080FDD6C
- ldrb r0, [r0]
- cmp r3, r0
- bcc _080FDC68
-_080FDD58:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDD68: .4byte gUnknown_03005DF8
-_080FDD6C: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FDC18
-
- thumb_func_start sub_80FDD70
-sub_80FDD70: @ 80FDD70
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r2, 0
- ldr r0, _080FDDC4
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FDE14
- ldr r0, _080FDDC8
- mov r8, r0
-_080FDD84:
- ldr r0, _080FDDCC
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FDDD0
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080FDDD4
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r6, 0
- ldr r0, _080FDDD8
- adds r3, r0, 0
- adds r7, r2, 0x1
- ldrb r0, [r3]
- cmp r6, r0
- bcs _080FDE08
- ldr r5, _080FDDDC
-_080FDDB0:
- ldrh r0, [r4]
- movs r2, 0x80
- lsls r2, 8
- adds r1, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080FDDE0
- ldrh r0, [r5]
- strh r0, [r4]
- b _080FDDFA
- .align 2, 0
-_080FDDC4: .4byte gUnknown_03005DF0
-_080FDDC8: .4byte gUnknown_03005DEC
-_080FDDCC: .4byte gUnknown_03005DFC
-_080FDDD0: .4byte gUnknown_03005E04
-_080FDDD4: .4byte gUnknown_03005DE8
-_080FDDD8: .4byte gUnknown_03005DF8
-_080FDDDC: .4byte gUnknown_03005E0C
-_080FDDE0:
- adds r0, r4, 0
- bl sub_80FD4DC
- lsls r0, 16
- cmp r0, 0
- bne _080FDDF2
- ldrh r0, [r5]
- adds r0, 0x1
- b _080FDDF6
-_080FDDF2:
- ldrh r0, [r5]
- adds r0, 0x2
-_080FDDF6:
- strh r0, [r4]
- ldr r3, _080FDE20
-_080FDDFA:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- adds r4, 0x2
- ldrb r0, [r3]
- cmp r6, r0
- bcc _080FDDB0
-_080FDE08:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080FDE24
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FDD84
-_080FDE14:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDE20: .4byte gUnknown_03005DF8
-_080FDE24: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FDD70
-
- thumb_func_start sub_80FDE28
-sub_80FDE28: @ 80FDE28
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FDE7C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FDEC4
- ldr r0, _080FDE80
- mov r8, r0
-_080FDE3E:
- ldr r0, _080FDE84
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FDE88
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080FDE8C
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, _080FDE90
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080FDEB8
- ldr r6, _080FDE94
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_080FDE6E:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _080FDE98
- ldrh r0, [r6]
- strh r0, [r4]
- b _080FDEA8
- .align 2, 0
-_080FDE7C: .4byte gUnknown_03005DF0
-_080FDE80: .4byte gUnknown_03005DEC
-_080FDE84: .4byte gUnknown_03005DFC
-_080FDE88: .4byte gUnknown_03005E04
-_080FDE8C: .4byte gUnknown_03005DE8
-_080FDE90: .4byte gUnknown_03005DF8
-_080FDE94: .4byte gUnknown_03005E0C
-_080FDE98:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_80FE17C
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_080FDEA8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, _080FDED0
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080FDE6E
-_080FDEB8:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080FDED4
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FDE3E
-_080FDEC4:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDED0: .4byte gUnknown_03005DF8
-_080FDED4: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FDE28
-
- thumb_func_start sub_80FDED8
-sub_80FDED8: @ 80FDED8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FDF2C
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FDF74
- ldr r0, _080FDF30
- mov r8, r0
-_080FDEEE:
- ldr r0, _080FDF34
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FDF38
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080FDF3C
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, _080FDF40
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080FDF68
- ldr r6, _080FDF44
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_080FDF1E:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _080FDF48
- ldrh r0, [r6]
- strh r0, [r4]
- b _080FDF58
- .align 2, 0
-_080FDF2C: .4byte gUnknown_03005DF0
-_080FDF30: .4byte gUnknown_03005DEC
-_080FDF34: .4byte gUnknown_03005DFC
-_080FDF38: .4byte gUnknown_03005E04
-_080FDF3C: .4byte gUnknown_03005DE8
-_080FDF40: .4byte gUnknown_03005DF8
-_080FDF44: .4byte gUnknown_03005E0C
-_080FDF48:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_80FE1B0
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_080FDF58:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, _080FDF80
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080FDF1E
-_080FDF68:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080FDF84
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FDEEE
-_080FDF74:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FDF80: .4byte gUnknown_03005DF8
-_080FDF84: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FDED8
-
- thumb_func_start sub_80FDF88
-sub_80FDF88: @ 80FDF88
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- movs r2, 0
- ldr r0, _080FDFDC
- ldrb r0, [r0]
- cmp r2, r0
- bcs _080FE024
- ldr r0, _080FDFE0
- mov r8, r0
-_080FDF9E:
- ldr r0, _080FDFE4
- ldrb r1, [r0]
- adds r1, r2
- ldr r0, _080FDFE8
- ldrb r0, [r0]
- muls r0, r1
- lsls r0, 1
- mov r3, r8
- ldr r1, [r3]
- adds r1, r0
- ldr r0, _080FDFEC
- ldrb r0, [r0]
- lsls r0, 1
- adds r4, r1, r0
- movs r5, 0
- ldr r0, _080FDFF0
- adds r7, r2, 0x1
- ldrb r0, [r0]
- cmp r5, r0
- bcs _080FE018
- ldr r6, _080FDFF4
- movs r0, 0x80
- lsls r0, 8
- adds r2, r0, 0
-_080FDFCE:
- ldrh r0, [r4]
- ands r0, r2
- cmp r0, 0
- beq _080FDFF8
- ldrh r0, [r6]
- strh r0, [r4]
- b _080FE008
- .align 2, 0
-_080FDFDC: .4byte gUnknown_03005DF0
-_080FDFE0: .4byte gUnknown_03005DEC
-_080FDFE4: .4byte gUnknown_03005DFC
-_080FDFE8: .4byte gUnknown_03005E04
-_080FDFEC: .4byte gUnknown_03005DE8
-_080FDFF0: .4byte gUnknown_03005DF8
-_080FDFF4: .4byte gUnknown_03005E0C
-_080FDFF8:
- adds r0, r4, 0
- str r2, [sp]
- bl sub_80FE0AC
- ldrh r1, [r6]
- adds r0, r1
- strh r0, [r4]
- ldr r2, [sp]
-_080FE008:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, 0x2
- ldr r0, _080FE030
- ldrb r0, [r0]
- cmp r5, r0
- bcc _080FDFCE
-_080FE018:
- lsls r0, r7, 24
- lsrs r2, r0, 24
- ldr r0, _080FE034
- ldrb r0, [r0]
- cmp r2, r0
- bcc _080FDF9E
-_080FE024:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE030: .4byte gUnknown_03005DF8
-_080FE034: .4byte gUnknown_03005DF0
- thumb_func_end sub_80FDF88
-
- thumb_func_start sub_80FE038
-sub_80FE038: @ 80FE038
- push {r4,lr}
- ldrh r0, [r0]
- movs r1, 0x1F
- movs r4, 0x1F
- ands r4, r0
- lsls r0, 16
- lsrs r3, r0, 21
- ands r3, r1
- lsrs r2, r0, 26
- ands r2, r1
- movs r1, 0x3
- adds r0, r4, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE05C
- movs r0, 0x1C
- ands r0, r4
- adds r4, r0, 0x4
-_080FE05C:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE06A
- movs r0, 0x1C
- ands r0, r3
- adds r3, r0, 0x4
-_080FE06A:
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE078
- movs r0, 0x1C
- ands r0, r2
- adds r2, r0, 0x4
-_080FE078:
- cmp r4, 0x5
- bhi _080FE07E
- movs r4, 0x6
-_080FE07E:
- cmp r4, 0x1E
- bls _080FE084
- movs r4, 0x1E
-_080FE084:
- cmp r3, 0x5
- bhi _080FE08A
- movs r3, 0x6
-_080FE08A:
- cmp r3, 0x1E
- bls _080FE090
- movs r3, 0x1E
-_080FE090:
- cmp r2, 0x5
- bhi _080FE096
- movs r2, 0x6
-_080FE096:
- cmp r2, 0x1E
- bls _080FE09C
- movs r2, 0x1E
-_080FE09C:
- lsls r0, r2, 10
- lsls r1, r3, 5
- orrs r0, r1
- orrs r4, r0
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FE038
-
- thumb_func_start sub_80FE0AC
-sub_80FE0AC: @ 80FE0AC
- push {lr}
- ldrh r0, [r0]
- movs r1, 0x1F
- movs r3, 0x1F
- ands r3, r0
- lsls r0, 16
- lsrs r2, r0, 21
- ands r2, r1
- lsrs r0, 26
- ands r0, r1
- cmp r3, 0xB
- bhi _080FE0D0
- cmp r2, 0xA
- bhi _080FE0D0
- cmp r0, 0xA
- bhi _080FE0D0
- movs r0, 0x1
- b _080FE176
-_080FE0D0:
- cmp r3, 0x13
- bls _080FE0F4
- cmp r2, 0x13
- bls _080FE0DC
- cmp r0, 0x13
- bhi _080FE100
-_080FE0DC:
- cmp r3, 0x13
- bls _080FE0F4
- cmp r2, 0x13
- bls _080FE0EA
- cmp r0, 0xE
- bhi _080FE100
- b _080FE138
-_080FE0EA:
- cmp r0, 0x13
- bls _080FE0F4
- cmp r2, 0xE
- bhi _080FE100
- b _080FE114
-_080FE0F4:
- cmp r2, 0x13
- bls _080FE104
- cmp r0, 0x13
- bls _080FE104
- cmp r3, 0xE
- bls _080FE15C
-_080FE100:
- movs r0, 0x2
- b _080FE176
-_080FE104:
- cmp r3, 0x13
- bls _080FE128
- cmp r2, 0xB
- bls _080FE11C
- cmp r0, 0xB
- bls _080FE118
- cmp r2, r0
- bcs _080FE138
-_080FE114:
- movs r0, 0x8
- b _080FE176
-_080FE118:
- movs r0, 0xA
- b _080FE176
-_080FE11C:
- cmp r0, 0xB
- bls _080FE124
- movs r0, 0xD
- b _080FE176
-_080FE124:
- movs r0, 0x4
- b _080FE176
-_080FE128:
- cmp r2, 0x13
- bls _080FE14C
- cmp r3, 0xB
- bls _080FE140
- cmp r0, 0xB
- bls _080FE13C
- cmp r3, r0
- bcc _080FE15C
-_080FE138:
- movs r0, 0x7
- b _080FE176
-_080FE13C:
- movs r0, 0xB
- b _080FE176
-_080FE140:
- cmp r0, 0xB
- bls _080FE148
- movs r0, 0xE
- b _080FE176
-_080FE148:
- movs r0, 0x5
- b _080FE176
-_080FE14C:
- cmp r0, 0x13
- bls _080FE174
- cmp r3, 0xB
- bls _080FE160
- cmp r2, 0xB
- bls _080FE168
- cmp r3, r2
- bcs _080FE114
-_080FE15C:
- movs r0, 0x9
- b _080FE176
-_080FE160:
- cmp r2, 0xB
- bls _080FE168
- movs r0, 0xC
- b _080FE176
-_080FE168:
- cmp r0, 0xB
- bls _080FE170
- movs r0, 0xF
- b _080FE176
-_080FE170:
- movs r0, 0x6
- b _080FE176
-_080FE174:
- movs r0, 0x3
-_080FE176:
- pop {r1}
- bx r1
- thumb_func_end sub_80FE0AC
-
- thumb_func_start sub_80FE17C
-sub_80FE17C: @ 80FE17C
- push {lr}
- ldrh r1, [r0]
- movs r3, 0x1F
- movs r0, 0x1F
- ands r0, r1
- lsls r1, 16
- lsrs r2, r1, 21
- ands r2, r3
- lsrs r1, 26
- ands r1, r3
- adds r0, r2
- adds r0, r1
- movs r1, 0x3
- bl __divsi3
- movs r1, 0x1E
- ands r0, r1
- lsls r0, 16
- cmp r0, 0
- beq _080FE1A8
- lsrs r0, 17
- b _080FE1AA
-_080FE1A8:
- movs r0, 0x1
-_080FE1AA:
- pop {r1}
- bx r1
- thumb_func_end sub_80FE17C
-
- thumb_func_start sub_80FE1B0
-sub_80FE1B0: @ 80FE1B0
- push {lr}
- ldrh r1, [r0]
- movs r3, 0x1F
- movs r0, 0x1F
- ands r0, r1
- lsls r1, 16
- lsrs r2, r1, 21
- ands r2, r3
- lsrs r1, 26
- ands r1, r3
- adds r0, r2
- adds r0, r1
- movs r1, 0x3
- bl __divsi3
- lsls r0, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r0, 16
- pop {r1}
- bx r1
- thumb_func_end sub_80FE1B0
-
- thumb_func_start sub_80FE1DC
-sub_80FE1DC: @ 80FE1DC
- push {lr}
- sub sp, 0x8
- bl sub_80FE2B4
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x9
- bl MenuDrawTextWindow
- ldr r3, _080FE218
- movs r0, 0x1
- movs r1, 0x1
- movs r2, 0x4
- bl PrintMenuItems
- ldr r0, _080FE21C
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x4
- bl InitMenu
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080FE218: .4byte gUnknown_083EC604
-_080FE21C: .4byte gUnknown_020388D4
- thumb_func_end sub_80FE1DC
-
- thumb_func_start sub_80FE220
-sub_80FE220: @ 80FE220
- push {lr}
- ldr r1, _080FE238
- movs r0, 0
- strb r0, [r1]
- bl ScriptContext2_Enable
- bl sub_80FE1DC
- bl sub_80FE394
- pop {r0}
- bx r0
- .align 2, 0
-_080FE238: .4byte gUnknown_020388D4
- thumb_func_end sub_80FE220
-
- thumb_func_start sub_80FE23C
-sub_80FE23C: @ 80FE23C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_80FE220
- ldr r1, _080FE25C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FE260
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE25C: .4byte gTasks
-_080FE260: .4byte sub_80FE2EC
- thumb_func_end sub_80FE23C
-
- thumb_func_start sub_80FE264
-sub_80FE264: @ 80FE264
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80FE23C
- ldr r1, _080FE284
- ldr r0, _080FE288
- str r0, [r1]
- adds r0, 0x10
- str r0, [r1, 0x4]
- movs r2, 0
- movs r0, 0x10
- strb r0, [r1, 0x8]
- strb r2, [r1, 0x9]
- pop {r0}
- bx r0
- .align 2, 0
-_080FE284: .4byte 0x0201f000
-_080FE288: .4byte gSaveBlock1 + 0x1A1A
- thumb_func_end sub_80FE264
-
- thumb_func_start sub_80FE28C
-sub_80FE28C: @ 80FE28C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80FE23C
- ldr r1, _080FE2AC
- ldr r0, _080FE2B0
- str r0, [r1]
- adds r0, 0xC
- str r0, [r1, 0x4]
- movs r0, 0xC
- strb r0, [r1, 0x8]
- movs r0, 0x1
- strb r0, [r1, 0x9]
- pop {r0}
- bx r0
- .align 2, 0
-_080FE2AC: .4byte 0x0201f000
-_080FE2B0: .4byte gSaveBlock1 + 0x2688
- thumb_func_end sub_80FE28C
-
- thumb_func_start sub_80FE2B4
-sub_80FE2B4: @ 80FE2B4
- push {lr}
- sub sp, 0x8
- ldr r1, _080FE2E8
- mov r0, sp
- movs r2, 0x6
- bl memcpy
- add r0, sp, 0x4
- movs r1, 0xDF
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- adds r0, 0x2
- movs r1, 0xD1
- movs r2, 0x2
- bl LoadPalette
- mov r0, sp
- movs r1, 0xD8
- movs r2, 0x2
- bl LoadPalette
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080FE2E8: .4byte gUnknown_083EC654
- thumb_func_end sub_80FE2B4
-
- thumb_func_start sub_80FE2EC
-sub_80FE2EC: @ 80FE2EC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- adds r7, r6, 0
- ldr r0, _080FE368
- ldrb r1, [r0, 0x7]
- movs r5, 0x80
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- bne _080FE38C
- ldr r4, _080FE36C
- ldrh r1, [r4, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080FE324
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- ldr r1, _080FE370
- strb r0, [r1]
- bl sub_80FE394
-_080FE324:
- ldrh r1, [r4, 0x2E]
- adds r0, r5, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE342
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- ldr r1, _080FE370
- strb r0, [r1]
- bl sub_80FE394
-_080FE342:
- ldrh r1, [r4, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FE378
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080FE374
- ldr r0, _080FE370
- ldrb r0, [r0]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r6, 0
- bl _call_via_r1
- b _080FE38C
- .align 2, 0
-_080FE368: .4byte gPaletteFade
-_080FE36C: .4byte gMain
-_080FE370: .4byte gUnknown_020388D4
-_080FE374: .4byte gUnknown_083EC604
-_080FE378:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080FE38C
- movs r0, 0x5
- bl PlaySE
- adds r0, r7, 0
- bl gpu_pal_decompress_alloc_tag_and_upload
-_080FE38C:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FE2EC
-
- thumb_func_start sub_80FE394
-sub_80FE394: @ 80FE394
- push {lr}
- movs r0, 0x2
- movs r1, 0xF
- movs r2, 0x1B
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
- ldr r1, _080FE3BC
- ldr r0, _080FE3C0
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- pop {r0}
- bx r0
- .align 2, 0
-_080FE3BC: .4byte gUnknown_083EC624
-_080FE3C0: .4byte gUnknown_020388D4
- thumb_func_end sub_80FE394
-
- thumb_func_start gpu_pal_decompress_alloc_tag_and_upload
-gpu_pal_decompress_alloc_tag_and_upload: @ 80FE3C4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xA
- movs r3, 0x9
- bl MenuZeroFillWindowRect
- movs r0, 0x2
- movs r1, 0xF
- movs r2, 0x1B
- movs r3, 0x12
- bl MenuFillWindowRectWithBlankTile
- movs r0, 0x6
- bl FreeSpritePaletteByTag
- ldr r0, _080FE404
- ldrb r0, [r0, 0x9]
- cmp r0, 0
- bne _080FE40C
- ldr r0, _080FE408
- bl ScriptContext1_SetupScript
- adds r0, r4, 0
- bl DestroyTask
- b _080FE412
- .align 2, 0
-_080FE404: .4byte 0x0201f000
-_080FE408: .4byte gUnknown_0815F399
-_080FE40C:
- adds r0, r4, 0
- bl sub_8139E24
-_080FE412:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end gpu_pal_decompress_alloc_tag_and_upload
-
- thumb_func_start sub_80FE418
-sub_80FE418: @ 80FE418
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80FE5AC
- pop {r0}
- bx r0
- thumb_func_end sub_80FE418
-
- thumb_func_start sub_80FE428
-sub_80FE428: @ 80FE428
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080FE464
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0x9
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x4
- bl InitMenu
- bl sub_80FE394
- ldr r1, _080FE468
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FE46C
- str r1, [r0]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE464: .4byte gUnknown_020388D4
-_080FE468: .4byte gTasks
-_080FE46C: .4byte sub_80FE2EC
- thumb_func_end sub_80FE428
-
- thumb_func_start sub_80FE470
-sub_80FE470: @ 80FE470
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- adds r4, r0, 0
- mov r8, r1
- mov r9, r2
- adds r5, r3, 0
- lsls r4, 24
- lsrs r4, 24
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- mov r0, r9
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- lsls r5, 24
- lsrs r5, 24
- bl sub_8072CBC
- adds r6, r0, 0
- lsls r6, 24
- lsrs r6, 24
- ldr r7, _080FE51C
- movs r0, 0xFC
- strb r0, [r7]
- movs r0, 0x5
- mov r10, r0
- strb r0, [r7, 0x1]
- strb r5, [r7, 0x2]
- adds r7, 0x3
- ldr r1, _080FE520
- lsls r0, r4, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r7, 0
- bl StringCopy
- adds r7, r0, 0
- adds r0, r4, 0
- bl sub_8134194
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r7, 0
- movs r2, 0x56
- movs r3, 0x1
- bl sub_8072C14
- adds r7, r0, 0
- movs r0, 0xBA
- strb r0, [r7]
- adds r7, 0x1
- ldr r0, _080FE524
- lsls r4, 3
- adds r4, r0
- ldrb r1, [r4, 0x4]
- adds r0, r7, 0
- movs r2, 0x68
- movs r3, 0x1
- bl sub_8072C14
- adds r7, r0, 0
- movs r0, 0xFC
- strb r0, [r7]
- mov r0, r10
- strb r0, [r7, 0x1]
- strb r6, [r7, 0x2]
- movs r0, 0xFF
- strb r0, [r7, 0x3]
- ldr r0, _080FE51C
- mov r1, r8
- mov r2, r9
- bl MenuPrint
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE51C: .4byte gStringVar4
-_080FE520: .4byte gUnknown_083EC5E4
-_080FE524: .4byte gUnknown_08402E40
- thumb_func_end sub_80FE470
-
- thumb_func_start sub_80FE528
-sub_80FE528: @ 80FE528
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x13
- bl MenuDrawTextWindow
- movs r5, 0
- ldr r1, _080FE574
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r4, r0, r1
-_080FE548:
- ldr r0, _080FE578
- ldrb r0, [r0, 0x9]
- cmp r0, 0x1
- bne _080FE57C
- movs r1, 0x1E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- bne _080FE57C
- cmp r5, 0x6
- beq _080FE57C
- cmp r5, 0x7
- beq _080FE57C
- lsls r2, r5, 1
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- movs r1, 0x1
- movs r3, 0xD
- bl sub_80FE470
- b _080FE58E
- .align 2, 0
-_080FE574: .4byte gTasks
-_080FE578: .4byte 0x0201f000
-_080FE57C:
- lsls r2, r5, 1
- adds r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- movs r1, 0x1
- movs r3, 0xFF
- bl sub_80FE470
-_080FE58E:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x7
- bls _080FE548
- ldr r0, _080FE5A8
- movs r1, 0x1
- movs r2, 0x11
- bl MenuPrint
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE5A8: .4byte gUnknownText_Exit
- thumb_func_end sub_80FE528
-
- thumb_func_start sub_80FE5AC
-sub_80FE5AC: @ 80FE5AC
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_80FE528
- ldr r0, _080FE5F8
- ldrb r0, [r0]
- str r0, [sp]
- movs r0, 0xD
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x1
- movs r3, 0x9
- bl InitMenu
- ldr r1, _080FE5FC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FE600
- str r1, [r0]
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE5F8: .4byte gUnknown_020388F6
-_080FE5FC: .4byte gTasks
-_080FE600: .4byte sub_80FE604
- thumb_func_end sub_80FE5AC
-
- thumb_func_start sub_80FE604
-sub_80FE604: @ 80FE604
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r4, r5, 0
- ldr r0, _080FE638
- ldrb r1, [r0, 0x7]
- movs r3, 0x80
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE61C
- b _080FE720
-_080FE61C:
- ldr r2, _080FE63C
- ldrh r1, [r2, 0x30]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _080FE640
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _080FE720
- .align 2, 0
-_080FE638: .4byte gPaletteFade
-_080FE63C: .4byte gMain
-_080FE640:
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _080FE656
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _080FE720
-_080FE656:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FE70C
- movs r0, 0x5
- bl PlaySE
- bl GetMenuCursorPos
- ldr r4, _080FE6C0
- strb r0, [r4]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x8
- beq _080FE704
- ldrb r0, [r4]
- bl sub_8134194
- ldr r1, _080FE6C4
- strb r0, [r1]
- lsls r0, 24
- cmp r0, 0
- beq _080FE6DC
- ldrb r0, [r4]
- bl sub_8134104
- ldr r2, _080FE6C8
- ldr r1, _080FE6CC
- ldrb r0, [r4]
- lsls r0, 3
- adds r0, r1
- ldr r0, [r0]
- str r0, [r2]
- adds r0, r5, 0
- bl sub_80FEF50
- bl sub_80F944C
- ldr r0, _080FE6D0
- movs r1, 0x8
- bl sub_80F9480
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- ldr r1, _080FE6D4
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FE6D8
- str r1, [r0]
- b _080FE720
- .align 2, 0
-_080FE6C0: .4byte gUnknown_020388F6
-_080FE6C4: .4byte gUnknown_020388D5
-_080FE6C8: .4byte gUnknown_020388D0
-_080FE6CC: .4byte gUnknown_08402E40
-_080FE6D0: .4byte gUnknown_020388F7
-_080FE6D4: .4byte gTasks
-_080FE6D8: .4byte sub_80FE868
-_080FE6DC:
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080FE6FC
- ldr r2, _080FE700
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _080FE720
- .align 2, 0
-_080FE6FC: .4byte gSecretBaseText_NoDecors
-_080FE700: .4byte sub_80FE418
-_080FE704:
- adds r0, r5, 0
- bl sub_80FE728
- b _080FE720
-_080FE70C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080FE720
- movs r0, 0x5
- bl PlaySE
- adds r0, r4, 0
- bl sub_80FE728
-_080FE720:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FE604
-
- thumb_func_start sub_80FE728
-sub_80FE728: @ 80FE728
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _080FE748
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1E
- ldrsh r0, [r0, r1]
- cmp r0, 0x3
- beq _080FE74C
- adds r0, r2, 0
- bl sub_80FE758
- b _080FE752
- .align 2, 0
-_080FE748: .4byte gTasks
-_080FE74C:
- adds r0, r2, 0
- bl sub_8109DAC
-_080FE752:
- pop {r0}
- bx r0
- thumb_func_end sub_80FE728
-
- thumb_func_start sub_80FE758
-sub_80FE758: @ 80FE758
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _080FE794
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0x1E
- ldrsh r0, [r5, r1]
- cmp r0, 0x2
- beq _080FE79C
- bl sub_80FE1DC
- bl MenuDisplayMessageBox
- bl sub_80FE394
- ldr r0, _080FE798
- str r0, [r5]
- b _080FE7A2
- .align 2, 0
-_080FE794: .4byte gTasks
-_080FE798: .4byte sub_80FE2EC
-_080FE79C:
- adds r0, r4, 0
- bl sub_80B3068
-_080FE7A2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_80FE758
-
- thumb_func_start sub_80FE7A8
-sub_80FE7A8: @ 80FE7A8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080FE7CC
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r3, 0
- movs r2, 0x3
- strh r2, [r1, 0x1E]
- ldr r1, _080FE7D0
- strb r3, [r1]
- bl sub_80FE5AC
- pop {r0}
- bx r0
- .align 2, 0
-_080FE7CC: .4byte gTasks
-_080FE7D0: .4byte gUnknown_020388F6
- thumb_func_end sub_80FE7A8
-
- thumb_func_start sub_80FE7D4
-sub_80FE7D4: @ 80FE7D4
- push {lr}
- lsls r1, 24
- ldr r2, _080FE7E8
- lsrs r1, 22
- adds r1, r2
- ldr r1, [r1]
- bl StringCopy
- pop {r0}
- bx r0
- .align 2, 0
-_080FE7E8: .4byte gUnknown_083EC5E4
- thumb_func_end sub_80FE7D4
-
- thumb_func_start sub_80FE7EC
-sub_80FE7EC: @ 80FE7EC
- push {r4,lr}
- sub sp, 0x8
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_80FEC94
- ldr r0, _080FE858
- ldrb r0, [r0]
- bl sub_80FECB8
- movs r0, 0xF
- movs r1, 0xC
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
- ldr r4, _080FE85C
- ldr r0, _080FE860
- ldrb r0, [r0]
- ldrb r1, [r4]
- adds r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl sub_80FECE0
- ldr r0, _080FE864
- ldrb r3, [r0]
- adds r3, 0x1
- lsls r3, 24
- lsrs r3, 24
- ldrb r0, [r4]
- str r0, [sp]
- movs r0, 0xD
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x2
- bl InitMenu
- add sp, 0x8
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE858: .4byte gUnknown_020388F6
-_080FE85C: .4byte gUnknown_020388F2
-_080FE860: .4byte gUnknown_020388F4
-_080FE864: .4byte gUnknown_020388F3
- thumb_func_end sub_80FE7EC
-
- thumb_func_start sub_80FE868
-sub_80FE868: @ 80FE868
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- adds r0, r4, 0
- bl sub_80FE7EC
- ldr r1, _080FE88C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FE890
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FE88C: .4byte gTasks
-_080FE890: .4byte sub_80FE948
- thumb_func_end sub_80FE868
-
- thumb_func_start sub_80FE894
-sub_80FE894: @ 80FE894
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r5, r1, 24
- lsls r2, 24
- lsrs r7, r2, 24
- movs r0, 0
- mov r10, r0
- ldr r6, _080FE920
- ldrb r1, [r6]
- ldr r4, _080FE924
- ldrb r0, [r4]
- adds r1, r0
- ldr r2, _080FE928
- mov r9, r2
- ldrb r0, [r2]
- cmp r1, r0
- bne _080FE8C8
- movs r1, 0x1
- mov r10, r1
-_080FE8C8:
- movs r0, 0x5
- bl PlaySE
- lsls r0, r5, 24
- asrs r0, 24
- cmp r0, 0
- beq _080FE8DC
- bl MoveMenuCursor
- strb r0, [r6]
-_080FE8DC:
- cmp r7, 0
- beq _080FE8EE
- ldrb r0, [r4]
- adds r0, r7
- strb r0, [r4]
- mov r0, r8
- movs r1, 0x1
- bl sub_80FEABC
-_080FE8EE:
- ldrb r0, [r6]
- ldrb r1, [r4]
- adds r0, r1
- mov r2, r9
- ldrb r2, [r2]
- cmp r0, r2
- beq _080FE92C
- mov r0, r10
- cmp r0, 0
- beq _080FE90E
- movs r0, 0xF
- movs r1, 0xC
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuDrawTextWindow
-_080FE90E:
- ldrb r0, [r4]
- ldrb r6, [r6]
- adds r0, r6
- lsls r0, 24
- lsrs r0, 24
- bl sub_80FECE0
- b _080FE938
- .align 2, 0
-_080FE920: .4byte gUnknown_020388F2
-_080FE924: .4byte gUnknown_020388F4
-_080FE928: .4byte gUnknown_020388D5
-_080FE92C:
- movs r0, 0xF
- movs r1, 0xC
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
-_080FE938:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FE894
-
- thumb_func_start sub_80FE948
-sub_80FE948: @ 80FE948
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080FE980
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _080FE95C
- b _080FEAAC
-_080FE95C:
- ldr r0, _080FE984
- ldrh r1, [r0, 0x30]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0x40
- bne _080FE9A0
- ldr r0, _080FE988
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FE98C
- movs r1, 0x1
- negs r1, r1
- adds r0, r4, 0
- movs r2, 0
- bl sub_80FE894
- b _080FE9A0
- .align 2, 0
-_080FE980: .4byte gPaletteFade
-_080FE984: .4byte gMain
-_080FE988: .4byte gUnknown_020388F2
-_080FE98C:
- ldr r0, _080FE9C4
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FE9A0
- movs r2, 0x1
- negs r2, r2
- adds r0, r4, 0
- movs r1, 0
- bl sub_80FE894
-_080FE9A0:
- ldr r0, _080FE9C8
- ldrh r1, [r0, 0x30]
- movs r0, 0xF0
- ands r0, r1
- cmp r0, 0x80
- bne _080FE9EE
- ldr r2, _080FE9CC
- ldr r1, _080FE9D0
- ldrb r0, [r2]
- ldrb r1, [r1]
- cmp r0, r1
- beq _080FE9D4
- adds r0, r4, 0
- movs r1, 0x1
- movs r2, 0
- bl sub_80FE894
- b _080FE9EE
- .align 2, 0
-_080FE9C4: .4byte gUnknown_020388F4
-_080FE9C8: .4byte gMain
-_080FE9CC: .4byte gUnknown_020388F2
-_080FE9D0: .4byte gUnknown_020388F3
-_080FE9D4:
- ldr r0, _080FEA38
- ldrb r0, [r0]
- ldrb r1, [r2]
- adds r0, r1
- ldr r1, _080FEA3C
- ldrb r1, [r1]
- cmp r0, r1
- beq _080FE9EE
- adds r0, r4, 0
- movs r1, 0
- movs r2, 0x1
- bl sub_80FE894
-_080FE9EE:
- ldr r0, _080FEA40
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _080FEA7C
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- ldr r2, _080FEA44
- ldr r1, _080FEA48
- ldr r0, _080FEA38
- ldrb r0, [r0]
- ldrb r1, [r1]
- adds r0, r1
- strb r0, [r2]
- ldr r1, _080FEA3C
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1]
- cmp r0, r1
- bne _080FEA54
- ldr r1, _080FEA4C
- ldr r2, _080FEA50
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- movs r2, 0x1E
- ldrsh r0, [r0, r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- b _080FEA68
- .align 2, 0
-_080FEA38: .4byte gUnknown_020388F4
-_080FEA3C: .4byte gUnknown_020388D5
-_080FEA40: .4byte gMain
-_080FEA44: .4byte gUnknown_020388F5
-_080FEA48: .4byte gUnknown_020388F2
-_080FEA4C: .4byte gUnknown_083EC634
-_080FEA50: .4byte gTasks
-_080FEA54:
- ldr r2, _080FEA74
- ldr r1, _080FEA78
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1E
- ldrsh r0, [r0, r1]
- lsls r0, 3
- adds r0, r2
-_080FEA68:
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- b _080FEAAC
- .align 2, 0
-_080FEA74: .4byte gUnknown_083EC634
-_080FEA78: .4byte gTasks
-_080FEA7C:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080FEAAC
- bl sub_8072DEC
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080FEAB4
- ldr r2, _080FEAB8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r2
- movs r2, 0x1E
- ldrsh r0, [r0, r2]
- lsls r0, 3
- adds r1, 0x4
- adds r0, r1
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
-_080FEAAC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEAB4: .4byte gUnknown_083EC634
-_080FEAB8: .4byte gTasks
- thumb_func_end sub_80FE948
-
- thumb_func_start sub_80FEABC
-sub_80FEABC: @ 80FEABC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r4, _080FEB58
- ldrb r0, [r4]
- cmp r0, 0
- bne _080FEADE
- movs r0, 0
- bl SetBgTilemapBuffer
- ldrb r0, [r4]
- cmp r0, 0
- beq _080FEAE8
-_080FEADE:
- movs r0, 0
- movs r1, 0x3C
- movs r2, 0x8
- bl sub_80F953C
-_080FEAE8:
- ldr r5, _080FEB58
- ldrb r0, [r5]
- adds r0, 0x7
- ldr r4, _080FEB5C
- ldrb r1, [r4]
- cmp r0, r1
- bne _080FEAFC
- movs r0, 0x1
- bl SetBgTilemapBuffer
-_080FEAFC:
- ldrb r0, [r5]
- adds r0, 0x7
- ldrb r4, [r4]
- cmp r0, r4
- bge _080FEB10
- movs r0, 0x1
- movs r1, 0x3C
- movs r2, 0x98
- bl sub_80F953C
-_080FEB10:
- ldrb r4, [r5]
- adds r0, r4, 0
- adds r0, 0x8
- cmp r4, r0
- blt _080FEB1C
- b _080FEC7E
-_080FEB1C:
- adds r7, r5, 0
-_080FEB1E:
- ldrb r1, [r7]
- subs r1, r4, r1
- lsls r0, r1, 25
- movs r2, 0x80
- lsls r2, 18
- adds r0, r2
- lsrs r6, r0, 24
- ldr r0, _080FEB60
- adds r1, r0
- ldrb r0, [r1]
- cmp r0, 0
- beq _080FEB3C
- adds r0, r1, 0
- bl sub_80F94F8
-_080FEB3C:
- ldr r0, _080FEB5C
- ldrb r0, [r0]
- cmp r4, r0
- bne _080FEB68
- lsls r2, r6, 3
- movs r0, 0x1
- str r0, [sp]
- ldr r0, _080FEB64
- movs r1, 0x8
- movs r3, 0x68
- bl sub_8072A18
- b _080FEC7E
- .align 2, 0
-_080FEB58: .4byte gUnknown_020388F4
-_080FEB5C: .4byte gUnknown_020388D5
-_080FEB60: .4byte gUnknown_020388F7
-_080FEB64: .4byte gUnknownText_Exit
-_080FEB68:
- ldr r0, _080FEBC0
- ldr r1, [r0]
- adds r2, r1, r4
- ldrb r1, [r2]
- mov r12, r0
- adds r5, r4, 0x1
- cmp r1, 0
- bne _080FEB7A
- b _080FEC70
-_080FEB7A:
- ldr r0, _080FEBC4
- ldrb r5, [r0, 0x9]
- cmp r5, 0x1
- bne _080FEBDC
- ldr r0, _080FEBC8
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _080FEBDC
- cmp r0, 0x7
- beq _080FEBDC
- ldr r0, _080FEBCC
- mov r3, r8
- lsls r1, r3, 2
- add r1, r8
- lsls r1, 3
- adds r1, r0
- movs r3, 0x1E
- ldrsh r0, [r1, r3]
- cmp r0, 0
- bne _080FEBDC
- ldrb r1, [r2]
- lsls r1, 5
- ldr r0, _080FEBD0
- adds r1, r0
- ldr r0, _080FEBD4
- bl StringCopy
- lsls r2, r6, 3
- str r5, [sp]
- ldr r0, _080FEBD8
- movs r1, 0x8
- movs r3, 0x68
- bl sub_8072A18
- b _080FEBF8
- .align 2, 0
-_080FEBC0: .4byte gUnknown_020388D0
-_080FEBC4: .4byte 0x0201f000
-_080FEBC8: .4byte gUnknown_020388F6
-_080FEBCC: .4byte gTasks
-_080FEBD0: .4byte gDecorations + 0x1
-_080FEBD4: .4byte gStringVar1
-_080FEBD8: .4byte gUnknown_083EC65A
-_080FEBDC:
- mov r1, r12
- ldr r0, [r1]
- adds r0, r4
- ldrb r0, [r0]
- lsls r0, 5
- ldr r1, _080FEC00
- adds r0, r1
- lsls r2, r6, 3
- movs r1, 0x1
- str r1, [sp]
- movs r1, 0x8
- movs r3, 0x68
- bl sub_8072A18
-_080FEBF8:
- movs r1, 0
- adds r5, r4, 0x1
- b _080FEC0A
- .align 2, 0
-_080FEC00: .4byte gDecorations + 0x1
-_080FEC04:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
-_080FEC0A:
- cmp r1, 0xF
- bhi _080FEC34
- ldr r0, _080FEC38
- adds r0, r1, r0
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, r4
- bne _080FEC04
- ldrb r3, [r7]
- subs r3, r4, r3
- ldr r1, _080FEC3C
- adds r1, r3, r1
- lsls r3, 20
- movs r2, 0xC0
- lsls r2, 13
- adds r3, r2
- asrs r3, 16
- movs r0, 0x4
- movs r2, 0x6C
- bl sub_80F94A4
-_080FEC34:
- movs r1, 0
- b _080FEC46
- .align 2, 0
-_080FEC38: .4byte gUnknown_020388D6
-_080FEC3C: .4byte gUnknown_020388F7
-_080FEC40:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
-_080FEC46:
- cmp r1, 0xB
- bhi _080FEC70
- ldr r0, _080FEC8C
- adds r0, r1, r0
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, r4
- bne _080FEC40
- ldrb r3, [r7]
- subs r3, r4, r3
- ldr r1, _080FEC90
- adds r1, r3, r1
- lsls r3, 20
- movs r0, 0xC0
- lsls r0, 13
- adds r3, r0
- asrs r3, 16
- movs r0, 0x5
- movs r2, 0x6C
- bl sub_80F94A4
-_080FEC70:
- lsls r0, r5, 16
- lsrs r4, r0, 16
- ldrb r0, [r7]
- adds r0, 0x8
- cmp r4, r0
- bge _080FEC7E
- b _080FEB1E
-_080FEC7E:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEC8C: .4byte gUnknown_020388E6
-_080FEC90: .4byte gUnknown_020388F7
- thumb_func_end sub_80FEABC
-
- thumb_func_start sub_80FEC94
-sub_80FEC94: @ 80FEC94
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x13
- bl MenuDrawTextWindow
- adds r0, r4, 0
- movs r1, 0
- bl sub_80FEABC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FEC94
-
- thumb_func_start sub_80FECB8
-sub_80FECB8: @ 80FECB8
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0xF
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x3
- bl MenuDrawTextWindow
- adds r0, r4, 0
- movs r1, 0x10
- movs r2, 0x1
- movs r3, 0xFF
- bl sub_80FE470
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FECB8
-
- thumb_func_start sub_80FECE0
-sub_80FECE0: @ 80FECE0
- push {lr}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _080FED14
- ldr r1, _080FED18
- ldr r1, [r1]
- adds r1, r0
- ldrb r0, [r1]
- lsls r0, 5
- adds r2, 0x18
- adds r0, r2
- ldr r0, [r0]
- movs r1, 0x30
- str r1, [sp]
- movs r1, 0x1
- str r1, [sp, 0x4]
- movs r1, 0x80
- movs r2, 0x68
- movs r3, 0x68
- bl sub_8072AB0
- add sp, 0x8
- pop {r0}
- bx r0
- .align 2, 0
-_080FED14: .4byte gDecorations
-_080FED18: .4byte gUnknown_020388D0
- thumb_func_end sub_80FECE0
-
- thumb_func_start sub_80FED1C
-sub_80FED1C: @ 80FED1C
- push {lr}
- movs r0, 0xF
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x3
- bl MenuZeroFillWindowRect
- movs r0, 0xF
- movs r1, 0xC
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- thumb_func_end sub_80FED1C
-
- thumb_func_start sub_80FED3C
-sub_80FED3C: @ 80FED3C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- ldr r1, _080FED5C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FED60
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FED5C: .4byte gTasks
-_080FED60: .4byte sub_80FE868
- thumb_func_end sub_80FED3C
-
- thumb_func_start sub_80FED64
-sub_80FED64: @ 80FED64
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- movs r1, 0
- ldr r3, _080FED7C
-_080FED6E:
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _080FED80
- movs r0, 0x1
- b _080FED8C
- .align 2, 0
-_080FED7C: .4byte gUnknown_020388D6
-_080FED80:
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _080FED6E
- movs r0, 0
-_080FED8C:
- pop {r1}
- bx r1
- thumb_func_end sub_80FED64
-
- thumb_func_start sub_80FED90
-sub_80FED90: @ 80FED90
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r6, 0
- movs r3, 0
- ldr r4, _080FEE30
- movs r1, 0
- ldr r2, _080FEE34
-_080FEDA4:
- adds r0, r3, r4
- strb r1, [r0]
- cmp r3, 0xB
- bhi _080FEDB0
- adds r0, r3, r2
- strb r1, [r0]
-_080FEDB0:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0xF
- bls _080FEDA4
- movs r3, 0
- ldr r0, _080FEE38
- mov r10, r0
- ldr r1, _080FEE3C
- mov r9, r1
- ldr r2, _080FEE40
- mov r8, r2
-_080FEDC8:
- mov r1, r10
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _080FEE5A
- movs r1, 0
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 3
- add r0, r9
- ldrb r0, [r0, 0x4]
- cmp r1, r0
- bcs _080FEE5A
- ldr r0, _080FEE38
- adds r0, r3
- mov r12, r0
- ldr r7, _080FEE30
-_080FEDEA:
- ldr r0, _080FEE44
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- adds r4, r1, 0x1
- mov r1, r12
- ldrb r1, [r1]
- cmp r0, r1
- bne _080FEE48
- movs r1, 0
- cmp r1, r6
- bcs _080FEE1E
- ldrb r0, [r7]
- cmp r0, r4
- beq _080FEE1E
- ldr r5, _080FEE30
- adds r2, r4, 0
-_080FEE0C:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r6
- bcs _080FEE1E
- adds r0, r1, r5
- ldrb r0, [r0]
- cmp r0, r2
- bne _080FEE0C
-_080FEE1E:
- cmp r1, r6
- bne _080FEE48
- adds r0, r6, r7
- strb r4, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- b _080FEE5A
- .align 2, 0
-_080FEE30: .4byte gUnknown_020388D6
-_080FEE34: .4byte gUnknown_020388E6
-_080FEE38: .4byte gSaveBlock1 + 0x1A1A
-_080FEE3C: .4byte gUnknown_08402E40
-_080FEE40: .4byte gUnknown_020388F6
-_080FEE44: .4byte gUnknown_020388D0
-_080FEE48:
- lsls r0, r4, 16
- lsrs r1, r0, 16
- mov r2, r8
- ldrb r0, [r2]
- lsls r0, 3
- add r0, r9
- ldrb r0, [r0, 0x4]
- cmp r1, r0
- bcc _080FEDEA
-_080FEE5A:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0xF
- bls _080FEDC8
- movs r6, 0
- movs r3, 0
- ldr r0, _080FEEE4
- mov r8, r0
-_080FEE6C:
- ldr r0, _080FEEE8
- ldr r1, _080FEEEC
- adds r0, r1
- adds r2, r3, r0
- ldrb r0, [r2]
- adds r7, r3, 0x1
- cmp r0, 0
- beq _080FEF0E
- movs r1, 0
- ldr r0, _080FEEF0
- ldrb r0, [r0]
- lsls r0, 3
- add r0, r8
- ldrb r0, [r0, 0x4]
- cmp r1, r0
- bcs _080FEF0E
- adds r5, r2, 0
-_080FEE8E:
- ldr r0, _080FEEF4
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- adds r4, r1, 0x1
- ldrb r2, [r5]
- cmp r0, r2
- bne _080FEEFC
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_80FED64
- lsls r0, 24
- cmp r0, 0
- bne _080FEEFC
- movs r1, 0
- cmp r1, r6
- bcs _080FEED0
- ldr r2, _080FEEF8
- ldrb r0, [r2]
- cmp r0, r4
- beq _080FEED0
- adds r3, r2, 0
- adds r2, r4, 0
-_080FEEBE:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r6
- bcs _080FEED0
- adds r0, r1, r3
- ldrb r0, [r0]
- cmp r0, r2
- bne _080FEEBE
-_080FEED0:
- cmp r1, r6
- bne _080FEEFC
- ldr r0, _080FEEF8
- adds r0, r6, r0
- strb r4, [r0]
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- b _080FEF0E
- .align 2, 0
-_080FEEE4: .4byte gUnknown_08402E40
-_080FEEE8: .4byte gSaveBlock1
-_080FEEEC: .4byte 0x00002688
-_080FEEF0: .4byte gUnknown_020388F6
-_080FEEF4: .4byte gUnknown_020388D0
-_080FEEF8: .4byte gUnknown_020388E6
-_080FEEFC:
- lsls r0, r4, 16
- lsrs r1, r0, 16
- ldr r0, _080FEF24
- ldrb r0, [r0]
- lsls r0, 3
- add r0, r8
- ldrb r0, [r0, 0x4]
- cmp r1, r0
- bcc _080FEE8E
-_080FEF0E:
- lsls r0, r7, 16
- lsrs r3, r0, 16
- cmp r3, 0xB
- bls _080FEE6C
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_080FEF24: .4byte gUnknown_020388F6
- thumb_func_end sub_80FED90
-
- thumb_func_start sub_80FEF28
-sub_80FEF28: @ 80FEF28
- push {lr}
- ldr r0, _080FEF38
- ldrb r1, [r0]
- cmp r1, 0x7
- bhi _080FEF40
- ldr r0, _080FEF3C
- strb r1, [r0]
- b _080FEF46
- .align 2, 0
-_080FEF38: .4byte gUnknown_020388D5
-_080FEF3C: .4byte gUnknown_020388F3
-_080FEF40:
- ldr r1, _080FEF4C
- movs r0, 0x7
- strb r0, [r1]
-_080FEF46:
- pop {r0}
- bx r0
- .align 2, 0
-_080FEF4C: .4byte gUnknown_020388F3
- thumb_func_end sub_80FEF28
-
- thumb_func_start sub_80FEF50
-sub_80FEF50: @ 80FEF50
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_80FED90
- bl sub_80FEF28
- ldr r0, _080FEF6C
- movs r1, 0
- strb r1, [r0]
- ldr r0, _080FEF70
- strb r1, [r0]
- pop {r0}
- bx r0
- .align 2, 0
-_080FEF6C: .4byte gUnknown_020388F2
-_080FEF70: .4byte gUnknown_020388F4
- thumb_func_end sub_80FEF50
-
- thumb_func_start sub_80FEF74
-sub_80FEF74: @ 80FEF74
- push {lr}
- ldr r0, _080FEFA0
- movs r1, 0x8
- bl sub_80F9520
- movs r0, 0
- bl SetBgTilemapBuffer
- movs r0, 0x1
- bl SetBgTilemapBuffer
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- pop {r0}
- bx r0
- .align 2, 0
-_080FEFA0: .4byte gUnknown_020388F7
- thumb_func_end sub_80FEF74
-
- thumb_func_start sub_80FEFA4
-sub_80FEFA4: @ 80FEFA4
- push {r4,lr}
- movs r2, 0
- ldr r0, _080FEFD0
- ldrb r0, [r0]
- ldr r1, _080FEFD4
- ldrb r1, [r1]
- adds r0, r1
- adds r1, r0, 0x1
- ldr r4, _080FEFD8
- ldr r3, _080FEFDC
-_080FEFB8:
- adds r0, r2, r4
- ldrb r0, [r0]
- cmp r0, r1
- beq _080FEFCC
- cmp r2, 0xB
- bhi _080FEFE0
- adds r0, r2, r3
- ldrb r0, [r0]
- cmp r0, r1
- bne _080FEFE0
-_080FEFCC:
- movs r0, 0
- b _080FEFEC
- .align 2, 0
-_080FEFD0: .4byte gUnknown_020388F4
-_080FEFD4: .4byte gUnknown_020388F2
-_080FEFD8: .4byte gUnknown_020388D6
-_080FEFDC: .4byte gUnknown_020388E6
-_080FEFE0:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _080FEFB8
- movs r0, 0x1
-_080FEFEC:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FEFA4
-
- thumb_func_start sub_80FEFF4
-sub_80FEFF4: @ 80FEFF4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _080FF028
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _080FF00E
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _080FF020
-_080FF00E:
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- ldr r0, _080FF02C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _080FF030
- str r0, [r1]
-_080FF020:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF028: .4byte gMain
-_080FF02C: .4byte gTasks
-_080FF030: .4byte sub_80FE868
- thumb_func_end sub_80FEFF4
-
- thumb_func_start sub_80FF034
-sub_80FF034: @ 80FF034
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0xE
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_80FE5AC
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF034
-
- thumb_func_start sub_80FF058
-sub_80FF058: @ 80FF058
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _080FF08C
- movs r1, 0x8
- bl sub_80F9520
- movs r0, 0
- bl SetBgTilemapBuffer
- movs r0, 0x1
- bl SetBgTilemapBuffer
- bl BuyMenuFreeMemory
- ldr r1, _080FF090
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- ldr r1, _080FF094
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF08C: .4byte gUnknown_020388F7
-_080FF090: .4byte gTasks
-_080FF094: .4byte sub_80FF034
- thumb_func_end sub_80FF058
-
- thumb_func_start sub_80FF098
-sub_80FF098: @ 80FF098
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _080FF0D4
- ldrb r0, [r1]
- subs r0, 0x1
- strb r0, [r1]
- ldr r3, _080FF0D8
- ldrb r2, [r3]
- adds r0, r2, 0x7
- ldrb r1, [r1]
- cmp r0, r1
- ble _080FF0BA
- cmp r2, 0
- beq _080FF0BA
- subs r0, r2, 0x1
- strb r0, [r3]
-_080FF0BA:
- ldr r0, _080FF0DC
- ldrb r0, [r0]
- bl sub_8134104
- adds r0, r4, 0
- bl sub_80FED90
- bl sub_80FEF28
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF0D4: .4byte gUnknown_020388D5
-_080FF0D8: .4byte gUnknown_020388F4
-_080FF0DC: .4byte gUnknown_020388F6
- thumb_func_end sub_80FF098
-
- thumb_func_start sub_80FF0E0
-sub_80FF0E0: @ 80FF0E0
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080FF10C
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r4, r2, r3
- ldr r1, _080FF110
- ldrh r0, [r1]
- strh r0, [r4, 0xE]
- ldrh r0, [r1, 0x2]
- strh r0, [r4, 0x10]
- adds r3, 0x8
- adds r2, r3
- adds r1, r2, 0x2
- adds r0, r2, 0
- bl PlayerGetDestCoords
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF10C: .4byte gTasks
-_080FF110: .4byte gSaveBlock1
- thumb_func_end sub_80FF0E0
-
- thumb_func_start sub_80FF114
-sub_80FF114: @ 80FF114
- push {r4,r5,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- bl DrawWholeMapView
- ldr r1, _080FF158
- movs r0, 0x4
- ldrsb r0, [r1, r0]
- ldrb r1, [r1, 0x5]
- lsls r1, 24
- asrs r1, 24
- movs r2, 0x1
- negs r2, r2
- ldr r3, _080FF15C
- lsls r4, r5, 2
- adds r4, r5
- lsls r4, 3
- adds r4, r3
- movs r3, 0xE
- ldrsb r3, [r4, r3]
- ldrb r4, [r4, 0x10]
- lsls r4, 24
- asrs r4, 24
- str r4, [sp]
- bl warp1_set
- bl warp_in
- add sp, 0x4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF158: .4byte gSaveBlock1
-_080FF15C: .4byte gTasks
- thumb_func_end sub_80FF114
-
- thumb_func_start sub_80FF160
-sub_80FF160: @ 80FF160
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81341D4
- lsls r0, 24
- cmp r0, 0
- bne _080FF188
- ldr r1, _080FF180
- ldr r2, _080FF184
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _080FF1A2
- .align 2, 0
-_080FF180: .4byte gSecretBaseText_NoDecors
-_080FF184: .4byte sub_80FE428
-_080FF188:
- ldr r1, _080FF1A8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0
- strh r1, [r0, 0x1E]
- ldr r0, _080FF1AC
- strb r2, [r0]
- adds r0, r4, 0
- bl sub_80FE5AC
-_080FF1A2:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF1A8: .4byte gTasks
-_080FF1AC: .4byte gUnknown_020388F6
- thumb_func_end sub_80FF160
-
- thumb_func_start sub_80FF1B0
-sub_80FF1B0: @ 80FF1B0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _080FF1D0
- cmp r2, 0x22
- beq _080FF1D8
- cmp r2, 0x26
- bne _080FF1E2
- ldr r0, _080FF1D4
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r0, 16
- b _080FF1E2
- .align 2, 0
-_080FF1D0: .4byte 0x0000ffff
-_080FF1D4: .4byte gUnknown_083EC97C
-_080FF1D8:
- ldr r0, _080FF1E8
- adds r0, r1, r0
- ldrb r0, [r0]
- lsls r0, 28
- lsrs r0, 16
-_080FF1E2:
- pop {r1}
- bx r1
- .align 2, 0
-_080FF1E8: .4byte gUnknown_083EC984
- thumb_func_end sub_80FF1B0
-
- thumb_func_start sub_80FF1EC
-sub_80FF1EC: @ 80FF1EC
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x34
- ldr r4, [sp, 0x54]
- lsls r0, 16
- lsrs r0, 16
- str r0, [sp]
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x4]
- lsls r2, 24
- lsrs r2, 24
- str r2, [sp, 0x8]
- lsls r3, 24
- lsrs r3, 24
- str r3, [sp, 0xC]
- lsls r4, 16
- lsrs r4, 16
- str r4, [sp, 0x10]
- movs r2, 0
- lsls r0, r3, 16
- cmp r2, r3
- bcc _080FF222
- b _080FF384
-_080FF222:
- ldr r1, [sp, 0x8]
- str r1, [sp, 0x28]
- str r0, [sp, 0x2C]
-_080FF228:
- ldr r3, [sp, 0x4]
- ldr r4, [sp, 0xC]
- subs r1, r3, r4
- lsls r0, r2, 16
- asrs r0, 16
- adds r0, 0x1
- adds r1, r0
- lsls r1, 16
- lsrs r1, 16
- str r1, [sp, 0x14]
- movs r0, 0
- mov r10, r0
- adds r1, r2, 0x1
- str r1, [sp, 0x30]
- ldr r3, [sp, 0x28]
- cmp r10, r3
- bcc _080FF24C
- b _080FF374
-_080FF24C:
- ldr r4, [sp, 0x10]
- lsls r4, 5
- str r4, [sp, 0x18]
- ldr r0, _080FF2B4
- adds r0, r4, r0
- str r0, [sp, 0x1C]
- ldr r0, _080FF2B8
- adds r0, r4, r0
- str r0, [sp, 0x24]
- ldr r3, [sp, 0x8]
- adds r1, r2, 0
- muls r1, r3
- str r1, [sp, 0x20]
-_080FF266:
- ldr r0, [sp]
- add r0, r10
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r1, [sp, 0x20]
- add r1, r10
- ldr r4, [sp, 0x1C]
- ldr r0, [r4]
- lsls r1, 1
- adds r1, r0
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- lsls r4, r0, 16
- lsls r0, r4, 8
- lsrs r0, 24
- bl sub_8057288
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FF2AC
- ldr r3, [sp, 0x24]
- ldrb r0, [r3, 0x11]
- cmp r0, 0x1
- beq _080FF2BC
- lsrs r0, r4, 28
- cmp r0, 0
- beq _080FF2BC
-_080FF2AC:
- movs r4, 0xC0
- lsls r4, 4
- mov r8, r4
- b _080FF2C0
- .align 2, 0
-_080FF2B4: .4byte gDecorations + 0x1C
-_080FF2B8: .4byte gDecorations
-_080FF2BC:
- movs r0, 0
- mov r8, r0
-_080FF2C0:
- ldr r1, [sp, 0x24]
- ldrb r0, [r1, 0x11]
- lsls r7, r5, 16
- ldr r2, [sp, 0x14]
- lsls r2, 16
- mov r9, r2
- cmp r0, 0x3
- beq _080FF2EA
- asrs r0, r7, 16
- asrs r1, r2, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl sub_80572B0
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0x1
- cmp r0, 0x1
- beq _080FF2EC
-_080FF2EA:
- movs r6, 0
-_080FF2EC:
- ldr r3, [sp, 0x18]
- ldr r4, _080FF334
- adds r0, r3, r4
- ldrb r0, [r0]
- ldr r4, [sp, 0x20]
- add r4, r10
- lsls r1, r4, 24
- lsrs r1, 24
- bl sub_80FF1B0
- lsls r0, 16
- lsrs r5, r0, 16
- ldr r0, _080FF338
- cmp r5, r0
- beq _080FF33C
- asrs r0, r7, 16
- mov r2, r9
- asrs r1, r2, 16
- ldr r3, [sp, 0x1C]
- ldr r2, [r3]
- lsls r3, r4, 1
- adds r3, r2
- movs r4, 0x80
- lsls r4, 2
- adds r2, r4, 0
- orrs r6, r2
- ldrh r3, [r3]
- adds r2, r6, r3
- mov r3, r8
- orrs r3, r2
- orrs r3, r5
- lsls r2, r3, 16
- lsrs r2, 16
- bl MapGridSetMetatileEntryAt
- b _080FF362
- .align 2, 0
-_080FF334: .4byte gDecorations
-_080FF338: .4byte 0x0000ffff
-_080FF33C:
- asrs r0, r7, 16
- mov r2, r9
- asrs r1, r2, 16
- ldr r3, [sp, 0x1C]
- ldr r2, [r3]
- lsls r3, r4, 1
- adds r3, r2
- movs r4, 0x80
- lsls r4, 2
- adds r2, r4, 0
- orrs r6, r2
- ldrh r3, [r3]
- adds r2, r6, r3
- mov r3, r8
- orrs r3, r2
- lsls r2, r3, 16
- lsrs r2, 16
- bl MapGridSetMetatileIdAt
-_080FF362:
- mov r0, r10
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r10, r0
- ldr r4, [sp, 0x28]
- cmp r10, r4
- bcs _080FF374
- b _080FF266
-_080FF374:
- ldr r1, [sp, 0x30]
- lsls r0, r1, 16
- lsrs r2, r0, 16
- ldr r3, [sp, 0x2C]
- lsrs r0, r3, 16
- cmp r2, r0
- bcs _080FF384
- b _080FF228
-_080FF384:
- add sp, 0x34
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF1EC
-
- thumb_func_start sub_80FF394
-sub_80FF394: @ 80FF394
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 16
- lsrs r3, r0, 16
- lsls r1, 16
- lsrs r4, r1, 16
- lsls r2, 16
- lsrs r2, 16
- ldr r1, _080FF3BC
- lsls r0, r2, 5
- adds r0, r1
- ldrb r0, [r0, 0x12]
- cmp r0, 0x9
- bhi _080FF46C
- lsls r0, 2
- ldr r1, _080FF3C0
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FF3BC: .4byte gDecorations
-_080FF3C0: .4byte _080FF3C4
- .align 2, 0
-_080FF3C4:
- .4byte _080FF3EC
- .4byte _080FF3F6
- .4byte _080FF400
- .4byte _080FF410
- .4byte _080FF41A
- .4byte _080FF424
- .4byte _080FF434
- .4byte _080FF43E
- .4byte _080FF44E
- .4byte _080FF45E
-_080FF3EC:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x1
- b _080FF408
-_080FF3F6:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x2
- b _080FF408
-_080FF400:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x3
-_080FF408:
- movs r3, 0x1
- bl sub_80FF1EC
- b _080FF46C
-_080FF410:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x4
- b _080FF42C
-_080FF41A:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x2
- b _080FF42C
-_080FF424:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x1
-_080FF42C:
- movs r3, 0x2
- bl sub_80FF1EC
- b _080FF46C
-_080FF434:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x1
- b _080FF456
-_080FF43E:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x2
- movs r3, 0x4
- bl sub_80FF1EC
- b _080FF46C
-_080FF44E:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x3
-_080FF456:
- movs r3, 0x3
- bl sub_80FF1EC
- b _080FF46C
-_080FF45E:
- str r2, [sp]
- adds r0, r3, 0
- adds r1, r4, 0
- movs r2, 0x3
- movs r3, 0x2
- bl sub_80FF1EC
-_080FF46C:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF394
-
- thumb_func_start sub_80FF474
-sub_80FF474: @ 80FF474
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r6, 0
- ldr r0, _080FF54C
- mov r8, r0
- ldr r1, _080FF550
- mov r9, r1
- ldr r2, _080FF554
- mov r10, r2
- ldr r7, _080FF558
-_080FF490:
- adds r5, r6, 0
- adds r5, 0xAE
- adds r4, r5, 0
- adds r0, r4, 0
- bl FlagGet
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FF570
- adds r0, r4, 0
- bl FlagReset
- movs r2, 0
- mov r4, r8
- ldr r0, [r4, 0x4]
- ldrb r6, [r0]
- cmp r2, r6
- bcs _080FF4E0
- ldr r0, [r0, 0x4]
- ldrh r0, [r0, 0x14]
- cmp r0, r5
- beq _080FF4E0
- ldr r0, _080FF54C
- ldr r3, [r0, 0x4]
- ldrb r6, [r3]
- adds r4, r5, 0
-_080FF4C6:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, r6
- bcs _080FF4E0
- ldr r0, [r3, 0x4]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x14]
- cmp r0, r4
- bne _080FF4C6
-_080FF4E0:
- mov r1, r8
- ldr r0, [r1, 0x4]
- ldr r1, [r0, 0x4]
- lsls r4, r2, 1
- adds r4, r2
- lsls r4, 3
- adds r1, r4, r1
- ldr r2, _080FF55C
- adds r0, r2, 0
- ldrb r1, [r1, 0x1]
- adds r0, r1
- ldr r1, _080FF560
- ldr r1, [r1]
- ldr r1, [r1, 0x1C]
- ldrh r1, [r1]
- bl VarSet
- mov r5, r8
- ldr r0, [r5, 0x4]
- ldr r0, [r0, 0x4]
- adds r4, r0
- ldrb r0, [r4]
- mov r6, r9
- strh r0, [r6]
- ldr r1, _080FF564
- ldrh r1, [r1]
- mov r2, r10
- strh r1, [r2]
- ldr r1, _080FF568
- ldrh r1, [r1]
- ldr r4, _080FF56C
- strh r1, [r4]
- ldrb r1, [r7, 0x5]
- ldrb r2, [r7, 0x4]
- bl show_sprite
- ldrb r0, [r6]
- ldrb r1, [r7, 0x5]
- ldrb r2, [r7, 0x4]
- mov r5, r10
- movs r6, 0
- ldrsh r3, [r5, r6]
- movs r5, 0
- ldrsh r4, [r4, r5]
- str r4, [sp]
- bl sub_805C0F8
- mov r6, r9
- ldrb r0, [r6]
- ldrb r1, [r7, 0x5]
- ldrb r2, [r7, 0x4]
- bl sub_805C78C
- b _080FF57A
- .align 2, 0
-_080FF54C: .4byte gMapHeader
-_080FF550: .4byte gUnknown_0202E8CE
-_080FF554: .4byte gUnknown_0202E8D0
-_080FF558: .4byte gSaveBlock1
-_080FF55C: .4byte 0x00003f20
-_080FF560: .4byte gUnknown_02038900
-_080FF564: .4byte gUnknown_020391A4
-_080FF568: .4byte gUnknown_020391A6
-_080FF56C: .4byte gUnknown_0202E8D2
-_080FF570:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0xD
- bls _080FF490
-_080FF57A:
- add sp, 0x4
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF474
-
- thumb_func_start sub_80FF58C
-sub_80FF58C: @ 80FF58C
- push {lr}
- movs r1, 0
- ldr r0, _080FF5A8
- ldrb r2, [r0, 0x8]
- cmp r1, r2
- bcs _080FF5B6
- ldr r3, [r0]
-_080FF59A:
- adds r0, r3, r1
- ldrb r0, [r0]
- cmp r0, 0
- bne _080FF5AC
- movs r0, 0x1
- b _080FF5B8
- .align 2, 0
-_080FF5A8: .4byte 0x0201f000
-_080FF5AC:
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r2
- bcc _080FF59A
-_080FF5B6:
- movs r0, 0
-_080FF5B8:
- pop {r1}
- bx r1
- thumb_func_end sub_80FF58C
-
- thumb_func_start sub_80FF5BC
-sub_80FF5BC: @ 80FF5BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _080FF5E4
- ldrb r0, [r0, 0x9]
- cmp r0, 0x1
- bne _080FF5F0
- ldr r0, _080FF5E8
- ldrb r0, [r0]
- cmp r0, 0x6
- beq _080FF5F0
- cmp r0, 0x7
- beq _080FF5F0
- bl sub_80FEF74
- bl sub_80FED1C
- ldr r1, _080FF5EC
- b _080FF66E
- .align 2, 0
-_080FF5E4: .4byte 0x0201f000
-_080FF5E8: .4byte gUnknown_020388F6
-_080FF5EC: .4byte gSecretBaseText_DecorCantPlace
-_080FF5F0:
- bl sub_80FEFA4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FF688
- bl sub_80FF58C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FF62C
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _080FF624
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r1, _080FF628
- str r1, [r0]
- b _080FF69C
- .align 2, 0
-_080FF624: .4byte gTasks
-_080FF628: .4byte sub_80FF6AC
-_080FF62C:
- bl sub_80FEF74
- bl sub_80FED1C
- ldr r0, _080FF654
- ldr r4, _080FF658
- ldrb r1, [r4, 0x8]
- movs r2, 0x1
- movs r3, 0x2
- bl ConvertIntToDecimalStringN
- ldrb r0, [r4, 0x9]
- cmp r0, 0
- bne _080FF664
- ldr r0, _080FF65C
- ldr r1, _080FF660
- bl StringExpandPlaceholders
- b _080FF66C
- .align 2, 0
-_080FF654: .4byte gStringVar1
-_080FF658: .4byte 0x0201f000
-_080FF65C: .4byte gStringVar4
-_080FF660: .4byte gSecretBaseText_NoMoreDecor
-_080FF664:
- ldr r0, _080FF67C
- ldr r1, _080FF680
- bl StringExpandPlaceholders
-_080FF66C:
- ldr r1, _080FF67C
-_080FF66E:
- ldr r2, _080FF684
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _080FF69C
- .align 2, 0
-_080FF67C: .4byte gStringVar4
-_080FF680: .4byte gSecretBaseText_NoMoreDecor2
-_080FF684: .4byte sub_80FEFF4
-_080FF688:
- bl sub_80FEF74
- bl sub_80FED1C
- ldr r1, _080FF6A4
- ldr r2, _080FF6A8
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_080FF69C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF6A4: .4byte gSecretBaseText_InUseAlready
-_080FF6A8: .4byte sub_80FEFF4
- thumb_func_end sub_80FF5BC
-
- thumb_func_start sub_80FF6AC
-sub_80FF6AC: @ 80FF6AC
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, _080FF6D0
- lsls r0, r6, 2
- adds r0, r6
- lsls r0, 3
- adds r7, r0, r1
- movs r1, 0xC
- ldrsh r0, [r7, r1]
- cmp r0, 0x1
- beq _080FF714
- cmp r0, 0x1
- bgt _080FF6D4
- cmp r0, 0
- beq _080FF6DA
- b _080FF77A
- .align 2, 0
-_080FF6D0: .4byte gTasks
-_080FF6D4:
- cmp r0, 0x2
- beq _080FF764
- b _080FF77A
-_080FF6DA:
- ldr r0, _080FF70C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080FF77A
- adds r0, r6, 0
- bl sub_80FF0E0
- movs r0, 0
- bl SetBgTilemapBuffer
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r0, _080FF710
- movs r1, 0x8
- bl sub_80F9520
- bl BuyMenuFreeMemory
- movs r0, 0x1
- strh r0, [r7, 0xC]
- b _080FF77A
- .align 2, 0
-_080FF70C: .4byte gPaletteFade
-_080FF710: .4byte gUnknown_020388F7
-_080FF714:
- ldr r4, _080FF754
- ldrb r0, [r4, 0x8]
- movs r1, 0x80
- orrs r0, r1
- strb r0, [r4, 0x8]
- ldr r5, _080FF758
- ldr r0, _080FF75C
- ldrb r1, [r0]
- ldr r0, _080FF760
- ldr r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r5, 0
- bl AddDecorationIconObjectFromFieldObject
- adds r0, r6, 0
- bl sub_80FF960
- adds r0, r6, 0
- adds r1, r5, 0
- bl SetUpPlacingDecorationPlayerAvatar
- bl pal_fill_black
- ldrb r1, [r4, 0x8]
- movs r0, 0x7F
- ands r0, r1
- strb r0, [r4, 0x8]
- movs r0, 0x2
- strh r0, [r7, 0xC]
- b _080FF77A
- .align 2, 0
-_080FF754: .4byte gPaletteFade
-_080FF758: .4byte gUnknown_02038900
-_080FF75C: .4byte gUnknown_020388F5
-_080FF760: .4byte gUnknown_020388D0
-_080FF764:
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FF77A
- movs r0, 0
- strh r0, [r7, 0x20]
- adds r0, r6, 0
- bl sub_810065C
-_080FF77A:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_80FF6AC
-
- thumb_func_start AddDecorationIconObjectFromFieldObject
-AddDecorationIconObjectFromFieldObject: @ 80FF780
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- lsls r4, r1, 24
- lsrs r4, 24
- bl sub_80FEF74
- bl sub_80FED1C
- adds r0, r5, 0
- bl sub_81006D0
- lsls r4, 5
- ldr r0, _080FF810
- adds r4, r0
- str r4, [r5]
- ldrb r0, [r4, 0x11]
- cmp r0, 0x4
- beq _080FF834
- adds r0, r5, 0
- bl sub_81008BC
- ldr r0, [r5]
- ldrb r0, [r0, 0x12]
- bl sub_8100930
- adds r0, r5, 0
- bl sub_8100874
- ldr r1, _080FF814
- adds r0, r5, r1
- ldr r1, _080FF818
- ldr r1, [r1]
- ldr r2, [r1, 0x14]
- ldr r1, [r5]
- ldr r1, [r1, 0x1C]
- ldrh r1, [r1]
- ldr r2, [r2, 0xC]
- lsls r1, 4
- adds r1, r2
- ldrh r1, [r1, 0xE]
- lsrs r1, 12
- bl sub_810070C
- ldr r0, _080FF81C
- bl LoadSpritePalette
- ldr r3, _080FF820
- ldr r2, _080FF824
- ldr r4, _080FF828
- ldr r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x2E]
- strb r0, [r3]
- ldr r0, _080FF82C
- ldr r3, _080FF830
- ldr r1, [r5]
- ldrb r2, [r1, 0x12]
- lsls r2, 2
- adds r2, r3
- ldrb r1, [r2, 0x2]
- ldrb r2, [r2, 0x3]
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- str r0, [r4, 0x4]
- b _080FF87E
- .align 2, 0
-_080FF810: .4byte gDecorations
-_080FF814: .4byte 0x00000884
-_080FF818: .4byte gMapHeader
-_080FF81C: .4byte gUnknown_083EC954
-_080FF820: .4byte gUnknown_020391A8
-_080FF824: .4byte gSprites
-_080FF828: .4byte gUnknown_03004880
-_080FF82C: .4byte gSpriteTemplate_83EC93C
-_080FF830: .4byte gUnknown_083EC900
-_080FF834:
- ldr r2, _080FF888
- ldr r6, _080FF88C
- ldr r5, _080FF890
- ldr r1, [r5, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrh r0, [r0, 0x2E]
- strb r0, [r2]
- ldr r0, [r4, 0x1C]
- ldrh r0, [r0]
- ldr r1, _080FF894
- ldr r2, _080FF898
- ldrb r3, [r4, 0x12]
- lsls r3, 2
- adds r3, r2
- ldrb r2, [r3, 0x2]
- ldrb r3, [r3, 0x3]
- movs r4, 0x1
- str r4, [sp]
- bl AddPseudoFieldObject
- lsls r0, 24
- lsrs r0, 24
- str r0, [r5, 0x4]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1, 0x5]
- movs r0, 0xD
- negs r0, r0
- ands r0, r2
- movs r2, 0x4
- orrs r0, r2
- strb r0, [r1, 0x5]
-_080FF87E:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF888: .4byte gUnknown_020391A8
-_080FF88C: .4byte gSprites
-_080FF890: .4byte gUnknown_03004880
-_080FF894: .4byte sub_81009A8
-_080FF898: .4byte gUnknown_083EC900
- thumb_func_end AddDecorationIconObjectFromFieldObject
-
- thumb_func_start SetUpPlacingDecorationPlayerAvatar
-SetUpPlacingDecorationPlayerAvatar: @ 80FF89C
- push {r4,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _080FF8F0
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldrb r2, [r2, 0x12]
- ldr r3, _080FF8F4
- ldr r0, [r1]
- ldrb r4, [r0, 0x12]
- lsls r1, r4, 2
- adds r1, r3
- lsls r0, r2, 4
- ldrb r1, [r1, 0x2]
- adds r0, r1
- subs r2, 0x1
- lsls r2, 3
- subs r0, r2
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r4, 0x2
- beq _080FF8D6
- cmp r4, 0x8
- beq _080FF8D6
- cmp r4, 0x9
- bne _080FF8DE
-_080FF8D6:
- adds r0, r2, 0
- subs r0, 0x8
- lsls r0, 24
- lsrs r2, r0, 24
-_080FF8DE:
- ldr r0, _080FF8F8
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _080FF900
- ldr r1, _080FF8FC
- str r0, [sp]
- movs r0, 0xC1
- b _080FF908
- .align 2, 0
-_080FF8F0: .4byte gTasks
-_080FF8F4: .4byte gUnknown_083EC900
-_080FF8F8: .4byte gSaveBlock2
-_080FF8FC: .4byte SpriteCallbackDummy
-_080FF900:
- ldr r1, _080FF94C
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC2
-_080FF908:
- movs r3, 0x48
- bl AddPseudoFieldObject
- ldr r1, _080FF950
- strb r0, [r1]
- ldr r3, _080FF954
- ldr r0, _080FF950
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r4, _080FF958
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- bl DestroySprite
- ldr r0, _080FF95C
- ldr r0, [r0, 0x4]
- strb r0, [r4]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FF94C: .4byte SpriteCallbackDummy
-_080FF950: .4byte gUnknown_020391A9
-_080FF954: .4byte gSprites
-_080FF958: .4byte gUnknown_020391A8
-_080FF95C: .4byte gUnknown_03004880
- thumb_func_end SetUpPlacingDecorationPlayerAvatar
-
- thumb_func_start sub_80FF960
-sub_80FF960: @ 80FF960
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r2, _080FF98C
- ldr r0, _080FF990
- ldrb r1, [r0]
- ldr r0, _080FF994
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 5
- adds r0, r2
- ldrb r0, [r0, 0x12]
- cmp r0, 0x9
- bls _080FF980
- b _080FFAA6
-_080FF980:
- lsls r0, 2
- ldr r1, _080FF998
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FF98C: .4byte gDecorations
-_080FF990: .4byte gUnknown_020388F5
-_080FF994: .4byte gUnknown_020388D0
-_080FF998: .4byte _080FF99C
- .align 2, 0
-_080FF99C:
- .4byte _080FF9C4
- .4byte _080FF9D8
- .4byte _080FF9F0
- .4byte _080FFA08
- .4byte _080FFA1C
- .4byte _080FFA30
- .4byte _080FFA44
- .4byte _080FFA64
- .4byte _080FFA7C
- .4byte _080FFA94
-_080FF9C4:
- ldr r0, _080FF9D4
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- b _080FFA88
- .align 2, 0
-_080FF9D4: .4byte gTasks
-_080FF9D8:
- ldr r1, _080FF9EC
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x12]
- movs r1, 0x1
- b _080FFAA4
- .align 2, 0
-_080FF9EC: .4byte gTasks
-_080FF9F0:
- ldr r1, _080FFA04
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3
- strh r1, [r0, 0x12]
- movs r1, 0x1
- b _080FFAA4
- .align 2, 0
-_080FFA04: .4byte gTasks
-_080FFA08:
- ldr r1, _080FFA18
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x4
- b _080FFAA0
- .align 2, 0
-_080FFA18: .4byte gTasks
-_080FFA1C:
- ldr r0, _080FFA2C
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r0, 0x2
- b _080FFA88
- .align 2, 0
-_080FFA2C: .4byte gTasks
-_080FFA30:
- ldr r1, _080FFA40
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x1
- b _080FFAA0
- .align 2, 0
-_080FFA40: .4byte gTasks
-_080FFA44:
- ldr r0, _080FFA60
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r0, 0x1
- strh r0, [r1, 0x12]
- movs r0, 0x3
- strh r0, [r1, 0x14]
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- b _080FFAA6
- .align 2, 0
-_080FFA60: .4byte gTasks
-_080FFA64:
- ldr r1, _080FFA78
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x2
- strh r1, [r0, 0x12]
- movs r1, 0x4
- b _080FFAA4
- .align 2, 0
-_080FFA78: .4byte gTasks
-_080FFA7C:
- ldr r0, _080FFA90
- lsls r1, r3, 2
- adds r1, r3
- lsls r1, 3
- adds r1, r0
- movs r0, 0x3
-_080FFA88:
- strh r0, [r1, 0x12]
- strh r0, [r1, 0x14]
- b _080FFAA6
- .align 2, 0
-_080FFA90: .4byte gTasks
-_080FFA94:
- ldr r1, _080FFAAC
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r0, r1
- movs r1, 0x3
-_080FFAA0:
- strh r1, [r0, 0x12]
- movs r1, 0x2
-_080FFAA4:
- strh r1, [r0, 0x14]
-_080FFAA6:
- pop {r0}
- bx r0
- .align 2, 0
-_080FFAAC: .4byte gTasks
- thumb_func_end sub_80FF960
-
- thumb_func_start sub_80FFAB0
-sub_80FFAB0: @ 80FFAB0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080FFAF8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- ldr r3, _080FFAFC
- ldr r0, _080FFB00
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r2, 0x1
- strh r2, [r0, 0x3C]
- ldr r0, _080FFB04
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x3C]
- bl sub_810045C
- adds r0, r4, 0
- bl sub_8100038
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FFAF8: .4byte gTasks
-_080FFAFC: .4byte gSprites
-_080FFB00: .4byte gUnknown_020391A8
-_080FFB04: .4byte gUnknown_020391A9
- thumb_func_end sub_80FFAB0
-
- thumb_func_start sub_80FFB08
-sub_80FFB08: @ 80FFB08
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _080FFB54
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- ldr r3, _080FFB58
- ldr r0, _080FFB5C
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- movs r2, 0x1
- strh r2, [r0, 0x3C]
- ldr r0, _080FFB60
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- strh r2, [r0, 0x3C]
- bl sub_810045C
- ldr r1, _080FFB64
- ldr r2, _080FFB68
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080FFB54: .4byte gTasks
-_080FFB58: .4byte gSprites
-_080FFB5C: .4byte gUnknown_020391A8
-_080FFB60: .4byte gUnknown_020391A9
-_080FFB64: .4byte gSecretBaseText_CancelDecorating
-_080FFB68: .4byte sub_8100248
- thumb_func_end sub_80FFB08
-
- thumb_func_start sub_80FFB6C
-sub_80FFB6C: @ 80FFB6C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 16
- lsrs r4, r1, 16
- bl sub_8057274
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _080FFB86
- cmp r4, 0
- beq _080FFB8A
-_080FFB86:
- movs r0, 0
- b _080FFB8C
-_080FFB8A:
- movs r0, 0x1
-_080FFB8C:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFB6C
-
- thumb_func_start sub_80FFB94
-sub_80FFB94: @ 80FFB94
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r2, 16
- lsrs r4, r2, 16
- lsls r3, 16
- lsrs r5, r3, 16
- lsls r1, 16
- asrs r1, 16
- ldr r3, _080FFBD0
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- movs r3, 0xE
- ldrsh r0, [r2, r3]
- adds r0, 0x7
- cmp r1, r0
- bne _080FFBD4
- lsls r1, r4, 16
- asrs r1, 16
- movs r3, 0x10
- ldrsh r0, [r2, r3]
- adds r0, 0x7
- cmp r1, r0
- bne _080FFBD4
- cmp r5, 0
- beq _080FFBD4
- movs r0, 0
- b _080FFBD6
- .align 2, 0
-_080FFBD0: .4byte gTasks
-_080FFBD4:
- movs r0, 0x1
-_080FFBD6:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFB94
-
- thumb_func_start sub_80FFBDC
-sub_80FFBDC: @ 80FFBDC
- push {r4-r6,lr}
- adds r5, r1, 0
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r0, r6, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8057274
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FFC1C
- ldrb r0, [r5]
- cmp r0, 0x21
- bne _080FFC0A
- adds r0, r4, 0
- bl sub_8057300
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _080FFC18
-_080FFC0A:
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_805729C
- lsls r0, 24
- cmp r0, 0
- beq _080FFC1C
-_080FFC18:
- movs r0, 0x1
- b _080FFC1E
-_080FFC1C:
- movs r0, 0
-_080FFC1E:
- pop {r4-r6}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFBDC
-
- thumb_func_start sub_80FFC24
-sub_80FFC24: @ 80FFC24
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x24
- str r1, [sp]
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- ldr r1, _080FFC60
- lsls r0, 2
- add r0, r10
- lsls r0, 3
- adds r0, r1
- ldrb r2, [r0, 0x14]
- str r2, [sp, 0x4]
- ldrb r0, [r0, 0x12]
- str r0, [sp, 0x8]
- ldr r3, [sp]
- ldrb r0, [r3, 0x11]
- adds r2, r1, 0
- cmp r0, 0x4
- bls _080FFC56
- b _08100024
-_080FFC56:
- lsls r0, 2
- ldr r1, _080FFC64
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080FFC60: .4byte gTasks
-_080FFC64: .4byte _080FFC68
- .align 2, 0
-_080FFC68:
- .4byte _080FFC7C
- .4byte _080FFC7C
- .4byte _080FFD68
- .4byte _080FFF1C
- .4byte _080FFFA0
-_080FFC7C:
- movs r6, 0
- ldr r0, [sp, 0x4]
- cmp r6, r0
- bcc _080FFC86
- b _08100024
-_080FFC86:
- mov r1, r10
- lsls r1, 2
- str r1, [sp, 0x1C]
-_080FFC8C:
- mov r2, r10
- lsls r0, r2, 2
- add r0, r10
- lsls r0, 3
- ldr r3, _080FFD64
- adds r0, r3
- ldrh r0, [r0, 0xA]
- subs r0, r6
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r7, 0
- adds r6, 0x1
- str r6, [sp, 0x14]
- ldr r0, [sp, 0x8]
- cmp r7, r0
- bcs _080FFD56
- mov r1, r9
- lsls r1, 16
- str r1, [sp, 0xC]
- asrs r1, 16
- mov r9, r1
-_080FFCB8:
- ldr r0, [sp, 0x1C]
- add r0, r10
- lsls r0, 3
- ldr r2, _080FFD64
- adds r0, r2
- ldrh r0, [r0, 0x8]
- adds r0, r7
- lsls r0, 16
- mov r8, r0
- asrs r6, r0, 16
- adds r0, r6, 0
- mov r1, r9
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, [sp, 0x4]
- ldr r1, [sp, 0x14]
- subs r0, r3, r1
- ldr r2, [sp, 0x8]
- adds r1, r0, 0
- muls r1, r2
- adds r1, r7
- ldr r3, [sp]
- ldr r0, [r3, 0x1C]
- lsls r1, 1
- adds r1, r0
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- movs r3, 0xF0
- lsls r3, 8
- adds r1, r3, 0
- adds r5, r1, 0
- ands r5, r0
- adds r0, r4, 0
- ldr r1, [sp]
- bl sub_80FFBDC
- lsls r0, 24
- cmp r0, 0
- bne _080FFD1A
- b _080FFFF4
-_080FFD1A:
- mov r0, r10
- adds r1, r6, 0
- mov r2, r9
- adds r3, r5, 0
- bl sub_80FFB94
- lsls r0, 24
- cmp r0, 0
- bne _080FFD2E
- b _080FFFF4
-_080FFD2E:
- mov r1, r8
- lsrs r0, r1, 16
- ldr r2, [sp, 0xC]
- lsrs r1, r2, 16
- movs r2, 0
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080FFD4A
- cmp r4, 0x10
- beq _080FFD4A
- b _080FFFF4
-_080FFD4A:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcc _080FFCB8
-_080FFD56:
- ldr r1, [sp, 0x14]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- ldr r2, [sp, 0x4]
- cmp r6, r2
- bcc _080FFC8C
- b _08100024
- .align 2, 0
-_080FFD64: .4byte gTasks
-_080FFD68:
- movs r6, 0
- mov r3, r10
- lsls r3, 2
- str r3, [sp, 0x1C]
- ldr r0, [sp, 0x4]
- subs r0, 0x1
- str r0, [sp, 0x18]
- cmp r6, r0
- bge _080FFE54
- adds r0, r3, 0
- add r0, r10
- lsls r0, 3
- str r0, [sp, 0x10]
-_080FFD82:
- ldr r1, [sp, 0x10]
- adds r0, r1, r2
- ldrh r0, [r0, 0xA]
- subs r0, r6
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r7, 0
- adds r6, 0x1
- str r6, [sp, 0x14]
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcs _080FFE48
- lsls r0, 16
- str r0, [sp, 0x20]
-_080FFDA0:
- ldr r1, [sp, 0x10]
- adds r0, r1, r2
- ldrh r0, [r0, 0x8]
- adds r0, r7
- lsls r0, 16
- mov r8, r0
- asrs r6, r0, 16
- mov r2, r9
- lsls r1, r2, 16
- adds r0, r6, 0
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, [sp, 0x4]
- ldr r1, [sp, 0x14]
- subs r0, r3, r1
- ldr r2, [sp, 0x8]
- adds r1, r0, 0
- muls r1, r2
- adds r1, r7
- ldr r3, [sp]
- ldr r0, [r3, 0x1C]
- lsls r1, 1
- adds r1, r0
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- movs r3, 0xF0
- lsls r3, 8
- adds r1, r3, 0
- adds r5, r1, 0
- ands r5, r0
- adds r0, r4, 0
- bl sub_805729C
- lsls r0, 24
- cmp r0, 0
- bne _080FFE0C
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_80FFB6C
- lsls r0, 24
- cmp r0, 0
- bne _080FFE0C
- b _080FFFF4
-_080FFE0C:
- mov r0, r10
- adds r1, r6, 0
- ldr r3, [sp, 0x20]
- asrs r2, r3, 16
- adds r3, r5, 0
- bl sub_80FFB94
- lsls r0, 24
- cmp r0, 0
- bne _080FFE22
- b _080FFFF4
-_080FFE22:
- mov r1, r8
- lsrs r0, r1, 16
- ldr r2, [sp, 0x20]
- lsrs r1, r2, 16
- movs r2, 0
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- beq _080FFE3A
- b _080FFFF4
-_080FFE3A:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r2, _080FFF18
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcc _080FFDA0
-_080FFE48:
- ldr r1, [sp, 0x14]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- ldr r3, [sp, 0x18]
- cmp r6, r3
- blt _080FFD82
-_080FFE54:
- ldr r0, [sp, 0x1C]
- add r0, r10
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0xA]
- ldr r1, [sp, 0x4]
- subs r0, r1
- adds r0, 0x1
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r7, 0
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcc _080FFE74
- b _08100024
-_080FFE74:
- lsls r0, 16
- str r0, [sp, 0x20]
-_080FFE78:
- ldr r0, [sp, 0x1C]
- add r0, r10
- lsls r0, 3
- ldr r1, _080FFF18
- adds r0, r1
- ldrh r0, [r0, 0x8]
- adds r0, r7
- lsls r0, 16
- mov r8, r0
- asrs r6, r0, 16
- mov r2, r9
- lsls r1, r2, 16
- adds r0, r6, 0
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, [sp]
- ldr r0, [r3, 0x1C]
- lsls r1, r7, 1
- adds r1, r0
- movs r2, 0x80
- lsls r2, 2
- adds r0, r2, 0
- ldrh r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl GetBehaviorByMetatileId
- movs r3, 0xF0
- lsls r3, 8
- adds r1, r3, 0
- adds r5, r1, 0
- ands r5, r0
- adds r0, r4, 0
- bl sub_805729C
- lsls r0, 24
- cmp r0, 0
- bne _080FFEDA
- adds r0, r4, 0
- bl sub_80572B0
- lsls r0, 24
- cmp r0, 0
- bne _080FFEDA
- b _080FFFF4
-_080FFEDA:
- mov r0, r10
- adds r1, r6, 0
- ldr r3, [sp, 0x20]
- asrs r2, r3, 16
- adds r3, r5, 0
- bl sub_80FFB94
- lsls r0, 24
- cmp r0, 0
- bne _080FFEF0
- b _080FFFF4
-_080FFEF0:
- mov r1, r8
- lsrs r0, r1, 16
- ldr r2, [sp, 0x20]
- lsrs r1, r2, 16
- movs r2, 0
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0
- beq _080FFF0A
- cmp r4, 0x10
- bne _080FFFF4
-_080FFF0A:
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcc _080FFE78
- b _08100024
- .align 2, 0
-_080FFF18: .4byte gTasks
-_080FFF1C:
- movs r6, 0
- ldr r0, [sp, 0x4]
- cmp r6, r0
- bcc _080FFF26
- b _08100024
-_080FFF26:
- mov r1, r10
- lsls r0, r1, 2
- add r0, r10
- lsls r1, r0, 3
- ldr r2, _080FFF9C
- adds r0, r1, r2
- ldrh r0, [r0, 0xA]
- subs r0, r6
- lsls r0, 16
- lsrs r0, 16
- mov r9, r0
- movs r7, 0
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcs _080FFF8C
- adds r0, r2, 0
- adds r1, r0
- mov r8, r1
- mov r1, r9
- lsls r0, r1, 16
- asrs r5, r0, 16
-_080FFF50:
- mov r2, r8
- ldrh r0, [r2, 0x8]
- adds r0, r7
- lsls r0, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- adds r1, r5, 0
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r0, 24
- bl sub_80572B0
- lsls r0, 24
- cmp r0, 0
- beq _080FFFF4
- adds r0, r4, 0
- adds r1, r5, 0x1
- bl MapGridGetMetatileIdAt
- movs r1, 0xA3
- lsls r1, 2
- cmp r0, r1
- beq _080FFFF4
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcc _080FFF50
-_080FFF8C:
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, [sp, 0x4]
- cmp r6, r0
- bcc _080FFF26
- b _08100024
- .align 2, 0
-_080FFF9C: .4byte gTasks
-_080FFFA0:
- mov r3, r10
- lsls r1, r3, 2
- adds r0, r1, r3
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0xA]
- mov r9, r0
- movs r7, 0
- str r1, [sp, 0x1C]
- ldr r0, [sp, 0x8]
- cmp r7, r0
- bcs _08100024
- adds r6, r2, 0
- mov r1, r9
- lsls r1, 16
- str r1, [sp, 0x20]
-_080FFFC0:
- ldr r0, [sp, 0x1C]
- add r0, r10
- lsls r0, 3
- adds r0, r6
- ldrh r0, [r0, 0x8]
- adds r0, r7
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- mov r2, r9
- lsls r1, r2, 16
- asrs r1, 16
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r3, [sp]
- ldrb r0, [r3, 0x12]
- cmp r0, 0x5
- bne _080FFFF8
-_080FFFE8:
- adds r0, r4, 0
- bl sub_80572EC
- lsls r0, 24
- cmp r0, 0
- bne _08100004
-_080FFFF4:
- movs r0, 0
- b _08100026
-_080FFFF8:
- adds r0, r4, 0
- bl sub_80572D8
- lsls r0, 24
- cmp r0, 0
- beq _080FFFE8
-_08100004:
- adds r0, r5, 0
- ldr r2, [sp, 0x20]
- lsrs r1, r2, 16
- movs r2, 0
- bl GetFieldObjectIdByXYZ
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x10
- bne _080FFFF4
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r3, [sp, 0x8]
- cmp r7, r3
- bcc _080FFFC0
-_08100024:
- movs r0, 0x1
-_08100026:
- add sp, 0x24
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_80FFC24
-
- thumb_func_start sub_8100038
-sub_8100038: @ 8100038
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r0, _0810006C
- ldrb r1, [r0]
- ldr r0, _08100070
- ldr r0, [r0]
- adds r0, r1
- ldrb r1, [r0]
- lsls r1, 5
- ldr r0, _08100074
- adds r1, r0
- adds r0, r4, 0
- bl sub_80FFC24
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08100080
- ldr r1, _08100078
- ldr r2, _0810007C
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _08100092
- .align 2, 0
-_0810006C: .4byte gUnknown_020388F5
-_08100070: .4byte gUnknown_020388D0
-_08100074: .4byte gDecorations
-_08100078: .4byte gSecretBaseText_PlaceItHere
-_0810007C: .4byte sub_81000A0
-_08100080:
- movs r0, 0x20
- bl PlaySE
- ldr r1, _08100098
- ldr r2, _0810009C
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_08100092:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100098: .4byte gSecretBaseText_CantBePlacedHere
-_0810009C: .4byte sub_81006A8
- thumb_func_end sub_8100038
-
- thumb_func_start sub_81000A0
-sub_81000A0: @ 81000A0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _081000C0
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081000C0: .4byte gUnknown_083EC95C
- thumb_func_end sub_81000A0
-
- thumb_func_start sub_81000C4
-sub_81000C4: @ 81000C4
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_8100174
- ldr r2, _0810010C
- ldr r0, _08100110
- ldrb r1, [r0]
- ldr r0, _08100114
- ldr r0, [r0]
- adds r0, r1
- ldrb r3, [r0]
- lsls r0, r3, 5
- adds r0, r2
- ldrb r0, [r0, 0x11]
- cmp r0, 0x4
- beq _0810011C
- ldr r0, _08100118
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- ldrh r1, [r1, 0xA]
- adds r2, r3, 0
- bl sub_80FF394
- b _0810013C
- .align 2, 0
-_0810010C: .4byte gDecorations
-_08100110: .4byte gUnknown_020388F5
-_08100114: .4byte gUnknown_020388D0
-_08100118: .4byte gTasks
-_0810011C:
- ldr r2, _0810015C
- ldr r0, _08100160
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldrh r0, [r1, 0x8]
- subs r0, 0x7
- strh r0, [r2]
- ldr r2, _08100164
- ldrh r0, [r1, 0xA]
- subs r0, 0x7
- strh r0, [r2]
- ldr r0, _08100168
- bl ScriptContext1_SetupScript
-_0810013C:
- ldr r2, _0810016C
- ldr r0, _08100170
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r1, [r0, 0x22]
- adds r1, 0x2
- strh r1, [r0, 0x22]
- adds r0, r4, 0
- bl sub_810028C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810015C: .4byte gUnknown_020391A4
-_08100160: .4byte gTasks
-_08100164: .4byte gUnknown_020391A6
-_08100168: .4byte gUnknown_081A2F7B
-_0810016C: .4byte gSprites
-_08100170: .4byte gUnknown_020391A8
- thumb_func_end sub_81000C4
-
- thumb_func_start sub_8100174
-sub_8100174: @ 8100174
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- movs r3, 0
- ldr r0, _081001B0
- ldrb r1, [r0, 0x8]
- adds r5, r0, 0
- cmp r3, r1
- bcs _0810019A
- ldr r4, [r5]
-_08100188:
- adds r2, r4, r3
- ldrb r0, [r2]
- cmp r0, 0
- beq _081001B8
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, r1
- bcc _08100188
-_0810019A:
- ldrb r0, [r5, 0x9]
- cmp r0, 0
- bne _08100204
- movs r3, 0
- ldr r0, _081001B4
- ldrb r1, [r0]
- adds r2, r0, 0
- cmp r1, 0
- bne _081001F0
- b _08100210
- .align 2, 0
-_081001B0: .4byte 0x0201f000
-_081001B4: .4byte gUnknown_020388D6
-_081001B8:
- ldr r0, _081001E4
- ldrb r1, [r0]
- ldr r0, _081001E8
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- ldr r2, [r5, 0x4]
- adds r2, r3
- ldr r0, _081001EC
- lsls r1, r6, 2
- adds r1, r6
- lsls r1, 3
- adds r1, r0
- ldrb r0, [r1, 0x8]
- subs r0, 0x7
- lsls r0, 4
- ldrb r1, [r1, 0xA]
- subs r1, 0x7
- adds r0, r1
- strb r0, [r2]
- b _0810019A
- .align 2, 0
-_081001E4: .4byte gUnknown_020388F5
-_081001E8: .4byte gUnknown_020388D0
-_081001EC: .4byte gTasks
-_081001F0:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0xF
- bhi _0810023E
- adds r1, r3, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _081001F0
- b _08100236
-_08100204:
- movs r3, 0
- ldr r0, _0810021C
- ldrb r1, [r0]
- adds r2, r0, 0
- cmp r1, 0
- bne _08100224
-_08100210:
- ldr r0, _08100220
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r2]
- b _0810023E
- .align 2, 0
-_0810021C: .4byte gUnknown_020388E6
-_08100220: .4byte gUnknown_020388F5
-_08100224:
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0xB
- bhi _0810023E
- adds r1, r3, r2
- ldrb r0, [r1]
- cmp r0, 0
- bne _08100224
-_08100236:
- ldr r0, _08100244
- ldrb r0, [r0]
- adds r0, 0x1
- strb r0, [r1]
-_0810023E:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08100244: .4byte gUnknown_020388F5
- thumb_func_end sub_8100174
-
- thumb_func_start sub_8100248
-sub_8100248: @ 8100248
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _08100268
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100268: .4byte gUnknown_083EC964
- thumb_func_end sub_8100248
-
- thumb_func_start sub_810026C
-sub_810026C: @ 810026C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_810028C
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810026C
-
- thumb_func_start sub_810028C
-sub_810028C: @ 810028C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _081002B4
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r1, _081002B8
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081002B4: .4byte gTasks
-_081002B8: .4byte c1_overworld_prev_quest
- thumb_func_end sub_810028C
-
- thumb_func_start c1_overworld_prev_quest
-c1_overworld_prev_quest: @ 81002BC
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _081002DC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _081002E0
- cmp r0, 0x1
- beq _08100300
- b _0810031C
- .align 2, 0
-_081002DC: .4byte gTasks
-_081002E0:
- bl ScriptContext2_Enable
- ldr r0, _081002FC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0810031C
- adds r0, r4, 0
- bl sub_80FF114
- movs r0, 0x1
- strh r0, [r5, 0xC]
- b _0810031C
- .align 2, 0
-_081002FC: .4byte gPaletteFade
-_08100300:
- bl sub_81016F4
- ldr r0, _08100324
- bl FreeSpritePaletteByTag
- ldr r1, _08100328
- ldr r0, _0810032C
- str r0, [r1]
- ldr r0, _08100330
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_0810031C:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08100324: .4byte 0x00000bb8
-_08100328: .4byte gUnknown_0300485C
-_0810032C: .4byte sub_8100364
-_08100330: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end c1_overworld_prev_quest
-
- thumb_func_start sub_8100334
-sub_8100334: @ 8100334
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08100354
- ldr r0, _0810035C
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08100360
- str r0, [r1]
-_08100354:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810035C: .4byte gTasks
-_08100360: .4byte sub_80FE948
- thumb_func_end sub_8100334
-
- thumb_func_start sub_8100364
-sub_8100364: @ 8100364
- push {lr}
- bl ScriptContext2_Enable
- bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
- bl pal_fill_black
- ldr r0, _08100388
- movs r1, 0x8
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl sub_80FE7EC
- pop {r0}
- bx r0
- .align 2, 0
-_08100388: .4byte sub_8100334
- thumb_func_end sub_8100364
-
- thumb_func_start sub_810038C
-sub_810038C: @ 810038C
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _081003BC
- adds r2, r1, r0
- ldr r0, _081003C0
- ldrb r1, [r0]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _081003C4
- movs r1, 0x2
- ldrsh r0, [r2, r1]
- movs r4, 0xC
- ldrsh r1, [r2, r4]
- subs r0, r1
- subs r0, 0x6
- cmp r0, 0
- bge _081003C4
- ldrh r0, [r2, 0x2]
- adds r0, 0x1
- b _081003DE
- .align 2, 0
-_081003BC: .4byte gUnknown_03004B28
-_081003C0: .4byte gUnknown_020391AA
-_081003C4:
- ldrb r0, [r3]
- cmp r0, 0x2
- bne _081003E8
- movs r0, 0x2
- ldrsh r1, [r2, r0]
- subs r1, 0x7
- ldr r0, _081003E4
- ldr r0, [r0]
- ldr r0, [r0, 0x4]
- cmp r1, r0
- blt _081003E8
- ldrh r0, [r2, 0x2]
- subs r0, 0x1
-_081003DE:
- strh r0, [r2, 0x2]
- movs r0, 0
- b _0810042A
- .align 2, 0
-_081003E4: .4byte gMapHeader
-_081003E8:
- ldrb r0, [r3]
- cmp r0, 0x3
- bne _081003FE
- movs r1, 0
- ldrsh r0, [r2, r1]
- subs r0, 0x7
- cmp r0, 0
- bge _081003FE
- ldrh r0, [r2]
- adds r0, 0x1
- b _0810041E
-_081003FE:
- ldrb r0, [r3]
- cmp r0, 0x4
- bne _08100428
- movs r3, 0
- ldrsh r1, [r2, r3]
- movs r4, 0xA
- ldrsh r0, [r2, r4]
- adds r1, r0
- subs r1, 0x8
- ldr r0, _08100424
- ldr r0, [r0]
- ldr r0, [r0]
- cmp r1, r0
- blt _08100428
- ldrh r0, [r2]
- subs r0, 0x1
-_0810041E:
- strh r0, [r2]
- movs r0, 0
- b _0810042A
- .align 2, 0
-_08100424: .4byte gMapHeader
-_08100428:
- movs r0, 0x1
-_0810042A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_810038C
-
- thumb_func_start sub_8100430
-sub_8100430: @ 8100430
- push {lr}
- ldr r0, _08100450
- ldrh r0, [r0, 0x2C]
- movs r1, 0xF0
- ands r1, r0
- cmp r1, 0x40
- beq _08100454
- cmp r1, 0x80
- beq _08100454
- cmp r1, 0x20
- beq _08100454
- cmp r1, 0x10
- beq _08100454
- movs r0, 0
- b _08100456
- .align 2, 0
-_08100450: .4byte gMain
-_08100454:
- movs r0, 0x1
-_08100456:
- pop {r1}
- bx r1
- thumb_func_end sub_8100430
-
- thumb_func_start sub_810045C
-sub_810045C: @ 810045C
- push {r4,lr}
- ldr r1, _08100488
- movs r0, 0
- strb r0, [r1]
- ldr r4, _0810048C
- ldr r3, _08100490
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r2, 0
- strh r2, [r0, 0x32]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- strh r2, [r0, 0x34]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100488: .4byte gUnknown_020391AA
-_0810048C: .4byte gSprites
-_08100490: .4byte gUnknown_020391A8
- thumb_func_end sub_810045C
-
- thumb_func_start sub_8100494
-sub_8100494: @ 8100494
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r5, _081004D0
- ldr r3, _081004D4
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x36
- ldrsh r6, [r0, r1]
- cmp r6, 0
- beq _081004B2
- b _081005DE
-_081004B2:
- ldr r1, _081004D8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r2, r0, r1
- movs r1, 0x1C
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- bne _081004E0
- ldr r0, _081004DC
- movs r3, 0x20
- ldrsh r1, [r2, r3]
- lsls r1, 3
- b _081004EE
- .align 2, 0
-_081004D0: .4byte gSprites
-_081004D4: .4byte gUnknown_020391A8
-_081004D8: .4byte gTasks
-_081004DC: .4byte gUnknown_083EC96C
-_081004E0:
- cmp r0, 0x2
- bne _08100500
- ldr r0, _081004FC
- movs r3, 0x20
- ldrsh r1, [r2, r3]
- lsls r1, 3
- adds r0, 0x4
-_081004EE:
- adds r1, r0
- ldr r1, [r1]
- adds r0, r4, 0
- bl _call_via_r1
- b _0810063C
- .align 2, 0
-_081004FC: .4byte gUnknown_083EC96C
-_08100500:
- ldr r7, _08100644
- ldrh r1, [r7, 0x2C]
- movs r0, 0xF0
- mov r12, r0
- ands r0, r1
- cmp r0, 0x40
- bne _08100534
- ldr r1, _08100648
- movs r0, 0x1
- strb r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x32]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0810064C
- strh r1, [r0, 0x34]
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
- strh r0, [r2, 0xA]
-_08100534:
- ldrh r1, [r7, 0x2C]
- mov r0, r12
- ands r0, r1
- cmp r0, 0x80
- bne _08100564
- ldr r1, _08100648
- movs r0, 0x2
- strb r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x32]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x2
- strh r1, [r0, 0x34]
- ldrh r0, [r2, 0xA]
- adds r0, 0x1
- strh r0, [r2, 0xA]
-_08100564:
- ldrh r1, [r7, 0x2C]
- mov r0, r12
- ands r0, r1
- cmp r0, 0x20
- bne _08100594
- ldr r1, _08100648
- movs r0, 0x3
- strb r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, _0810064C
- strh r1, [r0, 0x32]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x34]
- ldrh r0, [r2, 0x8]
- subs r0, 0x1
- strh r0, [r2, 0x8]
-_08100594:
- ldrh r1, [r7, 0x2C]
- mov r0, r12
- ands r0, r1
- cmp r0, 0x10
- bne _081005C4
- ldr r1, _08100648
- movs r0, 0x4
- strb r0, [r1]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x2
- strh r1, [r0, 0x32]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- strh r6, [r0, 0x34]
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_081005C4:
- bl sub_8100430
- lsls r0, 24
- cmp r0, 0
- beq _081005DA
- adds r0, r4, 0
- bl sub_810038C
- lsls r0, 24
- cmp r0, 0
- bne _081005DE
-_081005DA:
- bl sub_810045C
-_081005DE:
- ldr r0, _08100648
- ldrb r0, [r0]
- cmp r0, 0
- beq _0810060C
- ldr r3, _08100650
- ldr r2, _08100654
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- ldrh r1, [r0, 0x36]
- adds r1, 0x1
- strh r1, [r0, 0x36]
- ldrb r0, [r2]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r3
- ldrh r2, [r1, 0x36]
- movs r0, 0x7
- ands r0, r2
- strh r0, [r1, 0x36]
-_0810060C:
- ldr r0, _08100658
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r2, r1, r0
- movs r1, 0x1C
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _0810063C
- ldr r4, _08100644
- ldrh r1, [r4, 0x2E]
- movs r3, 0x1
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0810062E
- strh r3, [r2, 0x1C]
-_0810062E:
- ldrh r1, [r4, 0x2E]
- movs r3, 0x2
- adds r0, r3, 0
- ands r0, r1
- cmp r0, 0
- beq _0810063C
- strh r3, [r2, 0x1C]
-_0810063C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08100644: .4byte gMain
-_08100648: .4byte gUnknown_020391AA
-_0810064C: .4byte 0x0000fffe
-_08100650: .4byte gSprites
-_08100654: .4byte gUnknown_020391A8
-_08100658: .4byte gTasks
- thumb_func_end sub_8100494
-
- thumb_func_start sub_810065C
-sub_810065C: @ 810065C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r2, _08100698
- ldr r0, _0810069C
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r2, 0
- strh r2, [r0, 0x3C]
- ldr r1, _081006A0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- strh r2, [r0, 0x1C]
- ldr r1, _081006A4
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100698: .4byte gSprites
-_0810069C: .4byte gUnknown_020391A8
-_081006A0: .4byte gTasks
-_081006A4: .4byte sub_8100494
- thumb_func_end sub_810065C
-
- thumb_func_start sub_81006A8
-sub_81006A8: @ 81006A8
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _081006CC
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _081006C2
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081006C8
-_081006C2:
- adds r0, r2, 0
- bl sub_810065C
-_081006C8:
- pop {r0}
- bx r0
- .align 2, 0
-_081006CC: .4byte gMain
- thumb_func_end sub_81006A8
-
- thumb_func_start sub_81006D0
-sub_81006D0: @ 81006D0
- push {r4,r5,lr}
- adds r3, r0, 0
- movs r1, 0
- adds r2, r3, 0
- adds r2, 0x84
- movs r5, 0
- ldr r4, _08100708
-_081006DE:
- adds r0, r2, r1
- strb r5, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r4
- bls _081006DE
- movs r1, 0
- adds r2, r3, 0x4
- movs r3, 0
-_081006F2:
- lsls r0, r1, 1
- adds r0, r2, r0
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, 0x3F
- bls _081006F2
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08100708: .4byte 0x000007ff
- thumb_func_end sub_81006D0
-
- thumb_func_start sub_810070C
-sub_810070C: @ 810070C
- push {r4,r5,lr}
- adds r5, r0, 0
- lsls r1, 16
- movs r2, 0
- ldr r0, _0810073C
- ldr r0, [r0]
- ldr r0, [r0, 0x10]
- lsrs r4, r1, 12
- ldr r3, [r0, 0x8]
-_0810071E:
- lsls r1, r2, 1
- adds r1, r5
- adds r0, r4, r2
- lsls r0, 1
- adds r0, r3
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0xF
- bls _0810071E
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810073C: .4byte gMapHeader
- thumb_func_end sub_810070C
-
- thumb_func_start sub_8100740
-sub_8100740: @ 8100740
- push {r4-r7,lr}
- sub sp, 0x20
- adds r7, r0, 0
- lsls r1, 16
- lsrs r2, r1, 16
- lsrs r3, r1, 26
- cmp r2, 0
- beq _08100754
- ldr r0, _08100784
- ands r2, r0
-_08100754:
- movs r5, 0
- ldr r0, _08100788
- ldr r6, [r0]
- lsls r4, r2, 5
-_0810075C:
- mov r0, sp
- adds r2, r0, r5
- ldr r0, [r6, 0x10]
- ldr r0, [r0, 0x4]
- adds r1, r4, r5
- adds r0, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1F
- bls _0810075C
- cmp r3, 0x1
- beq _081007AE
- cmp r3, 0x1
- bgt _0810078C
- cmp r3, 0
- beq _08100796
- b _0810086A
- .align 2, 0
-_08100784: .4byte 0x000003ff
-_08100788: .4byte gMapHeader
-_0810078C:
- cmp r3, 0x2
- beq _0810080E
- cmp r3, 0x3
- beq _08100846
- b _0810086A
-_08100796:
- movs r5, 0
-_08100798:
- adds r1, r7, r5
- mov r2, sp
- adds r0, r2, r5
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1F
- bls _08100798
- b _0810086A
-_081007AE:
- movs r5, 0
- movs r6, 0xF
-_081007B2:
- lsls r4, r5, 2
- adds r4, r7
- adds r5, 0x1
- lsls r3, r5, 2
- subs r0, r3, 0x1
- add r0, sp
- ldrb r2, [r0]
- lsrs r1, r2, 4
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 4
- adds r1, r0
- strb r1, [r4]
- subs r0, r3, 0x2
- add r0, sp
- ldrb r2, [r0]
- lsrs r1, r2, 4
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 4
- adds r1, r0
- strb r1, [r4, 0x1]
- subs r0, r3, 0x3
- add r0, sp
- ldrb r2, [r0]
- lsrs r1, r2, 4
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 4
- adds r1, r0
- strb r1, [r4, 0x2]
- subs r3, 0x4
- mov r1, sp
- adds r0, r1, r3
- ldrb r2, [r0]
- lsrs r1, r2, 4
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 4
- adds r1, r0
- strb r1, [r4, 0x3]
- lsls r5, 16
- lsrs r5, 16
- cmp r5, 0x7
- bls _081007B2
- b _0810086A
-_0810080E:
- movs r5, 0
- movs r3, 0x7
-_08100812:
- lsls r2, r5, 2
- adds r2, r7
- subs r1, r3, r5
- lsls r1, 2
- mov r4, sp
- adds r0, r4, r1
- ldrb r0, [r0]
- strb r0, [r2]
- adds r0, r1, 0x1
- add r0, sp
- ldrb r0, [r0]
- strb r0, [r2, 0x1]
- adds r0, r1, 0x2
- add r0, sp
- ldrb r0, [r0]
- strb r0, [r2, 0x2]
- adds r1, 0x3
- adds r0, r4, r1
- ldrb r0, [r0]
- strb r0, [r2, 0x3]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x7
- bls _08100812
- b _0810086A
-_08100846:
- movs r5, 0
- movs r4, 0x1F
- movs r6, 0xF
-_0810084C:
- adds r3, r7, r5
- subs r0, r4, r5
- add r0, sp
- ldrb r2, [r0]
- lsrs r1, r2, 4
- adds r0, r6, 0
- ands r0, r2
- lsls r0, 4
- adds r1, r0
- strb r1, [r3]
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x1F
- bls _0810084C
-_0810086A:
- add sp, 0x20
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8100740
-
- thumb_func_start sub_8100874
-sub_8100874: @ 8100874
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r4, 0
-_0810087A:
- lsls r0, r4, 5
- adds r0, 0x84
- adds r0, r5, r0
- lsls r2, r4, 1
- adds r1, r5, 0x4
- adds r1, r2
- ldrh r1, [r1]
- bl sub_8100740
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r4, r0, 16
- cmp r4, 0x3F
- bls _0810087A
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8100874
-
- thumb_func_start sub_810089C
-sub_810089C: @ 810089C
- lsls r0, 16
- ldr r1, _081008B4
- ldr r1, [r1]
- ldr r1, [r1, 0x14]
- ldr r1, [r1, 0xC]
- lsrs r0, 15
- adds r0, r1
- ldrh r1, [r0]
- ldr r0, _081008B8
- ands r0, r1
- bx lr
- .align 2, 0
-_081008B4: .4byte gMapHeader
-_081008B8: .4byte 0x00000fff
- thumb_func_end sub_810089C
-
- thumb_func_start sub_81008BC
-sub_81008BC: @ 81008BC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- mov r8, r0
- ldr r0, [r0]
- ldrb r0, [r0, 0x12]
- movs r6, 0
- ldr r1, _0810092C
- lsls r5, r0, 4
- adds r0, r5, r1
- ldrb r0, [r0, 0xC]
- cmp r6, r0
- bcs _08100920
- adds r7, r1, 0
-_081008D8:
- mov r4, r8
- ldm r4!, {r1}
- adds r0, r7, 0x4
- adds r0, r5, r0
- ldr r0, [r0]
- adds r0, r6
- ldrb r0, [r0]
- ldr r1, [r1, 0x1C]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- adds r1, r7, 0
- adds r1, 0x8
- adds r1, r5, r1
- ldr r1, [r1]
- adds r1, r6
- lsls r0, 3
- ldrb r1, [r1]
- adds r0, r1
- lsls r0, 16
- lsrs r0, 16
- bl sub_810089C
- adds r2, r5, r7
- ldr r1, [r2]
- adds r1, r6
- ldrb r1, [r1]
- lsls r1, 1
- adds r4, r1
- strh r0, [r4]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldrb r2, [r2, 0xC]
- cmp r6, r2
- bcc _081008D8
-_08100920:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810092C: .4byte gUnknown_083EC860
- thumb_func_end sub_81008BC
-
- thumb_func_start sub_8100930
-sub_8100930: @ 8100930
- push {r4,r5,lr}
- lsls r0, 24
- ldr r3, _08100998
- movs r1, 0
- strb r1, [r3]
- ldrb r2, [r3, 0x1]
- subs r1, 0x4
- ands r1, r2
- movs r4, 0xD
- negs r4, r4
- ands r1, r4
- movs r2, 0x11
- negs r2, r2
- ands r1, r2
- subs r2, 0x10
- ands r1, r2
- strb r1, [r3, 0x1]
- ldr r1, _0810099C
- lsrs r0, 22
- adds r0, r1
- ldrb r1, [r0]
- movs r5, 0x3F
- lsls r1, 6
- strb r1, [r3, 0x1]
- ldrh r2, [r3, 0x2]
- ldr r1, _081009A0
- ands r1, r2
- strh r1, [r3, 0x2]
- ldrb r2, [r3, 0x3]
- movs r1, 0x3F
- negs r1, r1
- ands r1, r2
- strb r1, [r3, 0x3]
- ldrb r0, [r0, 0x1]
- lsls r0, 6
- ands r5, r1
- orrs r5, r0
- strb r5, [r3, 0x3]
- ldrh r1, [r3, 0x4]
- ldr r0, _081009A4
- ands r0, r1
- strh r0, [r3, 0x4]
- ldrb r0, [r3, 0x5]
- ands r4, r0
- movs r0, 0x4
- orrs r4, r0
- movs r0, 0xF
- ands r4, r0
- strb r4, [r3, 0x5]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08100998: .4byte gUnknown_020391AC
-_0810099C: .4byte gUnknown_083EC900
-_081009A0: .4byte 0xfffffe00
-_081009A4: .4byte 0xfffffc00
- thumb_func_end sub_8100930
-
- thumb_func_start sub_81009A8
-sub_81009A8: @ 81009A8
- movs r1, 0
- strh r1, [r0, 0x32]
- strh r1, [r0, 0x34]
- strh r1, [r0, 0x36]
- strh r1, [r0, 0x38]
- strh r1, [r0, 0x3A]
- strh r1, [r0, 0x3C]
- ldr r1, _081009BC
- str r1, [r0, 0x1C]
- bx lr
- .align 2, 0
-_081009BC: .4byte sub_81009C0
- thumb_func_end sub_81009A8
-
- thumb_func_start sub_81009C0
-sub_81009C0: @ 81009C0
- push {lr}
- adds r2, r0, 0
- movs r1, 0x3C
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bne _081009FA
- movs r1, 0x3A
- ldrsh r0, [r2, r1]
- cmp r0, 0xE
- bgt _081009E2
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- b _081009EC
-_081009E2:
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r0, [r3]
- movs r1, 0x4
- orrs r0, r1
-_081009EC:
- strb r0, [r3]
- ldrh r0, [r2, 0x3A]
- adds r0, 0x1
- movs r1, 0x1F
- ands r0, r1
- strh r0, [r2, 0x3A]
- b _08100A06
-_081009FA:
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08100A06:
- pop {r0}
- bx r0
- thumb_func_end sub_81009C0
-
- thumb_func_start sub_8100A0C
-sub_8100A0C: @ 8100A0C
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8100D38
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08100A44
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _08100A3C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r1, _08100A40
- str r1, [r0]
- b _08100A50
- .align 2, 0
-_08100A3C: .4byte gTasks
-_08100A40: .4byte sub_8100E70
-_08100A44:
- ldr r1, _08100A58
- ldr r2, _08100A5C
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_08100A50:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100A58: .4byte gSecretBaseText_NoDecorInUse
-_08100A5C: .4byte sub_80FE428
- thumb_func_end sub_8100A0C
-
- thumb_func_start sub_8100A60
-sub_8100A60: @ 8100A60
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08100A78
- ldr r1, [r3]
- adds r1, r0
- movs r2, 0
- strb r2, [r1]
- ldr r1, [r3, 0x4]
- adds r1, r0
- strb r2, [r1]
- bx lr
- .align 2, 0
-_08100A78: .4byte 0x0201f000
- thumb_func_end sub_8100A60
-
- thumb_func_start sub_8100A7C
-sub_8100A7C: @ 8100A7C
- push {r4-r6,lr}
- ldr r6, _08100A9C
- movs r0, 0
- strh r0, [r6]
- ldr r2, _08100AA0
- strh r0, [r2]
- ldr r4, _08100AA4
- ldr r1, _08100AA8
- ldrh r0, [r4]
- ldrb r1, [r1]
- cmp r0, r1
- bne _08100AB8
- movs r0, 0x1
- strh r0, [r2]
- b _08100B0A
- .align 2, 0
-_08100A9C: .4byte gUnknown_0202E8CE
-_08100AA0: .4byte gScriptResult
-_08100AA4: .4byte gUnknown_0202E8CC
-_08100AA8: .4byte gUnknown_02039234
-_08100AAC:
- ldr r1, _08100AB4
- ldrb r0, [r2]
- strh r0, [r1]
- b _08100B0A
- .align 2, 0
-_08100AB4: .4byte gUnknown_0202E8D0
-_08100AB8:
- ldr r3, _08100B10
- ldr r2, _08100B14
- ldr r1, _08100B18
- ldrh r0, [r4]
- lsls r0, 3
- adds r4, r0, r1
- ldrb r1, [r4]
- ldr r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 5
- adds r0, r3
- ldrb r0, [r0, 0x11]
- cmp r0, 0x4
- bne _08100B0A
- ldrh r0, [r4, 0x4]
- strh r0, [r6]
- ldrb r0, [r4]
- bl sub_8100A60
- movs r1, 0
- ldr r0, _08100B1C
- ldr r0, [r0, 0x4]
- ldrb r2, [r0]
- cmp r1, r2
- bcs _08100B0A
- ldr r5, [r0, 0x4]
- ldrh r4, [r6]
- adds r3, r2, 0
-_08100AF2:
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 3
- adds r2, r0, r5
- ldrh r0, [r2, 0x14]
- cmp r0, r4
- beq _08100AAC
- adds r0, r1, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- cmp r1, r3
- bcc _08100AF2
-_08100B0A:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08100B10: .4byte gDecorations
-_08100B14: .4byte 0x0201f000
-_08100B18: .4byte gUnknown_020391B4
-_08100B1C: .4byte gMapHeader
- thumb_func_end sub_8100A7C
-
- thumb_func_start sub_8100B20
-sub_8100B20: @ 8100B20
- push {r4-r6,lr}
- movs r2, 0
- ldr r0, _08100B4C
- ldr r0, [r0, 0x4]
- ldrb r1, [r0]
- cmp r2, r1
- bcs _08100B64
- adds r3, r0, 0
- ldr r5, [r3, 0x4]
- ldr r0, _08100B50
- ldrh r4, [r0]
- ldr r6, _08100B54
-_08100B38:
- lsls r0, r2, 1
- adds r0, r2
- lsls r0, 3
- adds r1, r0, r5
- ldrh r0, [r1, 0x14]
- cmp r0, r4
- bne _08100B58
- ldrb r0, [r1]
- strh r0, [r6]
- b _08100B64
- .align 2, 0
-_08100B4C: .4byte gMapHeader
-_08100B50: .4byte gUnknown_0202E8CC
-_08100B54: .4byte gUnknown_0202E8CE
-_08100B58:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- ldrb r0, [r3]
- cmp r2, r0
- bcc _08100B38
-_08100B64:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8100B20
-
- thumb_func_start sub_8100B6C
-sub_8100B6C: @ 8100B6C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- movs r7, 0
- b _08100C64
-_08100B7C:
- lsls r3, r7, 3
- ldr r0, _08100BE0
- adds r4, r3, r0
- ldrb r1, [r4]
- ldr r2, _08100BE4
- ldr r0, [r2]
- adds r0, r1
- ldrb r6, [r0]
- lsls r0, r6, 5
- ldr r5, _08100BE8
- adds r0, r5
- ldrb r2, [r0, 0x11]
- ldr r5, _08100BE4
- ldr r0, [r5, 0x4]
- adds r0, r1
- ldrb r0, [r0]
- lsrs r1, r0, 4
- mov r9, r1
- movs r5, 0xF
- mov r10, r5
- mov r1, r10
- ands r1, r0
- mov r10, r1
- adds r5, r3, 0
- adds r3, r7, 0x1
- str r3, [sp]
- cmp r2, 0x4
- beq _08100C5E
- cmp r6, 0x29
- bne _08100BD0
- mov r0, r9
- adds r0, 0x7
- adds r1, 0x7
- bl MapGridGetMetatileIdAt
- movs r1, 0xA3
- lsls r1, 2
- cmp r0, r1
- bne _08100BD0
- ldrb r0, [r4, 0x2]
- adds r0, 0x1
- strb r0, [r4, 0x2]
-_08100BD0:
- movs r6, 0
- ldr r1, _08100BE0
- adds r2, r5, 0
- adds r0, r5, r1
- adds r3, r7, 0x1
- str r3, [sp]
- b _08100C4E
- .align 2, 0
-_08100BE0: .4byte gUnknown_020391B4
-_08100BE4: .4byte 0x0201f000
-_08100BE8: .4byte gDecorations
-_08100BEC:
- movs r4, 0
- adds r0, r2, r1
- adds r7, r6, 0x1
- str r7, [sp, 0x4]
- ldrb r0, [r0, 0x1]
- cmp r4, r0
- bcs _08100C42
- ldr r0, _08100C7C
- adds r0, r5
- mov r8, r0
- subs r1, r6, 0x7
- str r1, [sp, 0x8]
-_08100C04:
- adds r0, r4, 0x7
- add r0, r9
- ldr r1, _08100C80
- ldr r3, [r1]
- mov r7, r10
- subs r2, r7, r6
- ldr r1, [r3]
- muls r2, r1
- mov r7, r9
- adds r1, r7, r4
- adds r1, r2
- ldr r2, [r3, 0xC]
- lsls r1, 1
- adds r1, r2
- ldrh r1, [r1]
- movs r3, 0xC0
- lsls r3, 6
- adds r2, r3, 0
- orrs r2, r1
- mov r7, r10
- ldr r3, [sp, 0x8]
- subs r1, r7, r3
- bl MapGridSetMetatileEntryAt
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- mov r7, r8
- ldrb r7, [r7, 0x1]
- cmp r4, r7
- bcc _08100C04
-_08100C42:
- ldr r1, [sp, 0x4]
- lsls r0, r1, 24
- lsrs r6, r0, 24
- ldr r1, _08100C7C
- adds r2, r5, 0
- adds r0, r5, r1
-_08100C4E:
- ldrb r0, [r0, 0x2]
- cmp r6, r0
- bcc _08100BEC
- ldr r2, _08100C7C
- adds r0, r5, r2
- ldrb r0, [r0]
- bl sub_8100A60
-_08100C5E:
- ldr r3, [sp]
- lsls r0, r3, 24
- lsrs r7, r0, 24
-_08100C64:
- ldr r0, _08100C84
- ldrb r0, [r0]
- cmp r7, r0
- bcc _08100B7C
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08100C7C: .4byte gUnknown_020391B4
-_08100C80: .4byte gMapHeader
-_08100C84: .4byte gUnknown_02039234
- thumb_func_end sub_8100B6C
-
- thumb_func_start sub_8100C88
-sub_8100C88: @ 8100C88
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08100CAC
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _08100CC4
- cmp r0, 0x1
- bgt _08100CB0
- cmp r0, 0
- beq _08100CBA
- b _08100D24
- .align 2, 0
-_08100CAC: .4byte gTasks
-_08100CB0:
- cmp r0, 0x2
- beq _08100CF4
- cmp r0, 0x3
- beq _08100D08
- b _08100D24
-_08100CBA:
- bl sub_8100B6C
- movs r0, 0x1
- strh r0, [r5, 0xC]
- b _08100D24
-_08100CC4:
- ldr r0, _08100CEC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08100D24
- bl DrawWholeMapView
- ldr r0, _08100CF0
- bl ScriptContext1_SetupScript
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0x2
- strh r0, [r5, 0xC]
- b _08100D24
- .align 2, 0
-_08100CEC: .4byte gPaletteFade
-_08100CF0: .4byte gUnknown_081A2F8A
-_08100CF4:
- bl ScriptContext2_Enable
- adds r0, r4, 0
- bl sub_80FED90
- bl pal_fill_black
- movs r0, 0x3
- strh r0, [r5, 0xC]
- b _08100D24
-_08100D08:
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08100D24
- ldr r0, _08100D2C
- strh r0, [r5, 0x22]
- ldr r1, _08100D30
- ldr r2, _08100D34
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_08100D24:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08100D2C: .4byte 0x0000ffff
-_08100D30: .4byte gSecretBaseText_DecorReturned
-_08100D34: .4byte sub_81010F0
- thumb_func_end sub_8100C88
-
- thumb_func_start sub_8100D38
-sub_8100D38: @ 8100D38
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- movs r2, 0
- ldr r0, _08100D68
- adds r4, r0, 0
- ldrb r0, [r4, 0x8]
- cmp r2, r0
- bcs _08100D7C
- adds r5, r4, 0
- ldr r1, _08100D6C
- lsls r0, r3, 2
- adds r0, r3
- lsls r0, 3
- adds r1, r0, r1
-_08100D56:
- ldr r0, [r5]
- adds r0, r2
- ldrb r0, [r0]
- cmp r0, 0
- beq _08100D70
- strh r2, [r1, 0x22]
- movs r0, 0x1
- b _08100D7E
- .align 2, 0
-_08100D68: .4byte 0x0201f000
-_08100D6C: .4byte gTasks
-_08100D70:
- adds r0, r2, 0x1
- lsls r0, 16
- lsrs r2, r0, 16
- ldrb r0, [r4, 0x8]
- cmp r2, r0
- bcc _08100D56
-_08100D7C:
- movs r0, 0
-_08100D7E:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8100D38
-
- thumb_func_start SetUpPuttingAwayDecorationPlayerAvatar
-SetUpPuttingAwayDecorationPlayerAvatar: @ 8100D84
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- sub sp, 0x4
- bl player_get_direction_lower_nybble
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r3, _08100DD8
- ldr r2, _08100DDC
- ldr r4, _08100DE0
- ldr r1, [r4, 0x4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x2E]
- strb r0, [r3]
- bl sub_81016C8
- ldr r0, _08100DE4
- movs r1, 0x78
- movs r2, 0x50
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- str r0, [r4, 0x4]
- ldr r0, _08100DE8
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _08100DF0
- ldr r1, _08100DEC
- str r0, [sp]
- movs r0, 0xC1
- b _08100DF8
- .align 2, 0
-_08100DD8: .4byte gUnknown_020391A8
-_08100DDC: .4byte gSprites
-_08100DE0: .4byte gUnknown_03004880
-_08100DE4: .4byte gSpriteTemplate_83ECA88
-_08100DE8: .4byte gSaveBlock2
-_08100DEC: .4byte SpriteCallbackDummy
-_08100DF0:
- ldr r1, _08100E5C
- movs r0, 0
- str r0, [sp]
- movs r0, 0xC2
-_08100DF8:
- movs r2, 0x88
- movs r3, 0x48
- bl AddPseudoFieldObject
- ldr r1, _08100E60
- strb r0, [r1]
- ldr r6, _08100E64
- ldr r0, _08100E60
- ldrb r0, [r0]
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r2, [r1, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r0, r4, 0
- ands r0, r2
- movs r2, 0x4
- mov r8, r2
- mov r2, r8
- orrs r0, r2
- strb r0, [r1, 0x5]
- ldr r5, _08100E68
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- bl DestroySprite
- ldr r0, _08100E6C
- ldr r0, [r0, 0x4]
- strb r0, [r5]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r1, [r0, 0x5]
- ands r4, r1
- mov r1, r8
- orrs r4, r1
- strb r4, [r0, 0x5]
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08100E5C: .4byte SpriteCallbackDummy
-_08100E60: .4byte gUnknown_020391A9
-_08100E64: .4byte gSprites
-_08100E68: .4byte gUnknown_020391A8
-_08100E6C: .4byte gUnknown_03004880
- thumb_func_end SetUpPuttingAwayDecorationPlayerAvatar
-
- thumb_func_start sub_8100E70
-sub_8100E70: @ 8100E70
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- ldr r1, _08100E94
- adds r4, r0, r1
- movs r1, 0x4
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08100EC4
- cmp r0, 0x1
- bgt _08100E98
- cmp r0, 0
- beq _08100E9E
- b _08100EE6
- .align 2, 0
-_08100E94: .4byte gUnknown_03004B28
-_08100E98:
- cmp r0, 0x2
- beq _08100ED2
- b _08100EE6
-_08100E9E:
- ldr r0, _08100EC0
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08100EE6
- adds r0, r5, 0
- bl sub_80FF0E0
- movs r0, 0x1
- strh r0, [r4, 0x4]
- strh r0, [r4, 0xC]
- strh r0, [r4, 0xA]
- bl sub_8072DEC
- b _08100EE6
- .align 2, 0
-_08100EC0: .4byte gPaletteFade
-_08100EC4:
- bl SetUpPuttingAwayDecorationPlayerAvatar
- bl pal_fill_black
- movs r0, 0x2
- strh r0, [r4, 0x4]
- b _08100EE6
-_08100ED2:
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08100EE6
- strh r0, [r4, 0x18]
- adds r0, r5, 0
- bl sub_8100EEC
-_08100EE6:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8100E70
-
- thumb_func_start sub_8100EEC
-sub_8100EEC: @ 8100EEC
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r4, _08100F70
- ldr r3, _08100F74
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r6, 0
- strh r6, [r0, 0x3C]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r4, 0
- adds r1, 0x1C
- adds r0, r1
- ldr r1, _08100F78
- str r1, [r0]
- ldr r2, _08100F7C
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x88
- strh r1, [r0, 0x20]
- ldrb r1, [r2]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- movs r1, 0x48
- strh r1, [r0, 0x22]
- ldr r1, _08100F80
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 3
- adds r0, r1
- strh r6, [r0, 0x1C]
- ldr r1, _08100F84
- str r1, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08100F70: .4byte gSprites
-_08100F74: .4byte gUnknown_020391A8
-_08100F78: .4byte sub_8101698
-_08100F7C: .4byte gUnknown_020391A9
-_08100F80: .4byte gTasks
-_08100F84: .4byte sub_8100494
- thumb_func_end sub_8100EEC
-
- thumb_func_start sub_8100F88
-sub_8100F88: @ 8100F88
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _08100FB0
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- bl sub_810045C
- adds r0, r4, 0
- bl sub_8101024
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08100FB0: .4byte gTasks
- thumb_func_end sub_8100F88
-
- thumb_func_start sub_8100FB4
-sub_8100FB4: @ 8100FB4
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r1, _0810100C
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0x1C]
- bl sub_810045C
- ldr r3, _08101010
- ldr r5, _08101014
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrb r1, [r5]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r1, _08101018
- str r1, [r0]
- ldr r1, _0810101C
- ldr r2, _08101020
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810100C: .4byte gTasks
-_08101010: .4byte gSprites
-_08101014: .4byte gUnknown_020391A8
-_08101018: .4byte SpriteCallbackDummy
-_0810101C: .4byte gSecretBaseText_StopPuttingAwayDecor
-_08101020: .4byte sub_810156C
- thumb_func_end sub_8100FB4
-
- thumb_func_start sub_8101024
-sub_8101024: @ 8101024
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r5, 0
- bl sub_8101460
- ldr r0, _08101040
- ldrb r0, [r0]
- cmp r0, 0
- beq _0810104C
- ldr r1, _08101044
- ldr r2, _08101048
- b _081010B0
- .align 2, 0
-_08101040: .4byte gUnknown_02039234
-_08101044: .4byte gSecretBaseText_ReturnDecor
-_08101048: .4byte sub_8101518
-_0810104C:
- lsls r1, r5, 2
- adds r1, r5
- lsls r1, 3
- ldr r0, _081010BC
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r2, 0x2
- ldrsh r1, [r1, r2]
- bl MapGridGetMetatileBehaviorAt
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r4, 0
- bl sub_8057238
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08101082
- adds r0, r4, 0
- bl sub_805738C
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081010D4
-_08101082:
- ldr r3, _081010C0
- ldr r4, _081010C4
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r3
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrb r1, [r4]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r3, 0x1C
- adds r0, r3
- ldr r1, _081010C8
- str r1, [r0]
- ldr r1, _081010CC
- ldr r2, _081010D0
-_081010B0:
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _081010E0
- .align 2, 0
-_081010BC: .4byte gUnknown_03004B28
-_081010C0: .4byte gSprites
-_081010C4: .4byte gUnknown_020391A8
-_081010C8: .4byte SpriteCallbackDummy
-_081010CC: .4byte gSecretBaseText_StopPuttingAwayDecor
-_081010D0: .4byte sub_810156C
-_081010D4:
- ldr r1, _081010E8
- ldr r2, _081010EC
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_081010E0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081010E8: .4byte gSecretBaseText_NoDecor
-_081010EC: .4byte sub_81010F0
- thumb_func_end sub_8101024
-
- thumb_func_start sub_81010F0
-sub_81010F0: @ 81010F0
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r0, _08101114
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- bne _0810110A
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08101110
-_0810110A:
- adds r0, r2, 0
- bl sub_8100EEC
-_08101110:
- pop {r0}
- bx r0
- .align 2, 0
-_08101114: .4byte gMain
- thumb_func_end sub_81010F0
-
- thumb_func_start sub_8101118
-sub_8101118: @ 8101118
- push {lr}
- adds r2, r1, 0
- lsls r0, 24
- ldr r1, _08101130
- lsrs r0, 19
- adds r0, r1
- ldrb r1, [r0, 0x12]
- cmp r1, 0
- bne _08101134
- movs r0, 0x1
- strb r0, [r2, 0x1]
- b _08101192
- .align 2, 0
-_08101130: .4byte gDecorations
-_08101134:
- cmp r1, 0x1
- bne _08101140
- movs r0, 0x2
- strb r0, [r2, 0x1]
- strb r1, [r2, 0x2]
- b _08101194
-_08101140:
- cmp r1, 0x2
- bne _0810114C
- movs r0, 0x3
- strb r0, [r2, 0x1]
- movs r0, 0x1
- b _08101192
-_0810114C:
- cmp r1, 0x3
- bne _08101154
- movs r0, 0x4
- b _0810118E
-_08101154:
- cmp r1, 0x4
- bne _0810115E
- movs r0, 0x2
- strb r0, [r2, 0x1]
- b _08101192
-_0810115E:
- cmp r1, 0x5
- bne _08101166
- movs r0, 0x1
- b _0810118E
-_08101166:
- cmp r1, 0x6
- bne _08101172
- movs r0, 0x1
- strb r0, [r2, 0x1]
- movs r0, 0x3
- b _08101192
-_08101172:
- cmp r1, 0x7
- bne _0810117E
- movs r0, 0x2
- strb r0, [r2, 0x1]
- movs r0, 0x4
- b _08101192
-_0810117E:
- cmp r1, 0x8
- bne _08101188
- movs r0, 0x3
- strb r0, [r2, 0x1]
- b _08101192
-_08101188:
- cmp r1, 0x9
- bne _08101194
- movs r0, 0x3
-_0810118E:
- strb r0, [r2, 0x1]
- movs r0, 0x2
-_08101192:
- strb r0, [r2, 0x2]
-_08101194:
- pop {r0}
- bx r0
- thumb_func_end sub_8101118
-
- thumb_func_start sub_8101198
-sub_8101198: @ 8101198
- push {r4-r6,lr}
- lsls r0, 24
- lsls r1, 24
- ldr r5, _081011F0
- ldr r6, _081011F4
- ldrb r3, [r6]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r2, r5
- adds r2, 0x3E
- ldrb r3, [r2]
- movs r4, 0x4
- orrs r3, r4
- strb r3, [r2]
- ldrb r3, [r6]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r3, r5, 0
- adds r3, 0x1C
- adds r2, r3
- ldr r3, _081011F8
- str r3, [r2]
- ldr r4, _081011FC
- ldrb r3, [r4]
- lsls r2, r3, 4
- adds r2, r3
- lsls r2, 2
- adds r2, r5
- lsrs r0, 20
- adds r0, 0x88
- strh r0, [r2, 0x20]
- ldrb r2, [r4]
- lsls r0, r2, 4
- adds r0, r2
- lsls r0, 2
- adds r0, r5
- lsrs r1, 20
- adds r1, 0x48
- strh r1, [r0, 0x22]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081011F0: .4byte gSprites
-_081011F4: .4byte gUnknown_020391A8
-_081011F8: .4byte SpriteCallbackDummy
-_081011FC: .4byte gUnknown_020391A9
- thumb_func_end sub_8101198
-
- thumb_func_start sub_8101200
-sub_8101200: @ 8101200
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r6, r2, 0
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _0810128C
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- adds r2, r3
- ldrb r0, [r2, 0x8]
- subs r0, 0x7
- lsls r0, 24
- lsrs r7, r0, 24
- ldrb r0, [r2, 0xA]
- subs r0, 0x7
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- ldr r2, _08101290
- ldr r0, [r2, 0x4]
- adds r0, r1
- ldrb r0, [r0]
- lsrs r4, r0, 4
- movs r5, 0xF
- ands r5, r0
- ldr r0, [r2]
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x29
- bne _0810125A
- adds r0, r4, 0x7
- adds r1, r5, 0x7
- bl MapGridGetMetatileIdAt
- movs r1, 0xA3
- lsls r1, 2
- cmp r0, r1
- bne _0810125A
- ldrb r0, [r6, 0x2]
- subs r0, 0x1
- strb r0, [r6, 0x2]
-_0810125A:
- cmp r7, r4
- bcc _08101294
- ldrb r1, [r6, 0x1]
- adds r0, r4, r1
- cmp r7, r0
- bge _08101294
- ldrb r0, [r6, 0x2]
- subs r0, r5, r0
- cmp r8, r0
- ble _08101294
- cmp r8, r5
- bhi _08101294
- subs r0, r7, r4
- adds r0, 0x1
- subs r0, r1, r0
- lsls r0, 24
- lsrs r0, 24
- mov r2, r8
- subs r1, r5, r2
- lsls r1, 24
- lsrs r1, 24
- bl sub_8101198
- movs r0, 0x1
- b _08101296
- .align 2, 0
-_0810128C: .4byte gTasks
-_08101290: .4byte 0x0201f000
-_08101294:
- movs r0, 0
-_08101296:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8101200
-
- thumb_func_start sub_81012A0
-sub_81012A0: @ 81012A0
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r2, _0810130C
- ldr r3, _08101310
- ldr r0, _08101314
- ldrb r0, [r0]
- lsls r0, 3
- adds r0, r3
- ldrb r1, [r0]
- ldr r0, [r2, 0x4]
- adds r0, r1
- ldrb r0, [r0]
- lsrs r7, r0, 4
- movs r6, 0xF
- ands r6, r0
- movs r5, 0
- ldr r0, _08101318
- mov r8, r0
- mov r9, r3
-_081012CA:
- lsls r0, r5, 1
- adds r0, r5
- lsls r0, 3
- mov r2, r8
- adds r1, r0, r2
- ldr r2, _0810131C
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, r7
- bne _08101328
- ldr r2, _08101320
- adds r0, r1, r2
- movs r2, 0
- ldrsh r0, [r0, r2]
- cmp r0, r6
- bne _08101328
- ldr r0, _08101324
- adds r4, r1, r0
- ldrh r0, [r4]
- bl FlagGet
- lsls r0, 24
- cmp r0, 0
- bne _08101328
- ldr r0, _08101314
- ldrb r0, [r0]
- lsls r0, 3
- add r0, r9
- ldrh r1, [r4]
- strh r1, [r0, 0x4]
- b _08101332
- .align 2, 0
-_0810130C: .4byte 0x0201f000
-_08101310: .4byte gUnknown_020391B4
-_08101314: .4byte gUnknown_02039234
-_08101318: .4byte gSaveBlock1
-_0810131C: .4byte 0x00000c24
-_08101320: .4byte 0x00000c26
-_08101324: .4byte 0x00000c34
-_08101328:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r5, 0x3F
- bls _081012CA
-_08101332:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_81012A0
-
- thumb_func_start sub_8101340
-sub_8101340: @ 8101340
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r7, r0, 24
- movs r6, 0
- b _081013A2
-_0810134A:
- ldr r0, [r0]
- adds r1, r0, r6
- ldrb r0, [r1]
- cmp r0, 0
- beq _0810139C
- ldr r0, _08101390
- ldrb r2, [r1]
- lsls r1, r2, 5
- adds r1, r0
- ldrb r0, [r1, 0x11]
- cmp r0, 0x4
- bne _0810139C
- ldr r5, _08101394
- adds r0, r2, 0
- adds r1, r5, 0
- bl sub_8101118
- lsls r1, r6, 24
- lsrs r1, 24
- adds r0, r7, 0
- adds r2, r5, 0
- bl sub_8101200
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bne _0810139C
- strb r6, [r5]
- bl sub_81012A0
- ldr r0, _08101398
- strb r4, [r0]
- movs r0, 0x1
- b _081013AC
- .align 2, 0
-_08101390: .4byte gDecorations
-_08101394: .4byte gUnknown_020391B4
-_08101398: .4byte gUnknown_02039234
-_0810139C:
- adds r0, r6, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_081013A2:
- ldr r0, _081013B4
- ldrb r1, [r0, 0x8]
- cmp r6, r1
- bcc _0810134A
- movs r0, 0
-_081013AC:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081013B4: .4byte 0x0201f000
- thumb_func_end sub_8101340
-
- thumb_func_start sub_81013B8
-sub_81013B8: @ 81013B8
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- str r0, [sp]
- lsls r1, 24
- lsrs r1, 24
- mov r10, r1
- lsls r2, 24
- lsrs r2, 24
- mov r9, r2
- lsls r3, 24
- lsrs r3, 24
- mov r8, r3
- movs r4, 0
- ldr r7, _08101450
- ldrb r0, [r7, 0x8]
- cmp r4, r0
- bcs _0810143E
- adds r6, r7, 0
- ldr r5, _08101454
-_081013EA:
- ldr r0, [r6]
- adds r0, r4
- ldrb r1, [r0]
- ldr r0, [r6, 0x4]
- adds r0, r4
- ldrb r0, [r0]
- lsrs r3, r0, 4
- movs r2, 0xF
- ands r2, r0
- cmp r1, 0
- beq _08101432
- ldr r0, _08101458
- lsls r1, 5
- adds r1, r0
- ldrb r0, [r1, 0x11]
- cmp r0, 0x4
- bne _08101432
- ldr r0, [sp]
- cmp r0, r3
- bhi _08101432
- cmp r10, r2
- bhi _08101432
- cmp r9, r3
- bcc _08101432
- cmp r8, r2
- bcc _08101432
- ldr r0, _0810145C
- ldrb r1, [r5]
- lsls r1, 3
- adds r1, r0
- strb r4, [r1]
- bl sub_81012A0
- ldrb r0, [r5]
- adds r0, 0x1
- strb r0, [r5]
-_08101432:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- ldrb r0, [r7, 0x8]
- cmp r4, r0
- bcc _081013EA
-_0810143E:
- 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
-_08101450: .4byte 0x0201f000
-_08101454: .4byte gUnknown_02039234
-_08101458: .4byte gDecorations
-_0810145C: .4byte gUnknown_020391B4
- thumb_func_end sub_81013B8
-
- thumb_func_start sub_8101460
-sub_8101460: @ 8101460
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r4, _081014B8
- movs r0, 0
- strb r0, [r4]
- adds r0, r6, 0
- bl sub_8101340
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- beq _08101504
- movs r5, 0
- ldr r0, _081014BC
- ldrb r1, [r0, 0x8]
- cmp r5, r1
- bcs _081014D2
- adds r7, r4, 0
-_08101486:
- ldr r0, [r0]
- adds r0, r5
- ldrb r1, [r0]
- cmp r1, 0
- beq _081014C4
- ldr r4, _081014C0
- adds r0, r1, 0
- adds r1, r4, 0
- bl sub_8101118
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8101200
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _081014C4
- strb r5, [r4]
- ldrb r0, [r7]
- adds r0, 0x1
- strb r0, [r7]
- b _081014D2
- .align 2, 0
-_081014B8: .4byte gUnknown_02039234
-_081014BC: .4byte 0x0201f000
-_081014C0: .4byte gUnknown_020391B4
-_081014C4:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- ldr r0, _0810150C
- ldrb r1, [r0, 0x8]
- cmp r5, r1
- bcc _08101486
-_081014D2:
- ldr r0, _08101510
- ldrb r0, [r0]
- cmp r0, 0
- beq _08101504
- ldr r0, _0810150C
- ldr r2, _08101514
- ldrb r1, [r2]
- ldr r0, [r0, 0x4]
- adds r0, r1
- ldrb r1, [r0]
- lsrs r0, r1, 4
- movs r3, 0xF
- ands r3, r1
- ldrb r1, [r2, 0x2]
- subs r1, r3, r1
- adds r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- ldrb r2, [r2, 0x1]
- adds r2, r0
- subs r2, 0x1
- lsls r2, 24
- lsrs r2, 24
- bl sub_81013B8
-_08101504:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810150C: .4byte 0x0201f000
-_08101510: .4byte gUnknown_02039234
-_08101514: .4byte gUnknown_020391B4
- thumb_func_end sub_8101460
-
- thumb_func_start sub_8101518
-sub_8101518: @ 8101518
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _08101538
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101538: .4byte gUnknown_083EC9CC
- thumb_func_end sub_8101518
-
- thumb_func_start sub_810153C
-sub_810153C: @ 810153C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _08101564
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r1, _08101568
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101564: .4byte gTasks
-_08101568: .4byte sub_8100C88
- thumb_func_end sub_810153C
-
- thumb_func_start sub_810156C
-sub_810156C: @ 810156C
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _0810158C
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810158C: .4byte gUnknown_083EC9D4
- thumb_func_end sub_810156C
-
- thumb_func_start sub_8101590
-sub_8101590: @ 8101590
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl sub_81015B0
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101590
-
- thumb_func_start sub_81015B0
-sub_81015B0: @ 81015B0
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x1
- movs r1, 0
- bl fade_screen
- ldr r1, _081015D8
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0
- strh r1, [r0, 0xC]
- ldr r1, _081015DC
- str r1, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081015D8: .4byte gTasks
-_081015DC: .4byte sub_81015E0
- thumb_func_end sub_81015B0
-
- thumb_func_start sub_81015E0
-sub_81015E0: @ 81015E0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- ldr r1, _08101600
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r5, r0, r1
- movs r1, 0xC
- ldrsh r0, [r5, r1]
- cmp r0, 0
- beq _08101604
- cmp r0, 0x1
- beq _08101620
- b _08101636
- .align 2, 0
-_08101600: .4byte gTasks
-_08101604:
- ldr r0, _0810161C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08101636
- adds r0, r4, 0
- bl sub_80FF114
- movs r0, 0x1
- strh r0, [r5, 0xC]
- b _08101636
- .align 2, 0
-_0810161C: .4byte gPaletteFade
-_08101620:
- bl sub_81016F4
- ldr r0, _0810163C
- ldr r1, _08101640
- str r1, [r0]
- ldr r0, _08101644
- bl SetMainCallback2
- adds r0, r4, 0
- bl DestroyTask
-_08101636:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810163C: .4byte gUnknown_0300485C
-_08101640: .4byte sub_8101678
-_08101644: .4byte c2_exit_to_overworld_2_switch
- thumb_func_end sub_81015E0
-
- thumb_func_start sub_8101648
-sub_8101648: @ 8101648
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_807D770
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08101668
- ldr r0, _08101670
- lsls r1, r4, 2
- adds r1, r4
- lsls r1, 3
- adds r1, r0
- ldr r0, _08101674
- str r0, [r1]
-_08101668:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101670: .4byte gTasks
-_08101674: .4byte sub_80FE2EC
- thumb_func_end sub_8101648
-
- thumb_func_start sub_8101678
-sub_8101678: @ 8101678
- push {lr}
- bl pal_fill_black
- bl MenuDisplayMessageBox
- bl sub_80FE220
- ldr r0, _08101694
- movs r1, 0x8
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08101694: .4byte sub_8101648
- thumb_func_end sub_8101678
-
- thumb_func_start sub_8101698
-sub_8101698: @ 8101698
- push {lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- movs r1, 0x1F
- ands r0, r1
- strh r0, [r2, 0x2E]
- cmp r0, 0xF
- ble _081016B8
- adds r0, r2, 0
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- b _081016C4
-_081016B8:
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_081016C4:
- pop {r0}
- bx r0
- thumb_func_end sub_8101698
-
- thumb_func_start sub_81016C8
-sub_81016C8: @ 81016C8
- push {lr}
- ldr r0, _081016DC
- ldrb r0, [r0, 0x8]
- cmp r0, 0
- bne _081016E4
- ldr r0, _081016E0
- bl LoadSpritePalette
- b _081016EA
- .align 2, 0
-_081016DC: .4byte gSaveBlock2
-_081016E0: .4byte gUnknown_083ECA5C
-_081016E4:
- ldr r0, _081016F0
- bl LoadSpritePalette
-_081016EA:
- pop {r0}
- bx r0
- .align 2, 0
-_081016F0: .4byte gUnknown_083ECA64
- thumb_func_end sub_81016C8
-
- thumb_func_start sub_81016F4
-sub_81016F4: @ 81016F4
- push {lr}
- movs r0, 0x8
- bl FreeSpritePaletteByTag
- pop {r0}
- bx r0
- thumb_func_end sub_81016F4
-
- thumb_func_start sub_8101700
-sub_8101700: @ 8101700
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81341D4
- lsls r0, 24
- cmp r0, 0
- bne _08101728
- ldr r1, _08101720
- ldr r2, _08101724
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _08101742
- .align 2, 0
-_08101720: .4byte gSecretBaseText_NoDecors
-_08101724: .4byte sub_80FE428
-_08101728:
- ldr r1, _08101748
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0x1E]
- ldr r0, _0810174C
- strb r2, [r0]
- adds r0, r4, 0
- bl sub_80FE5AC
-_08101742:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101748: .4byte gTasks
-_0810174C: .4byte gUnknown_020388F6
- thumb_func_end sub_8101700
-
- thumb_func_start unref_sub_8101750
-unref_sub_8101750: @ 8101750
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- bl sub_81341D4
- lsls r0, 24
- cmp r0, 0
- bne _08101778
- ldr r1, _08101770
- ldr r2, _08101774
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _08101792
- .align 2, 0
-_08101770: .4byte gSecretBaseText_NoDecors
-_08101774: .4byte sub_80FE428
-_08101778:
- ldr r1, _08101798
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r2, 0
- movs r1, 0x2
- strh r1, [r0, 0x1E]
- ldr r0, _0810179C
- strb r2, [r0]
- adds r0, r4, 0
- bl sub_80FE5AC
-_08101792:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101798: .4byte gTasks
-_0810179C: .4byte gUnknown_020388F6
- thumb_func_end unref_sub_8101750
-
- thumb_func_start sub_81017A0
-sub_81017A0: @ 81017A0
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r5, r0, 24
- bl sub_80FEF74
- bl sub_80FED1C
- bl sub_80FEFA4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08101808
- ldr r0, _081017EC
- ldr r1, _081017F0
- ldrb r2, [r1]
- ldr r1, _081017F4
- ldr r1, [r1]
- adds r1, r2
- ldrb r1, [r1]
- lsls r1, 5
- ldr r2, _081017F8
- adds r1, r2
- bl StringCopy
- ldr r4, _081017FC
- ldr r1, _08101800
- adds r0, r4, 0
- bl StringExpandPlaceholders
- ldr r2, _08101804
- adds r0, r5, 0
- adds r1, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- b _08101814
- .align 2, 0
-_081017EC: .4byte gStringVar1
-_081017F0: .4byte gUnknown_020388F5
-_081017F4: .4byte gUnknown_020388D0
-_081017F8: .4byte gDecorations + 0x1
-_081017FC: .4byte gStringVar4
-_08101800: .4byte gSecretBaseText_WillBeDiscarded
-_08101804: .4byte sub_8101824
-_08101808:
- ldr r1, _0810181C
- ldr r2, _08101820
- adds r0, r5, 0
- movs r3, 0
- bl DisplayItemMessageOnField
-_08101814:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810181C: .4byte gSecretBaseText_DecorInUse
-_08101820: .4byte sub_80FEFF4
- thumb_func_end sub_81017A0
-
- thumb_func_start sub_8101824
-sub_8101824: @ 8101824
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1
- bl DisplayYesNoMenu
- ldr r1, _08101844
- adds r0, r4, 0
- bl sub_80F914C
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101844: .4byte gUnknown_083ECAA0
- thumb_func_end sub_8101824
-
- thumb_func_start sub_8101848
-sub_8101848: @ 8101848
- push {r4-r6,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x14
- movs r1, 0x8
- movs r2, 0x1A
- movs r3, 0xE
- bl MenuZeroFillWindowRect
- ldr r6, _08101890
- ldrb r1, [r6]
- ldr r5, _08101894
- ldr r0, [r5]
- adds r0, r1
- ldrb r0, [r0]
- bl sub_8109A30
- ldrb r1, [r6]
- ldr r0, [r5]
- adds r0, r1
- movs r1, 0
- strb r1, [r0]
- adds r0, r4, 0
- bl sub_80FF098
- ldr r1, _08101898
- ldr r2, _0810189C
- adds r0, r4, 0
- movs r3, 0
- bl DisplayItemMessageOnField
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08101890: .4byte gUnknown_020388F5
-_08101894: .4byte gUnknown_020388D0
-_08101898: .4byte gSecretBaseText_DecorThrownAway
-_0810189C: .4byte sub_80FEFF4
- thumb_func_end sub_8101848
-
- thumb_func_start sub_81018A0
-sub_81018A0: @ 81018A0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- bl sub_81019B0
- ldr r0, _081018B4
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_081018B4: .4byte sub_81018B8
- thumb_func_end sub_81018A0
-
- thumb_func_start sub_81018B8
-sub_81018B8: @ 81018B8
- push {lr}
- ldr r0, _081018D0
- ldr r1, _081018D4
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0x6
- bhi _0810194A
- lsls r0, 2
- ldr r1, _081018D8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_081018D0: .4byte gMain
-_081018D4: .4byte 0x0000043c
-_081018D8: .4byte _081018DC
- .align 2, 0
-_081018DC:
- .4byte _081018F8
- .4byte _08101902
- .4byte _08101908
- .4byte _08101912
- .4byte _08101918
- .4byte _0810191E
- .4byte _08101938
-_081018F8:
- bl sub_8101A28
- bl sub_8101BA4
- b _08101922
-_08101902:
- bl sub_8101A8C
- b _08101922
-_08101908:
- bl sub_8101AE0
- bl sub_8101B04
- b _08101922
-_08101912:
- bl sub_8101C84
- b _08101922
-_08101918:
- bl sub_8101CA0
- b _08101922
-_0810191E:
- bl sub_8101CC0
-_08101922:
- ldr r1, _08101930
- ldr r0, _08101934
- adds r1, r0
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _0810194A
- .align 2, 0
-_08101930: .4byte gMain
-_08101934: .4byte 0x0000043c
-_08101938:
- bl sub_8101CD4
- bl sub_8101CEC
- bl sub_8101A44
- ldr r0, _08101950
- bl SetMainCallback2
-_0810194A:
- pop {r0}
- bx r0
- .align 2, 0
-_08101950: .4byte sub_8101954
- thumb_func_end sub_81018B8
-
- thumb_func_start sub_8101954
-sub_8101954: @ 8101954
- push {lr}
- bl RunTasks
- bl AnimateSprites
- bl BuildOamBuffer
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8101954
-
- thumb_func_start sub_810196C
-sub_810196C: @ 810196C
- push {lr}
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- ldr r1, _081019A8
- ldr r2, _081019AC
- adds r0, r2, 0
- adds r0, 0x58
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x4
- adds r0, r2, 0
- adds r0, 0x5A
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x4
- adds r0, r2, 0
- adds r0, 0x5C
- ldrh r0, [r0]
- strh r0, [r1]
- adds r1, 0x2
- adds r0, r2, 0
- adds r0, 0x5E
- ldrh r0, [r0]
- strh r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_081019A8: .4byte REG_WIN0H
-_081019AC: .4byte 0x02000000
- thumb_func_end sub_810196C
-
- thumb_func_start sub_81019B0
-sub_81019B0: @ 81019B0
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _081019E4
- movs r1, 0xFF
- bl CreateTask
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _081019E8
- adds r0, r1
- strh r4, [r0, 0x8]
- adds r0, 0xA
- adds r1, r5, 0
- bl StoreWordInTwoHalfwords
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081019E4: .4byte nullsub_67
-_081019E8: .4byte gTasks
- thumb_func_end sub_81019B0
-
- thumb_func_start sub_81019EC
-sub_81019EC: @ 81019EC
- push {lr}
- ldr r0, _08101A18
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 2
- adds r2, r0
- lsls r2, 3
- ldr r0, _08101A1C
- adds r2, r0
- ldr r1, _08101A20
- ldrh r0, [r2, 0x8]
- strb r0, [r1, 0x1]
- adds r2, 0xA
- adds r1, 0x64
- adds r0, r2, 0
- bl LoadWordFromTwoHalfwords
- pop {r0}
- bx r0
- .align 2, 0
-_08101A18: .4byte nullsub_67
-_08101A1C: .4byte gTasks
-_08101A20: .4byte 0x02000000
- thumb_func_end sub_81019EC
-
- thumb_func_start nullsub_67
-nullsub_67: @ 8101A24
- bx lr
- thumb_func_end nullsub_67
-
- thumb_func_start sub_8101A28
-sub_8101A28: @ 8101A28
- push {lr}
- movs r0, 0
- bl SetVBlankCallback
- movs r0, 0
- bl SetHBlankCallback
- movs r1, 0x80
- lsls r1, 19
- movs r0, 0
- strh r0, [r1]
- pop {r0}
- bx r0
- thumb_func_end sub_8101A28
-
- thumb_func_start sub_8101A44
-sub_8101A44: @ 8101A44
- push {r4,lr}
- ldr r0, _08101A7C
- bl SetVBlankCallback
- ldr r3, _08101A80
- ldrh r2, [r3]
- movs r0, 0
- strh r0, [r3]
- ldr r4, _08101A84
- ldrh r0, [r4]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r4]
- strh r2, [r3]
- ldr r2, _08101A88
- ldrh r0, [r2]
- movs r1, 0x8
- orrs r0, r1
- strh r0, [r2]
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0xFD
- lsls r2, 6
- adds r0, r2, 0
- strh r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101A7C: .4byte sub_810196C
-_08101A80: .4byte 0x04000208
-_08101A84: .4byte 0x04000200
-_08101A88: .4byte REG_DISPSTAT
- thumb_func_end sub_8101A44
-
- thumb_func_start sub_8101A8C
-sub_8101A8C: @ 8101A8C
- push {r4-r7,lr}
- sub sp, 0x4
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0x80
- lsls r3, 9
- mov r4, sp
- movs r6, 0
- ldr r1, _08101AD8
- movs r5, 0x80
- lsls r5, 5
- ldr r7, _08101ADC
- movs r0, 0x81
- lsls r0, 24
- mov r12, r0
-_08101AAA:
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r7, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r5
- subs r3, r5
- cmp r3, r5
- bhi _08101AAA
- strh r6, [r4]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 1
- mov r2, r12
- orrs r0, r2
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08101AD8: .4byte 0x040000d4
-_08101ADC: .4byte 0x81000800
- thumb_func_end sub_8101A8C
-
- thumb_func_start sub_8101AE0
-sub_8101AE0: @ 8101AE0
- sub sp, 0x4
- movs r2, 0xE0
- lsls r2, 19
- mov r1, sp
- movs r0, 0
- strh r0, [r1]
- ldr r0, _08101AFC
- str r1, [r0]
- str r2, [r0, 0x4]
- ldr r1, _08101B00
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- add sp, 0x4
- bx lr
- .align 2, 0
-_08101AFC: .4byte 0x040000d4
-_08101B00: .4byte 0x81000200
- thumb_func_end sub_8101AE0
-
- thumb_func_start sub_8101B04
-sub_8101B04: @ 8101B04
- push {r4,r5,lr}
- ldr r5, _08101B70
- movs r1, 0
- strh r1, [r5]
- ldr r2, _08101B74
- strh r1, [r2]
- ldr r3, _08101B78
- strh r1, [r3]
- ldr r4, _08101B7C
- strh r1, [r4]
- ldr r0, _08101B80
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _08101B84
- adds r0, r1, 0
- strh r0, [r5]
- ldr r1, _08101B88
- adds r0, r1, 0
- strh r0, [r2]
- ldr r2, _08101B8C
- adds r0, r2, 0
- strh r0, [r3]
- ldr r1, _08101B90
- adds r0, r1, 0
- strh r0, [r4]
- ldr r0, _08101B94
- movs r1, 0x3F
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- ldr r1, _08101B98
- ldr r2, _08101B9C
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _08101BA0
- adds r0, r2, 0
- strh r0, [r1]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08101B70: .4byte REG_BG0CNT
-_08101B74: .4byte REG_BG1CNT
-_08101B78: .4byte REG_BG2CNT
-_08101B7C: .4byte REG_BG3CNT
-_08101B80: .4byte REG_BG0HOFS
-_08101B84: .4byte 0x00001f08
-_08101B88: .4byte 0x00001c01
-_08101B8C: .4byte 0x00001d02
-_08101B90: .4byte 0x00001e02
-_08101B94: .4byte REG_WININ
-_08101B98: .4byte REG_BLDCNT
-_08101B9C: .4byte 0x00001048
-_08101BA0: .4byte 0x00000809
- thumb_func_end sub_8101B04
-
- thumb_func_start sub_8101BA4
-sub_8101BA4: @ 8101BA4
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- bl sub_81019EC
- ldr r5, _08101C74
- movs r4, 0
- strb r4, [r5]
- strb r4, [r5, 0x2]
- bl Random
- movs r1, 0x1
- ands r1, r0
- strb r1, [r5, 0x3]
- strb r4, [r5, 0x4]
- movs r0, 0
- strh r4, [r5, 0x8]
- strb r0, [r5, 0xA]
- strb r0, [r5, 0xB]
- ldr r0, _08101C78
- ldr r1, _08101C7C
- adds r0, r1
- ldrh r0, [r0]
- strh r0, [r5, 0xC]
- strh r4, [r5, 0xE]
- strh r4, [r5, 0x10]
- strh r4, [r5, 0x12]
- strh r4, [r5, 0x18]
- movs r0, 0x8
- strh r0, [r5, 0x1A]
- adds r1, r5, 0
- adds r1, 0x58
- movs r0, 0xF0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0xA0
- strh r0, [r1]
- adds r0, r5, 0
- adds r0, 0x5C
- movs r1, 0x3F
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bl GetCurrentMapMusic
- adds r1, r5, 0
- adds r1, 0x60
- strh r0, [r1]
- movs r7, 0
- adds r6, r5, 0
- ldr r2, _08101C80
- mov r9, r2
- movs r0, 0x1C
- adds r0, r6
- mov r8, r0
-_08101C14:
- lsls r5, r7, 1
- adds r0, r6, 0
- adds r0, 0x22
- adds r0, r5, r0
- movs r1, 0
- strh r1, [r0]
- adds r4, r6, 0
- adds r4, 0x28
- adds r4, r5, r4
- ldrb r0, [r6, 0x3]
- lsls r0, 1
- lsls r1, r7, 2
- adds r0, r1
- add r0, r9
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x15
- bl __modsi3
- strh r0, [r4]
- add r5, r8
- movs r2, 0
- ldrsh r0, [r4, r2]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 3
- movs r2, 0xFC
- lsls r2, 1
- adds r0, r2, 0
- subs r0, r1
- strh r0, [r5]
- movs r1, 0
- ldrsh r0, [r5, r1]
- adds r1, r2, 0
- bl __modsi3
- strh r0, [r5]
- adds r0, r7, 0x1
- lsls r0, 24
- lsrs r7, r0, 24
- cmp r7, 0x2
- bls _08101C14
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08101C74: .4byte 0x02000000
-_08101C78: .4byte gSaveBlock1
-_08101C7C: .4byte 0x00000494
-_08101C80: .4byte gUnknown_083ECCF8
- thumb_func_end sub_8101BA4
-
- thumb_func_start sub_8101C84
-sub_8101C84: @ 8101C84
- push {r4,lr}
- ldr r4, _08101C9C
- adds r0, r4, 0
- bl SetUpWindowConfig
- adds r0, r4, 0
- bl InitMenuWindow
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101C9C: .4byte gWindowConfig_81E7128
- thumb_func_end sub_8101C84
-
- thumb_func_start sub_8101CA0
-sub_8101CA0: @ 8101CA0
- push {lr}
- bl ResetPaletteFade
- bl ResetSpriteData
- ldr r1, _08101CBC
- movs r0, 0x80
- strb r0, [r1]
- bl FreeAllSpritePalettes
- bl ResetTasks
- pop {r0}
- bx r0
- .align 2, 0
-_08101CBC: .4byte gOamLimit
- thumb_func_end sub_8101CA0
-
- thumb_func_start sub_8101CC0
-sub_8101CC0: @ 8101CC0
- push {lr}
- bl sub_8106448
- bl sub_81064B8
- bl sub_81063C0
- pop {r0}
- bx r0
- thumb_func_end sub_8101CC0
-
- thumb_func_start sub_8101CD4
-sub_8101CD4: @ 8101CD4
- push {lr}
- bl sub_8104EA8
- bl sub_8104F8C
- bl sub_8103DC8
- bl sub_81050C4
- pop {r0}
- bx r0
- thumb_func_end sub_8101CD4
-
- thumb_func_start sub_8101CEC
-sub_8101CEC: @ 8101CEC
- push {lr}
- bl sub_8104048
- bl sub_8102DA8
- bl sub_8104C5C
- bl sub_8101D04
- pop {r0}
- bx r0
- thumb_func_end sub_8101CEC
-
- thumb_func_start sub_8101D04
-sub_8101D04: @ 8101D04
- push {r4,lr}
- ldr r4, _08101D20
- adds r0, r4, 0
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08101D20: .4byte sub_8101D24
- thumb_func_end sub_8101D04
-
- thumb_func_start sub_8101D24
-sub_8101D24: @ 8101D24
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r7, _08101D50
- lsls r1, r0, 2
- adds r1, r0
- lsls r4, r1, 3
- ldr r6, _08101D54
- ldr r5, _08101D58
-_08101D36:
- ldrb r0, [r6]
- lsls r0, 2
- adds r0, r7
- ldr r1, [r0]
- adds r0, r4, r5
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08101D36
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08101D50: .4byte gUnknown_083ECAAC
-_08101D54: .4byte 0x02000000
-_08101D58: .4byte gTasks
- thumb_func_end sub_8101D24
-
- thumb_func_start sub_8101D5C
-sub_8101D5C: @ 8101D5C
- push {r4,lr}
- sub sp, 0x4
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldr r4, _08101D88
- ldrb r0, [r4, 0x2]
- bl sub_810423C
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08101D88: .4byte 0x02000000
- thumb_func_end sub_8101D5C
-
- thumb_func_start sub_8101D8C
-sub_8101D8C: @ 8101D8C
- push {lr}
- ldr r0, _08101DA8
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08101DA2
- ldr r1, _08101DAC
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
-_08101DA2:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08101DA8: .4byte gPaletteFade
-_08101DAC: .4byte 0x02000000
- thumb_func_end sub_8101D8C
-
- thumb_func_start sub_8101DB0
-sub_8101DB0: @ 8101DB0
- push {lr}
- ldr r2, _08101DD8
- movs r0, 0
- strh r0, [r2, 0xE]
- strh r0, [r2, 0x12]
- strh r0, [r2, 0x18]
- ldrb r1, [r2, 0x4]
- movs r0, 0xC0
- ands r0, r1
- strb r0, [r2, 0x4]
- movs r0, 0x4
- strb r0, [r2]
- movs r1, 0xC
- ldrsh r0, [r2, r1]
- cmp r0, 0
- bgt _08101DDC
- movs r0, 0x19
- strb r0, [r2]
- b _08101DEC
- .align 2, 0
-_08101DD8: .4byte 0x02000000
-_08101DDC:
- ldrb r0, [r2, 0xA]
- cmp r0, 0
- beq _08101DEC
- movs r0, 0x3
- strb r0, [r2]
- movs r0, 0x4
- bl sub_8104CAC
-_08101DEC:
- movs r0, 0x1
- pop {r1}
- bx r1
- thumb_func_end sub_8101DB0
-
- thumb_func_start sub_8101DF4
-sub_8101DF4: @ 8101DF4
- push {lr}
- bl sub_8104E18
- lsls r0, 24
- cmp r0, 0
- beq _08101E06
- ldr r1, _08101E0C
- movs r0, 0x4
- strb r0, [r1]
-_08101E06:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08101E0C: .4byte 0x02000000
- thumb_func_end sub_8101DF4
-
- thumb_func_start sub_8101E10
-sub_8101E10: @ 8101E10
- push {lr}
- movs r0, 0
- bl sub_8104CAC
- ldr r2, _08101E34
- movs r0, 0x5
- strb r0, [r2]
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- ldr r0, _08101E38
- cmp r1, r0
- ble _08101E2C
- movs r0, 0x17
- strb r0, [r2]
-_08101E2C:
- movs r0, 0x1
- pop {r1}
- bx r1
- .align 2, 0
-_08101E34: .4byte 0x02000000
-_08101E38: .4byte 0x0000270e
- thumb_func_end sub_8101E10
-
- thumb_func_start sub_8101E3C
-sub_8101E3C: @ 8101E3C
- push {r4,lr}
- ldr r0, _08101E58
- ldrh r1, [r0, 0x2E]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08101E60
- movs r0, 0
- bl sub_8104AB8
- ldr r1, _08101E5C
- movs r0, 0x8
- strb r0, [r1]
- b _08101F1A
- .align 2, 0
-_08101E58: .4byte gMain
-_08101E5C: .4byte 0x02000000
-_08101E60:
- movs r0, 0x80
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08101EC2
- ldr r2, _08101EB8
- movs r1, 0xC
- ldrsh r0, [r2, r1]
- subs r0, 0x3
- movs r3, 0x12
- ldrsh r1, [r2, r3]
- adds r0, r1
- cmp r0, 0
- blt _08101EBC
- ldrh r4, [r2, 0x12]
- adds r0, r1, 0
- cmp r0, 0x2
- bgt _08101E9C
-_08101E84:
- lsls r0, r4, 24
- lsrs r0, 24
- bl sub_8103D50
- lsls r0, r4, 16
- movs r2, 0x80
- lsls r2, 9
- adds r0, r2
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _08101E84
-_08101E9C:
- ldr r1, _08101EB8
- ldrh r0, [r1, 0xC]
- subs r0, 0x3
- ldrh r3, [r1, 0x12]
- adds r0, r3
- strh r0, [r1, 0xC]
- movs r0, 0x3
- strh r0, [r1, 0x12]
- movs r0, 0x9
- strb r0, [r1]
- movs r0, 0x5F
- bl PlaySE
- b _08101F1A
- .align 2, 0
-_08101EB8: .4byte 0x02000000
-_08101EBC:
- movs r0, 0x6
- strb r0, [r2]
- b _08101F1A
-_08101EC2:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08101EEC
- ldr r4, _08101F24
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08101EEC
- movs r0, 0x5F
- bl PlaySE
- ldrb r0, [r4, 0x12]
- bl sub_8103D50
- ldrh r0, [r4, 0xC]
- subs r0, 0x1
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
-_08101EEC:
- ldr r0, _08101F24
- movs r2, 0x12
- ldrsh r1, [r0, r2]
- ldr r2, _08101F28
- adds r3, r0, 0
- cmp r1, 0x2
- bgt _08101F08
- cmp r1, 0
- beq _08101F0C
- ldrh r1, [r2, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08101F0C
-_08101F08:
- movs r0, 0x9
- strb r0, [r3]
-_08101F0C:
- ldrh r1, [r2, 0x2E]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08101F1A
- movs r0, 0x15
- strb r0, [r3]
-_08101F1A:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08101F24: .4byte 0x02000000
-_08101F28: .4byte gMain
- thumb_func_end sub_8101E3C
-
- thumb_func_start sub_8101F2C
-sub_8101F2C: @ 8101F2C
- push {r4,lr}
- adds r4, r0, 0
- bl MenuDisplayMessageBox
- adds r0, r4, 0
- movs r1, 0x2
- movs r2, 0xF
- bl MenuPrint
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8101F2C
-
- thumb_func_start sub_8101F44
-sub_8101F44: @ 8101F44
- push {lr}
- ldr r0, _08101F58
- bl sub_8101F2C
- ldr r1, _08101F5C
- movs r0, 0x7
- strb r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08101F58: .4byte gOtherText_DontHaveThreeCoins
-_08101F5C: .4byte 0x02000000
- thumb_func_end sub_8101F44
-
- thumb_func_start sub_8101F60
-sub_8101F60: @ 8101F60
- push {lr}
- ldr r0, _08101F80
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08101F78
- bl MenuZeroFillScreen
- ldr r1, _08101F84
- movs r0, 0x5
- strb r0, [r1]
-_08101F78:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08101F80: .4byte gMain
-_08101F84: .4byte 0x02000000
- thumb_func_end sub_8101F60
-
- thumb_func_start sub_8101F88
-sub_8101F88: @ 8101F88
- push {lr}
- bl sub_8104AEC
- lsls r0, 24
- cmp r0, 0
- beq _08101F9A
- ldr r1, _08101FA0
- movs r0, 0x5
- strb r0, [r1]
-_08101F9A:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08101FA0: .4byte 0x02000000
- thumb_func_end sub_8101F88
-
- thumb_func_start sub_8101FA4
-sub_8101FA4: @ 8101FA4
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8102484
- bl sub_8104DA4
- movs r0, 0
- bl sub_8102DEC
- movs r0, 0x1
- bl sub_8102DEC
- movs r0, 0x2
- bl sub_8102DEC
- movs r0, 0
- strh r0, [r4, 0x8]
- ldr r4, _08101FDC
- ldrb r1, [r4, 0x4]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08101FE0
- bl sub_810430C
- movs r0, 0xA
- b _08101FE8
- .align 2, 0
-_08101FDC: .4byte 0x02000000
-_08101FE0:
- movs r0, 0x1
- bl sub_8104CAC
- movs r0, 0xB
-_08101FE8:
- strb r0, [r4]
- ldr r4, _08102004
- movs r0, 0x8
- strh r0, [r4, 0x1A]
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- beq _08101FFC
- bl dp15_jump_random_unknown
- strh r0, [r4, 0x1A]
-_08101FFC:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08102004: .4byte 0x02000000
- thumb_func_end sub_8101FA4
-
- thumb_func_start sub_8102008
-sub_8102008: @ 8102008
- push {lr}
- bl sub_810432C
- lsls r0, 24
- cmp r0, 0
- beq _08102028
- movs r0, 0x1
- bl sub_8104CAC
- ldr r1, _08102030
- ldrb r2, [r1, 0x4]
- movs r0, 0xDF
- ands r0, r2
- strb r0, [r1, 0x4]
- movs r0, 0xB
- strb r0, [r1]
-_08102028:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08102030: .4byte 0x02000000
- thumb_func_end sub_8102008
-
- thumb_func_start sub_8102034
-sub_8102034: @ 8102034
- push {lr}
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x1D
- ble _0810204E
- bl sub_81024F0
- ldr r1, _08102054
- movs r0, 0xC
- strb r0, [r1]
-_0810204E:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08102054: .4byte 0x02000000
- thumb_func_end sub_8102034
-
- thumb_func_start sub_8102058
-sub_8102058: @ 8102058
- push {r4,lr}
- ldr r0, _08102088
- ldrh r1, [r0, 0x2E]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810207E
- movs r0, 0x18
- bl PlaySE
- ldr r4, _0810208C
- ldrb r0, [r4, 0x18]
- bl sub_8102E1C
- ldrb r0, [r4, 0x18]
- bl sub_8103C14
- movs r0, 0xD
- strb r0, [r4]
-_0810207E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08102088: .4byte gMain
-_0810208C: .4byte 0x02000000
- thumb_func_end sub_8102058
-
- thumb_func_start sub_8102090
-sub_8102090: @ 8102090
- push {r4,lr}
- ldr r4, _081020BC
- ldrb r0, [r4, 0x18]
- bl sub_8102E40
- lsls r0, 24
- cmp r0, 0
- bne _081020C0
- ldrh r0, [r4, 0x18]
- adds r0, 0x1
- strh r0, [r4, 0x18]
- movs r1, 0xC
- strb r1, [r4]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _081020B6
- movs r0, 0xE
- strb r0, [r4]
-_081020B6:
- movs r0, 0x1
- b _081020C2
- .align 2, 0
-_081020BC: .4byte 0x02000000
-_081020C0:
- movs r0, 0
-_081020C2:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8102090
-
- thumb_func_start sub_81020C8
-sub_81020C8: @ 81020C8
- push {r4,lr}
- ldr r4, _08102128
- ldrb r1, [r4, 0x4]
- movs r0, 0xC0
- ands r0, r1
- strb r0, [r4, 0x4]
- bl sub_81027A0
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- beq _081020E8
- subs r0, 0x1
- strb r0, [r4, 0xA]
- ldrb r0, [r4, 0xB]
- adds r0, 0x1
- strb r0, [r4, 0xB]
-_081020E8:
- ldrh r0, [r4, 0x8]
- cmp r0, 0
- beq _081021B4
- movs r0, 0xF
- strb r0, [r4]
- bl sub_8102A24
- bl sub_8103F70
- ldrh r0, [r4, 0x10]
- ldrh r1, [r4, 0xE]
- subs r0, r1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bge _0810210C
- movs r0, 0
- strh r0, [r4, 0x10]
-_0810210C:
- ldrh r1, [r4, 0x8]
- movs r0, 0xC0
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08102130
- ldr r0, _0810212C
- bl PlayFanfare
- movs r0, 0x6
- bl sub_8104CAC
- b _0810215A
- .align 2, 0
-_08102128: .4byte 0x02000000
-_0810212C: .4byte 0x00000185
-_08102130:
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _0810214C
- ldr r0, _08102148
- bl PlayFanfare
- movs r0, 0x5
- bl sub_8104CAC
- b _0810215A
- .align 2, 0
-_08102148: .4byte 0x00000185
-_0810214C:
- movs r0, 0xC3
- lsls r0, 1
- bl PlayFanfare
- movs r0, 0x2
- bl sub_8104CAC
-_0810215A:
- ldr r1, _081021B0
- ldrh r3, [r1, 0x8]
- movs r0, 0xE0
- lsls r0, 1
- ands r0, r3
- adds r2, r1, 0
- cmp r0, 0
- beq _08102192
- ldrb r1, [r2, 0x4]
- movs r0, 0x3F
- ands r0, r1
- movs r1, 0
- strb r0, [r2, 0x4]
- movs r0, 0xC0
- lsls r0, 1
- ands r0, r3
- cmp r0, 0
- beq _08102192
- strb r1, [r2, 0xA]
- strb r1, [r2, 0xB]
- strb r1, [r2, 0x3]
- movs r0, 0x80
- lsls r0, 1
- ands r0, r3
- cmp r0, 0
- beq _08102192
- movs r0, 0x1
- strb r0, [r2, 0x3]
-_08102192:
- ldrh r1, [r2, 0x8]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _081021D2
- ldrb r0, [r2, 0x2]
- cmp r0, 0xF
- bhi _081021D2
- adds r0, 0x1
- strb r0, [r2, 0x2]
- ldrb r0, [r2, 0x2]
- bl sub_8104064
- b _081021D2
- .align 2, 0
-_081021B0: .4byte 0x02000000
-_081021B4:
- movs r0, 0x3
- bl sub_8104CAC
- movs r0, 0x14
- strb r0, [r4]
- ldrh r0, [r4, 0x12]
- ldrh r1, [r4, 0x10]
- adds r0, r1
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- ldr r1, _081021DC
- cmp r0, r1
- ble _081021D2
- strh r1, [r4, 0x10]
-_081021D2:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_081021DC: .4byte 0x0000270f
- thumb_func_end sub_81020C8
-
- thumb_func_start sub_81021E0
-sub_81021E0: @ 81021E0
- push {lr}
- bl sub_8102A44
- lsls r0, 24
- cmp r0, 0
- beq _081021F2
- ldr r1, _081021F8
- movs r0, 0x10
- strb r0, [r1]
-_081021F2:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_081021F8: .4byte 0x02000000
- thumb_func_end sub_81021E0
-
- thumb_func_start sub_81021FC
-sub_81021FC: @ 81021FC
- push {r4,lr}
- bl sub_8103FA0
- lsls r0, 24
- cmp r0, 0
- beq _08102256
- ldr r4, _08102260
- movs r0, 0x13
- strb r0, [r4]
- ldrh r1, [r4, 0x8]
- movs r0, 0xC0
- lsls r0, 1
- ands r0, r1
- cmp r0, 0
- beq _08102220
- movs r0, 0x1C
- bl sav12_xor_increment
-_08102220:
- ldrh r1, [r4, 0x8]
- movs r0, 0x4
- ands r0, r1
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r2, 0
- beq _08102236
- movs r0, 0
- strh r0, [r4, 0x18]
- movs r0, 0x9
- strb r0, [r4]
-_08102236:
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08102242
- movs r0, 0x11
- strb r0, [r4]
-_08102242:
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- beq _08102256
- cmp r2, 0
- beq _08102256
- movs r0, 0x4
- bl sub_8104CAC
- movs r0, 0x12
- strb r0, [r4]
-_08102256:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08102260: .4byte 0x02000000
- thumb_func_end sub_81021FC
-
- thumb_func_start sub_8102264
-sub_8102264: @ 8102264
- push {r4,lr}
- bl sub_81040C8
- lsls r0, 24
- cmp r0, 0
- bne _08102294
- ldr r4, _0810229C
- movs r0, 0x13
- strb r0, [r4]
- ldrh r1, [r4, 0x8]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _08102294
- movs r0, 0x9
- strb r0, [r4]
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- beq _08102294
- movs r0, 0x4
- bl sub_8104CAC
- movs r0, 0x12
- strb r0, [r4]
-_08102294:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_0810229C: .4byte 0x02000000
- thumb_func_end sub_8102264
-
- thumb_func_start sub_81022A0
-sub_81022A0: @ 81022A0
- push {lr}
- bl sub_8104E18
- lsls r0, 24
- cmp r0, 0
- beq _081022C0
- ldr r2, _081022C8
- movs r0, 0x13
- strb r0, [r2]
- ldrh r1, [r2, 0x8]
- movs r0, 0x4
- ands r0, r1
- cmp r0, 0
- beq _081022C0
- movs r0, 0x9
- strb r0, [r2]
-_081022C0:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_081022C8: .4byte 0x02000000
- thumb_func_end sub_81022A0
-
- thumb_func_start sub_81022CC
-sub_81022CC: @ 81022CC
- push {lr}
- movs r0, 0
- bl sub_8103D8C
- movs r0, 0x1
- bl sub_8103D8C
- movs r0, 0x2
- bl sub_8103D8C
- ldr r1, _081022EC
- movs r0, 0x2
- strb r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_081022EC: .4byte 0x02000000
- thumb_func_end sub_81022CC
-
- thumb_func_start sub_81022F0
-sub_81022F0: @ 81022F0
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x40
- ble _0810230C
- movs r0, 0
- strh r0, [r1, 0xA]
- ldr r1, _08102314
- movs r0, 0x13
- strb r0, [r1]
-_0810230C:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08102314: .4byte 0x02000000
- thumb_func_end sub_81022F0
-
- thumb_func_start sub_8102318
-sub_8102318: @ 8102318
- push {lr}
- ldr r0, _0810233C
- bl sub_8101F2C
- movs r0, 0x15
- movs r1, 0x7
- movs r2, 0x1
- bl DisplayYesNoMenu
- bl sub_814AB84
- ldr r1, _08102340
- movs r0, 0x16
- strb r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0810233C: .4byte gOtherText_QuitGamePrompt
-_08102340: .4byte 0x02000000
- thumb_func_end sub_8102318
-
- thumb_func_start sub_8102344
-sub_8102344: @ 8102344
- push {lr}
- bl ProcessMenuInputNoWrap_
- lsls r0, 24
- asrs r1, r0, 24
- cmp r1, 0
- bne _0810237C
- bl MenuZeroFillScreen
- movs r0, 0
- bl sub_8103D8C
- movs r0, 0x1
- bl sub_8103D8C
- movs r0, 0x2
- bl sub_8103D8C
- ldr r0, _08102378
- ldrh r1, [r0, 0x12]
- ldrh r2, [r0, 0xC]
- adds r1, r2
- strh r1, [r0, 0xC]
- movs r1, 0x1B
- strb r1, [r0]
- b _08102392
- .align 2, 0
-_08102378: .4byte 0x02000000
-_0810237C:
- cmp r1, 0x1
- beq _08102388
- movs r0, 0x1
- negs r0, r0
- cmp r1, r0
- bne _08102392
-_08102388:
- bl MenuZeroFillScreen
- ldr r1, _08102398
- movs r0, 0x5
- strb r0, [r1]
-_08102392:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08102398: .4byte 0x02000000
- thumb_func_end sub_8102344
-
- thumb_func_start sub_810239C
-sub_810239C: @ 810239C
- push {lr}
- ldr r0, _081023B0
- bl sub_8101F2C
- ldr r1, _081023B4
- movs r0, 0x18
- strb r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_081023B0: .4byte gOtherText_MaxCoins
-_081023B4: .4byte 0x02000000
- thumb_func_end sub_810239C
-
- thumb_func_start sub_81023B8
-sub_81023B8: @ 81023B8
- push {lr}
- ldr r0, _081023D8
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _081023D0
- bl MenuZeroFillScreen
- ldr r1, _081023DC
- movs r0, 0x5
- strb r0, [r1]
-_081023D0:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_081023D8: .4byte gMain
-_081023DC: .4byte 0x02000000
- thumb_func_end sub_81023B8
-
- thumb_func_start sub_81023E0
-sub_81023E0: @ 81023E0
- push {lr}
- ldr r0, _081023F4
- bl sub_8101F2C
- ldr r1, _081023F8
- movs r0, 0x1A
- strb r0, [r1]
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_081023F4: .4byte gOtherText_OutOfCoins
-_081023F8: .4byte 0x02000000
- thumb_func_end sub_81023E0
-
- thumb_func_start sub_81023FC
-sub_81023FC: @ 81023FC
- push {lr}
- ldr r0, _0810241C
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _08102414
- bl MenuZeroFillScreen
- ldr r1, _08102420
- movs r0, 0x1B
- strb r0, [r1]
-_08102414:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0810241C: .4byte gMain
-_08102420: .4byte 0x02000000
- thumb_func_end sub_81023FC
-
- thumb_func_start sub_8102424
-sub_8102424: @ 8102424
- push {r4,lr}
- sub sp, 0x4
- ldr r0, _08102454
- ldr r4, _08102458
- ldrh r1, [r4, 0xC]
- ldr r2, _0810245C
- adds r0, r2
- movs r2, 0
- strh r1, [r0]
- movs r0, 0x1
- negs r0, r0
- str r2, [sp]
- movs r1, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- movs r0, 0
- add sp, 0x4
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08102454: .4byte gSaveBlock1
-_08102458: .4byte 0x02000000
-_0810245C: .4byte 0x00000494
- thumb_func_end sub_8102424
-
- thumb_func_start sub_8102460
-sub_8102460: @ 8102460
- push {lr}
- ldr r0, _0810247C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08102476
- ldr r0, _08102480
- ldr r0, [r0, 0x64]
- bl SetMainCallback2
-_08102476:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_0810247C: .4byte gPaletteFade
-_08102480: .4byte 0x02000000
- thumb_func_end sub_8102460
-
- thumb_func_start sub_8102484
-sub_8102484: @ 8102484
- push {r4,lr}
- ldr r4, _081024E4
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- bne _081024DC
- ldrb r1, [r4, 0x4]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- bne _081024DC
- bl sub_8102540
- lsls r0, 24
- cmp r0, 0
- beq _081024C0
- bl sub_8102578
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x3
- beq _081024C0
- ldr r1, _081024E8
- lsls r0, r3, 1
- adds r0, r1
- ldrb r1, [r0]
- ldrb r0, [r4, 0x4]
- orrs r0, r1
- strb r0, [r4, 0x4]
- cmp r3, 0x1
- bne _081024DC
-_081024C0:
- bl sub_81025BC
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x5
- beq _081024DC
- ldr r2, _081024E4
- ldr r1, _081024EC
- lsls r0, r3, 1
- adds r0, r1
- ldrb r1, [r0]
- ldrb r0, [r2, 0x4]
- orrs r0, r1
- strb r0, [r2, 0x4]
-_081024DC:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081024E4: .4byte 0x02000000
-_081024E8: .4byte gUnknown_083ECE42
-_081024EC: .4byte gUnknown_083ECE48
- thumb_func_end sub_8102484
-
- thumb_func_start sub_81024F0
-sub_81024F0: @ 81024F0
- push {lr}
- ldr r1, _08102508
- movs r0, 0
- strb r0, [r1, 0x6]
- ldrb r0, [r1, 0x4]
- cmp r0, 0
- beq _08102502
- movs r0, 0x1
- strb r0, [r1, 0x6]
-_08102502:
- pop {r0}
- bx r0
- .align 2, 0
-_08102508: .4byte 0x02000000
- thumb_func_end sub_81024F0
-
- thumb_func_start sub_810250C
-sub_810250C: @ 810250C
- push {r4,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r2, 0
- movs r3, 0x1
- ldr r4, _08102528
-_08102518:
- adds r0, r1, 0
- ands r0, r3
- cmp r0, 0
- beq _0810252C
- adds r0, r2, r4
- ldrb r0, [r0]
- b _0810253A
- .align 2, 0
-_08102528: .4byte gUnknown_083ECE3A
-_0810252C:
- lsrs r1, 1
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x7
- bls _08102518
- movs r0, 0
-_0810253A:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_810250C
-
- thumb_func_start sub_8102540
-sub_8102540: @ 8102540
- push {r4,lr}
- bl Random
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08102568
- ldr r1, _0810256C
- movs r3, 0x12
- ldrsh r2, [r1, r3]
- ldrb r3, [r1, 0x1]
- lsls r1, r3, 1
- adds r1, r3
- subs r1, 0x1
- adds r2, r1
- adds r2, r4
- ldrb r1, [r2]
- cmp r1, r0
- bhi _08102570
- movs r0, 0
- b _08102572
- .align 2, 0
-_08102568: .4byte gUnknown_083ECD04
-_0810256C: .4byte 0x02000000
-_08102570:
- movs r0, 0x1
-_08102572:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8102540
-
- thumb_func_start sub_8102578
-sub_8102578: @ 8102578
- push {r4-r6,lr}
- movs r5, 0
- ldr r6, _081025B4
-_0810257E:
- bl Random
- movs r2, 0xFF
- ldr r3, _081025B8
- lsls r1, r5, 16
- asrs r4, r1, 16
- lsls r1, r4, 1
- adds r1, r4
- lsls r1, 1
- ldrb r3, [r3, 0x1]
- adds r1, r3
- adds r1, r6
- ldrb r1, [r1]
- ands r2, r0
- cmp r1, r2
- bgt _081025AA
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x2
- ble _0810257E
-_081025AA:
- lsls r0, r5, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_081025B4: .4byte gUnknown_083ECD16
-_081025B8: .4byte 0x02000000
- thumb_func_end sub_8102578
-
- thumb_func_start sub_81025BC
-sub_81025BC: @ 81025BC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- movs r6, 0
- ldr r0, _08102600
- mov r8, r0
- ldr r5, _08102604
- movs r7, 0x80
- lsls r7, 17
-_081025CE:
- bl Random
- movs r4, 0xFF
- ands r4, r0
- lsls r2, r6, 16
- asrs r1, r2, 16
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 1
- ldrb r3, [r5, 0x1]
- adds r0, r3
- add r0, r8
- ldrb r3, [r0]
- cmp r1, 0
- bne _08102608
- ldrb r0, [r5, 0x3]
- cmp r0, 0x1
- bne _08102608
- adds r3, 0xA
- asrs r0, r7, 16
- cmp r3, r0
- ble _08102622
- adds r3, r0, 0
- b _08102622
- .align 2, 0
-_08102600: .4byte gUnknown_083ECD28
-_08102604: .4byte 0x02000000
-_08102608:
- asrs r0, r2, 16
- cmp r0, 0x4
- bne _08102622
- ldrb r0, [r5, 0x3]
- cmp r0, 0x1
- bne _08102622
- lsls r0, r3, 16
- ldr r1, _08102648
- adds r0, r1
- lsrs r3, r0, 16
- cmp r0, 0
- bge _08102622
- movs r3, 0
-_08102622:
- lsls r0, r3, 16
- asrs r0, 16
- cmp r0, r4
- bgt _08102638
- movs r3, 0x80
- lsls r3, 9
- adds r0, r2, r3
- lsrs r6, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _081025CE
-_08102638:
- lsls r0, r6, 24
- lsrs r0, 24
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08102648: .4byte 0xfff60000
- thumb_func_end sub_81025BC
-
- thumb_func_start sub_810264C
-sub_810264C: @ 810264C
- push {lr}
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r3, _08102660
- ldrb r0, [r3, 0x3]
- cmp r0, 0
- beq _08102668
- ldr r0, _08102664
- b _0810266A
- .align 2, 0
-_08102660: .4byte 0x02000000
-_08102664: .4byte gUnknown_083ECDAC
-_08102668:
- ldr r0, _0810267C
-_0810266A:
- lsls r1, r2, 4
- adds r1, r2
- ldrb r3, [r3, 0x2]
- adds r1, r3
- adds r1, r0
- ldrb r0, [r1]
- pop {r1}
- bx r1
- .align 2, 0
-_0810267C: .4byte gUnknown_083ECD46
- thumb_func_end sub_810264C
-
- thumb_func_start sub_8102680
-sub_8102680: @ 8102680
- push {r4-r6,lr}
- ldr r1, _081026A4
- movs r0, 0
- strb r0, [r1, 0x5]
- bl Random
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0
- bl sub_810264C
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcc _081026D2
- movs r6, 0x5
- b _081026AE
- .align 2, 0
-_081026A4: .4byte 0x02000000
-_081026A8:
- subs r0, r5, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_081026AE:
- lsls r0, r6, 16
- asrs r5, r0, 16
- cmp r5, 0
- ble _081026CE
- bl Random
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r6, 24
- lsrs r0, 24
- bl sub_810264C
- lsls r0, 24
- lsrs r0, 24
- cmp r4, r0
- bcs _081026A8
-_081026CE:
- ldr r0, _081026D8
- strb r6, [r0, 0x5]
-_081026D2:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081026D8: .4byte 0x02000000
- thumb_func_end sub_8102680
-
- thumb_func_start sub_81026DC
-sub_81026DC: @ 81026DC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 16
- lsrs r4, 16
- bl Random
- movs r1, 0xFF
- ands r1, r0
- ldr r0, _081026FC
- lsls r4, 1
- adds r4, r0
- ldrh r4, [r4]
- cmp r1, r4
- bcc _08102700
- movs r0, 0
- b _08102702
- .align 2, 0
-_081026FC: .4byte gUnknown_083ECE12
-_08102700:
- movs r0, 0x1
-_08102702:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81026DC
-
- thumb_func_start dp15_jump_random_unknown
-dp15_jump_random_unknown: @ 8102708
- push {r4,r5,lr}
- movs r4, 0
- ldr r0, _0810271C
- movs r2, 0x10
- ldrsh r1, [r0, r2]
- ldr r0, _08102720
- cmp r1, r0
- ble _08102724
- movs r4, 0x4
- b _0810273A
- .align 2, 0
-_0810271C: .4byte 0x02000000
-_08102720: .4byte 0x0000012b
-_08102724:
- cmp r1, 0xF9
- ble _0810272C
- movs r4, 0x3
- b _0810273A
-_0810272C:
- cmp r1, 0xC7
- ble _08102734
- movs r4, 0x2
- b _0810273A
-_08102734:
- cmp r1, 0x95
- ble _0810273A
- movs r4, 0x1
-_0810273A:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r5, _0810275C
- lsls r4, 2
- adds r0, r4, r5
- ldrb r0, [r0]
- cmp r1, r0
- bcs _08102760
- movs r0, 0x4
- b _0810279A
- .align 2, 0
-_0810275C: .4byte gUnknown_083ECE1C
-_08102760:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 24
- adds r2, r5, 0x2
- adds r2, r4, r2
- ldr r3, _08102790
- ldr r1, _08102794
- ldrb r1, [r1, 0xB]
- lsls r1, 1
- adds r1, r3
- ldrb r1, [r1]
- ldrb r2, [r2]
- adds r1, r2
- lsls r1, 24
- cmp r0, r1
- bcc _08102798
- movs r0, 0x8
- b _0810279A
- .align 2, 0
-_08102790: .4byte gUnknown_083ECE30
-_08102794: .4byte 0x02000000
-_08102798:
- movs r0, 0x2
-_0810279A:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end dp15_jump_random_unknown
-
- thumb_func_start sub_81027A0
-sub_81027A0: @ 81027A0
- push {r4,lr}
- ldr r4, _081027CC
- movs r0, 0
- strh r0, [r4, 0x8]
- bl sub_81027D0
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- ble _081027B8
- bl sub_8102840
-_081027B8:
- movs r1, 0x12
- ldrsh r0, [r4, r1]
- cmp r0, 0x2
- ble _081027C4
- bl sub_810290C
-_081027C4:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081027CC: .4byte 0x02000000
- thumb_func_end sub_81027A0
-
- thumb_func_start sub_81027D0
-sub_81027D0: @ 81027D0
- push {r4,r5,lr}
- movs r0, 0
- movs r1, 0x2
- bl sub_8102BA4
- adds r5, r0, 0
- lsls r5, 24
- lsrs r5, 24
- movs r0, 0x1
- movs r1, 0x2
- bl sub_8102BA4
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- movs r0, 0x2
- movs r1, 0x2
- bl sub_8102BA4
- adds r2, r0, 0
- lsls r2, 24
- lsrs r2, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81029D4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- beq _0810282E
- ldr r2, _08102834
- ldr r0, _08102838
- lsls r1, 1
- adds r0, r1, r0
- ldrh r0, [r0]
- ldrh r3, [r2, 0xE]
- adds r0, r3
- strh r0, [r2, 0xE]
- ldr r0, _0810283C
- adds r1, r0
- ldrh r0, [r2, 0x8]
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r2, 0x8]
- movs r0, 0
- bl sub_8103E04
-_0810282E:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08102834: .4byte 0x02000000
-_08102838: .4byte gUnknown_083ECE6C
-_0810283C: .4byte gUnknown_083ECE5A
- thumb_func_end sub_81027D0
-
- thumb_func_start sub_8102840
-sub_8102840: @ 8102840
- push {r4,r5,lr}
- movs r0, 0
- movs r1, 0x1
- bl sub_8102BA4
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x1
- movs r1, 0x1
- bl sub_8102BA4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8102BA4
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81029D4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- beq _0810289E
- cmp r1, 0
- bne _0810287C
- movs r1, 0x1
-_0810287C:
- ldr r2, _08102900
- ldr r0, _08102904
- lsls r1, 1
- adds r0, r1, r0
- ldrh r0, [r0]
- ldrh r3, [r2, 0xE]
- adds r0, r3
- strh r0, [r2, 0xE]
- ldr r0, _08102908
- adds r1, r0
- ldrh r0, [r2, 0x8]
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r2, 0x8]
- movs r0, 0x1
- bl sub_8103E04
-_0810289E:
- movs r0, 0
- movs r1, 0x3
- bl sub_8102BA4
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x1
- movs r1, 0x3
- bl sub_8102BA4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x2
- movs r1, 0x3
- bl sub_8102BA4
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81029D4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- beq _081028FA
- cmp r1, 0
- bne _081028D8
- movs r1, 0x1
-_081028D8:
- ldr r2, _08102900
- ldr r0, _08102904
- lsls r1, 1
- adds r0, r1, r0
- ldrh r0, [r0]
- ldrh r3, [r2, 0xE]
- adds r0, r3
- strh r0, [r2, 0xE]
- ldr r0, _08102908
- adds r1, r0
- ldrh r0, [r2, 0x8]
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r2, 0x8]
- movs r0, 0x2
- bl sub_8103E04
-_081028FA:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08102900: .4byte 0x02000000
-_08102904: .4byte gUnknown_083ECE6C
-_08102908: .4byte gUnknown_083ECE5A
- thumb_func_end sub_8102840
-
- thumb_func_start sub_810290C
-sub_810290C: @ 810290C
- push {r4,r5,lr}
- movs r0, 0
- movs r1, 0x1
- bl sub_8102BA4
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x1
- movs r1, 0x2
- bl sub_8102BA4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x2
- movs r1, 0x3
- bl sub_8102BA4
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81029D4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- beq _08102968
- cmp r1, 0
- beq _08102962
- ldr r2, _081029C8
- ldr r0, _081029CC
- lsls r1, 1
- adds r0, r1, r0
- ldrh r0, [r0]
- ldrh r3, [r2, 0xE]
- adds r0, r3
- strh r0, [r2, 0xE]
- ldr r0, _081029D0
- adds r1, r0
- ldrh r0, [r2, 0x8]
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r2, 0x8]
-_08102962:
- movs r0, 0x3
- bl sub_8103E04
-_08102968:
- movs r0, 0
- movs r1, 0x3
- bl sub_8102BA4
- lsls r0, 24
- lsrs r5, r0, 24
- movs r0, 0x1
- movs r1, 0x2
- bl sub_8102BA4
- lsls r0, 24
- lsrs r4, r0, 24
- movs r0, 0x2
- movs r1, 0x1
- bl sub_8102BA4
- lsls r0, 24
- lsrs r2, r0, 24
- adds r0, r5, 0
- adds r1, r4, 0
- bl sub_81029D4
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- beq _081029C2
- cmp r1, 0
- beq _081029BC
- ldr r2, _081029C8
- ldr r0, _081029CC
- lsls r1, 1
- adds r0, r1, r0
- ldrh r0, [r0]
- ldrh r3, [r2, 0xE]
- adds r0, r3
- strh r0, [r2, 0xE]
- ldr r0, _081029D0
- adds r1, r0
- ldrh r0, [r2, 0x8]
- ldrh r1, [r1]
- orrs r0, r1
- strh r0, [r2, 0x8]
-_081029BC:
- movs r0, 0x4
- bl sub_8103E04
-_081029C2:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081029C8: .4byte 0x02000000
-_081029CC: .4byte gUnknown_083ECE6C
-_081029D0: .4byte gUnknown_083ECE5A
- thumb_func_end sub_810290C
-
- thumb_func_start sub_81029D4
-sub_81029D4: @ 81029D4
- push {lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- cmp r3, r1
- bne _081029F8
- cmp r3, r2
- bne _081029F8
- ldr r0, _081029F4
- adds r0, r3, r0
- ldrb r0, [r0]
- b _08102A1E
- .align 2, 0
-_081029F4: .4byte gUnknown_083ECE52
-_081029F8:
- cmp r3, 0
- bne _08102A04
- cmp r1, 0
- bne _08102A04
- cmp r2, 0x1
- beq _08102A10
-_08102A04:
- cmp r3, 0x1
- bne _08102A14
- cmp r1, 0x1
- bne _08102A14
- cmp r2, 0
- bne _08102A14
-_08102A10:
- movs r0, 0x6
- b _08102A1E
-_08102A14:
- cmp r3, 0x4
- beq _08102A1C
- movs r0, 0x9
- b _08102A1E
-_08102A1C:
- movs r0, 0
-_08102A1E:
- pop {r1}
- bx r1
- thumb_func_end sub_81029D4
-
- thumb_func_start sub_8102A24
-sub_8102A24: @ 8102A24
- push {r4,lr}
- ldr r4, _08102A40
- adds r0, r4, 0
- movs r1, 0x4
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08102A40: .4byte sub_8102A64
- thumb_func_end sub_8102A24
-
- thumb_func_start sub_8102A44
-sub_8102A44: @ 8102A44
- push {lr}
- ldr r0, _08102A58
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08102A5C
- movs r0, 0
- b _08102A5E
- .align 2, 0
-_08102A58: .4byte sub_8102A64
-_08102A5C:
- movs r0, 0x1
-_08102A5E:
- pop {r1}
- bx r1
- thumb_func_end sub_8102A44
-
- thumb_func_start sub_8102A64
-sub_8102A64: @ 8102A64
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08102A94
- ldr r2, _08102A98
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08102A76:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08102A76
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08102A94: .4byte gUnknown_083ECB20
-_08102A98: .4byte gTasks
- thumb_func_end sub_8102A64
-
- thumb_func_start sub_8102A9C
-sub_8102A9C: @ 8102A9C
- push {r4,lr}
- adds r4, r0, 0
- bl sub_8103E38
- lsls r0, 24
- cmp r0, 0
- beq _08102AC8
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r0, _08102AC4
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08102AC8
- movs r0, 0x2
- strh r0, [r4, 0x8]
- movs r0, 0x1
- b _08102ACA
- .align 2, 0
-_08102AC4: .4byte 0x02000000
-_08102AC8:
- movs r0, 0
-_08102ACA:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_8102A9C
-
- thumb_func_start sub_8102AD0
-sub_8102AD0: @ 8102AD0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0xA]
- subs r0, 0x1
- strh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08102B22
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _08102AF6
- movs r0, 0x15
- bl PlaySE
-_08102AF6:
- ldr r2, _08102B70
- ldrh r0, [r2, 0xE]
- subs r0, 0x1
- strh r0, [r2, 0xE]
- ldrh r3, [r2, 0xC]
- movs r0, 0xC
- ldrsh r1, [r2, r0]
- ldr r0, _08102B74
- cmp r1, r0
- bgt _08102B0E
- adds r0, r3, 0x1
- strh r0, [r2, 0xC]
-_08102B0E:
- movs r0, 0x8
- strh r0, [r4, 0xA]
- ldr r0, _08102B78
- ldrh r1, [r0, 0x2C]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08102B22
- movs r0, 0x4
- strh r0, [r4, 0xA]
-_08102B22:
- bl IsFanfareTaskInactive
- lsls r0, 24
- cmp r0, 0
- beq _08102B58
- ldr r0, _08102B78
- ldrh r1, [r0, 0x2E]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08102B58
- movs r0, 0x15
- bl PlaySE
- ldr r1, _08102B70
- ldrh r0, [r1, 0xE]
- ldrh r2, [r1, 0xC]
- adds r0, r2
- strh r0, [r1, 0xC]
- lsls r0, 16
- asrs r0, 16
- ldr r2, _08102B7C
- cmp r0, r2
- ble _08102B54
- strh r2, [r1, 0xC]
-_08102B54:
- movs r0, 0
- strh r0, [r1, 0xE]
-_08102B58:
- ldr r0, _08102B70
- movs r1, 0xE
- ldrsh r0, [r0, r1]
- cmp r0, 0
- bne _08102B68
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08102B68:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08102B70: .4byte 0x02000000
-_08102B74: .4byte 0x0000270e
-_08102B78: .4byte gMain
-_08102B7C: .4byte 0x0000270f
- thumb_func_end sub_8102AD0
-
- thumb_func_start sub_8102B80
-sub_8102B80: @ 8102B80
- push {lr}
- bl sub_8103E7C
- lsls r0, 24
- cmp r0, 0
- beq _08102B9A
- ldr r0, _08102BA0
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_08102B9A:
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08102BA0: .4byte sub_8102A64
- thumb_func_end sub_8102B80
-
- thumb_func_start sub_8102BA4
-sub_8102BA4: @ 8102BA4
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r4, r0, 0
- ldr r0, _08102BF0
- lsls r2, r4, 1
- adds r0, 0x28
- adds r2, r0
- movs r3, 0
- ldrsh r0, [r2, r3]
- lsls r1, 16
- asrs r1, 16
- adds r0, r1
- movs r1, 0x15
- bl __modsi3
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08102BD4
- adds r0, 0x15
- lsls r0, 16
- lsrs r1, r0, 16
-_08102BD4:
- ldr r2, _08102BF4
- lsls r1, 16
- asrs r1, 16
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 2
- adds r0, r4
- adds r1, r0
- adds r1, r2
- ldrb r0, [r1]
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08102BF0: .4byte 0x02000000
-_08102BF4: .4byte gUnknown_083ECCB2
- thumb_func_end sub_8102BA4
-
- thumb_func_start sub_8102BF8
-sub_8102BF8: @ 8102BF8
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r5, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- movs r6, 0
- ldr r0, _08102C40
- lsls r1, r5, 1
- adds r0, 0x1C
- adds r1, r0
- movs r2, 0
- ldrsh r0, [r1, r2]
- movs r1, 0x18
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- beq _08102C20
- ldr r6, _08102C44
-_08102C20:
- lsls r1, r4, 16
- asrs r1, 16
- lsls r0, r6, 16
- asrs r0, 16
- adds r1, r0
- lsls r1, 16
- asrs r1, 16
- adds r0, r5, 0
- bl sub_8102BA4
- lsls r0, 24
- lsrs r0, 24
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08102C40: .4byte 0x02000000
-_08102C44: .4byte 0x0000ffff
- thumb_func_end sub_8102BF8
-
- thumb_func_start sub_8102C48
-sub_8102C48: @ 8102C48
- push {lr}
- ldr r1, _08102C7C
- movs r2, 0x16
- ldrsh r1, [r1, r2]
- lsls r0, 16
- asrs r0, 16
- adds r1, r0
- adds r0, r1, 0
- movs r1, 0x6
- bl __modsi3
- lsls r0, 16
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0
- bge _08102C6E
- adds r0, 0x6
- lsls r0, 16
- lsrs r1, r0, 16
-_08102C6E:
- ldr r0, _08102C80
- lsls r1, 16
- asrs r1, 16
- adds r1, r0
- ldrb r0, [r1]
- pop {r1}
- bx r1
- .align 2, 0
-_08102C7C: .4byte 0x02000000
-_08102C80: .4byte gUnknown_083ECCF1
- thumb_func_end sub_8102C48
-
- thumb_func_start sub_8102C84
-sub_8102C84: @ 8102C84
- push {r4-r6,lr}
- adds r5, r0, 0
- lsls r5, 24
- ldr r6, _08102CC8
- lsrs r5, 23
- adds r4, r6, 0
- adds r4, 0x1C
- adds r4, r5, r4
- lsls r1, 16
- asrs r1, 16
- ldrh r0, [r4]
- adds r1, r0
- strh r1, [r4]
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0xFC
- lsls r1, 1
- bl __modsi3
- strh r0, [r4]
- adds r6, 0x28
- adds r5, r6
- movs r1, 0
- ldrsh r0, [r4, r1]
- movs r1, 0x18
- bl __divsi3
- movs r1, 0x15
- subs r1, r0
- strh r1, [r5]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08102CC8: .4byte 0x02000000
- thumb_func_end sub_8102C84
-
- thumb_func_start sub_8102CCC
-sub_8102CCC: @ 8102CCC
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r0, 24
- adds r6, r0, 0
- lsls r1, 16
- lsrs r4, r1, 16
- ldr r0, _08102D24
- lsls r1, r6, 1
- adds r0, 0x1C
- adds r5, r1, r0
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r1, 0x18
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r2, r0, 16
- asrs r1, r2, 16
- cmp r1, 0
- beq _08102D18
- lsls r0, r4, 16
- asrs r0, 16
- cmp r1, r0
- bge _08102D00
- lsrs r4, r2, 16
-_08102D00:
- lsls r1, r4, 16
- asrs r1, 16
- adds r0, r6, 0
- bl sub_8102C84
- movs r1, 0
- ldrsh r0, [r5, r1]
- movs r1, 0x18
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
-_08102D18:
- lsls r0, 16
- asrs r0, 16
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08102D24: .4byte 0x02000000
- thumb_func_end sub_8102CCC
-
- thumb_func_start sub_8102D28
-sub_8102D28: @ 8102D28
- push {r4,lr}
- ldr r4, _08102D58
- lsls r0, 16
- asrs r0, 16
- ldrh r1, [r4, 0x14]
- adds r0, r1
- strh r0, [r4, 0x14]
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r1, 0x78
- bl __modsi3
- strh r0, [r4, 0x14]
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- movs r1, 0x14
- bl __divsi3
- movs r1, 0x6
- subs r1, r0
- strh r1, [r4, 0x16]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08102D58: .4byte 0x02000000
- thumb_func_end sub_8102D28
-
- thumb_func_start sub_8102D5C
-sub_8102D5C: @ 8102D5C
- push {r4,r5,lr}
- lsls r0, 16
- lsrs r4, r0, 16
- ldr r5, _08102DA4
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- movs r1, 0x14
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
- lsls r2, r0, 16
- asrs r1, r2, 16
- cmp r1, 0
- beq _08102D9A
- lsls r0, r4, 16
- asrs r0, 16
- cmp r1, r0
- bge _08102D84
- lsrs r4, r2, 16
-_08102D84:
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_8102D28
- movs r1, 0x14
- ldrsh r0, [r5, r1]
- movs r1, 0x14
- bl __modsi3
- lsls r0, 16
- lsrs r0, 16
-_08102D9A:
- lsls r0, 16
- asrs r0, 16
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_08102DA4: .4byte 0x02000000
- thumb_func_end sub_8102D5C
-
- thumb_func_start sub_8102DA8
-sub_8102DA8: @ 8102DA8
- push {r4-r7,lr}
- movs r4, 0
- ldr r5, _08102DE0
- ldr r7, _08102DE4
- ldr r6, _08102DE8
-_08102DB2:
- adds r0, r5, 0
- movs r1, 0x2
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r7
- strh r4, [r1, 0x26]
- adds r1, r4, r6
- strb r0, [r1]
- bl _call_via_r5
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x2
- bls _08102DB2
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08102DE0: .4byte sub_8102E68
-_08102DE4: .4byte gTasks
-_08102DE8: .4byte 0x0200003a
- thumb_func_end sub_8102DA8
-
- thumb_func_start sub_8102DEC
-sub_8102DEC: @ 8102DEC
- lsls r0, 24
- lsrs r0, 24
- ldr r3, _08102E14
- ldr r1, _08102E18
- adds r1, 0x3A
- adds r0, r1
- ldrb r2, [r0]
- lsls r1, r2, 2
- adds r1, r2
- lsls r1, 3
- adds r1, r3
- movs r2, 0x1
- strh r2, [r1, 0x8]
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r3
- strh r2, [r0, 0x24]
- bx lr
- .align 2, 0
-_08102E14: .4byte gTasks
-_08102E18: .4byte 0x02000000
- thumb_func_end sub_8102DEC
-
- thumb_func_start sub_8102E1C
-sub_8102E1C: @ 8102E1C
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08102E38
- ldr r1, _08102E3C
- adds r1, 0x3A
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0, 0x8]
- bx lr
- .align 2, 0
-_08102E38: .4byte gTasks
-_08102E3C: .4byte 0x02000000
- thumb_func_end sub_8102E1C
-
- thumb_func_start sub_8102E40
-sub_8102E40: @ 8102E40
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08102E60
- ldr r1, _08102E64
- adds r1, 0x3A
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0x24]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .align 2, 0
-_08102E60: .4byte gTasks
-_08102E64: .4byte 0x02000000
- thumb_func_end sub_8102E40
-
- thumb_func_start sub_8102E68
-sub_8102E68: @ 8102E68
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r5, _08102E98
- ldr r2, _08102E9C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r4, r1, r2
-_08102E7A:
- movs r1, 0x8
- ldrsh r0, [r4, r1]
- lsls r0, 2
- adds r0, r5
- ldr r1, [r0]
- adds r0, r4, 0
- bl _call_via_r1
- lsls r0, 24
- cmp r0, 0
- bne _08102E7A
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08102E98: .4byte gUnknown_083ECB2C
-_08102E9C: .4byte gTasks
- thumb_func_end sub_8102E68
-
- thumb_func_start sub_8102EA0
-sub_8102EA0: @ 8102EA0
- movs r0, 0
- bx lr
- thumb_func_end sub_8102EA0
-
- thumb_func_start sub_8102EA4
-sub_8102EA4: @ 8102EA4
- push {lr}
- ldrh r0, [r0, 0x26]
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08102EBC
- movs r2, 0x1A
- ldrsh r1, [r1, r2]
- bl sub_8102C84
- movs r0, 0
- pop {r1}
- bx r1
- .align 2, 0
-_08102EBC: .4byte 0x02000000
- thumb_func_end sub_8102EA4
-
- thumb_func_start sub_8102EC0
-sub_8102EC0: @ 8102EC0
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r2, 0
- strh r0, [r4, 0x8]
- ldr r3, _08102F40
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r0, 1
- adds r1, r3, 0
- adds r1, 0x34
- adds r0, r1
- strh r2, [r0]
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r0, 1
- adds r1, r3, 0
- adds r1, 0x2E
- adds r0, r1
- strh r2, [r0]
- ldrb r0, [r3, 0xA]
- cmp r0, 0
- bne _08102F28
- ldrb r0, [r3, 0x4]
- cmp r0, 0
- beq _08102F12
- ldrb r0, [r3, 0x6]
- cmp r0, 0
- beq _08102F12
- ldr r1, _08102F44
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- cmp r0, 0
- bne _08102F28
-_08102F12:
- ldr r1, _08102F40
- movs r0, 0
- strb r0, [r1, 0x6]
- ldr r1, _08102F48
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
-_08102F28:
- ldr r0, _08102F40
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- lsls r1, 1
- adds r0, 0x2E
- adds r1, r0
- ldrh r0, [r1]
- strh r0, [r4, 0xA]
- movs r0, 0x1
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08102F40: .4byte 0x02000000
-_08102F44: .4byte gUnknown_083ECB40
-_08102F48: .4byte gUnknown_083ECB4C
- thumb_func_end sub_8102EC0
-
- thumb_func_start sub_8102F4C
-sub_8102F4C: @ 8102F4C
- push {r4-r7,lr}
- sub sp, 0xC
- adds r4, r0, 0
- ldr r1, _08102F8C
- mov r0, sp
- movs r2, 0xA
- bl memcpy
- ldr r5, _08102F90
- movs r1, 0x26
- ldrsh r0, [r4, r1]
- lsls r6, r0, 1
- adds r7, r5, 0
- adds r7, 0x1C
- adds r0, r6, r7
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r1, 0x18
- bl __modsi3
- lsls r0, 16
- lsrs r2, r0, 16
- cmp r0, 0
- beq _08102F94
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r6, 0x1A
- ldrsh r1, [r5, r6]
- bl sub_8102CCC
- b _08102FC8
- .align 2, 0
-_08102F8C: .4byte gUnknown_083ECB58
-_08102F90: .4byte 0x02000000
-_08102F94:
- adds r0, r5, 0
- adds r0, 0x2E
- adds r1, r6, r0
- ldrh r3, [r1]
- movs r6, 0
- ldrsh r0, [r1, r6]
- cmp r0, 0
- beq _08102FCC
- subs r0, r3, 0x1
- strh r0, [r1]
- ldrh r0, [r4, 0x26]
- lsls r0, 24
- lsrs r0, 24
- movs r2, 0x1A
- ldrsh r1, [r5, r2]
- bl sub_8102C84
- movs r6, 0x26
- ldrsh r0, [r4, r6]
- lsls r0, 1
- adds r0, r7
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x18
- bl __modsi3
-_08102FC8:
- lsls r0, 16
- lsrs r2, r0, 16
-_08102FCC:
- cmp r2, 0
- bne _08102FF8
- ldr r1, _08103004
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r1, 0x2E
- adds r0, r1
- movs r6, 0
- ldrsh r1, [r0, r6]
- cmp r1, 0
- bne _08102FF8
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0xA]
- strh r1, [r4, 0xC]
-_08102FF8:
- movs r0, 0
- add sp, 0xC
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08103004: .4byte 0x02000000
- thumb_func_end sub_8102F4C
-
- thumb_func_start sub_8103008
-sub_8103008: @ 8103008
- push {r4,lr}
- adds r2, r0, 0
- ldr r1, _08103058
- movs r3, 0x26
- ldrsh r0, [r2, r3]
- lsls r0, 1
- adds r4, r1, 0
- adds r4, 0x22
- adds r0, r4
- ldrh r1, [r2, 0xA]
- strh r1, [r0]
- ldrh r0, [r2, 0xA]
- negs r3, r0
- strh r3, [r2, 0xA]
- ldrh r0, [r2, 0xC]
- adds r0, 0x1
- strh r0, [r2, 0xC]
- movs r1, 0x3
- ands r0, r1
- cmp r0, 0
- bne _08103038
- lsls r0, r3, 16
- asrs r0, 17
- strh r0, [r2, 0xA]
-_08103038:
- movs r0, 0xA
- ldrsh r3, [r2, r0]
- cmp r3, 0
- bne _0810304E
- strh r3, [r2, 0x8]
- strh r3, [r2, 0x24]
- movs r1, 0x26
- ldrsh r0, [r2, r1]
- lsls r0, 1
- adds r0, r4
- strh r3, [r0]
-_0810304E:
- movs r0, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08103058: .4byte 0x02000000
- thumb_func_end sub_8103008
-
- thumb_func_start sub_810305C
-sub_810305C: @ 810305C
- push {r4,r5,lr}
- ldr r4, _0810309C
- ldrb r0, [r4, 0x4]
- bl sub_810250C
- lsls r0, 24
- lsrs r3, r0, 24
- adds r5, r3, 0
- ldrb r1, [r4, 0x4]
- movs r0, 0xC0
- ands r0, r1
- cmp r0, 0
- beq _0810307A
- movs r5, 0
- movs r3, 0x1
-_0810307A:
- ldr r1, _081030A0
- movs r2, 0x12
- ldrsh r0, [r4, r2]
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r2, [r0]
- adds r0, r5, 0
- adds r1, r3, 0
- bl _call_via_r2
- lsls r0, 24
- lsrs r0, 24
- pop {r4,r5}
- pop {r1}
- bx r1
- .align 2, 0
-_0810309C: .4byte 0x02000000
-_081030A0: .4byte gUnknown_083ECB64
- thumb_func_end sub_810305C
-
- thumb_func_start sub_81030A4
-sub_81030A4: @ 81030A4
- push {r4,r5,lr}
- adds r3, r0, 0
- adds r4, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r2, 24
- lsrs r5, r2, 24
- lsls r3, 16
- asrs r3, 16
- movs r0, 0
- adds r1, r3, 0
- bl sub_8102BF8
- lsls r0, 24
- lsrs r0, 24
- adds r1, r0, 0
- cmp r0, r4
- beq _081030CC
- cmp r0, r5
- bne _081030D8
-_081030CC:
- ldr r0, _081030D4
- strb r1, [r0, 0x7]
- movs r0, 0x1
- b _081030DA
- .align 2, 0
-_081030D4: .4byte 0x02000000
-_081030D8:
- movs r0, 0
-_081030DA:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_81030A4
-
- thumb_func_start sub_81030E0
-sub_81030E0: @ 81030E0
- push {r4,lr}
- movs r1, 0x1
- lsls r0, 16
- asrs r4, r0, 16
- subs r1, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_8102BF8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _08103128
- movs r1, 0x2
- subs r1, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_8102BF8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- beq _08103128
- movs r1, 0x3
- subs r1, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_8102BF8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bne _0810312C
-_08103128:
- movs r0, 0x1
- b _0810312E
-_0810312C:
- movs r0, 0
-_0810312E:
- pop {r4}
- pop {r1}
- bx r1
- thumb_func_end sub_81030E0
-
- thumb_func_start sub_8103134
-sub_8103134: @ 8103134
- push {lr}
- ldr r0, _08103148
- ldrb r1, [r0, 0x4]
- movs r0, 0xC2
- ands r0, r1
- cmp r0, 0
- bne _0810314C
- movs r0, 0
- b _0810314E
- .align 2, 0
-_08103148: .4byte 0x02000000
-_0810314C:
- movs r0, 0x1
-_0810314E:
- pop {r1}
- bx r1
- thumb_func_end sub_8103134
-
- thumb_func_start sub_8103154
-sub_8103154: @ 8103154
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r1, 24
- lsrs r7, r1, 24
- movs r5, 0
- movs r0, 0x2
- mov r9, r0
- ldr r6, _08103194
-_0810316E:
- lsls r0, r5, 16
- asrs r4, r0, 16
- mov r1, r9
- subs r0, r1, r4
- lsls r0, 16
- asrs r0, 16
- mov r1, r8
- adds r2, r7, 0
- bl sub_81030A4
- lsls r0, 24
- cmp r0, 0
- beq _08103198
- movs r0, 0x2
- strh r0, [r6, 0x34]
- strh r5, [r6, 0x2E]
- movs r0, 0x1
- b _081031A6
- .align 2, 0
-_08103194: .4byte 0x02000000
-_08103198:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0810316E
- movs r0, 0
-_081031A6:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_8103154
-
- thumb_func_start sub_81031B4
-sub_81031B4: @ 81031B4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- lsls r0, 24
- lsrs r0, 24
- mov r10, r0
- lsls r1, 24
- lsrs r1, 24
- mov r9, r1
- bl sub_8103134
- lsls r0, 24
- lsrs r6, r0, 24
- cmp r6, 0
- bne _081031E2
- movs r0, 0
- bl sub_81030E0
- lsls r0, 24
- cmp r0, 0
- bne _0810321E
-_081031E2:
- movs r0, 0x1
- mov r8, r0
- ldr r5, _0810320C
- movs r7, 0
-_081031EA:
- mov r1, r8
- lsls r0, r1, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- mov r1, r10
- mov r2, r9
- bl sub_81030A4
- lsls r0, 24
- cmp r0, 0
- beq _08103210
- mov r0, r8
- strh r0, [r5, 0x34]
- strh r7, [r5, 0x2E]
- movs r0, 0x1
- b _081032B2
- .align 2, 0
-_0810320C: .4byte 0x02000000
-_08103210:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r1, r0, 16
- mov r8, r1
- asrs r0, 16
- cmp r0, 0x3
- ble _081031EA
-_0810321E:
- movs r0, 0x1
- mov r8, r0
- adds r7, r6, 0
- ldr r6, _0810326C
-_08103226:
- mov r1, r8
- lsls r5, r1, 16
- cmp r7, 0
- bne _0810323A
- asrs r0, r5, 16
- bl sub_81030E0
- lsls r0, 24
- cmp r0, 0
- bne _081032A0
-_0810323A:
- movs r0, 0x1
- asrs r4, r5, 16
- subs r0, r4
- lsls r0, 16
- asrs r0, 16
- mov r1, r10
- mov r2, r9
- bl sub_81030A4
- lsls r0, 24
- cmp r0, 0
- beq _081032A0
- cmp r4, 0x1
- bne _08103270
- cmp r7, 0
- bne _08103266
- movs r0, 0x3
- bl sub_81030E0
- lsls r0, 24
- cmp r0, 0
- bne _08103270
-_08103266:
- movs r0, 0x3
- strh r0, [r6, 0x34]
- b _0810329A
- .align 2, 0
-_0810326C: .4byte 0x02000000
-_08103270:
- asrs r0, r5, 16
- cmp r0, 0x3
- bgt _08103294
- adds r4, r0, 0x1
- cmp r7, 0
- bne _0810328A
- lsls r0, r4, 16
- asrs r0, 16
- bl sub_81030E0
- lsls r0, 24
- cmp r0, 0
- bne _08103294
-_0810328A:
- movs r0, 0x2
- strh r0, [r6, 0x34]
- strh r4, [r6, 0x2E]
- movs r0, 0x1
- b _081032B2
-_08103294:
- movs r0, 0x1
- strh r0, [r6, 0x34]
- mov r0, r8
-_0810329A:
- strh r0, [r6, 0x2E]
- movs r0, 0x1
- b _081032B2
-_081032A0:
- movs r1, 0x80
- lsls r1, 9
- adds r0, r5, r1
- lsrs r1, r0, 16
- mov r8, r1
- asrs r0, 16
- cmp r0, 0x4
- ble _08103226
- movs r0, 0
-_081032B2:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81031B4
-
- thumb_func_start sub_81032C0
-sub_81032C0: @ 81032C0
- push {lr}
- ldr r1, _081032E0
- ldr r0, _081032E4
- movs r2, 0x12
- ldrsh r0, [r0, r2]
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- lsls r0, 24
- lsrs r0, 24
- pop {r1}
- bx r1
- .align 2, 0
-_081032E0: .4byte gUnknown_083ECB70
-_081032E4: .4byte 0x02000000
- thumb_func_end sub_81032C0
-
- thumb_func_start sub_81032E8
-sub_81032E8: @ 81032E8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _08103320
- movs r6, 0
- ldrh r1, [r0, 0x34]
- mov r8, r1
- movs r1, 0x34
- ldrsh r7, [r0, r1]
- adds r5, r0, 0
-_081032FC:
- lsls r0, r6, 16
- asrs r4, r0, 16
- subs r1, r7, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_8102BF8
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r5, 0x7]
- cmp r0, r1
- bne _08103324
- mov r0, r8
- strh r0, [r5, 0x36]
- strh r6, [r5, 0x30]
- movs r0, 0x1
- b _08103332
- .align 2, 0
-_08103320: .4byte 0x02000000
-_08103324:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _081032FC
- movs r0, 0
-_08103332:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81032E8
-
- thumb_func_start sub_810333C
-sub_810333C: @ 810333C
- push {r4-r7,lr}
- bl sub_81032E8
- lsls r0, 24
- cmp r0, 0
- beq _0810339A
- ldr r1, _0810338C
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- beq _08103396
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- ble _08103396
- cmp r0, 0x4
- beq _08103396
- movs r5, 0
- movs r7, 0x2
- adds r6, r1, 0
-_08103364:
- lsls r0, r5, 16
- asrs r4, r0, 16
- subs r1, r7, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_8102BF8
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r6, 0x7]
- cmp r0, r1
- beq _08103390
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08103364
- b _08103396
- .align 2, 0
-_0810338C: .4byte 0x02000000
-_08103390:
- movs r0, 0x2
- strh r0, [r6, 0x36]
- strh r5, [r6, 0x30]
-_08103396:
- movs r0, 0x1
- b _081033D2
-_0810339A:
- ldr r1, _081033D8
- movs r2, 0x34
- ldrsh r0, [r1, r2]
- cmp r0, 0x2
- beq _081033D0
- movs r5, 0
- movs r7, 0x2
- adds r6, r1, 0
-_081033AA:
- lsls r0, r5, 16
- asrs r4, r0, 16
- subs r1, r7, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_8102BF8
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r6, 0x7]
- cmp r0, r1
- beq _08103390
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _081033AA
-_081033D0:
- movs r0, 0
-_081033D2:
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_081033D8: .4byte 0x02000000
- thumb_func_end sub_810333C
-
- thumb_func_start sub_81033DC
-sub_81033DC: @ 81033DC
- push {r4,lr}
- ldr r0, _08103414
- ldrb r3, [r0, 0x7]
- adds r4, r3, 0
- ldrb r2, [r0, 0x4]
- movs r1, 0x40
- ands r1, r2
- cmp r1, 0
- beq _081033F6
- movs r3, 0
- cmp r4, 0
- bne _081033F6
- movs r3, 0x1
-_081033F6:
- ldr r1, _08103418
- movs r2, 0x12
- ldrsh r0, [r0, r2]
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r3, 0
- bl _call_via_r1
- lsls r0, 24
- lsrs r0, 24
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08103414: .4byte 0x02000000
-_08103418: .4byte gUnknown_083ECB7C
- thumb_func_end sub_81033DC
-
- thumb_func_start sub_810341C
-sub_810341C: @ 810341C
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- ldr r0, _0810345C
- movs r5, 0
- ldrh r1, [r0, 0x36]
- mov r8, r1
- movs r1, 0x36
- ldrsh r7, [r0, r1]
- adds r6, r0, 0
-_08103438:
- lsls r0, r5, 16
- asrs r4, r0, 16
- subs r1, r7, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_8102BF8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r9
- bne _08103460
- mov r0, r8
- strh r0, [r6, 0x38]
- strh r5, [r6, 0x32]
- movs r0, 0x1
- b _0810346E
- .align 2, 0
-_0810345C: .4byte 0x02000000
-_08103460:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08103438
- movs r0, 0
-_0810346E:
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_810341C
-
- thumb_func_start sub_810347C
-sub_810347C: @ 810347C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r0, _081034A0
- movs r2, 0x34
- ldrsh r1, [r0, r2]
- movs r2, 0x36
- ldrsh r0, [r0, r2]
- cmp r1, r0
- bne _081034B4
- adds r0, r6, 0
- bl sub_810341C
- lsls r0, 24
- lsrs r0, 24
- b _081034EA
- .align 2, 0
-_081034A0: .4byte 0x02000000
-_081034A4:
- ldr r0, _081034B0
- strh r5, [r0, 0x32]
- mov r1, r8
- strh r1, [r0, 0x38]
- movs r0, 0x1
- b _081034EA
- .align 2, 0
-_081034B0: .4byte 0x02000000
-_081034B4:
- movs r2, 0x1
- mov r8, r2
- cmp r1, 0x1
- bne _081034C0
- movs r0, 0x3
- mov r8, r0
-_081034C0:
- movs r5, 0
- mov r7, r8
-_081034C4:
- lsls r0, r5, 16
- asrs r4, r0, 16
- subs r1, r7, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_8102BF8
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r6
- beq _081034A4
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _081034C4
- movs r0, 0
-_081034EA:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_810347C
-
- thumb_func_start sub_81034F4
-sub_81034F4: @ 81034F4
- push {r4,r5,lr}
- movs r5, 0
- b _08103500
-_081034FA:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08103500:
- lsls r0, r5, 16
- asrs r4, r0, 16
- adds r0, r4, 0
- bl sub_81030E0
- lsls r0, 24
- cmp r0, 0
- bne _081034FA
- ldr r0, _0810351C
- strh r5, [r0, 0x2E]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810351C: .4byte 0x02000000
- thumb_func_end sub_81034F4
-
- thumb_func_start sub_8103520
-sub_8103520: @ 8103520
- push {lr}
- adds r1, r0, 0
- ldrb r0, [r1]
- cmp r0, 0
- bne _0810352E
- movs r0, 0x1
- b _08103538
-_0810352E:
- cmp r0, 0x1
- beq _08103536
- movs r0, 0
- b _0810353C
-_08103536:
- movs r0, 0
-_08103538:
- strb r0, [r1]
- movs r0, 0x1
-_0810353C:
- pop {r1}
- bx r1
- thumb_func_end sub_8103520
-
- thumb_func_start sub_8103540
-sub_8103540: @ 8103540
- push {lr}
- ldr r1, _0810355C
- ldr r0, _08103560
- movs r2, 0x12
- ldrsh r0, [r0, r2]
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .align 2, 0
-_0810355C: .4byte gUnknown_083ECB88
-_08103560: .4byte 0x02000000
- thumb_func_end sub_8103540
-
- thumb_func_start sub_8103564
-sub_8103564: @ 8103564
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- ldr r4, _081035D0
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081035E0
- ldrb r1, [r4, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081035E0
- ldrh r0, [r4, 0x2E]
- movs r1, 0x2
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_8102BF8
- mov r1, sp
- strb r0, [r1]
- mov r0, sp
- bl sub_8103520
- lsls r0, 24
- cmp r0, 0
- beq _081035E0
- movs r5, 0
- mov r7, sp
- movs r0, 0x2
- mov r8, r0
- adds r6, r4, 0
-_081035AA:
- lsls r0, r5, 16
- asrs r4, r0, 16
- mov r0, r8
- subs r1, r0, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_8102BF8
- ldrb r1, [r7]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _081035D4
- movs r0, 0x2
- strh r0, [r6, 0x36]
- strh r5, [r6, 0x30]
- b _081035E0
- .align 2, 0
-_081035D0: .4byte 0x02000000
-_081035D4:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _081035AA
-_081035E0:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8103564
-
- thumb_func_start j5_08111E84
-j5_08111E84: @ 81035EC
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r4, _08103650
- ldrh r2, [r4, 0x34]
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08103660
- ldrb r1, [r4, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08103660
- ldrh r1, [r4, 0x2E]
- subs r1, r2, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_8102BF8
- mov r1, sp
- strb r0, [r1]
- mov r0, sp
- bl sub_8103520
- lsls r0, 24
- cmp r0, 0
- beq _08103660
- movs r6, 0
- mov r7, sp
- adds r5, r4, 0
-_0810362A:
- ldrh r1, [r5, 0x34]
- lsls r0, r6, 16
- asrs r4, r0, 16
- subs r1, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_8102BF8
- ldrb r1, [r7]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _08103654
- ldrh r0, [r5, 0x34]
- strh r0, [r5, 0x36]
- strh r6, [r5, 0x30]
- b _08103660
- .align 2, 0
-_08103650: .4byte 0x02000000
-_08103654:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0810362A
-_08103660:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end j5_08111E84
-
- thumb_func_start sub_8103668
-sub_8103668: @ 8103668
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r4, _0810368C
- ldrh r3, [r4, 0x34]
- movs r0, 0x34
- ldrsh r2, [r4, r0]
- cmp r2, 0
- beq _0810375A
- ldrb r1, [r4, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _0810375A
- cmp r2, 0x2
- bne _081036AE
- bl j5_08111E84
- b _0810375A
- .align 2, 0
-_0810368C: .4byte 0x02000000
-_08103690:
- ldr r0, _0810369C
- movs r1, 0
- strh r6, [r0, 0x36]
- strh r1, [r0, 0x30]
- b _0810375A
- .align 2, 0
-_0810369C: .4byte 0x02000000
-_081036A0:
- movs r0, 0x2
- strh r0, [r5, 0x36]
- adds r0, r4, 0x1
- strh r0, [r5, 0x30]
- b _0810375A
-_081036AA:
- movs r0, 0x3
- b _08103736
-_081036AE:
- ldrh r1, [r4, 0x2E]
- subs r1, r3, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_8102BF8
- mov r1, sp
- strb r0, [r1]
- mov r0, sp
- bl sub_8103520
- lsls r0, 24
- cmp r0, 0
- beq _0810375A
- movs r6, 0x2
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- bne _081036D8
- movs r6, 0x3
-_081036D8:
- movs r5, 0
- mov r7, sp
-_081036DC:
- lsls r0, r6, 16
- asrs r4, r0, 16
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8102BF8
- ldrb r1, [r7]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- beq _08103690
- lsls r1, r5, 16
- movs r0, 0x80
- lsls r0, 9
- adds r1, r0
- subs r0, r4, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- lsrs r5, r1, 16
- asrs r1, 16
- cmp r1, 0x1
- ble _081036DC
- movs r6, 0x1
- mov r7, sp
- ldr r5, _0810373C
-_0810370E:
- ldrh r1, [r5, 0x34]
- lsls r0, r6, 16
- asrs r4, r0, 16
- subs r1, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_8102BF8
- ldrb r1, [r7]
- lsls r0, 24
- lsrs r0, 24
- cmp r1, r0
- bne _0810374E
- movs r1, 0x34
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- bne _08103740
- cmp r4, 0x2
- ble _081036A0
-_08103736:
- strh r0, [r5, 0x36]
- strh r6, [r5, 0x30]
- b _0810375A
- .align 2, 0
-_0810373C: .4byte 0x02000000
-_08103740:
- cmp r4, 0x2
- ble _081036AA
- movs r0, 0x2
- strh r0, [r5, 0x36]
- subs r0, r4, 0x1
- strh r0, [r5, 0x30]
- b _0810375A
-_0810374E:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _0810370E
-_0810375A:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8103668
-
- thumb_func_start sub_8103764
-sub_8103764: @ 8103764
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- adds r2, r1, 0
- cmp r0, 0
- bne _08103778
- cmp r1, 0x1
- beq _08103780
-_08103778:
- cmp r0, 0x1
- bne _08103784
- cmp r2, 0
- bne _08103784
-_08103780:
- movs r0, 0x1
- b _08103786
-_08103784:
- movs r0, 0
-_08103786:
- pop {r1}
- bx r1
- thumb_func_end sub_8103764
-
- thumb_func_start sub_810378C
-sub_810378C: @ 810378C
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- cmp r0, 0
- bne _081037A6
- cmp r1, 0x1
- bne _081037A6
- cmp r2, 0
- beq _081037B2
-_081037A6:
- cmp r0, 0x1
- bne _081037B6
- cmp r1, 0
- bne _081037B6
- cmp r2, 0x1
- bne _081037B6
-_081037B2:
- movs r0, 0x1
- b _081037B8
-_081037B6:
- movs r0, 0
-_081037B8:
- pop {r1}
- bx r1
- thumb_func_end sub_810378C
-
- thumb_func_start sub_81037BC
-sub_81037BC: @ 81037BC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- lsrs r1, 24
- lsls r2, 24
- lsrs r2, 24
- cmp r0, 0
- bne _081037D6
- cmp r1, 0x1
- bne _081037D6
- cmp r2, 0
- beq _08103802
-_081037D6:
- cmp r0, 0x1
- bne _081037E2
- cmp r1, 0
- bne _081037E2
- cmp r2, 0x1
- beq _08103802
-_081037E2:
- cmp r0, 0
- bne _081037EE
- cmp r1, 0
- bne _081037EE
- cmp r2, 0x1
- beq _08103802
-_081037EE:
- cmp r0, 0x1
- bne _081037FA
- cmp r1, 0x1
- bne _081037FA
- cmp r2, 0
- beq _08103802
-_081037FA:
- cmp r0, r1
- bne _08103806
- cmp r0, r2
- bne _08103806
-_08103802:
- movs r0, 0
- b _08103808
-_08103806:
- movs r0, 0x1
-_08103808:
- pop {r1}
- bx r1
- thumb_func_end sub_81037BC
-
- thumb_func_start sub_810380C
-sub_810380C: @ 810380C
- push {lr}
- ldr r1, _08103828
- ldr r0, _0810382C
- movs r2, 0x12
- ldrsh r0, [r0, r2]
- subs r0, 0x1
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- pop {r0}
- bx r0
- .align 2, 0
-_08103828: .4byte gUnknown_083ECB94
-_0810382C: .4byte 0x02000000
- thumb_func_end sub_810380C
-
- thumb_func_start sub_8103830
-sub_8103830: @ 8103830
- push {r4-r7,lr}
- movs r6, 0
- ldr r7, _08103868
- ldrh r1, [r7, 0x2E]
- movs r4, 0x2
- subs r1, r4, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_8102BF8
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r7, 0x30]
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x1
- adds r1, r4, 0
- bl sub_8102BF8
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r5, r1
- bne _081038A0
- movs r4, 0x2
- b _08103876
- .align 2, 0
-_08103868: .4byte 0x02000000
-_0810386C:
- lsls r0, r6, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r6, r0, 16
-_08103876:
- lsls r1, r6, 16
- asrs r1, 16
- subs r1, r4, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_8102BF8
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _0810386C
- cmp r5, 0
- bne _08103896
- cmp r0, 0x1
- beq _0810386C
-_08103896:
- cmp r5, 0x1
- bne _08103900
- cmp r0, 0
- beq _0810386C
- b _08103900
-_081038A0:
- adds r0, r5, 0
- bl sub_8103764
- lsls r0, 24
- cmp r0, 0
- beq _08103900
- ldrb r1, [r7, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081038DC
- movs r7, 0x2
-_081038B8:
- lsls r0, r6, 16
- asrs r4, r0, 16
- subs r1, r7, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_8102BF8
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _08103900
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _081038B8
-_081038DC:
- movs r6, 0
- movs r7, 0x2
- b _081038E8
-_081038E2:
- adds r0, r4, 0x1
- lsls r0, 16
- lsrs r6, r0, 16
-_081038E8:
- lsls r0, r6, 16
- asrs r4, r0, 16
- subs r1, r7, r4
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_8102BF8
- lsls r0, 24
- lsrs r0, 24
- cmp r5, r0
- beq _081038E2
-_08103900:
- ldr r0, _0810390C
- strh r6, [r0, 0x32]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810390C: .4byte 0x02000000
- thumb_func_end sub_8103830
-
- thumb_func_start sub_8103910
-sub_8103910: @ 8103910
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x4
- movs r0, 0
- str r0, [sp]
- ldr r4, _08103978
- movs r2, 0x36
- ldrsh r1, [r4, r2]
- cmp r1, 0
- beq _081039A6
- ldrh r2, [r4, 0x34]
- movs r3, 0x34
- ldrsh r0, [r4, r3]
- cmp r0, r1
- bne _081039A6
- ldrb r1, [r4, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _081039A6
- ldrh r1, [r4, 0x2E]
- subs r1, r2, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_8102BF8
- lsls r0, 24
- lsrs r7, r0, 24
- ldrh r1, [r4, 0x36]
- ldrh r0, [r4, 0x30]
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_8102BF8
- lsls r0, 24
- lsrs r6, r0, 24
- adds r0, r7, 0
- adds r1, r6, 0
- bl sub_8103764
- lsls r0, 24
- cmp r0, 0
- beq _081039A6
- movs r5, 0
- b _08103982
- .align 2, 0
-_08103978: .4byte 0x02000000
-_0810397C:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r5, r0, 16
-_08103982:
- lsls r6, r5, 16
- asrs r5, r6, 16
- cmp r5, 0x4
- bgt _081039A6
- ldr r0, _08103A34
- ldrh r1, [r0, 0x36]
- subs r1, r5
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_8102BF8
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r7, r4
- bne _0810397C
- lsrs r6, 16
- str r6, [sp]
-_081039A6:
- ldr r0, _08103A34
- mov r9, r0
-_081039AA:
- movs r5, 0x1
- movs r1, 0
- mov r8, r1
- ldr r2, [sp]
- lsls r2, 16
- mov r10, r2
-_081039B6:
- mov r3, r9
- ldrh r1, [r3, 0x2E]
- lsls r5, 16
- asrs r4, r5, 16
- subs r1, r4, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_8102BF8
- lsls r0, 24
- lsrs r7, r0, 24
- mov r0, r9
- ldrh r1, [r0, 0x30]
- subs r1, r4, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_8102BF8
- lsls r0, 24
- lsrs r6, r0, 24
- mov r1, r10
- asrs r0, r1, 16
- subs r4, r0
- lsls r4, 16
- asrs r4, 16
- movs r0, 0x2
- adds r1, r4, 0
- bl sub_8102BF8
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_81037BC
- lsls r0, 24
- cmp r0, 0
- bne _08103A38
- adds r0, r7, 0
- adds r1, r6, 0
- adds r2, r4, 0
- bl sub_810378C
- lsls r0, 24
- cmp r0, 0
- beq _08103A24
- mov r2, r9
- ldrb r1, [r2, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08103A38
-_08103A24:
- mov r3, r8
- lsls r0, r3, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r0, 16
- mov r8, r0
- b _08103A46
- .align 2, 0
-_08103A34: .4byte 0x02000000
-_08103A38:
- movs r2, 0x80
- lsls r2, 9
- adds r0, r5, r2
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _081039B6
-_08103A46:
- mov r3, r8
- cmp r3, 0
- beq _08103A5C
- ldr r1, [sp]
- lsls r0, r1, 16
- movs r2, 0x80
- lsls r2, 9
- adds r0, r2
- lsrs r0, 16
- str r0, [sp]
- b _081039AA
-_08103A5C:
- ldr r0, _08103A74
- mov r3, sp
- ldrh r3, [r3]
- strh r3, [r0, 0x32]
- 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
-_08103A74: .4byte 0x02000000
- thumb_func_end sub_8103910
-
- thumb_func_start sub_8103A78
-sub_8103A78: @ 8103A78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- bl sub_8103910
- ldr r4, _08103B10
- movs r0, 0x36
- ldrsh r1, [r4, r0]
- cmp r1, 0
- beq _08103B20
- ldrh r2, [r4, 0x34]
- movs r3, 0x34
- ldrsh r0, [r4, r3]
- cmp r0, r1
- beq _08103B20
- ldrb r1, [r4, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08103B20
- ldrh r1, [r4, 0x2E]
- subs r1, r2, r1
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_8102BF8
- lsls r0, 24
- lsrs r6, r0, 24
- ldrh r1, [r4, 0x36]
- ldrh r0, [r4, 0x30]
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_8102BF8
- lsls r0, 24
- lsrs r5, r0, 24
- adds r0, r6, 0
- adds r1, r5, 0
- bl sub_8103764
- lsls r0, 24
- cmp r0, 0
- beq _08103B20
- movs r1, 0x1
- movs r2, 0x34
- ldrsh r0, [r4, r2]
- cmp r0, 0x1
- bne _08103AE0
- movs r1, 0x3
-_08103AE0:
- movs r3, 0
- lsls r1, 16
- mov r8, r1
- adds r7, r4, 0
-_08103AE8:
- ldrh r2, [r7, 0x32]
- lsls r0, r3, 16
- asrs r5, r0, 16
- adds r2, r5, r2
- mov r3, r8
- asrs r1, r3, 16
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_8102BF8
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r6, r4
- bne _08103B14
- ldrh r0, [r7, 0x32]
- adds r0, r5, r0
- strh r0, [r7, 0x32]
- b _08103B20
- .align 2, 0
-_08103B10: .4byte 0x02000000
-_08103B14:
- adds r0, r5, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- asrs r0, 16
- cmp r0, 0x4
- ble _08103AE8
-_08103B20:
- ldr r7, _08103B90
-_08103B22:
- ldrh r0, [r7, 0x2E]
- movs r1, 0x1
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_8102BF8
- lsls r0, 24
- lsrs r6, r0, 24
- ldrh r0, [r7, 0x30]
- movs r1, 0x2
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_8102BF8
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r7, 0x32]
- movs r1, 0x3
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_8102BF8
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_81037BC
- lsls r0, 24
- cmp r0, 0
- bne _08103B94
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_810378C
- lsls r0, 24
- cmp r0, 0
- beq _08103B88
- ldrb r1, [r7, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08103B94
-_08103B88:
- ldrh r0, [r7, 0x32]
- adds r0, 0x1
- strh r0, [r7, 0x32]
- b _08103B22
- .align 2, 0
-_08103B90: .4byte 0x02000000
-_08103B94:
- ldr r7, _08103C04
-_08103B96:
- ldrh r0, [r7, 0x2E]
- movs r1, 0x3
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0
- bl sub_8102BF8
- lsls r0, 24
- lsrs r6, r0, 24
- ldrh r0, [r7, 0x30]
- movs r1, 0x2
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x1
- bl sub_8102BF8
- lsls r0, 24
- lsrs r5, r0, 24
- ldrh r0, [r7, 0x32]
- movs r1, 0x1
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- movs r0, 0x2
- bl sub_8102BF8
- lsls r0, 24
- lsrs r4, r0, 24
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_81037BC
- lsls r0, 24
- cmp r0, 0
- bne _08103C08
- adds r0, r6, 0
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_810378C
- lsls r0, 24
- cmp r0, 0
- beq _08103BFC
- ldrb r1, [r7, 0x4]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08103C08
-_08103BFC:
- ldrh r0, [r7, 0x32]
- adds r0, 0x1
- strh r0, [r7, 0x32]
- b _08103B96
- .align 2, 0
-_08103C04: .4byte 0x02000000
-_08103C08:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8103A78
-
- thumb_func_start sub_8103C14
-sub_8103C14: @ 8103C14
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _08103C40
- adds r0, r5, 0
- movs r1, 0x5
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08103C44
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0x26]
- bl _call_via_r5
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08103C40: .4byte sub_8103C48
-_08103C44: .4byte gTasks
- thumb_func_end sub_8103C14
-
- thumb_func_start sub_8103C48
-sub_8103C48: @ 8103C48
- push {r4,lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08103C70
- ldr r2, _08103C74
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r4, 0x8
- ldrsh r2, [r0, r4]
- lsls r2, 2
- adds r2, r3
- ldr r2, [r2]
- bl _call_via_r2
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08103C70: .4byte gUnknown_083ECBA0
-_08103C74: .4byte gTasks
- thumb_func_end sub_8103C48
-
- thumb_func_start sub_8103C78
-sub_8103C78: @ 8103C78
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r1, _08103CA8
- movs r2, 0x26
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x73
- str r1, [sp]
- movs r1, 0x62
- movs r2, 0x63
- movs r3, 0x72
- bl sub_81065A8
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08103CA8: .4byte gUnknown_083ECBAC
- thumb_func_end sub_8103C78
-
- thumb_func_start sub_8103CAC
-sub_8103CAC: @ 8103CAC
- push {lr}
- adds r1, r0, 0
- ldrh r0, [r1, 0xA]
- adds r0, 0x1
- strh r0, [r1, 0xA]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xB
- ble _08103CC4
- ldrh r0, [r1, 0x8]
- adds r0, 0x1
- strh r0, [r1, 0x8]
-_08103CC4:
- pop {r0}
- bx r0
- thumb_func_end sub_8103CAC
-
- thumb_func_start sub_8103CC8
-sub_8103CC8: @ 8103CC8
- push {r4,lr}
- sub sp, 0x4
- lsls r4, r1, 24
- lsrs r4, 24
- ldr r1, _08103CFC
- movs r2, 0x26
- ldrsh r0, [r0, r2]
- lsls r0, 1
- adds r0, r1
- movs r1, 0
- ldrsh r0, [r0, r1]
- movs r1, 0x53
- str r1, [sp]
- movs r1, 0x42
- movs r2, 0x43
- movs r3, 0x52
- bl sub_81065A8
- adds r0, r4, 0
- bl DestroyTask
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08103CFC: .4byte gUnknown_083ECBAC
- thumb_func_end sub_8103CC8
-
- thumb_func_start sub_8103D00
-sub_8103D00: @ 8103D00
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08103D20
- lsls r1, r0, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r1, _08103D24
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- movs r2, 0x2
- bl LoadPalette
- pop {r0}
- bx r0
- .align 2, 0
-_08103D20: .4byte gUnknown_083EDD08
-_08103D24: .4byte gUnknown_083EDD30
- thumb_func_end sub_8103D00
-
- thumb_func_start sub_8103D28
-sub_8103D28: @ 8103D28
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08103D48
- lsls r1, r0, 2
- adds r1, r2
- ldr r2, [r1]
- ldr r1, _08103D4C
- adds r0, r1
- ldrb r1, [r0]
- adds r0, r2, 0
- movs r2, 0x2
- bl LoadPalette
- pop {r0}
- bx r0
- .align 2, 0
-_08103D48: .4byte gUnknown_083EDD1C
-_08103D4C: .4byte gUnknown_083EDD30
- thumb_func_end sub_8103D28
-
- thumb_func_start sub_8103D50
-sub_8103D50: @ 8103D50
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r4, 0
- ldr r0, _08103D84
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08103D7C
- ldr r7, _08103D88
- adds r6, r0, 0
- lsls r5, r1, 1
-_08103D68:
- adds r0, r4, r5
- adds r0, r7
- ldrb r0, [r0]
- bl sub_8103D00
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _08103D68
-_08103D7C:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08103D84: .4byte gUnknown_083EDD3B
-_08103D88: .4byte gUnknown_083EDD35
- thumb_func_end sub_8103D50
-
- thumb_func_start sub_8103D8C
-sub_8103D8C: @ 8103D8C
- push {r4-r7,lr}
- lsls r0, 24
- lsrs r1, r0, 24
- movs r4, 0
- ldr r0, _08103DC0
- adds r0, r1, r0
- ldrb r0, [r0]
- cmp r4, r0
- bcs _08103DB8
- ldr r7, _08103DC4
- adds r6, r0, 0
- lsls r5, r1, 1
-_08103DA4:
- adds r0, r4, r5
- adds r0, r7
- ldrb r0, [r0]
- bl sub_8103D28
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, r6
- bcc _08103DA4
-_08103DB8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08103DC0: .4byte gUnknown_083EDD3B
-_08103DC4: .4byte gUnknown_083EDD35
- thumb_func_end sub_8103D8C
-
- thumb_func_start sub_8103DC8
-sub_8103DC8: @ 8103DC8
- push {r4-r6,lr}
- movs r4, 0
- ldr r6, _08103DF8
- ldr r5, _08103DFC
-_08103DD0:
- ldr r0, _08103E00
- bl CreateInvisibleSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- strh r4, [r1, 0x2E]
- adds r1, r4, r5
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _08103DD0
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08103DF8: .4byte gSprites
-_08103DFC: .4byte 0x02000044
-_08103E00: .4byte sub_8103EE4
- thumb_func_end sub_8103DC8
-
- thumb_func_start sub_8103E04
-sub_8103E04: @ 8103E04
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08103E30
- adds r1, 0x44
- adds r0, r1
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08103E34
- adds r0, r1
- movs r2, 0
- movs r1, 0x1
- strh r1, [r0, 0x30]
- movs r1, 0x4
- strh r1, [r0, 0x32]
- strh r2, [r0, 0x34]
- strh r2, [r0, 0x36]
- movs r1, 0x2
- strh r1, [r0, 0x38]
- strh r2, [r0, 0x3C]
- bx lr
- .align 2, 0
-_08103E30: .4byte 0x02000000
-_08103E34: .4byte gSprites
- thumb_func_end sub_8103E04
-
- thumb_func_start sub_8103E38
-sub_8103E38: @ 8103E38
- push {r4,r5,lr}
- movs r2, 0
- ldr r4, _08103E60
- ldr r3, _08103E64
-_08103E40:
- adds r0, r2, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r1, r0, r3
- movs r5, 0x30
- ldrsh r0, [r1, r5]
- cmp r0, 0
- beq _08103E68
- movs r5, 0x32
- ldrsh r0, [r1, r5]
- cmp r0, 0
- beq _08103E68
- movs r0, 0
- b _08103E74
- .align 2, 0
-_08103E60: .4byte 0x02000044
-_08103E64: .4byte gSprites
-_08103E68:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0x4
- bls _08103E40
- movs r0, 0x1
-_08103E74:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8103E38
-
- thumb_func_start sub_8103E7C
-sub_8103E7C: @ 8103E7C
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _08103E94
-_08103E82:
- adds r0, r4, r5
- ldrb r0, [r0]
- bl sub_8103EAC
- lsls r0, 24
- cmp r0, 0
- bne _08103E98
- movs r0, 0
- b _08103EA4
- .align 2, 0
-_08103E94: .4byte 0x02000044
-_08103E98:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x4
- bls _08103E82
- movs r0, 0x1
-_08103EA4:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8103E7C
-
- thumb_func_start sub_8103EAC
-sub_8103EAC: @ 8103EAC
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08103EC8
- adds r1, r0
- movs r2, 0x30
- ldrsh r0, [r1, r2]
- cmp r0, 0
- bne _08103ECC
- movs r0, 0x1
- b _08103EDE
- .align 2, 0
-_08103EC8: .4byte gSprites
-_08103ECC:
- ldrh r2, [r1, 0x3C]
- movs r3, 0x3C
- ldrsh r0, [r1, r3]
- cmp r0, 0
- beq _08103EDA
- movs r0, 0
- strh r0, [r1, 0x30]
-_08103EDA:
- lsls r0, r2, 24
- lsrs r0, 24
-_08103EDE:
- pop {r1}
- bx r1
- thumb_func_end sub_8103EAC
-
- thumb_func_start sub_8103EE4
-sub_8103EE4: @ 8103EE4
- push {r4-r7,lr}
- adds r2, r0, 0
- movs r1, 0x30
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _08103F66
- ldrh r0, [r2, 0x34]
- subs r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08103F4E
- movs r0, 0
- strh r0, [r2, 0x3C]
- movs r6, 0x1
- strh r6, [r2, 0x34]
- ldrh r1, [r2, 0x38]
- ldrh r3, [r2, 0x36]
- adds r0, r1, r3
- strh r0, [r2, 0x36]
- movs r4, 0x4
- ldrh r5, [r2, 0x32]
- movs r7, 0x32
- ldrsh r3, [r2, r7]
- cmp r3, 0
- beq _08103F20
- movs r4, 0x8
-_08103F20:
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- bgt _08103F38
- strh r6, [r2, 0x3C]
- negs r0, r1
- strh r0, [r2, 0x38]
- cmp r3, 0
- beq _08103F4E
- subs r0, r5, 0x1
- strh r0, [r2, 0x32]
- b _08103F40
-_08103F38:
- cmp r0, r4
- blt _08103F40
- negs r0, r1
- strh r0, [r2, 0x38]
-_08103F40:
- movs r1, 0x32
- ldrsh r0, [r2, r1]
- cmp r0, 0
- beq _08103F4E
- ldrh r0, [r2, 0x34]
- lsls r0, 1
- strh r0, [r2, 0x34]
-_08103F4E:
- ldr r1, _08103F6C
- movs r3, 0x2E
- ldrsh r0, [r2, r3]
- adds r0, r1
- ldrb r0, [r0]
- ldrh r3, [r2, 0x36]
- lsls r3, 24
- lsrs r3, 24
- adds r1, r3, 0
- adds r2, r3, 0
- bl sub_8085D08
-_08103F66:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08103F6C: .4byte gUnknown_083EDD30
- thumb_func_end sub_8103EE4
-
- thumb_func_start sub_8103F70
-sub_8103F70: @ 8103F70
- push {r4,lr}
- ldr r4, _08103F98
- adds r0, r4, 0
- movs r1, 0x6
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08103F9C
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- movs r2, 0x1
- strh r2, [r1, 0xE]
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08103F98: .4byte sub_8103FE8
-_08103F9C: .4byte gTasks
- thumb_func_end sub_8103F70
-
- thumb_func_start sub_8103FA0
-sub_8103FA0: @ 8103FA0
- push {lr}
- ldr r0, _08103FC4
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r2, r0, 24
- ldr r1, _08103FC8
- lsls r0, r2, 2
- adds r0, r2
- lsls r0, 3
- adds r0, r1
- movs r1, 0xC
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _08103FCC
- movs r0, 0
- b _08103FE0
- .align 2, 0
-_08103FC4: .4byte sub_8103FE8
-_08103FC8: .4byte gTasks
-_08103FCC:
- adds r0, r2, 0
- bl DestroyTask
- ldr r0, _08103FE4
- ldr r0, [r0]
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- movs r0, 0x1
-_08103FE0:
- pop {r1}
- bx r1
- .align 2, 0
-_08103FE4: .4byte gUnknown_083EDDAC
- thumb_func_end sub_8103FA0
-
- thumb_func_start sub_8103FE8
-sub_8103FE8: @ 8103FE8
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- ldr r0, _08104040
- adds r2, r1, r0
- ldrh r0, [r2, 0xA]
- subs r0, 0x1
- strh r0, [r2, 0xA]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08104026
- movs r0, 0x4
- strh r0, [r2, 0xA]
- ldrh r1, [r2, 0xE]
- ldrh r3, [r2, 0xC]
- adds r0, r1, r3
- strh r0, [r2, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0
- beq _08104022
- cmp r0, 0x2
- bne _08104026
-_08104022:
- negs r0, r1
- strh r0, [r2, 0xE]
-_08104026:
- ldr r0, _08104044
- movs r3, 0xC
- ldrsh r1, [r2, r3]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- movs r1, 0x10
- movs r2, 0x20
- bl LoadPalette
- pop {r0}
- bx r0
- .align 2, 0
-_08104040: .4byte gTasks
-_08104044: .4byte gUnknown_083EDDA0
- thumb_func_end sub_8103FE8
-
- thumb_func_start sub_8104048
-sub_8104048: @ 8104048
- push {lr}
- ldr r0, _0810405C
- movs r1, 0x8
- bl CreateTask
- ldr r1, _08104060
- adds r1, 0x3E
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_0810405C: .4byte sub_81040E8
-_08104060: .4byte 0x02000000
- thumb_func_end sub_8104048
-
- thumb_func_start sub_8104064
-sub_8104064: @ 8104064
- push {r4,lr}
- ldr r0, _08104090
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _08104094
- adds r4, r0
- adds r0, r4, 0
- bl sub_810421C
- movs r1, 0x1
- strh r1, [r4, 0x8]
- ldrh r0, [r4, 0xA]
- adds r0, 0x1
- strh r0, [r4, 0xA]
- strh r1, [r4, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08104090: .4byte 0x02000000
-_08104094: .4byte gTasks
- thumb_func_end sub_8104064
-
- thumb_func_start sub_8104098
-sub_8104098: @ 8104098
- push {r4,lr}
- ldr r0, _081040C0
- adds r0, 0x3E
- ldrb r0, [r0]
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 3
- ldr r0, _081040C4
- adds r4, r0
- adds r0, r4, 0
- bl sub_810421C
- movs r0, 0x3
- strh r0, [r4, 0x8]
- movs r0, 0x1
- strh r0, [r4, 0x26]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081040C0: .4byte 0x02000000
-_081040C4: .4byte gTasks
- thumb_func_end sub_8104098
-
- thumb_func_start sub_81040C8
-sub_81040C8: @ 81040C8
- ldr r2, _081040E0
- ldr r0, _081040E4
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- ldrh r0, [r0, 0x26]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .align 2, 0
-_081040E0: .4byte gTasks
-_081040E4: .4byte 0x02000000
- thumb_func_end sub_81040C8
-
- thumb_func_start sub_81040E8
-sub_81040E8: @ 81040E8
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08104110
- ldr r2, _08104114
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08104110: .4byte gUnknown_083ECBB4
-_08104114: .4byte gTasks
- thumb_func_end sub_81040E8
-
- thumb_func_start nullsub_68
-nullsub_68: @ 8104118
- bx lr
- thumb_func_end nullsub_68
-
- thumb_func_start sub_810411C
-sub_810411C: @ 810411C
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0xA]
- lsls r0, 19
- movs r1, 0xA0
- lsls r1, 13
- adds r0, r1
- asrs r0, 16
- movs r1, 0x14
- bl sub_8105B1C
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4, 0xC]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810411C
-
- thumb_func_start sub_8104144
-sub_8104144: @ 8104144
- push {r4,lr}
- adds r4, r0, 0
- ldr r2, _08104174
- movs r0, 0xC
- ldrsh r1, [r4, r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- movs r1, 0x3C
- ldrsh r0, [r0, r1]
- cmp r0, 0
- beq _0810419E
- ldrh r1, [r4, 0xA]
- adds r0, r1, 0x2
- lsls r0, 16
- lsrs r2, r0, 16
- movs r0, 0
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x1
- bne _08104178
- movs r0, 0x1
- b _0810417E
- .align 2, 0
-_08104174: .4byte gSprites
-_08104178:
- cmp r1, 0x10
- bne _0810417E
- movs r0, 0x2
-_0810417E:
- lsls r1, r2, 16
- asrs r1, 15
- ldr r2, _081041A4
- adds r1, r2
- adds r1, 0x80
- ldr r2, _081041A8
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0]
- strh r0, [r1]
- ldrb r0, [r4, 0xC]
- bl sub_8105B88
- movs r0, 0
- strh r0, [r4, 0x8]
- strh r0, [r4, 0x26]
-_0810419E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081041A4: .4byte 0x0600e800
-_081041A8: .4byte gUnknown_083ECBC4
- thumb_func_end sub_8104144
-
- thumb_func_start sub_81041AC
-sub_81041AC: @ 81041AC
- push {r4,lr}
- adds r3, r0, 0
- ldrh r1, [r3, 0xA]
- adds r0, r1, 0x2
- lsls r0, 16
- lsrs r4, r0, 16
- movs r2, 0
- lsls r1, 16
- asrs r1, 16
- cmp r1, 0x1
- bne _081041C6
- movs r2, 0x1
- b _081041CC
-_081041C6:
- cmp r1, 0x10
- bne _081041CC
- movs r2, 0x2
-_081041CC:
- movs r1, 0xC
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _081041F0
- lsls r0, r4, 16
- asrs r0, 15
- ldr r1, _08104214
- adds r0, r1
- adds r0, 0x80
- ldr r1, _08104218
- lsls r2, 2
- adds r1, 0x2
- adds r2, r1
- ldrh r1, [r2]
- strh r1, [r0]
- ldrh r0, [r3, 0xA]
- subs r0, 0x1
- strh r0, [r3, 0xA]
-_081041F0:
- ldrh r0, [r3, 0xC]
- adds r0, 0x1
- strh r0, [r3, 0xC]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _08104202
- movs r0, 0
- strh r0, [r3, 0xC]
-_08104202:
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _0810420E
- strh r0, [r3, 0x8]
- strh r0, [r3, 0x26]
-_0810420E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08104214: .4byte 0x0600e800
-_08104218: .4byte gUnknown_083ECBC4
- thumb_func_end sub_81041AC
-
- thumb_func_start sub_810421C
-sub_810421C: @ 810421C
- push {lr}
- movs r1, 0x2
- adds r2, r0, 0
- adds r2, 0x8
- movs r3, 0
-_08104226:
- lsls r0, r1, 1
- adds r0, r2, r0
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _08104226
- pop {r0}
- bx r0
- thumb_func_end sub_810421C
-
- thumb_func_start sub_810423C
-sub_810423C: @ 810423C
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- lsls r0, 24
- lsrs r5, r0, 24
- movs r2, 0x3
- ldr r6, _08104268
- movs r4, 0
- ldr r0, _0810426C
- mov r8, r0
- ldr r1, _08104270
- mov r12, r1
- cmp r4, r5
- bge _081042A6
- ldr r7, _08104274
-_0810425A:
- movs r3, 0
- lsls r0, r4, 16
- asrs r0, 16
- cmp r0, 0
- bne _08104278
- movs r3, 0x1
- b _0810427E
- .align 2, 0
-_08104268: .4byte 0x0600e800
-_0810426C: .4byte gTasks
-_08104270: .4byte 0x02000000
-_08104274: .4byte gUnknown_083ECBC4
-_08104278:
- cmp r0, 0xF
- bne _0810427E
- movs r3, 0x2
-_0810427E:
- lsls r2, 16
- asrs r2, 16
- lsls r1, r2, 1
- adds r1, r6
- adds r1, 0x80
- lsls r0, r3, 2
- adds r0, r7
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r0, r4, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- adds r2, 0x1
- lsls r2, 16
- lsrs r2, 16
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, r5
- blt _0810425A
-_081042A6:
- lsls r1, r4, 16
- asrs r0, r1, 16
- cmp r0, 0xF
- bgt _081042F0
- ldr r7, _081042BC
-_081042B0:
- movs r3, 0
- asrs r0, r1, 16
- cmp r0, 0
- bne _081042C0
- movs r3, 0x1
- b _081042C6
- .align 2, 0
-_081042BC: .4byte gUnknown_083ECBC4 + 0x2
-_081042C0:
- cmp r0, 0xF
- bne _081042C6
- movs r3, 0x2
-_081042C6:
- lsls r2, 16
- asrs r2, 16
- lsls r1, r2, 1
- adds r1, r6
- adds r1, 0x80
- lsls r0, r3, 2
- adds r0, r7
- ldrh r0, [r0]
- strh r0, [r1]
- lsls r0, r4, 16
- movs r1, 0x80
- lsls r1, 9
- adds r0, r1
- lsrs r4, r0, 16
- adds r2, 0x1
- lsls r2, 16
- lsrs r2, 16
- lsls r1, r4, 16
- asrs r0, r1, 16
- cmp r0, 0xF
- ble _081042B0
-_081042F0:
- mov r0, r12
- adds r0, 0x3E
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- add r0, r8
- strh r5, [r0, 0xA]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_810423C
-
- thumb_func_start sub_810430C
-sub_810430C: @ 810430C
- push {r4,lr}
- ldr r4, _08104328
- adds r0, r4, 0
- movs r1, 0x7
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl _call_via_r4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08104328: .4byte sub_810434C
- thumb_func_end sub_810430C
-
- thumb_func_start sub_810432C
-sub_810432C: @ 810432C
- push {lr}
- ldr r0, _08104340
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08104344
- movs r0, 0
- b _08104346
- .align 2, 0
-_08104340: .4byte sub_810434C
-_08104344:
- movs r0, 0x1
-_08104346:
- pop {r1}
- bx r1
- thumb_func_end sub_810432C
-
- thumb_func_start sub_810434C
-sub_810434C: @ 810434C
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08104374
- ldr r2, _08104378
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08104374: .4byte gUnknown_083ECBD0
-_08104378: .4byte gTasks
- thumb_func_end sub_810434C
-
- thumb_func_start sub_810437C
-sub_810437C: @ 810437C
- push {lr}
- ldr r1, _081043DC
- movs r2, 0
- strb r2, [r1, 0xA]
- strh r2, [r1, 0x14]
- strh r2, [r1, 0x16]
- ldrh r1, [r0, 0x8]
- adds r1, 0x1
- strh r1, [r0, 0x8]
- strh r2, [r0, 0xA]
- movs r1, 0x1E
- strh r1, [r0, 0xC]
- movs r1, 0xA0
- lsls r1, 3
- strh r1, [r0, 0x10]
- ldr r0, _081043E0
- strh r2, [r0]
- ldr r0, _081043E4
- strh r2, [r0]
- ldr r0, _081043E8
- strh r2, [r0]
- adds r0, 0x2
- strh r2, [r0]
- movs r0, 0x1E
- movs r1, 0
- bl sub_8104A40
- bl sub_81051C0
- bl sub_8105100
- bl sub_81052EC
- bl sub_81053A0
- bl sub_810545C
- bl sub_8102680
- bl StopMapMusic
- movs r0, 0xC4
- lsls r0, 1
- bl PlayNewMapMusic
- pop {r0}
- bx r0
- .align 2, 0
-_081043DC: .4byte 0x02000000
-_081043E0: .4byte gSpriteCoordOffsetX
-_081043E4: .4byte gSpriteCoordOffsetY
-_081043E8: .4byte REG_BG1HOFS
- thumb_func_end sub_810437C
-
- thumb_func_start sub_81043EC
-sub_81043EC: @ 81043EC
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _0810445C
- ldrh r0, [r1]
- subs r0, 0x8
- strh r0, [r1]
- ldrh r2, [r4, 0xA]
- adds r2, 0x8
- strh r2, [r4, 0xA]
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- adds r0, 0xF0
- movs r1, 0xFF
- ands r0, r1
- lsrs r3, r0, 3
- ldr r1, _08104460
- ldr r0, _08104464
- ands r2, r0
- strh r2, [r1]
- adds r2, r3, 0
- movs r1, 0xC
- ldrsh r0, [r4, r1]
- cmp r2, r0
- beq _08104438
- movs r1, 0xE
- ldrsh r0, [r4, r1]
- cmp r0, 0x12
- bgt _08104438
- strh r3, [r4, 0xC]
- ldrh r0, [r4, 0xA]
- lsls r0, 16
- asrs r0, 19
- strh r0, [r4, 0xE]
- movs r0, 0xE
- ldrsh r1, [r4, r0]
- adds r0, r2, 0
- bl sub_8104A40
-_08104438:
- movs r1, 0xA
- ldrsh r0, [r4, r1]
- cmp r0, 0xC7
- ble _0810444A
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x8]
- strh r1, [r4, 0xE]
-_0810444A:
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_8102D28
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810445C: .4byte gSpriteCoordOffsetX
-_08104460: .4byte REG_BG1HOFS
-_08104464: .4byte 0x000001ff
- thumb_func_end sub_81043EC
-
- thumb_func_start sub_8104468
-sub_8104468: @ 8104468
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_8102D28
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3B
- ble _08104492
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- bl sub_8105578
- bl sub_81056F0
-_08104492:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8104468
-
- thumb_func_start sub_8104498
-sub_8104498: @ 8104498
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x14
- adds r7, r0, 0
- ldr r1, _08104534
- mov r0, sp
- movs r2, 0x4
- bl memcpy
- add r0, sp, 0x4
- mov r8, r0
- ldr r1, _08104538
- movs r2, 0x8
- bl memcpy
- add r6, sp, 0xC
- ldr r1, _0810453C
- adds r0, r6, 0
- movs r2, 0x8
- bl memcpy
- ldrh r0, [r7, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_8102D28
- ldrh r0, [r7, 0x10]
- subs r0, 0x4
- strh r0, [r7, 0x10]
- lsls r0, 16
- asrs r0, 24
- movs r5, 0x4
- subs r5, r0
- lsls r4, r5, 1
- add r8, r4
- mov r1, r8
- movs r2, 0
- ldrsh r0, [r1, r2]
- bl sub_8105688
- adds r6, r4
- movs r1, 0
- ldrsh r0, [r6, r1]
- bl sub_81057E8
- ldr r0, _08104540
- adds r0, 0x3F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08104544
- adds r0, r1
- mov r2, sp
- adds r1, r2, r5
- ldrb r1, [r1]
- bl StartSpriteAnimIfDifferent
- movs r1, 0x10
- ldrsh r0, [r7, r1]
- movs r1, 0x80
- lsls r1, 1
- cmp r0, r1
- bgt _08104526
- ldrh r0, [r7, 0x8]
- adds r0, 0x1
- strh r0, [r7, 0x8]
- strh r1, [r7, 0x10]
- movs r0, 0
- strh r0, [r7, 0x12]
-_08104526:
- add sp, 0x14
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08104534: .4byte gUnknown_083ECC1C
-_08104538: .4byte gUnknown_083ECC20
-_0810453C: .4byte gUnknown_083ECC28
-_08104540: .4byte 0x02000000
-_08104544: .4byte gSprites
- thumb_func_end sub_8104498
-
- thumb_func_start sub_8104548
-sub_8104548: @ 8104548
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_8102D28
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4F
- ble _0810458A
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0x12]
- movs r0, 0x2
- bl sub_81057E8
- ldr r0, _08104590
- adds r0, 0x3F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08104594
- adds r0, r1
- movs r1, 0x3
- bl StartSpriteAnimIfDifferent
-_0810458A:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08104590: .4byte 0x02000000
-_08104594: .4byte gSprites
- thumb_func_end sub_8104548
-
- thumb_func_start sub_8104598
-sub_8104598: @ 8104598
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_8102D28
- ldrb r0, [r4, 0x10]
- adds r0, 0x80
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x4F
- ble _081045C4
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- movs r0, 0
- strh r0, [r4, 0x12]
-_081045C4:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8104598
-
- thumb_func_start sub_81045CC
-sub_81045CC: @ 81045CC
- push {r4,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_8102D28
- ldrb r0, [r4, 0x10]
- adds r0, 0x40
- strh r0, [r4, 0x10]
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x27
- ble _08104634
- movs r0, 0
- strh r0, [r4, 0x12]
- ldr r1, _0810460C
- ldrb r0, [r1, 0x5]
- cmp r0, 0
- beq _08104610
- ldrb r1, [r1, 0xA]
- movs r2, 0x14
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bgt _0810462E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- b _0810462C
- .align 2, 0
-_0810460C: .4byte 0x02000000
-_08104610:
- movs r1, 0x14
- ldrsh r0, [r4, r1]
- cmp r0, 0x3
- ble _0810461E
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- b _0810462C
-_0810461E:
- ldrh r0, [r4, 0x14]
- bl sub_81026DC
- lsls r0, 24
- cmp r0, 0
- beq _0810462E
- movs r0, 0xE
-_0810462C:
- strh r0, [r4, 0x8]
-_0810462E:
- ldrh r0, [r4, 0x14]
- adds r0, 0x1
- strh r0, [r4, 0x14]
-_08104634:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81045CC
-
- thumb_func_start sub_810463C
-sub_810463C: @ 810463C
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r6, _08104660
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- movs r1, 0x14
- bl __modsi3
- lsls r0, 16
- lsrs r5, r0, 16
- cmp r0, 0
- beq _08104664
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_8102D5C
- b _08104688
- .align 2, 0
-_08104660: .4byte 0x02000000
-_08104664:
- movs r0, 0x1
- bl sub_8102C48
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r6, 0x5]
- cmp r0, r1
- beq _08104692
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 24
- bl sub_8102D28
- movs r1, 0x14
- ldrsh r0, [r6, r1]
- movs r1, 0x14
- bl __modsi3
-_08104688:
- lsls r0, 16
- lsrs r5, r0, 16
- ldrb r0, [r4, 0x10]
- adds r0, 0x40
- strh r0, [r4, 0x10]
-_08104692:
- lsls r0, r5, 16
- asrs r5, r0, 16
- cmp r5, 0
- bne _081046B4
- movs r0, 0x1
- bl sub_8102C48
- ldr r1, _081046BC
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r1, 0x5]
- cmp r0, r1
- bne _081046B4
- strh r5, [r4, 0x10]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_081046B4:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081046BC: .4byte 0x02000000
- thumb_func_end sub_810463C
-
- thumb_func_start sub_81046C0
-sub_81046C0: @ 81046C0
- push {r4-r7,lr}
- adds r4, r0, 0
- ldrh r0, [r4, 0x10]
- adds r0, 0x1
- movs r7, 0
- strh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3B
- ble _08104758
- bl StopMapMusic
- bl sub_81056C0
- bl sub_8105804
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- ldr r5, _08104710
- ldrb r0, [r5, 0x5]
- cmp r0, 0
- bne _0810471C
- movs r0, 0xA0
- strh r0, [r4, 0x10]
- adds r0, r5, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08104714
- adds r0, r1
- movs r1, 0x5
- bl StartSpriteAnimIfDifferent
- ldr r0, _08104718
- bl PlayFanfare
- b _08104758
- .align 2, 0
-_08104710: .4byte 0x02000000
-_08104714: .4byte gSprites
-_08104718: .4byte 0x00000187
-_0810471C:
- movs r0, 0xC0
- strh r0, [r4, 0x10]
- adds r6, r5, 0
- adds r6, 0x3F
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r4, _08104760
- adds r0, r4
- movs r1, 0x4
- bl StartSpriteAnimIfDifferent
- ldrb r1, [r6]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r4
- adds r0, 0x2B
- strb r7, [r0]
- ldrb r0, [r5, 0x2]
- cmp r0, 0
- beq _08104750
- bl sub_8104098
- strb r7, [r5, 0x2]
-_08104750:
- movs r0, 0xC3
- lsls r0, 1
- bl PlayFanfare
-_08104758:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08104760: .4byte gSprites
- thumb_func_end sub_81046C0
-
- thumb_func_start sub_8104764
-sub_8104764: @ 8104764
- push {r4,lr}
- adds r4, r0, 0
- ldrh r1, [r4, 0x10]
- movs r2, 0x10
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _0810477C
- subs r0, r1, 0x1
- strh r0, [r4, 0x10]
- lsls r0, 16
- cmp r0, 0
- bne _0810478C
-_0810477C:
- bl sub_81040C8
- lsls r0, 24
- cmp r0, 0
- bne _0810478C
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_0810478C:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8104764
-
- thumb_func_start sub_8104794
-sub_8104794: @ 8104794
- push {r4,lr}
- adds r3, r0, 0
- ldr r1, _081047D4
- ldrh r0, [r1]
- subs r0, 0x8
- strh r0, [r1]
- ldrh r2, [r3, 0xA]
- adds r2, 0x8
- strh r2, [r3, 0xA]
- ldrh r0, [r3, 0xE]
- adds r0, 0x8
- strh r0, [r3, 0xE]
- movs r1, 0xA
- ldrsh r0, [r3, r1]
- subs r0, 0x8
- movs r1, 0xFF
- ands r0, r1
- lsrs r4, r0, 3
- ldr r1, _081047D8
- ldr r0, _081047DC
- ands r2, r0
- strh r2, [r1]
- ldrh r0, [r3, 0xE]
- lsls r0, 16
- asrs r0, 19
- cmp r0, 0x19
- bgt _081047E0
- adds r0, r4, 0
- bl sub_8104A88
- b _081047E6
- .align 2, 0
-_081047D4: .4byte gSpriteCoordOffsetX
-_081047D8: .4byte REG_BG1HOFS
-_081047DC: .4byte 0x000001ff
-_081047E0:
- ldrh r0, [r3, 0x8]
- adds r0, 0x1
- strh r0, [r3, 0x8]
-_081047E6:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8104794
-
- thumb_func_start sub_81047EC
-sub_81047EC: @ 81047EC
- push {r4-r6,lr}
- adds r5, r0, 0
- ldr r4, _08104834
- movs r6, 0
- strb r6, [r4, 0xB]
- ldrb r0, [r4, 0x5]
- strb r0, [r4, 0xA]
- ldr r0, _08104838
- strh r6, [r0]
- ldr r0, _0810483C
- strh r6, [r0]
- movs r0, 0x8
- strh r0, [r4, 0x1A]
- bl sub_810514C
- bl sub_81054B8
- bl sub_8105524
- adds r0, r4, 0
- adds r0, 0x60
- ldrh r0, [r0]
- bl PlayNewMapMusic
- ldrb r0, [r4, 0xA]
- cmp r0, 0
- bne _08104844
- ldr r0, _08104840
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- b _0810485A
- .align 2, 0
-_08104834: .4byte 0x02000000
-_08104838: .4byte gSpriteCoordOffsetX
-_0810483C: .4byte REG_BG1HOFS
-_08104840: .4byte sub_810434C
-_08104844:
- movs r0, 0x4
- bl sub_8104CAC
- bl dp15_jump_random_unknown
- strh r0, [r5, 0xA]
- strh r6, [r5, 0xC]
- strh r6, [r5, 0xE]
- ldrh r0, [r5, 0x8]
- adds r0, 0x1
- strh r0, [r5, 0x8]
-_0810485A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81047EC
-
- thumb_func_start sub_8104860
-sub_8104860: @ 8104860
- push {r4-r6,lr}
- adds r4, r0, 0
- ldr r5, _0810487C
- ldrh r0, [r5, 0x1A]
- lsls r6, r0, 16
- asrs r1, r6, 16
- movs r2, 0xA
- ldrsh r0, [r4, r2]
- cmp r1, r0
- bne _08104880
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- b _081048A2
- .align 2, 0
-_0810487C: .4byte 0x02000000
-_08104880:
- movs r1, 0x1C
- ldrsh r0, [r5, r1]
- movs r1, 0x18
- bl __modsi3
- lsls r0, 16
- cmp r0, 0
- bne _081048A2
- ldrh r0, [r4, 0xC]
- adds r0, 0x1
- strh r0, [r4, 0xC]
- movs r1, 0x7
- ands r0, r1
- cmp r0, 0
- bne _081048A2
- asrs r0, r6, 17
- strh r0, [r5, 0x1A]
-_081048A2:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8104860
-
- thumb_func_start sub_81048A8
-sub_81048A8: @ 81048A8
- push {lr}
- bl sub_8104E18
- lsls r0, 24
- cmp r0, 0
- beq _081048C2
- ldr r0, _081048C8
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
-_081048C2:
- pop {r0}
- bx r0
- .align 2, 0
-_081048C8: .4byte sub_810434C
- thumb_func_end sub_81048A8
-
- thumb_func_start sub_81048CC
-sub_81048CC: @ 81048CC
- push {r4,r5,lr}
- adds r4, r0, 0
- bl sub_81054B8
- bl sub_81056C0
- bl sub_8105804
- bl sub_8105854
- ldr r5, _08104934
- ldr r3, _08104938
- adds r0, r3, 0
- adds r0, 0x4E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- adds r0, 0x3E
- ldrb r1, [r0]
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0]
- adds r3, 0x3F
- ldrb r1, [r3]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- movs r1, 0x5
- bl StartSpriteAnimIfDifferent
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r4, 0x8]
- movs r0, 0x4
- strh r0, [r4, 0x10]
- strh r1, [r4, 0x12]
- bl StopMapMusic
- ldr r0, _0810493C
- bl PlayFanfare
- movs r0, 0xB2
- bl PlaySE
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08104934: .4byte gSprites
-_08104938: .4byte 0x02000000
-_0810493C: .4byte 0x00000187
- thumb_func_end sub_81048CC
-
- thumb_func_start sub_8104940
-sub_8104940: @ 8104940
- push {r4,r5,lr}
- adds r4, r0, 0
- ldr r0, _081049B8
- ldrh r1, [r4, 0x10]
- strh r1, [r0]
- ldr r0, _081049BC
- strh r1, [r0]
- ldrh r1, [r4, 0x12]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _0810495E
- ldrh r0, [r4, 0x10]
- negs r0, r0
- strh r0, [r4, 0x10]
-_0810495E:
- ldrh r0, [r4, 0x12]
- adds r0, 0x1
- strh r0, [r4, 0x12]
- movs r1, 0x1F
- ands r0, r1
- cmp r0, 0
- bne _08104974
- ldrh r0, [r4, 0x10]
- lsls r0, 16
- asrs r0, 17
- strh r0, [r4, 0x10]
-_08104974:
- movs r0, 0x10
- ldrsh r5, [r4, r0]
- cmp r5, 0
- bne _081049B0
- bl sub_81058A0
- bl sub_81058C4
- bl sub_8105284
- bl sub_81059E8
- ldr r2, _081049C0
- ldr r0, _081049C4
- adds r0, 0x4E
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- adds r0, 0x3E
- ldrb r2, [r0]
- movs r1, 0x5
- negs r1, r1
- ands r1, r2
- strb r1, [r0]
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- strh r5, [r4, 0x12]
-_081049B0:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081049B8: .4byte gSpriteCoordOffsetY
-_081049BC: .4byte REG_BG1VOFS
-_081049C0: .4byte gSprites
-_081049C4: .4byte 0x02000000
- thumb_func_end sub_8104940
-
- thumb_func_start sub_81049C8
-sub_81049C8: @ 81049C8
- push {r4,lr}
- adds r4, r0, 0
- ldr r0, _081049F0
- movs r1, 0
- strh r1, [r0]
- ldr r0, _081049F4
- strh r1, [r0]
- bl sub_8105ACC
- lsls r0, 24
- cmp r0, 0
- beq _081049EA
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- bl sub_8105AEC
-_081049EA:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081049F0: .4byte gSpriteCoordOffsetY
-_081049F4: .4byte REG_BG1VOFS
- thumb_func_end sub_81049C8
-
- thumb_func_start sub_81049F8
-sub_81049F8: @ 81049F8
- push {lr}
- ldr r0, _08104A30
- movs r1, 0
- strh r1, [r0]
- ldr r0, _08104A34
- strh r1, [r0]
- ldr r0, _08104A38
- adds r0, 0x60
- ldrh r0, [r0]
- bl PlayNewMapMusic
- bl sub_810514C
- bl sub_8105554
- bl sub_8105524
- bl sub_81059B8
- ldr r0, _08104A3C
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- pop {r0}
- bx r0
- .align 2, 0
-_08104A30: .4byte gSpriteCoordOffsetX
-_08104A34: .4byte REG_BG1HOFS
-_08104A38: .4byte 0x02000000
-_08104A3C: .4byte sub_810434C
- thumb_func_end sub_81049F8
-
- thumb_func_start sub_8104A40
-sub_8104A40: @ 8104A40
- push {r4-r7,lr}
- movs r3, 0x4
- ldr r7, _08104A80
- lsls r1, 16
- asrs r5, r1, 16
- lsls r0, 16
- asrs r4, r0, 16
- ldr r6, _08104A84
-_08104A50:
- lsls r2, r3, 16
- asrs r2, 16
- subs r1, r2, 0x4
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 2
- adds r0, r5, r0
- lsls r0, 1
- adds r0, r7
- ldrh r1, [r0]
- lsls r0, r2, 5
- adds r0, r4
- lsls r0, 1
- adds r0, r6
- strh r1, [r0]
- adds r2, 0x1
- lsls r2, 16
- lsrs r3, r2, 16
- asrs r2, 16
- cmp r2, 0xE
- ble _08104A50
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08104A80: .4byte gReelTimeWindowTilemap
-_08104A84: .4byte 0x0600e000
- thumb_func_end sub_8104A40
-
- thumb_func_start sub_8104A88
-sub_8104A88: @ 8104A88
- push {r4,r5,lr}
- movs r2, 0x4
- lsls r0, 16
- asrs r3, r0, 16
- ldr r5, _08104AB4
- movs r4, 0
-_08104A94:
- lsls r1, r2, 16
- asrs r1, 16
- lsls r0, r1, 5
- adds r0, r3
- lsls r0, 1
- adds r0, r5
- strh r4, [r0]
- adds r1, 0x1
- lsls r1, 16
- lsrs r2, r1, 16
- asrs r1, 16
- cmp r1, 0xE
- ble _08104A94
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08104AB4: .4byte 0x0600e000
- thumb_func_end sub_8104A88
-
- thumb_func_start sub_8104AB8
-sub_8104AB8: @ 8104AB8
- push {r4,r5,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- ldr r5, _08104AE4
- adds r0, r5, 0
- movs r1, 0x1
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _08104AE8
- lsls r1, r0, 2
- adds r1, r0
- lsls r1, 3
- adds r1, r2
- strh r4, [r1, 0xA]
- bl _call_via_r5
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08104AE4: .4byte sub_8104B0C
-_08104AE8: .4byte gTasks
- thumb_func_end sub_8104AB8
-
- thumb_func_start sub_8104AEC
-sub_8104AEC: @ 8104AEC
- push {lr}
- ldr r0, _08104B00
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0xFF
- beq _08104B04
- movs r0, 0
- b _08104B06
- .align 2, 0
-_08104B00: .4byte sub_8104B0C
-_08104B04:
- movs r0, 0x1
-_08104B06:
- pop {r1}
- bx r1
- thumb_func_end sub_8104AEC
-
- thumb_func_start sub_8104B0C
-sub_8104B0C: @ 8104B0C
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08104B34
- ldr r2, _08104B38
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08104B34: .4byte gUnknown_083ECC30
-_08104B38: .4byte gTasks
- thumb_func_end sub_8104B0C
-
- thumb_func_start sub_8104B3C
-sub_8104B3C: @ 8104B3C
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8104B3C
-
- thumb_func_start sub_8104B60
-sub_8104B60: @ 8104B60
- push {lr}
- adds r2, r0, 0
- ldr r0, _08104B7C
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _08104B76
- ldrh r0, [r2, 0x8]
- adds r0, 0x1
- strh r0, [r2, 0x8]
-_08104B76:
- pop {r0}
- bx r0
- .align 2, 0
-_08104B7C: .4byte gPaletteFade
- thumb_func_end sub_8104B60
-
- thumb_func_start sub_8104B80
-sub_8104B80: @ 8104B80
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl sub_8104DA4
- bl sub_81065DC
- ldr r0, _08104BC0
- bl BasicInitMenuWindow
- ldr r0, _08104BC4
- movs r1, 0xA
- movs r2, 0x20
- movs r3, 0x1
- bl sub_80729D8
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08104BC0: .4byte gWindowConfig_81E7144
-_08104BC4: .4byte gOtherText_ReelTime
- thumb_func_end sub_8104B80
-
- thumb_func_start sub_8104BC8
-sub_8104BC8: @ 8104BC8
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r0, _08104BF8
- ldrh r1, [r0, 0x2E]
- movs r0, 0x6
- ands r0, r1
- cmp r0, 0
- beq _08104BF0
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
-_08104BF0:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08104BF8: .4byte gMain
- thumb_func_end sub_8104BC8
-
- thumb_func_start sub_8104BFC
-sub_8104BFC: @ 8104BFC
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- bl MenuZeroFillScreen
- ldr r0, _08104C3C
- bl BasicInitMenuWindow
- bl sub_81064B8
- ldrb r0, [r4, 0xA]
- bl sub_8104CAC
- ldr r0, _08104C40
- ldrb r0, [r0, 0x2]
- bl sub_810423C
- movs r0, 0x1
- negs r0, r0
- movs r1, 0
- str r1, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- ldrh r0, [r4, 0x8]
- adds r0, 0x1
- strh r0, [r4, 0x8]
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08104C3C: .4byte gWindowConfig_81E7128
-_08104C40: .4byte 0x02000000
- thumb_func_end sub_8104BFC
-
- thumb_func_start sub_8104C44
-sub_8104C44: @ 8104C44
- push {lr}
- ldr r0, _08104C58
- bl FindTaskIdByFunc
- lsls r0, 24
- lsrs r0, 24
- bl DestroyTask
- pop {r0}
- bx r0
- .align 2, 0
-_08104C58: .4byte sub_8104B0C
- thumb_func_end sub_8104C44
-
- thumb_func_start sub_8104C5C
-sub_8104C5C: @ 8104C5C
- push {lr}
- ldr r0, _08104C9C
- movs r1, 0x3
- bl CreateTask
- lsls r0, 24
- lsrs r1, r0, 24
- ldr r0, _08104CA0
- adds r0, 0x3D
- strb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _08104CA4
- adds r0, r1
- ldr r1, _08104CA8
- strh r1, [r0, 0xA]
- movs r1, 0x4
- adds r2, r0, 0
- adds r2, 0x8
- movs r3, 0x40
-_08104C86:
- lsls r0, r1, 1
- adds r0, r2, r0
- strh r3, [r0]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0xF
- bls _08104C86
- pop {r0}
- bx r0
- .align 2, 0
-_08104C9C: .4byte sub_8104E74
-_08104CA0: .4byte 0x02000000
-_08104CA4: .4byte gTasks
-_08104CA8: .4byte 0x0000ffff
- thumb_func_end sub_8104C5C
-
- thumb_func_start sub_8104CAC
-sub_8104CAC: @ 8104CAC
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8104DA4
- ldr r0, _08104D24
- adds r0, 0x3D
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _08104D28
- adds r7, r0, r1
- strh r4, [r7, 0xA]
- movs r6, 0
- ldr r1, _08104D2C
- lsls r5, r4, 2
- adds r0, r5, r1
- ldr r0, [r0]
- ldrb r0, [r0]
- cmp r0, 0xFF
- beq _08104D18
- mov r8, r1
-_08104CE0:
- mov r0, r8
- adds r4, r5, r0
- ldr r0, [r4]
- lsls r2, r6, 2
- adds r2, r0
- ldrb r0, [r2]
- ldrb r1, [r2, 0x1]
- movs r3, 0x2
- ldrsh r2, [r2, r3]
- bl sub_8105BB4
- lsls r0, 24
- lsrs r0, 24
- adds r2, r6, 0x4
- lsls r2, 1
- adds r1, r7, 0
- adds r1, 0x8
- adds r1, r2
- strh r0, [r1]
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
- ldr r1, [r4]
- lsls r0, r6, 2
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0xFF
- bne _08104CE0
-_08104D18:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08104D24: .4byte 0x02000000
-_08104D28: .4byte gTasks
-_08104D2C: .4byte gUnknown_083ED048
- thumb_func_end sub_8104CAC
-
- thumb_func_start sub_8104D30
-sub_8104D30: @ 8104D30
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x4
- mov r8, r1
- ldr r4, [sp, 0x1C]
- lsls r0, 24
- lsrs r7, r0, 24
- ldr r0, _08104D84
- adds r0, 0x3D
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _08104D88
- adds r0, r1
- mov r12, r0
- movs r5, 0x4
- lsls r4, 16
- asrs r6, r4, 16
- lsls r2, 16
- lsls r3, 16
-_08104D5C:
- lsls r0, r5, 1
- mov r1, r12
- adds r1, 0x8
- adds r4, r1, r0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- bne _08104D8C
- str r6, [sp]
- adds r0, r7, 0
- mov r1, r8
- asrs r2, 16
- asrs r3, 16
- bl sub_8105BF8
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r4]
- b _08104D96
- .align 2, 0
-_08104D84: .4byte 0x02000000
-_08104D88: .4byte gTasks
-_08104D8C:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _08104D5C
-_08104D96:
- add sp, 0x4
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8104D30
-
- thumb_func_start sub_8104DA4
-sub_8104DA4: @ 8104DA4
- push {r4-r6,lr}
- ldr r0, _08104E04
- adds r0, 0x3D
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _08104E08
- adds r4, r0, r1
- ldrh r1, [r4, 0xA]
- ldr r0, _08104E0C
- cmp r1, r0
- beq _08104DCE
- ldr r0, _08104E10
- movs r2, 0xA
- ldrsh r1, [r4, r2]
- lsls r1, 2
- adds r1, r0
- ldr r0, [r1]
- bl _call_via_r0
-_08104DCE:
- movs r5, 0x4
- adds r6, r4, 0
- adds r6, 0x8
-_08104DD4:
- lsls r0, r5, 1
- adds r4, r6, r0
- movs r1, 0
- ldrsh r0, [r4, r1]
- cmp r0, 0x40
- beq _08104DF4
- adds r1, r0, 0
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08104E14
- adds r0, r1
- bl DestroySprite
- movs r0, 0x40
- strh r0, [r4]
-_08104DF4:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0xF
- bls _08104DD4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08104E04: .4byte 0x02000000
-_08104E08: .4byte gTasks
-_08104E0C: .4byte 0x0000ffff
-_08104E10: .4byte gUnknown_083ED064
-_08104E14: .4byte gSprites
- thumb_func_end sub_8104DA4
-
- thumb_func_start sub_8104E18
-sub_8104E18: @ 8104E18
- push {r4,r5,lr}
- ldr r0, _08104E54
- adds r0, 0x3D
- ldrb r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- ldr r1, _08104E58
- adds r0, r1
- movs r2, 0x4
- adds r3, r0, 0
- adds r3, 0x8
- ldr r4, _08104E5C
-_08104E32:
- lsls r0, r2, 1
- adds r1, r3, r0
- movs r5, 0
- ldrsh r0, [r1, r5]
- cmp r0, 0x40
- beq _08104E60
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r4
- movs r5, 0x3C
- ldrsh r0, [r1, r5]
- cmp r0, 0
- beq _08104E60
- movs r0, 0
- b _08104E6C
- .align 2, 0
-_08104E54: .4byte 0x02000000
-_08104E58: .4byte gTasks
-_08104E5C: .4byte gSprites
-_08104E60:
- adds r0, r2, 0x1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0xF
- bls _08104E32
- movs r0, 0x1
-_08104E6C:
- pop {r4,r5}
- pop {r1}
- bx r1
- thumb_func_end sub_8104E18
-
- thumb_func_start sub_8104E74
-sub_8104E74: @ 8104E74
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r3, _08104E9C
- ldr r2, _08104EA0
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r0, r2
- movs r2, 0x8
- ldrsh r1, [r0, r2]
- lsls r1, 2
- adds r1, r3
- ldr r1, [r1]
- bl _call_via_r1
- pop {r0}
- bx r0
- .align 2, 0
-_08104E9C: .4byte gUnknown_083ECC54
-_08104EA0: .4byte gTasks
- thumb_func_end sub_8104E74
-
- thumb_func_start nullsub_69
-nullsub_69: @ 8104EA4
- bx lr
- thumb_func_end nullsub_69
-
- thumb_func_start sub_8104EA8
-sub_8104EA8: @ 8104EA8
- push {r4-r7,lr}
- movs r6, 0
- movs r0, 0x30
-_08104EAE:
- movs r4, 0
- lsls r5, r0, 16
- lsls r7, r6, 16
-_08104EB4:
- ldr r0, _08104F0C
- asrs r1, r5, 16
- movs r2, 0
- movs r3, 0xE
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r0, _08104F10
- adds r1, r0
- ldrb r0, [r1, 0x5]
- movs r2, 0xC
- orrs r0, r2
- strb r0, [r1, 0x5]
- strh r6, [r1, 0x2E]
- strh r4, [r1, 0x30]
- ldr r0, _08104F14
- strh r0, [r1, 0x34]
- lsls r0, r4, 16
- movs r1, 0xC0
- lsls r1, 13
- adds r0, r1
- lsrs r4, r0, 16
- asrs r0, 16
- cmp r0, 0x77
- ble _08104EB4
- movs r2, 0x80
- lsls r2, 9
- adds r1, r7, r2
- movs r2, 0xA0
- lsls r2, 14
- adds r0, r5, r2
- lsrs r0, 16
- lsrs r6, r1, 16
- asrs r1, 16
- cmp r1, 0x2
- ble _08104EAE
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08104F0C: .4byte gSpriteTemplate_83ED414
-_08104F10: .4byte gSprites
-_08104F14: .4byte 0x0000ffff
- thumb_func_end sub_8104EA8
-
- thumb_func_start sub_8104F18
-sub_8104F18: @ 8104F18
- push {r4,r5,lr}
- adds r5, r0, 0
- ldr r4, _08104F88
- movs r0, 0x2E
- ldrsh r1, [r5, r0]
- lsls r1, 1
- adds r0, r4, 0
- adds r0, 0x1C
- adds r1, r0
- ldrh r0, [r5, 0x30]
- ldrh r1, [r1]
- adds r0, r1
- strh r0, [r5, 0x32]
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r1, 0x78
- bl __modsi3
- strh r0, [r5, 0x32]
- movs r2, 0x2E
- ldrsh r1, [r5, r2]
- lsls r1, 1
- adds r4, 0x22
- adds r1, r4
- ldrh r1, [r1]
- adds r1, 0x1C
- adds r0, r1
- strh r0, [r5, 0x22]
- ldrh r4, [r5, 0x2E]
- lsls r4, 24
- lsrs r4, 24
- movs r1, 0x32
- ldrsh r0, [r5, r1]
- movs r1, 0x18
- bl __divsi3
- adds r1, r0, 0
- lsls r1, 16
- asrs r1, 16
- adds r0, r4, 0
- bl sub_8102BA4
- lsls r0, 24
- lsrs r0, 24
- bl GetSpriteTileStartByTag
- adds r1, r5, 0
- adds r1, 0x40
- strh r0, [r1]
- adds r0, r5, 0
- bl SetSpriteSheetFrameTileNum
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08104F88: .4byte 0x02000000
- thumb_func_end sub_8104F18
-
- thumb_func_start sub_8104F8C
-sub_8104F8C: @ 8104F8C
- push {r4-r6,lr}
- movs r4, 0xCB
- movs r5, 0x1
- ldr r6, _08104FF0
-_08104F94:
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r0, r4, 0
- movs r1, 0x17
- movs r2, 0
- adds r3, r5, 0
- bl sub_8104FF4
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 17
- subs r4, 0x7
- lsls r4, 16
- lsrs r4, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, r6
- ble _08104F94
- movs r4, 0xEB
- movs r5, 0x1
- ldr r6, _08104FF0
-_08104FC2:
- lsls r4, 16
- asrs r4, 16
- lsls r5, 16
- asrs r5, 16
- adds r0, r4, 0
- movs r1, 0x17
- movs r2, 0x1
- adds r3, r5, 0
- bl sub_8104FF4
- lsls r0, r5, 2
- adds r0, r5
- lsls r0, 17
- subs r4, 0x7
- lsls r4, 16
- lsrs r4, 16
- lsrs r5, r0, 16
- asrs r0, 16
- cmp r0, r6
- ble _08104FC2
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08104FF0: .4byte 0x0000270f
- thumb_func_end sub_8104F8C
-
- thumb_func_start sub_8104FF4
-sub_8104FF4: @ 8104FF4
- push {r4-r6,lr}
- mov r6, r8
- push {r6}
- adds r5, r0, 0
- adds r6, r1, 0
- mov r8, r2
- adds r4, r3, 0
- mov r0, r8
- lsls r0, 24
- lsrs r0, 24
- mov r8, r0
- lsls r4, 16
- lsrs r4, 16
- ldr r0, _08105060
- lsls r5, 16
- asrs r5, 16
- lsls r6, 16
- asrs r6, 16
- adds r1, r5, 0
- adds r2, r6, 0
- movs r3, 0xD
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- ldr r0, _08105064
- adds 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]
- mov r0, r8
- strh r0, [r2, 0x2E]
- strh r4, [r2, 0x30]
- lsls r4, 16
- asrs r4, 16
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 1
- strh r0, [r2, 0x32]
- ldr r0, _08105068
- strh r0, [r2, 0x34]
- pop {r3}
- mov r8, r3
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08105060: .4byte gSpriteTemplate_83ED42C
-_08105064: .4byte gSprites
-_08105068: .4byte 0x0000ffff
- thumb_func_end sub_8104FF4
-
- thumb_func_start sub_810506C
-sub_810506C: @ 810506C
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _081050C0
- ldrh r2, [r1, 0xC]
- movs r3, 0x2E
- ldrsh r0, [r4, r3]
- cmp r0, 0
- beq _0810507E
- ldrh r2, [r1, 0xE]
-_0810507E:
- movs r1, 0x34
- ldrsh r0, [r4, r1]
- cmp r0, r2
- beq _081050B8
- strh r2, [r4, 0x34]
- ldrh r1, [r4, 0x32]
- adds r0, r2, 0
- bl __umodsi3
- lsls r0, 16
- lsrs r2, r0, 16
- ldrh r1, [r4, 0x30]
- adds r0, r2, 0
- bl __udivsi3
- lsls r0, 16
- movs r3, 0xE0
- lsls r3, 11
- adds r0, r3
- lsrs r2, r0, 16
- adds r0, r2, 0
- bl GetSpriteTileStartByTag
- adds r1, r4, 0
- adds r1, 0x40
- strh r0, [r1]
- adds r0, r4, 0
- bl SetSpriteSheetFrameTileNum
-_081050B8:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081050C0: .4byte 0x02000000
- thumb_func_end sub_810506C
-
- thumb_func_start sub_81050C4
-sub_81050C4: @ 81050C4
- push {lr}
- ldr r0, _081050F4
- movs r1, 0x58
- movs r2, 0x48
- movs r3, 0xF
- bl CreateSprite
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r2, _081050F8
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r1, [r0, 0x5]
- movs r2, 0xC
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r1, _081050FC
- bl SetSubspriteTables
- pop {r0}
- bx r0
- .align 2, 0
-_081050F4: .4byte gSpriteTemplate_83ED444
-_081050F8: .4byte gSprites
-_081050FC: .4byte gUnknown_083ED704
- thumb_func_end sub_81050C4
-
- thumb_func_start sub_8105100
-sub_8105100: @ 8105100
- push {lr}
- ldr r0, _08105140
- movs r1, 0x8C
- lsls r1, 1
- movs r2, 0x50
- movs r3, 0x1
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _08105144
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- adds r2, r1
- ldrb r3, [r2, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r3
- movs r3, 0x4
- orrs r1, r3
- strb r1, [r2, 0x5]
- adds r2, 0x3E
- ldrb r1, [r2]
- movs r3, 0x2
- orrs r1, r3
- strb r1, [r2]
- ldr r1, _08105148
- adds r1, 0x3F
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08105140: .4byte gSpriteTemplate_83ED45C
-_08105144: .4byte gSprites
-_08105148: .4byte 0x02000000
- thumb_func_end sub_8105100
-
- thumb_func_start sub_810514C
-sub_810514C: @ 810514C
- push {lr}
- ldr r0, _08105168
- adds r0, 0x3F
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0810516C
- adds r0, r1
- bl DestroySprite
- pop {r0}
- bx r0
- .align 2, 0
-_08105168: .4byte 0x02000000
-_0810516C: .4byte gSprites
- thumb_func_end sub_810514C
-
- thumb_func_start sub_8105170
-sub_8105170: @ 8105170
- push {lr}
- adds r2, r0, 0
- movs r0, 0
- strh r0, [r2, 0x24]
- strh r0, [r2, 0x26]
- adds r0, r2, 0
- adds r0, 0x2A
- ldrb r0, [r0]
- cmp r0, 0x4
- bne _081051B6
- movs r0, 0x8
- strh r0, [r2, 0x24]
- strh r0, [r2, 0x26]
- adds r0, r2, 0
- adds r0, 0x2B
- ldrb r0, [r0]
- cmp r0, 0
- beq _081051A4
- adds r0, r2, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r0, 0x3F
- ands r0, r1
- cmp r0, 0
- bne _081051B2
- b _081051B6
-_081051A4:
- adds r0, r2, 0
- adds r0, 0x2C
- ldrb r1, [r0]
- movs r0, 0x3F
- ands r0, r1
- cmp r0, 0
- bne _081051B6
-_081051B2:
- ldr r0, _081051BC
- strh r0, [r2, 0x26]
-_081051B6:
- pop {r0}
- bx r0
- .align 2, 0
-_081051BC: .4byte 0x0000fff8
- thumb_func_end sub_8105170
-
- thumb_func_start sub_81051C0
-sub_81051C0: @ 81051C0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _0810526C
- movs r7, 0xB8
- lsls r7, 1
- adds r1, r7, 0
- movs r2, 0x34
- movs r3, 0x7
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _08105270
- mov r10, r1
- adds r2, r0, r1
- ldrb r1, [r2, 0x5]
- movs r5, 0xD
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- movs r3, 0x4
- mov r9, r3
- mov r1, r9
- orrs r0, r1
- strb r0, [r2, 0x5]
- adds r1, r2, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r3, 0x2
- mov r8, r3
- mov r3, r8
- orrs r0, r3
- strb r0, [r1]
- ldr r1, _08105274
- adds r0, r2, 0
- bl SetSubspriteTables
- ldr r6, _08105278
- adds r0, r6, 0
- adds r0, 0x49
- strb r4, [r0]
- ldr r0, _0810527C
- adds r1, r7, 0
- movs r2, 0x54
- movs r3, 0x7
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- mov r1, r10
- adds r2, r0, r1
- ldrb r0, [r2, 0x5]
- ands r5, r0
- mov r3, r9
- orrs r5, r3
- strb r5, [r2, 0x5]
- adds r1, r2, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- mov r3, r8
- orrs r0, r3
- strb r0, [r1]
- ldr r1, _08105280
- adds r0, r2, 0
- bl SetSubspriteTables
- adds r6, 0x4A
- strb r4, [r6]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810526C: .4byte gSpriteTemplate_83ED474
-_08105270: .4byte gSprites
-_08105274: .4byte gUnknown_083ED73C
-_08105278: .4byte 0x02000000
-_0810527C: .4byte gSpriteTemplate_83ED48C
-_08105280: .4byte gUnknown_083ED75C
- thumb_func_end sub_81051C0
-
- thumb_func_start sub_8105284
-sub_8105284: @ 8105284
- push {r4,lr}
- ldr r0, _081052D8
- ldr r1, _081052DC
- ldrh r2, [r1]
- movs r1, 0xA8
- subs r1, r2
- lsls r1, 16
- asrs r1, 16
- movs r2, 0x50
- movs r3, 0x7
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _081052E0
- adds 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]
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- ldr r1, _081052E4
- bl SetSubspriteTables
- ldr r0, _081052E8
- adds r0, 0x42
- strb r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081052D8: .4byte gSpriteTemplate_83ED4A4
-_081052DC: .4byte gSpriteCoordOffsetX
-_081052E0: .4byte gSprites
-_081052E4: .4byte gUnknown_083ED78C
-_081052E8: .4byte 0x02000000
- thumb_func_end sub_8105284
-
- thumb_func_start sub_81052EC
-sub_81052EC: @ 81052EC
- push {r4-r7,lr}
- movs r4, 0
- movs r5, 0
- ldr r6, _08105350
-_081052F4:
- ldr r0, _08105354
- movs r1, 0xB8
- lsls r1, 1
- movs r2, 0
- movs r3, 0xA
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- ldr r1, _08105358
- adds r3, r1
- ldrb r2, [r3, 0x5]
- movs r7, 0xD
- negs r7, r7
- adds r1, r7, 0
- ands r2, r1
- movs r1, 0x4
- orrs r2, r1
- strb r2, [r3, 0x5]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r1, [r1]
- movs r2, 0x2
- orrs r1, r2
- mov r2, r12
- strb r1, [r2]
- strh r5, [r3, 0x3C]
- adds r1, r4, r6
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r0, r5, 16
- movs r7, 0xA0
- lsls r7, 13
- adds r0, r7
- lsrs r5, r0, 16
- cmp r4, 0x2
- bls _081052F4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08105350: .4byte 0x0200004b
-_08105354: .4byte gSpriteTemplate_83ED4BC
-_08105358: .4byte gSprites
- thumb_func_end sub_81052EC
-
- thumb_func_start sub_810535C
-sub_810535C: @ 810535C
- push {r4,lr}
- adds r4, r0, 0
- ldr r1, _0810539C
- ldrh r0, [r4, 0x3C]
- ldrh r1, [r1, 0x14]
- adds r0, r1
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x28
- bl __modsi3
- lsls r0, 16
- asrs r0, 16
- adds r1, r0, 0
- adds r1, 0x3B
- strh r1, [r4, 0x22]
- movs r1, 0x14
- bl __divsi3
- lsls r0, 16
- asrs r0, 16
- bl sub_8102C48
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnimIfDifferent
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810539C: .4byte 0x02000000
- thumb_func_end sub_810535C
-
- thumb_func_start sub_81053A0
-sub_81053A0: @ 81053A0
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- movs r1, 0xB8
- lsls r1, 1
- ldr r0, _0810544C
- movs r2, 0x64
- movs r3, 0x9
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r7, _08105450
- adds r2, r0, r7
- adds r1, r2, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- movs r3, 0x2
- mov r10, r3
- mov r3, r10
- orrs r0, r3
- strb r0, [r1]
- ldrb r1, [r2, 0x5]
- movs r5, 0xD
- negs r5, r5
- adds r0, r5, 0
- ands r0, r1
- movs r1, 0x4
- mov r8, r1
- mov r3, r8
- orrs r0, r3
- strb r0, [r2, 0x5]
- ldr r0, _08105454
- mov r9, r0
- adds r0, r2, 0
- mov r1, r9
- bl SetSubspriteTables
- ldr r6, _08105458
- adds r0, r6, 0
- adds r0, 0x4E
- strb r4, [r0]
- movs r1, 0x90
- lsls r1, 1
- ldr r0, _0810544C
- movs r2, 0x68
- movs r3, 0x4
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- adds r2, r0, r7
- adds r1, r2, 0
- adds r1, 0x3E
- ldrb r0, [r1]
- mov r3, r10
- orrs r0, r3
- strb r0, [r1]
- ldrb r0, [r2, 0x5]
- ands r5, r0
- mov r0, r8
- orrs r5, r0
- strb r5, [r2, 0x5]
- adds r0, r2, 0
- mov r1, r9
- bl SetSubspriteTables
- adds r6, 0x4F
- strb r4, [r6]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810544C: .4byte gSpriteTemplate_83ED4D4
-_08105450: .4byte gSprites
-_08105454: .4byte gUnknown_083ED7B4
-_08105458: .4byte 0x02000000
- thumb_func_end sub_81053A0
-
- thumb_func_start sub_810545C
-sub_810545C: @ 810545C
- push {r4,lr}
- ldr r0, _081054A8
- movs r1, 0xB8
- lsls r1, 1
- movs r2, 0x4C
- movs r3, 0xB
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _081054AC
- adds r0, r1
- adds r3, r0, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x4
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldr r1, _081054B0
- bl SetSubspriteTables
- ldr r0, _081054B4
- adds r0, 0x40
- strb r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081054A8: .4byte gSpriteTemplate_83ED4EC
-_081054AC: .4byte gSprites
-_081054B0: .4byte gUnknown_083ED7D4
-_081054B4: .4byte 0x02000000
- thumb_func_end sub_810545C
-
- thumb_func_start sub_81054B8
-sub_81054B8: @ 81054B8
- push {r4,r5,lr}
- ldr r4, _08105518
- adds r0, r4, 0
- adds r0, 0x40
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0810551C
- adds r0, r1
- bl DestroySprite
- movs r5, 0
- adds r4, 0x49
-_081054D4:
- adds r0, r5, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0810551C
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x1
- bls _081054D4
- movs r5, 0
- ldr r4, _08105520
-_081054F4:
- adds r0, r5, r4
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _0810551C
- adds r0, r1
- bl DestroySprite
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x2
- bls _081054F4
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08105518: .4byte 0x02000000
-_0810551C: .4byte gSprites
-_08105520: .4byte 0x0200004b
- thumb_func_end sub_81054B8
-
- thumb_func_start sub_8105524
-sub_8105524: @ 8105524
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _0810554C
-_0810552A:
- adds r0, r4, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08105550
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _0810552A
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810554C: .4byte 0x0200004e
-_08105550: .4byte gSprites
- thumb_func_end sub_8105524
-
- thumb_func_start sub_8105554
-sub_8105554: @ 8105554
- push {lr}
- ldr r0, _08105570
- adds r0, 0x42
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08105574
- adds r0, r1
- bl DestroySprite
- pop {r0}
- bx r0
- .align 2, 0
-_08105570: .4byte 0x02000000
-_08105574: .4byte gSprites
- thumb_func_end sub_8105554
-
- thumb_func_start sub_8105578
-sub_8105578: @ 8105578
- push {r4-r6,lr}
- mov r6, r10
- mov r5, r9
- mov r4, r8
- push {r4-r6}
- ldr r0, _0810561C
- mov r10, r0
- movs r1, 0x98
- movs r2, 0x20
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- ldr r2, _08105620
- mov r9, r2
- adds r3, r1, r2
- ldrb r2, [r3, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r1, r4, 0
- ands r1, r2
- movs r2, 0x4
- mov r8, r2
- mov r2, r8
- orrs r1, r2
- strb r1, [r3, 0x5]
- adds r5, r3, 0
- adds r5, 0x3F
- ldrb r1, [r5]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r5]
- ldr r5, _08105624
- adds r1, r5, 0
- adds r1, 0x50
- strb r0, [r1]
- movs r0, 0x8
- strh r0, [r3, 0x2E]
- ldr r0, _08105628
- strh r0, [r3, 0x30]
- movs r0, 0x1
- negs r0, r0
- strh r0, [r3, 0x32]
- movs r6, 0x20
- strh r6, [r3, 0x3C]
- mov r0, r10
- movs r1, 0xB8
- movs r2, 0x20
- movs r3, 0x5
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- mov r2, r9
- adds r3, r1, r2
- ldrb r1, [r3, 0x5]
- ands r4, r1
- mov r1, r8
- orrs r4, r1
- strb r4, [r3, 0x5]
- adds r5, 0x51
- strb r0, [r5]
- movs r0, 0x1
- strh r0, [r3, 0x30]
- subs r0, 0x2
- strh r0, [r3, 0x32]
- strh r6, [r3, 0x3C]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810561C: .4byte gSpriteTemplate_83ED504
-_08105620: .4byte gSprites
-_08105624: .4byte 0x02000000
-_08105628: .4byte 0x0000ffff
- thumb_func_end sub_8105578
-
- thumb_func_start sub_810562C
-sub_810562C: @ 810562C
- push {r4,lr}
- adds r2, r0, 0
- ldrh r0, [r2, 0x2E]
- movs r1, 0x2E
- ldrsh r4, [r2, r1]
- cmp r4, 0
- beq _08105650
- subs r0, 0x1
- movs r1, 0
- strh r0, [r2, 0x2E]
- strh r1, [r2, 0x24]
- strh r1, [r2, 0x26]
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- b _08105682
-_08105650:
- adds r3, r2, 0
- adds r3, 0x3E
- ldrb r1, [r3]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r3]
- ldrh r0, [r2, 0x30]
- ldrh r1, [r2, 0x24]
- adds r0, r1
- strh r0, [r2, 0x24]
- ldrh r0, [r2, 0x32]
- ldrh r1, [r2, 0x26]
- adds r0, r1
- strh r0, [r2, 0x26]
- ldrh r0, [r2, 0x34]
- adds r0, 0x1
- strh r0, [r2, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x7
- ble _08105682
- ldrh r0, [r2, 0x3C]
- strh r0, [r2, 0x2E]
- strh r4, [r2, 0x34]
-_08105682:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_810562C
-
- thumb_func_start sub_8105688
-sub_8105688: @ 8105688
- push {r4,lr}
- lsls r0, 16
- lsrs r0, 16
- ldr r4, _081056B8
- ldr r3, _081056BC
- adds r1, r3, 0
- adds r1, 0x50
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x3C]
- adds r3, 0x51
- ldrb r2, [r3]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r4
- strh r0, [r1, 0x3C]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081056B8: .4byte gSprites
-_081056BC: .4byte 0x02000000
- thumb_func_end sub_8105688
-
- thumb_func_start sub_81056C0
-sub_81056C0: @ 81056C0
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _081056E8
-_081056C6:
- adds r0, r4, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081056EC
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _081056C6
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081056E8: .4byte 0x02000050
-_081056EC: .4byte gSprites
- thumb_func_end sub_81056C0
-
- thumb_func_start sub_81056F0
-sub_81056F0: @ 81056F0
- push {r4-r6,lr}
- mov r6, r9
- mov r5, r8
- push {r5,r6}
- ldr r0, _08105778
- mov r8, r0
- movs r1, 0x48
- movs r2, 0x50
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r1, _0810577C
- mov r9, r1
- lsls r2, r0, 4
- adds r2, r0
- lsls r2, 2
- add r2, r9
- ldrb r3, [r2, 0x5]
- movs r4, 0xD
- negs r4, r4
- adds r1, r4, 0
- ands r1, r3
- movs r6, 0x4
- orrs r1, r6
- strb r1, [r2, 0x5]
- movs r3, 0
- movs r1, 0x1
- strh r1, [r2, 0x2E]
- strh r3, [r2, 0x38]
- movs r1, 0x10
- strh r1, [r2, 0x3A]
- movs r1, 0x8
- strh r1, [r2, 0x3C]
- ldr r5, _08105780
- adds r1, r5, 0
- adds r1, 0x52
- strb r0, [r1]
- mov r0, r8
- movs r1, 0x68
- movs r2, 0x50
- movs r3, 0x3
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- add r1, r9
- ldrb r2, [r1, 0x5]
- ands r4, r2
- orrs r4, r6
- strb r4, [r1, 0x5]
- adds r1, 0x3F
- ldrb r2, [r1]
- movs r3, 0x1
- orrs r2, r3
- strb r2, [r1]
- adds r5, 0x53
- strb r0, [r5]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08105778: .4byte gSpriteTemplate_83ED51C
-_0810577C: .4byte gSprites
-_08105780: .4byte 0x02000000
- thumb_func_end sub_81056F0
-
- thumb_func_start sub_8105784
-sub_8105784: @ 8105784
- push {r4,lr}
- sub sp, 0x4
- adds r4, r0, 0
- ldr r1, _081057E0
- mov r0, sp
- movs r2, 0x2
- bl memcpy
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _081057D6
- ldrh r0, [r4, 0x3A]
- subs r0, 0x1
- strh r0, [r4, 0x3A]
- lsls r0, 16
- cmp r0, 0
- bgt _081057D6
- movs r0, 0x7
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r2, _081057E4
- adds r0, r2
- lsrs r0, 16
- movs r2, 0x38
- ldrsh r1, [r4, r2]
- add r1, sp
- ldrb r3, [r1]
- adds r1, r3, 0
- adds r2, r3, 0
- bl sub_8085C7C
- ldrh r0, [r4, 0x38]
- adds r0, 0x1
- movs r1, 0x1
- ands r0, r1
- strh r0, [r4, 0x38]
- ldrh r0, [r4, 0x3C]
- strh r0, [r4, 0x3A]
-_081057D6:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081057E0: .4byte gUnknown_083ECC58
-_081057E4: .4byte 0x01030000
- thumb_func_end sub_8105784
-
- thumb_func_start sub_81057E8
-sub_81057E8: @ 81057E8
- ldr r3, _081057FC
- ldr r1, _08105800
- adds r1, 0x52
- ldrb r2, [r1]
- lsls r1, r2, 4
- adds r1, r2
- lsls r1, 2
- adds r1, r3
- strh r0, [r1, 0x3C]
- bx lr
- .align 2, 0
-_081057FC: .4byte gSprites
-_08105800: .4byte 0x02000000
- thumb_func_end sub_81057E8
-
- thumb_func_start sub_8105804
-sub_8105804: @ 8105804
- push {r4,r5,lr}
- movs r0, 0x7
- bl IndexOfSpritePaletteTag
- lsls r0, 24
- lsrs r0, 4
- ldr r1, _08105848
- adds r0, r1
- lsrs r0, 16
- movs r1, 0
- movs r2, 0
- movs r3, 0
- bl sub_8085C7C
- movs r4, 0
- ldr r5, _0810584C
-_08105824:
- adds r0, r4, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _08105850
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x1
- bls _08105824
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08105848: .4byte 0x01030000
-_0810584C: .4byte 0x02000052
-_08105850: .4byte gSprites
- thumb_func_end sub_8105804
-
- thumb_func_start sub_8105854
-sub_8105854: @ 8105854
- push {lr}
- ldr r0, _08105888
- movs r1, 0xA8
- movs r2, 0x50
- movs r3, 0x6
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- ldr r2, _0810588C
- lsls r1, r0, 4
- adds r1, r0
- lsls r1, 2
- adds r1, r2
- ldrb r3, [r1, 0x5]
- movs r2, 0xD
- negs r2, r2
- ands r2, r3
- movs r3, 0x4
- orrs r2, r3
- strb r2, [r1, 0x5]
- ldr r1, _08105890
- adds r1, 0x41
- strb r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08105888: .4byte gSpriteTemplate_83ED534
-_0810588C: .4byte gSprites
-_08105890: .4byte 0x02000000
- thumb_func_end sub_8105854
-
- thumb_func_start sub_8105894
-sub_8105894: @ 8105894
- ldr r1, _0810589C
- ldrh r1, [r1]
- strh r1, [r0, 0x26]
- bx lr
- .align 2, 0
-_0810589C: .4byte gSpriteCoordOffsetY
- thumb_func_end sub_8105894
-
- thumb_func_start sub_81058A0
-sub_81058A0: @ 81058A0
- push {lr}
- ldr r0, _081058BC
- adds r0, 0x41
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081058C0
- adds r0, r1
- bl DestroySprite
- pop {r0}
- bx r0
- .align 2, 0
-_081058BC: .4byte 0x02000000
-_081058C0: .4byte gSprites
- thumb_func_end sub_81058A0
-
- thumb_func_start sub_81058C4
-sub_81058C4: @ 81058C4
- push {r4-r6,lr}
- sub sp, 0x8
- ldr r1, _08105938
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- movs r4, 0
- ldr r5, _0810593C
-_081058D6:
- ldr r0, _08105940
- ldrh r0, [r0]
- movs r1, 0x50
- subs r1, r0
- lsls r1, 16
- asrs r1, 16
- ldr r0, _08105944
- movs r2, 0x44
- movs r3, 0
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- lsls r3, r0, 4
- adds r3, r0
- lsls r3, 2
- ldr r1, _08105948
- adds r3, r1
- ldrb r2, [r3, 0x5]
- movs r6, 0xD
- negs r6, r6
- adds r1, r6, 0
- ands r2, r1
- movs r1, 0x4
- orrs r2, r1
- strb r2, [r3, 0x5]
- movs r1, 0x3E
- adds r1, r3
- mov r12, r1
- ldrb r1, [r1]
- movs r2, 0x2
- orrs r1, r2
- mov r2, r12
- strb r1, [r2]
- lsls r1, r4, 1
- add r1, sp
- ldrh r1, [r1]
- strh r1, [r3, 0x2E]
- adds r1, r4, r5
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081058D6
- add sp, 0x8
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08105938: .4byte gUnknown_083ECC5A
-_0810593C: .4byte 0x02000054
-_08105940: .4byte gSpriteCoordOffsetX
-_08105944: .4byte gSpriteTemplate_83ED54C
-_08105948: .4byte gSprites
- thumb_func_end sub_81058C4
-
- thumb_func_start sub_810594C
-sub_810594C: @ 810594C
- push {r4,r5,lr}
- adds r5, r0, 0
- ldrh r0, [r5, 0x2E]
- subs r0, 0x2
- movs r4, 0
- movs r1, 0xFF
- ands r0, r1
- strh r0, [r5, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- movs r1, 0x14
- bl Cos
- strh r0, [r5, 0x24]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- movs r1, 0x6
- bl Sin
- strh r0, [r5, 0x26]
- adds r1, r5, 0
- adds r1, 0x43
- strb r4, [r1]
- movs r2, 0x2E
- ldrsh r0, [r5, r2]
- cmp r0, 0x7F
- ble _08105986
- movs r0, 0x2
- strb r0, [r1]
-_08105986:
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _081059B0
- adds r3, r5, 0
- adds r3, 0x3F
- ldrb r2, [r3]
- lsls r0, r2, 31
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- movs r0, 0x2
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0
- strh r0, [r5, 0x30]
-_081059B0:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810594C
-
- thumb_func_start sub_81059B8
-sub_81059B8: @ 81059B8
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _081059E0
-_081059BE:
- adds r0, r4, r5
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- ldr r1, _081059E4
- adds r0, r1
- bl DestroySprite
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081059BE
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081059E0: .4byte 0x02000054
-_081059E4: .4byte gSprites
- thumb_func_end sub_81059B8
-
- thumb_func_start sub_81059E8
-sub_81059E8: @ 81059E8
- push {r4,lr}
- ldr r0, _08105A2C
- movs r1, 0xA8
- movs r2, 0x3C
- movs r3, 0x8
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _08105A30
- adds 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]
- ldrb r1, [r0, 0x1]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0, 0x1]
- bl InitSpriteAffineAnim
- ldr r0, _08105A34
- adds r0, 0x43
- strb r4, [r0]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08105A2C: .4byte gSpriteTemplate_83ED564
-_08105A30: .4byte gSprites
-_08105A34: .4byte 0x02000000
- thumb_func_end sub_81059E8
-
- thumb_func_start sub_8105A38
-sub_8105A38: @ 8105A38
- push {lr}
- adds r3, r0, 0
- ldrh r2, [r3, 0x2E]
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0
- bne _08105A5A
- adds r0, r3, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08105AB4
- adds r0, r2, 0x1
- strh r0, [r3, 0x2E]
- b _08105AB4
-_08105A5A:
- cmp r0, 0x1
- bne _08105A96
- movs r0, 0x3E
- adds r0, r3
- mov r12, r0
- ldrb r2, [r0]
- lsls r0, r2, 29
- lsrs r0, 31
- movs r1, 0x1
- eors r1, r0
- lsls r1, 2
- movs r0, 0x5
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- mov r1, r12
- strb r0, [r1]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x17
- ble _08105AB4
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- movs r0, 0
- strh r0, [r3, 0x32]
- b _08105AB4
-_08105A96:
- adds r2, r3, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- strh r0, [r3, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _08105AB4
- movs r0, 0x1
- strh r0, [r3, 0x3C]
-_08105AB4:
- ldrh r0, [r3, 0x30]
- movs r1, 0xFF
- ands r1, r0
- adds r1, 0x10
- strh r1, [r3, 0x30]
- lsrs r1, 8
- ldrh r0, [r3, 0x26]
- subs r0, r1
- strh r0, [r3, 0x26]
- pop {r0}
- bx r0
- thumb_func_end sub_8105A38
-
- thumb_func_start sub_8105ACC
-sub_8105ACC: @ 8105ACC
- ldr r2, _08105AE4
- ldr r0, _08105AE8
- adds r0, 0x43
- ldrb r1, [r0]
- lsls r0, r1, 4
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrh r0, [r0, 0x3C]
- lsls r0, 24
- lsrs r0, 24
- bx lr
- .align 2, 0
-_08105AE4: .4byte gSprites
-_08105AE8: .4byte 0x02000000
- thumb_func_end sub_8105ACC
-
- thumb_func_start sub_8105AEC
-sub_8105AEC: @ 8105AEC
- push {r4,lr}
- ldr r0, _08105B14
- adds r0, 0x43
- ldrb r0, [r0]
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08105B18
- adds r4, r0
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08105B14: .4byte 0x02000000
-_08105B18: .4byte gSprites
- thumb_func_end sub_8105AEC
-
- thumb_func_start sub_8105B1C
-sub_8105B1C: @ 8105B1C
- push {r4,lr}
- adds r3, r0, 0
- adds r2, r1, 0
- ldr r0, _08105B68
- lsls r3, 16
- asrs r3, 16
- lsls r2, 16
- asrs r2, 16
- adds r1, r3, 0
- movs r3, 0xC
- bl CreateSprite
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r0, r4, 4
- adds r0, r4
- lsls r0, 2
- ldr r1, _08105B6C
- adds r0, r1
- ldrb r2, [r0, 0x5]
- movs r1, 0xD
- negs r1, r1
- ands r1, r2
- movs r2, 0x8
- orrs r1, r2
- strb r1, [r0, 0x5]
- ldrb r1, [r0, 0x1]
- movs r2, 0x3
- orrs r1, r2
- strb r1, [r0, 0x1]
- bl InitSpriteAffineAnim
- adds r0, r4, 0
- pop {r4}
- pop {r1}
- bx r1
- .align 2, 0
-_08105B68: .4byte gSpriteTemplate_83ED6CC
-_08105B6C: .4byte gSprites
- thumb_func_end sub_8105B1C
-
- thumb_func_start sub_8105B70
-sub_8105B70: @ 8105B70
- push {lr}
- adds r2, r0, 0
- adds r0, 0x3F
- ldrb r1, [r0]
- movs r0, 0x20
- ands r0, r1
- cmp r0, 0
- beq _08105B84
- movs r0, 0x1
- strh r0, [r2, 0x3C]
-_08105B84:
- pop {r0}
- bx r0
- thumb_func_end sub_8105B70
-
- thumb_func_start sub_8105B88
-sub_8105B88: @ 8105B88
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- lsls r4, r0, 4
- adds r4, r0
- lsls r4, 2
- ldr r0, _08105BB0
- adds r4, r0
- ldrb r0, [r4, 0x3]
- lsls r0, 26
- lsrs r0, 27
- bl FreeOamMatrix
- adds r0, r4, 0
- bl DestroySprite
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08105BB0: .4byte gSprites
- thumb_func_end sub_8105B88
-
- thumb_func_start sub_8105BB4
-sub_8105BB4: @ 8105BB4
- push {r4-r6,lr}
- sub sp, 0x4
- lsls r0, 24
- lsrs r0, 24
- lsls r1, 24
- ldr r3, _08105BF0
- lsrs r1, 22
- adds r3, r1, r3
- ldr r5, [r3]
- ldr r3, _08105BF4
- adds r4, r1, r3
- movs r6, 0
- ldrsh r4, [r4, r6]
- adds r3, 0x2
- adds r1, r3
- movs r6, 0
- ldrsh r3, [r1, r6]
- lsls r2, 16
- asrs r2, 16
- str r2, [sp]
- adds r1, r5, 0
- adds r2, r4, 0
- bl sub_8105BF8
- lsls r0, 24
- lsrs r0, 24
- add sp, 0x4
- pop {r4-r6}
- pop {r1}
- bx r1
- .align 2, 0
-_08105BF0: .4byte gUnknown_083ECF0C
-_08105BF4: .4byte gUnknown_083ECE7E
- thumb_func_end sub_8105BB4
-
- thumb_func_start sub_8105BF8
-sub_8105BF8: @ 8105BF8
- push {r4-r7,lr}
- adds r4, r0, 0
- adds r6, r1, 0
- adds r1, r2, 0
- adds r2, r3, 0
- ldr r5, [sp, 0x14]
- lsls r4, 24
- lsls r5, 16
- lsrs r5, 16
- ldr r0, _08105C58
- lsrs r4, 22
- adds r0, r4, r0
- ldr r0, [r0]
- lsls r1, 16
- asrs r1, 16
- lsls r2, 16
- asrs r2, 16
- movs r3, 0x10
- bl CreateSprite
- lsls r0, 24
- lsrs r0, 24
- adds r7, r0, 0
- lsls r0, r7, 4
- adds r0, r7
- lsls r0, 2
- ldr r1, _08105C5C
- adds r2, r0, r1
- ldrb r0, [r2, 0x5]
- movs r1, 0xC
- orrs r0, r1
- strb r0, [r2, 0x5]
- str r6, [r2, 0x1C]
- strh r5, [r2, 0x3A]
- movs r0, 0x1
- strh r0, [r2, 0x3C]
- ldr r0, _08105C60
- adds r4, r0
- ldr r1, [r4]
- cmp r1, 0
- beq _08105C50
- adds r0, r2, 0
- bl SetSubspriteTables
-_08105C50:
- adds r0, r7, 0
- pop {r4-r7}
- pop {r1}
- bx r1
- .align 2, 0
-_08105C58: .4byte gUnknown_083EDB5C
-_08105C5C: .4byte gSprites
-_08105C60: .4byte gUnknown_083EDBC4
- thumb_func_end sub_8105BF8
-
- thumb_func_start sub_8105C64
-sub_8105C64: @ 8105C64
- movs r1, 0
- strh r1, [r0, 0x3C]
- bx lr
- thumb_func_end sub_8105C64
-
- thumb_func_start sub_8105C6C
-sub_8105C6C: @ 8105C6C
- push {r4,r5,lr}
- sub sp, 0x10
- adds r4, r0, 0
- ldr r1, _08105CE8
- mov r0, sp
- movs r2, 0x8
- bl memcpy
- add r5, sp, 0x8
- ldr r1, _08105CEC
- adds r0, r5, 0
- movs r2, 0x8
- bl memcpy
- ldrh r0, [r4, 0x30]
- adds r1, r0, 0x1
- strh r1, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF
- ble _08105CB2
- adds r3, r4, 0
- adds r3, 0x42
- ldrb r2, [r3]
- lsls r0, r2, 26
- lsrs r0, 26
- movs r1, 0x1
- eors r1, r0
- movs r0, 0x40
- negs r0, r0
- ands r0, r2
- orrs r0, r1
- strb r0, [r3]
- movs r0, 0
- strh r0, [r4, 0x30]
-_08105CB2:
- movs r0, 0
- strh r0, [r4, 0x24]
- strh r0, [r4, 0x26]
- adds r0, r4, 0
- adds r0, 0x42
- ldrb r1, [r0]
- movs r0, 0x3F
- ands r0, r1
- cmp r0, 0
- beq _08105CDE
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 1
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r4, 0x26]
-_08105CDE:
- add sp, 0x10
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08105CE8: .4byte gUnknown_083ECC62
-_08105CEC: .4byte gUnknown_083ECC6A
- thumb_func_end sub_8105C6C
-
- thumb_func_start sub_8105CF0
-sub_8105CF0: @ 8105CF0
- push {lr}
- adds r3, r0, 0
- adds r3, 0x3F
- ldrb r1, [r3]
- movs r2, 0x1
- orrs r1, r2
- strb r1, [r3]
- bl sub_8105C6C
- pop {r0}
- bx r0
- thumb_func_end sub_8105CF0
-
- thumb_func_start sub_8105D08
-sub_8105D08: @ 8105D08
- push {lr}
- adds r3, r0, 0
- adds r3, 0x3F
- ldrb r1, [r3]
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- bl sub_8105C6C
- pop {r0}
- bx r0
- thumb_func_end sub_8105D08
-
- thumb_func_start sub_8105D20
-sub_8105D20: @ 8105D20
- push {lr}
- adds r3, r0, 0
- adds r3, 0x3F
- ldrb r1, [r3]
- movs r2, 0x1
- orrs r1, r2
- movs r2, 0x2
- orrs r1, r2
- strb r1, [r3]
- bl sub_8105C6C
- pop {r0}
- bx r0
- thumb_func_end sub_8105D20
-
- thumb_func_start sub_8105D3C
-sub_8105D3C: @ 8105D3C
- push {lr}
- adds r2, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r2, r1]
- cmp r0, 0x1
- beq _08105D70
- cmp r0, 0x1
- bgt _08105D52
- cmp r0, 0
- beq _08105D5C
- b _08105DA0
-_08105D52:
- cmp r0, 0x2
- beq _08105D80
- cmp r0, 0x3
- beq _08105D9C
- b _08105DA0
-_08105D5C:
- ldrh r0, [r2, 0x20]
- adds r0, 0x4
- strh r0, [r2, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xCF
- ble _08105DA0
- movs r0, 0xD0
- strh r0, [r2, 0x20]
- b _08105D8E
-_08105D70:
- ldrh r0, [r2, 0x30]
- adds r0, 0x1
- strh r0, [r2, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5A
- ble _08105DA0
- b _08105D8E
-_08105D80:
- ldrh r0, [r2, 0x20]
- adds r0, 0x4
- strh r0, [r2, 0x20]
- lsls r0, 16
- ldr r1, _08105D98
- cmp r0, r1
- ble _08105DA0
-_08105D8E:
- ldrh r0, [r2, 0x2E]
- adds r0, 0x1
- strh r0, [r2, 0x2E]
- b _08105DA0
- .align 2, 0
-_08105D98: .4byte 0x010f0000
-_08105D9C:
- movs r0, 0
- strh r0, [r2, 0x3C]
-_08105DA0:
- pop {r0}
- bx r0
- thumb_func_end sub_8105D3C
-
- thumb_func_start sub_8105DA4
-sub_8105DA4: @ 8105DA4
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0x1
- beq _08105DD8
- cmp r0, 0x1
- bgt _08105DBA
- cmp r0, 0
- beq _08105DC4
- b _08105E02
-_08105DBA:
- cmp r0, 0x2
- beq _08105DE8
- cmp r0, 0x3
- beq _08105DFE
- b _08105E02
-_08105DC4:
- ldrh r0, [r1, 0x20]
- subs r0, 0x4
- strh r0, [r1, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD0
- bgt _08105E02
- movs r0, 0xD0
- strh r0, [r1, 0x20]
- b _08105DF6
-_08105DD8:
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5A
- ble _08105E02
- b _08105DF6
-_08105DE8:
- ldrh r0, [r1, 0x20]
- subs r0, 0x4
- strh r0, [r1, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x90
- bgt _08105E02
-_08105DF6:
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- b _08105E02
-_08105DFE:
- movs r0, 0
- strh r0, [r1, 0x3C]
-_08105E02:
- pop {r0}
- bx r0
- thumb_func_end sub_8105DA4
-
- thumb_func_start sub_8105E08
-sub_8105E08: @ 8105E08
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x5
- bhi _08105EAE
- lsls r0, 2
- ldr r1, _08105E20
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08105E20: .4byte _08105E24
- .align 2, 0
-_08105E24:
- .4byte _08105E3C
- .4byte _08105E52
- .4byte _08105E70
- .4byte _08105E84
- .4byte _08105E94
- .4byte _08105EAA
-_08105E3C:
- ldr r0, _08105E6C
- ldrb r1, [r0, 0xA]
- subs r1, 0x1
- lsls r1, 24
- lsrs r1, 24
- adds r0, r4, 0
- bl StartSpriteAnim
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_08105E52:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _08105EAE
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0
- strh r0, [r4, 0x30]
- b _08105EAE
- .align 2, 0
-_08105E6C: .4byte 0x02000000
-_08105E70:
- ldrh r0, [r4, 0x20]
- adds r0, 0x4
- strh r0, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xCF
- ble _08105EAE
- movs r0, 0xD0
- strh r0, [r4, 0x20]
- b _08105EA2
-_08105E84:
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x5A
- ble _08105EAE
- b _08105EA2
-_08105E94:
- ldrh r0, [r4, 0x20]
- adds r0, 0x4
- strh r0, [r4, 0x20]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xF7
- ble _08105EAE
-_08105EA2:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- b _08105EAE
-_08105EAA:
- movs r0, 0
- strh r0, [r4, 0x3C]
-_08105EAE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8105E08
-
- thumb_func_start sub_8105EB4
-sub_8105EB4: @ 8105EB4
- push {lr}
- adds r3, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r3, r1]
- cmp r0, 0x1
- beq _08105EE2
- cmp r0, 0x1
- bgt _08105ECA
- cmp r0, 0
- beq _08105ED0
- b _08105F50
-_08105ECA:
- cmp r0, 0x2
- beq _08105F00
- b _08105F50
-_08105ED0:
- adds r2, r3, 0
- adds r2, 0x2C
- ldrb r0, [r2]
- movs r1, 0x40
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
-_08105EE2:
- ldrh r0, [r3, 0x22]
- adds r0, 0x8
- strh r0, [r3, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x6F
- ble _08105F50
- movs r0, 0x70
- strh r0, [r3, 0x22]
- movs r0, 0x10
- strh r0, [r3, 0x30]
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- b _08105F50
-_08105F00:
- movs r0, 0x32
- ldrsh r2, [r3, r0]
- cmp r2, 0
- bne _08105F46
- ldrh r0, [r3, 0x22]
- ldrh r1, [r3, 0x30]
- subs r0, r1
- strh r0, [r3, 0x22]
- negs r1, r1
- strh r1, [r3, 0x30]
- ldrh r0, [r3, 0x34]
- adds r0, 0x1
- strh r0, [r3, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x1
- ble _08105F46
- lsls r0, r1, 16
- asrs r0, 18
- strh r0, [r3, 0x30]
- strh r2, [r3, 0x34]
- adds r1, r0, 0
- cmp r1, 0
- bne _08105F46
- ldrh r0, [r3, 0x2E]
- adds r0, 0x1
- strh r0, [r3, 0x2E]
- strh r1, [r3, 0x3C]
- adds r2, r3, 0
- adds r2, 0x2C
- ldrb r1, [r2]
- movs r0, 0x41
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
-_08105F46:
- ldrh r0, [r3, 0x32]
- adds r0, 0x1
- movs r1, 0x7
- ands r0, r1
- strh r0, [r3, 0x32]
-_08105F50:
- pop {r0}
- bx r0
- thumb_func_end sub_8105EB4
-
- thumb_func_start sub_8105F54
-sub_8105F54: @ 8105F54
- push {lr}
- adds r1, r0, 0
- movs r2, 0x2E
- ldrsh r0, [r1, r2]
- cmp r0, 0
- beq _08105F66
- cmp r0, 0x1
- beq _08105F7C
- b _08105F98
-_08105F66:
- ldrh r0, [r1, 0x30]
- adds r0, 0x1
- strh r0, [r1, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x8
- ble _08105F98
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- b _08105F98
-_08105F7C:
- ldrh r0, [r1, 0x22]
- adds r0, 0x2
- strh r0, [r1, 0x22]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x2F
- ble _08105F98
- movs r0, 0x30
- strh r0, [r1, 0x22]
- ldrh r0, [r1, 0x2E]
- adds r0, 0x1
- strh r0, [r1, 0x2E]
- movs r0, 0
- strh r0, [r1, 0x3C]
-_08105F98:
- pop {r0}
- bx r0
- thumb_func_end sub_8105F54
-
- thumb_func_start sub_8105F9C
-sub_8105F9C: @ 8105F9C
- push {r4,lr}
- adds r4, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0
- beq _08105FAE
- cmp r0, 0x1
- beq _08106000
- b _0810604E
-_08105FAE:
- adds r2, r4, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r4, 0x30]
- adds r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x20
- ble _0810604E
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0x5
- strh r0, [r4, 0x30]
- ldrb r0, [r4, 0x1]
- movs r1, 0x10
- orrs r0, r1
- strb r0, [r4, 0x1]
- ldrb r1, [r2]
- movs r0, 0x5
- negs r0, r0
- ands r0, r1
- strb r0, [r2]
- adds r0, r4, 0
- movs r1, 0x1
- bl StartSpriteAnim
- ldr r2, _08105FFC
- ldrh r1, [r4, 0x30]
- lsls r0, r1, 4
- orrs r0, r1
- lsls r0, 8
- strh r0, [r2]
- b _0810604E
- .align 2, 0
-_08105FFC: .4byte REG_MOSAIC
-_08106000:
- ldrh r1, [r4, 0x32]
- lsls r1, 16
- asrs r1, 24
- ldrh r0, [r4, 0x30]
- subs r0, r1
- strh r0, [r4, 0x30]
- lsls r0, 16
- cmp r0, 0
- bge _08106016
- movs r0, 0
- strh r0, [r4, 0x30]
-_08106016:
- ldr r2, _08106054
- ldrh r1, [r4, 0x30]
- lsls r0, r1, 4
- orrs r0, r1
- lsls r0, 8
- strh r0, [r2]
- ldrh r1, [r4, 0x32]
- movs r0, 0xFF
- ands r0, r1
- adds r0, 0x80
- strh r0, [r4, 0x32]
- movs r0, 0x30
- ldrsh r1, [r4, r0]
- cmp r1, 0
- bne _0810604E
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
- strh r1, [r4, 0x3C]
- ldrb r1, [r4, 0x1]
- movs r0, 0x11
- negs r0, r0
- ands r0, r1
- strb r0, [r4, 0x1]
- adds r0, r4, 0
- movs r1, 0
- bl StartSpriteAnim
-_0810604E:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08106054: .4byte REG_MOSAIC
- thumb_func_end sub_8105F9C
-
- thumb_func_start sub_8106058
-sub_8106058: @ 8106058
- push {r4,r5,lr}
- adds r5, r0, 0
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0x2
- bgt _081060A8
- ldr r1, _081060A4
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 4
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- strh r0, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x3
- ble _081060E4
- ldrh r0, [r5, 0x30]
- adds r0, 0x1
- strh r0, [r5, 0x30]
- movs r0, 0
- strh r0, [r5, 0x32]
- b _081060E4
- .align 2, 0
-_081060A4: .4byte gUnknown_083EDE10
-_081060A8:
- ldr r1, _081060F8
- movs r2, 0x30
- ldrsh r0, [r5, r2]
- lsls r0, 2
- adds r0, r1
- ldr r4, [r0]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 4
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- ldrh r0, [r5, 0x32]
- adds r0, 0x1
- movs r1, 0
- strh r0, [r5, 0x32]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0x18
- ble _081060E4
- strh r1, [r5, 0x30]
- strh r1, [r5, 0x32]
-_081060E4:
- adds r0, r5, 0
- movs r1, 0x1
- bl StartSpriteAnimIfDifferent
- movs r0, 0
- strh r0, [r5, 0x3C]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081060F8: .4byte gUnknown_083EDE10
- thumb_func_end sub_8106058
-
- thumb_func_start sub_81060FC
-sub_81060FC: @ 81060FC
- push {r4-r6,lr}
- sub sp, 0x30
- adds r4, r0, 0
- ldr r1, _08106138
- mov r0, sp
- movs r2, 0x10
- bl memcpy
- add r6, sp, 0x10
- ldr r1, _0810613C
- adds r0, r6, 0
- movs r2, 0x10
- bl memcpy
- add r5, sp, 0x20
- ldr r1, _08106140
- adds r0, r5, 0
- movs r2, 0x10
- bl memcpy
- movs r1, 0x2E
- ldrsh r0, [r4, r1]
- cmp r0, 0x1
- beq _08106174
- cmp r0, 0x1
- bgt _08106144
- cmp r0, 0
- beq _0810614A
- b _081061C0
- .align 2, 0
-_08106138: .4byte gUnknown_083ECC72
-_0810613C: .4byte gUnknown_083ECC82
-_08106140: .4byte gUnknown_083ECC92
-_08106144:
- cmp r0, 0x2
- beq _08106188
- b _081061C0
-_0810614A:
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- lsls r0, 1
- add r0, sp
- ldrh r0, [r0]
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 1
- adds r0, r6, r0
- ldrh r0, [r0]
- strh r0, [r4, 0x26]
- movs r2, 0x3A
- ldrsh r0, [r4, r2]
- lsls r0, 1
- adds r0, r5, r0
- ldrh r0, [r0]
- strh r0, [r4, 0x30]
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_08106174:
- ldrh r0, [r4, 0x30]
- subs r0, 0x1
- strh r0, [r4, 0x30]
- lsls r0, 16
- asrs r0, 16
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _081061C0
- b _081061BA
-_08106188:
- ldrh r0, [r4, 0x24]
- movs r2, 0x24
- ldrsh r1, [r4, r2]
- cmp r1, 0
- ble _08106196
- subs r0, 0x4
- b _0810619C
-_08106196:
- cmp r1, 0
- bge _0810619E
- adds r0, 0x4
-_0810619C:
- strh r0, [r4, 0x24]
-_0810619E:
- ldrh r0, [r4, 0x26]
- movs r2, 0x26
- ldrsh r1, [r4, r2]
- cmp r1, 0
- ble _081061AC
- subs r0, 0x4
- b _081061B2
-_081061AC:
- cmp r1, 0
- bge _081061B4
- adds r0, 0x4
-_081061B2:
- strh r0, [r4, 0x26]
-_081061B4:
- ldr r0, [r4, 0x24]
- cmp r0, 0
- bne _081061C0
-_081061BA:
- ldrh r0, [r4, 0x2E]
- adds r0, 0x1
- strh r0, [r4, 0x2E]
-_081061C0:
- add sp, 0x30
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_81060FC
-
- thumb_func_start sub_81061C8
-sub_81061C8: @ 81061C8
- push {r4,lr}
- sub sp, 0x10
- adds r4, r0, 0
- ldr r1, _0810622C
- mov r0, sp
- movs r2, 0x10
- bl memcpy
- ldrh r1, [r4, 0x2E]
- movs r2, 0x2E
- ldrsh r0, [r4, r2]
- cmp r0, 0
- bne _081061EA
- adds r0, r1, 0x1
- strh r0, [r4, 0x2E]
- movs r0, 0xC
- strh r0, [r4, 0x30]
-_081061EA:
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Cos
- strh r0, [r4, 0x24]
- movs r1, 0x3A
- ldrsh r0, [r4, r1]
- lsls r0, 1
- add r0, sp
- movs r2, 0
- ldrsh r0, [r0, r2]
- movs r2, 0x30
- ldrsh r1, [r4, r2]
- bl Sin
- strh r0, [r4, 0x26]
- ldrh r1, [r4, 0x30]
- movs r2, 0x30
- ldrsh r0, [r4, r2]
- cmp r0, 0
- beq _08106224
- subs r0, r1, 0x1
- strh r0, [r4, 0x30]
-_08106224:
- add sp, 0x10
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_0810622C: .4byte gUnknown_083ECCA2
- thumb_func_end sub_81061C8
-
- thumb_func_start sub_8106230
-sub_8106230: @ 8106230
- push {r4-r6,lr}
- sub sp, 0x4
- adds r5, r0, 0
- movs r1, 0x2E
- ldrsh r0, [r5, r1]
- cmp r0, 0x1
- beq _0810627A
- cmp r0, 0x1
- bgt _08106248
- cmp r0, 0
- beq _08106252
- b _0810634A
-_08106248:
- cmp r0, 0x2
- beq _081062C4
- cmp r0, 0x3
- beq _081062FC
- b _0810634A
-_08106252:
- ldr r2, _081062BC
- adds r1, r2, 0
- adds r1, 0x5C
- movs r0, 0x2F
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x3F
- strh r0, [r1]
- subs r1, 0x4
- ldr r0, _081062C0
- strh r0, [r1]
- adds r2, r5, 0
- adds r2, 0x3E
- ldrb r0, [r2]
- movs r1, 0x4
- orrs r0, r1
- strb r0, [r2]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
-_0810627A:
- ldrh r0, [r5, 0x30]
- adds r2, r0, 0x2
- strh r2, [r5, 0x30]
- adds r0, 0xB2
- strh r0, [r5, 0x32]
- movs r1, 0xF0
- subs r1, r2
- strh r1, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD0
- ble _08106296
- movs r0, 0xD0
- strh r0, [r5, 0x32]
-_08106296:
- movs r1, 0x34
- ldrsh r0, [r5, r1]
- cmp r0, 0xCF
- bgt _081062A2
- movs r0, 0xD0
- strh r0, [r5, 0x34]
-_081062A2:
- ldr r2, _081062BC
- ldrh r0, [r5, 0x32]
- lsls r0, 8
- ldrh r1, [r5, 0x34]
- orrs r0, r1
- adds r1, r2, 0
- adds r1, 0x58
- strh r0, [r1]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0x33
- ble _0810634A
- b _0810633C
- .align 2, 0
-_081062BC: .4byte 0x02000000
-_081062C0: .4byte 0x00002088
-_081062C4:
- ldr r6, _08106354
- movs r1, 0x12
- ldrsh r0, [r6, r1]
- cmp r0, 0
- beq _0810634A
- ldr r1, _08106358
- movs r4, 0
- str r4, [sp]
- movs r0, 0x5
- movs r2, 0xD0
- movs r3, 0x74
- bl sub_8104D30
- adds r1, r6, 0
- adds r1, 0x58
- ldr r0, _0810635C
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0xD1
- lsls r0, 7
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0x2F
- strh r0, [r1]
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- strh r4, [r5, 0x30]
-_081062FC:
- ldrh r0, [r5, 0x30]
- adds r2, r0, 0x2
- strh r2, [r5, 0x30]
- adds r0, 0xC2
- strh r0, [r5, 0x32]
- movs r1, 0xE0
- subs r1, r2
- strh r1, [r5, 0x34]
- lsls r0, 16
- asrs r0, 16
- cmp r0, 0xD0
- ble _08106318
- movs r0, 0xD0
- strh r0, [r5, 0x32]
-_08106318:
- movs r1, 0x34
- ldrsh r0, [r5, r1]
- cmp r0, 0xCF
- bgt _08106324
- movs r0, 0xD0
- strh r0, [r5, 0x34]
-_08106324:
- ldr r2, _08106354
- ldrh r0, [r5, 0x32]
- lsls r0, 8
- ldrh r1, [r5, 0x34]
- orrs r0, r1
- adds r1, r2, 0
- adds r1, 0x58
- strh r0, [r1]
- movs r1, 0x30
- ldrsh r0, [r5, r1]
- cmp r0, 0xF
- ble _0810634A
-_0810633C:
- ldrh r0, [r5, 0x2E]
- adds r0, 0x1
- strh r0, [r5, 0x2E]
- adds r1, r2, 0
- adds r1, 0x5C
- movs r0, 0x3F
- strh r0, [r1]
-_0810634A:
- add sp, 0x4
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08106354: .4byte 0x02000000
-_08106358: .4byte SpriteCallbackDummy
-_0810635C: .4byte 0x0000c0e0
- thumb_func_end sub_8106230
-
- thumb_func_start nullsub_70
-nullsub_70: @ 8106360
- bx lr
- thumb_func_end nullsub_70
-
- thumb_func_start sub_8106364
-sub_8106364: @ 8106364
- ldr r1, _0810636C
- movs r0, 0
- strh r0, [r1]
- bx lr
- .align 2, 0
-_0810636C: .4byte REG_MOSAIC
- thumb_func_end sub_8106364
-
- thumb_func_start sub_8106370
-sub_8106370: @ 8106370
- push {r4,lr}
- ldr r0, _08106398
- ldr r4, [r0]
- movs r0, 0x6
- bl IndexOfSpritePaletteTag
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 4
- movs r0, 0x80
- lsls r0, 17
- adds r1, r0
- lsrs r1, 16
- adds r0, r4, 0
- movs r2, 0x20
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08106398: .4byte gUnknown_083EDE20
- thumb_func_end sub_8106370
-
- thumb_func_start sub_810639C
-sub_810639C: @ 810639C
- ldr r2, _081063BC
- adds r1, r2, 0
- adds r1, 0x58
- movs r0, 0xF0
- strh r0, [r1]
- adds r1, 0x2
- movs r0, 0xA0
- strh r0, [r1]
- adds r0, r2, 0
- adds r0, 0x5C
- movs r1, 0x3F
- strh r1, [r0]
- adds r0, 0x2
- strh r1, [r0]
- bx lr
- .align 2, 0
-_081063BC: .4byte 0x02000000
- thumb_func_end sub_810639C
-
- thumb_func_start sub_81063C0
-sub_81063C0: @ 81063C0
- push {r4,lr}
- bl sub_8106404
- ldr r0, _081063F0
- ldr r4, _081063F4
- adds r1, r4, 0
- bl sub_800D238
- ldr r0, _081063F8
- movs r1, 0xC8
- lsls r1, 6
- adds r4, r1
- adds r1, r4, 0
- bl sub_800D238
- ldr r0, _081063FC
- bl LoadSpriteSheets
- ldr r0, _08106400
- bl LoadSpritePalettes
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081063F0: .4byte gSlotMachineReelTimeLights_Gfx
-_081063F4: .4byte 0x02010000
-_081063F8: .4byte gUnknown_083EDE8C
-_081063FC: .4byte gUnknown_083EDC2C
-_08106400: .4byte gSlotMachineSpritePalettes
- thumb_func_end sub_81063C0
-
- thumb_func_start sub_8106404
-sub_8106404: @ 8106404
- push {r4,r5,lr}
- ldr r3, _0810643C
- movs r2, 0
- ldr r5, _08106440
- ldr r0, _08106444
- ldr r4, [r0]
-_08106410:
- movs r1, 0
- adds r2, 0x1
-_08106414:
- adds r0, r4, r1
- ldrb r0, [r0]
- strb r0, [r3]
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- adds r3, 0x1
- cmp r1, 0x1F
- bls _08106414
- lsls r0, r2, 24
- lsrs r2, r0, 24
- cmp r2, 0x3F
- bls _08106410
- adds r0, r5, 0
- bl LoadSpriteSheet
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_0810643C: .4byte 0x02010000
-_08106440: .4byte gUnknown_083EDCDC
-_08106444: .4byte gUnknown_083EDCE4
- thumb_func_end sub_8106404
-
- thumb_func_start sub_8106448
-sub_8106448: @ 8106448
- push {r4-r7,lr}
- ldr r0, _081064A0
- ldr r4, _081064A4
- adds r1, r4, 0
- bl sub_800D238
- movs r3, 0xC0
- lsls r3, 19
- movs r5, 0xE9
- lsls r5, 5
- ldr r1, _081064A8
- ldr r6, _081064AC
- movs r2, 0x80
- lsls r2, 5
- movs r7, 0x80
- lsls r7, 24
-_08106468:
- str r4, [r1]
- str r3, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r4, r2
- adds r3, r2
- subs r5, r2
- cmp r5, r2
- bhi _08106468
- str r4, [r1]
- str r3, [r1, 0x4]
- lsrs r0, r5, 1
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- ldr r0, _081064B0
- movs r1, 0
- movs r2, 0xA0
- bl LoadPalette
- ldr r0, _081064B4
- movs r1, 0xD0
- movs r2, 0x20
- bl LoadPalette
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081064A0: .4byte gSlotMachine_Gfx
-_081064A4: .4byte 0x02010000
-_081064A8: .4byte 0x040000d4
-_081064AC: .4byte 0x80000800
-_081064B0: .4byte gUnknown_08E95A18
-_081064B4: .4byte gUnknown_083EDE24
- thumb_func_end sub_8106448
-
- thumb_func_start sub_81064B8
-sub_81064B8: @ 81064B8
- push {lr}
- ldr r0, _081064D0
- ldr r1, _081064D4
- movs r2, 0xA0
- lsls r2, 2
- bl CpuSet
- bl sub_81064D8
- pop {r0}
- bx r0
- .align 2, 0
-_081064D0: .4byte gUnknown_08E95AB8
-_081064D4: .4byte 0x0600e800
- thumb_func_end sub_81064B8
-
- thumb_func_start sub_81064D8
-sub_81064D8: @ 81064D8
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r6, _0810658C
- movs r3, 0x4
- movs r0, 0xC0
- lsls r0, 1
- mov r12, r0
- movs r1, 0xC0
- lsls r1, 2
- mov r9, r1
- movs r2, 0xA0
- lsls r2, 1
- mov r8, r2
-_081064F6:
- movs r0, 0
- lsls r4, r3, 16
- asrs r5, r4, 16
-_081064FC:
- lsls r2, r0, 16
- asrs r2, 16
- adds r1, r5, r2
- lsls r1, 1
- adds r1, r6
- mov r7, r8
- adds r3, r1, r7
- ldr r7, _08106590
- adds r0, r7, 0
- strh r0, [r3]
- movs r0, 0xD0
- lsls r0, 2
- adds r3, r1, r0
- ldr r7, _08106594
- adds r0, r7, 0
- strh r0, [r3]
- mov r0, r12
- adds r3, r1, r0
- ldr r7, _08106598
- adds r0, r7, 0
- strh r0, [r3]
- add r1, r9
- ldr r3, _0810659C
- adds r0, r3, 0
- strh r0, [r1]
- adds r2, 0x1
- lsls r2, 16
- lsrs r0, r2, 16
- asrs r2, 16
- cmp r2, 0x3
- ble _081064FC
- asrs r3, r4, 16
- lsls r1, r3, 1
- adds r1, r6
- mov r5, r12
- adds r2, r1, r5
- adds r7, 0x5D
- adds r0, r7, 0
- strh r0, [r2]
- add r1, r9
- ldr r2, _081065A0
- adds r0, r2, 0
- strh r0, [r1]
- movs r0, 0x7
- ldr r5, _081065A4
- adds r2, r5, 0
-_08106558:
- lsls r1, r0, 16
- asrs r1, 16
- lsls r0, r1, 5
- adds r0, r3
- lsls r0, 1
- adds r0, r6
- strh r2, [r0]
- adds r1, 0x1
- lsls r1, 16
- lsrs r0, r1, 16
- asrs r1, 16
- cmp r1, 0xB
- ble _08106558
- movs r7, 0xA0
- lsls r7, 11
- adds r0, r4, r7
- lsrs r3, r0, 16
- asrs r0, 16
- cmp r0, 0x11
- ble _081064F6
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810658C: .4byte 0x0600f000
-_08106590: .4byte 0x00002051
-_08106594: .4byte 0x00002851
-_08106598: .4byte 0x00002061
-_0810659C: .4byte 0x00002861
-_081065A0: .4byte 0x000028be
-_081065A4: .4byte 0x000020bf
- thumb_func_end sub_81064D8
-
- thumb_func_start sub_81065A8
-sub_81065A8: @ 81065A8
- push {r4-r6,lr}
- ldr r5, [sp, 0x10]
- lsls r0, 16
- asrs r0, 15
- ldr r6, _081065D0
- adds r4, r0, r6
- strh r1, [r4]
- ldr r4, _081065D4
- adds r1, r0, r4
- strh r2, [r1]
- adds r6, 0x40
- adds r1, r0, r6
- strh r3, [r1]
- ldr r1, _081065D8
- adds r0, r1
- strh r5, [r0]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081065D0: .4byte 0x0600ebc0
-_081065D4: .4byte 0x0600ebc2
-_081065D8: .4byte 0x0600ec02
- thumb_func_end sub_81065A8
-
- thumb_func_start sub_81065DC
-sub_81065DC: @ 81065DC
- push {r4,r5,lr}
- ldr r0, _08106624
- ldr r1, _08106628
- movs r2, 0xA0
- lsls r2, 2
- bl CpuSet
- ldr r5, _0810662C
- movs r1, 0
- movs r4, 0
-_081065F0:
- movs r0, 0
- lsls r3, r1, 16
- asrs r2, r3, 11
-_081065F6:
- lsls r1, r0, 16
- asrs r1, 16
- adds r0, r2, r1
- lsls r0, 1
- adds r0, r5
- strh r4, [r0]
- adds r1, 0x1
- lsls r1, 16
- lsrs r0, r1, 16
- asrs r1, 16
- cmp r1, 0x1D
- ble _081065F6
- movs r1, 0x80
- lsls r1, 9
- adds r0, r3, r1
- lsrs r1, r0, 16
- asrs r0, 16
- cmp r0, 0x13
- ble _081065F0
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08106624: .4byte gUnknown_08E95FB8
-_08106628: .4byte 0x0600e800
-_0810662C: .4byte 0x0600f000
- thumb_func_end sub_81065DC
-
- thumb_func_start sub_8106630
-sub_8106630: @ 8106630
- push {r4-r7,lr}
- ldr r2, _0810665C
- subs r4, r2, 0x2
- subs r5, r2, 0x1
- ldr r3, _08106660
- subs r0, 0x1
- lsls r1, r0, 5
- adds r1, r3
- ldr r3, _08106664
- adds r1, r3
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldm r1!, {r3,r6,r7}
- stm r2!, {r3,r6,r7}
- ldm r1!, {r6,r7}
- stm r2!, {r6,r7}
- strb r0, [r4]
- movs r0, 0
- strb r0, [r5]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810665C: .4byte 0x02015de0
-_08106660: .4byte gSaveBlock1
-_08106664: .4byte 0x00002dfc
- thumb_func_end sub_8106630
-
- thumb_func_start sub_8106668
-sub_8106668: @ 8106668
- push {lr}
- bl sub_8106674
- pop {r0}
- bx r0
- thumb_func_end sub_8106668
-
- thumb_func_start sub_8106674
-sub_8106674: @ 8106674
- push {r4-r7,lr}
- sub sp, 0x4
- ldr r1, _08106694
- ldr r2, _08106698
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r4, r1, 0
- cmp r0, 0x4
- bls _08106688
- b _081067E0
-_08106688:
- lsls r0, 2
- ldr r1, _0810669C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08106694: .4byte gMain
-_08106698: .4byte 0x0000043c
-_0810669C: .4byte _081066A0
- .align 2, 0
-_081066A0:
- .4byte _081066B4
- .4byte _081066D8
- .4byte _08106734
- .4byte _0810675C
- .4byte _0810678C
-_081066B4:
- bl remove_some_task
- movs r0, 0
- bl SetVBlankCallback
- ldr r1, _081066D0
- ldr r0, _081066D4
- str r0, [r1]
- movs r0, 0x1
- bl sub_8106A10
- bl sub_81069CC
- b _0810676E
- .align 2, 0
-_081066D0: .4byte gUnknown_03005E8C
-_081066D4: .4byte 0x02015de0
-_081066D8:
- bl ResetPaletteFade
- movs r2, 0xC0
- lsls r2, 19
- movs r3, 0xC0
- lsls r3, 9
- movs r5, 0
- ldr r1, _08106724
- movs r4, 0x80
- lsls r4, 5
- ldr r6, _08106728
- movs r7, 0x85
- lsls r7, 24
-_081066F2:
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- str r6, [r1, 0x8]
- ldr r0, [r1, 0x8]
- adds r2, r4
- subs r3, r4
- cmp r3, r4
- bhi _081066F2
- str r5, [sp]
- mov r0, sp
- str r0, [r1]
- str r2, [r1, 0x4]
- lsrs r0, r3, 2
- orrs r0, r7
- str r0, [r1, 0x8]
- ldr r0, [r1, 0x8]
- bl ResetSpriteData
- ldr r1, _0810672C
- ldr r2, _08106730
- adds r1, r2
- b _08106774
- .align 2, 0
-_08106724: .4byte 0x040000d4
-_08106728: .4byte 0x85000400
-_0810672C: .4byte gMain
-_08106730: .4byte 0x0000043c
-_08106734:
- ldrh r0, [r4, 0x20]
- bl SeedRng
- bl InitKeys
- ldr r0, _08106750
- ldr r1, _08106754
- adds r0, r1
- ldrb r0, [r0]
- bl sub_81068FC
- ldr r2, _08106758
- adds r1, r4, r2
- b _08106774
- .align 2, 0
-_08106750: .4byte 0x02000000
-_08106754: .4byte 0x00015ddf
-_08106758: .4byte 0x0000043c
-_0810675C:
- ldr r1, _0810677C
- ldr r2, _08106780
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- bl sub_8107090
-_0810676E:
- ldr r1, _08106784
- ldr r0, _08106788
- adds r1, r0
-_08106774:
- ldrb r0, [r1]
- adds r0, 0x1
- strb r0, [r1]
- b _081067E0
- .align 2, 0
-_0810677C: .4byte 0x02000000
-_08106780: .4byte 0x00015dde
-_08106784: .4byte gMain
-_08106788: .4byte 0x0000043c
-_0810678C:
- ldr r1, _081067E8
- ldr r2, _081067EC
- adds r0, r1, r2
- ldrb r0, [r0]
- adds r2, 0x1
- adds r1, r2
- ldrb r1, [r1]
- bl sub_8106918
- ldr r0, _081067F0
- movs r1, 0
- movs r2, 0x2
- bl LoadPalette
- movs r1, 0xA0
- lsls r1, 19
- movs r4, 0
- str r4, [sp]
- ldr r0, _081067F4
- mov r2, sp
- str r2, [r0]
- str r1, [r0, 0x4]
- ldr r1, _081067F8
- str r1, [r0, 0x8]
- ldr r0, [r0, 0x8]
- movs r0, 0x2
- bl BeginFastPaletteFade
- ldr r0, _081067FC
- bl SetVBlankCallback
- ldr r0, _08106800
- strb r4, [r0]
- movs r1, 0x80
- lsls r1, 19
- movs r2, 0x9A
- lsls r2, 5
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08106804
- bl SetMainCallback2
-_081067E0:
- add sp, 0x4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081067E8: .4byte 0x02000000
-_081067EC: .4byte 0x00015dde
-_081067F0: .4byte gUnknown_083F6140
-_081067F4: .4byte 0x040000d4
-_081067F8: .4byte 0x85000100
-_081067FC: .4byte sub_8106AAC
-_08106800: .4byte gUnknown_03000750
-_08106804: .4byte sub_8106808
- thumb_func_end sub_8106674
-
- thumb_func_start sub_8106808
-sub_8106808: @ 8106808
- push {lr}
- bl sub_810682C
- bl UpdatePaletteFade
- pop {r0}
- bx r0
- thumb_func_end sub_8106808
-
- thumb_func_start sub_8106818
-sub_8106818: @ 8106818
- push {lr}
- ldr r0, _08106828
- ldr r0, [r0, 0x8]
- bl SetMainCallback2
- pop {r0}
- bx r0
- .align 2, 0
-_08106828: .4byte gMain
- thumb_func_end sub_8106818
-
- thumb_func_start sub_810682C
-sub_810682C: @ 810682C
- push {lr}
- sub sp, 0x4
- ldr r3, _08106844
- ldrb r1, [r3]
- cmp r1, 0x1
- beq _08106880
- cmp r1, 0x1
- bgt _08106848
- cmp r1, 0
- beq _0810684E
- b _081068E6
- .align 2, 0
-_08106844: .4byte gUnknown_03000750
-_08106848:
- cmp r1, 0x2
- beq _081068C0
- b _081068E6
-_0810684E:
- ldr r0, _08106874
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _0810685E
- movs r0, 0x1
- strb r0, [r3]
-_0810685E:
- ldr r0, _08106878
- ldrb r0, [r0]
- cmp r0, 0
- beq _081068E6
- ldr r1, _0810687C
- ldrh r0, [r1]
- cmp r0, 0
- beq _081068E6
- subs r0, 0x1
- b _081068E4
- .align 2, 0
-_08106874: .4byte gPaletteFade
-_08106878: .4byte gUnknown_03000756
-_0810687C: .4byte gUnknown_03000754
-_08106880:
- ldr r0, _081068B4
- ldrh r2, [r0, 0x2E]
- ands r1, r2
- cmp r1, 0
- bne _08106892
- movs r0, 0x2
- ands r0, r2
- cmp r0, 0
- beq _081068A4
-_08106892:
- movs r0, 0x2
- strb r0, [r3]
- subs r0, 0x3
- movs r1, 0
- str r1, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
-_081068A4:
- ldr r0, _081068B8
- ldrb r0, [r0]
- cmp r0, 0
- beq _081068E6
- ldr r1, _081068BC
- movs r0, 0
- b _081068E4
- .align 2, 0
-_081068B4: .4byte gMain
-_081068B8: .4byte gUnknown_03000756
-_081068BC: .4byte gUnknown_03000754
-_081068C0:
- ldr r0, _081068EC
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _081068D2
- ldr r0, _081068F0
- bl SetMainCallback2
-_081068D2:
- ldr r0, _081068F4
- ldrb r0, [r0]
- cmp r0, 0
- beq _081068E6
- ldr r1, _081068F8
- ldrh r0, [r1]
- cmp r0, 0x1D
- bhi _081068E6
- adds r0, 0x1
-_081068E4:
- strh r0, [r1]
-_081068E6:
- add sp, 0x4
- pop {r0}
- bx r0
- .align 2, 0
-_081068EC: .4byte gPaletteFade
-_081068F0: .4byte sub_8106818
-_081068F4: .4byte gUnknown_03000756
-_081068F8: .4byte gUnknown_03000754
- thumb_func_end sub_810682C
-
- thumb_func_start sub_81068FC
-sub_81068FC: @ 81068FC
- push {r4,lr}
- ldr r4, _08106914
- adds r0, r4, 0
- bl InitMenuWindow
- adds r0, r4, 0
- bl SetUpWindowConfig
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08106914: .4byte gWindowConfig_81E7160
- thumb_func_end sub_81068FC
-
- thumb_func_start sub_8106918
-sub_8106918: @ 8106918
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x1
- beq _081069BE
- ldr r2, _08106974
- ldr r6, _08106978
- ldr r0, [r6]
- ldrb r0, [r0, 0xA]
- cmp r3, 0x7
- bhi _08106988
- ldr r1, _0810697C
- lsls r0, 2
- adds r0, r1
- ldr r1, [r0]
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r1, _08106980
- bl StringCopy
- adds r2, r0, 0
- ldr r1, [r6]
- adds r1, 0x16
- bl StringCopy
- adds r2, r0, 0
- movs r0, 0xFC
- strb r0, [r2]
- movs r0, 0x16
- strb r0, [r2, 0x1]
- adds r2, 0x2
- ldr r1, _08106984
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r1, [r6]
- adds r1, 0xB
- bl StringCopy10
- movs r1, 0x6
- b _081069AE
- .align 2, 0
-_08106974: .4byte gUnknown_03005E40
-_08106978: .4byte gUnknown_03005E8C
-_0810697C: .4byte gUnknown_083F60AC
-_08106980: .4byte gContestText_ContestWinner
-_08106984: .4byte gOtherText_Unknown1
-_08106988:
- ldr r4, _081069C4
- lsls r5, r0, 3
- adds r0, r5, r4
- ldr r1, [r0]
- adds r0, r2, 0
- bl StringCopy
- adds r2, r0, 0
- ldr r1, [r6]
- adds r1, 0xB
- bl StringCopy10
- adds r2, r0, 0
- adds r4, 0x4
- adds r5, r4
- ldr r1, [r5]
- bl StringCopy
- movs r1, 0x3
-_081069AE:
- movs r2, 0xE
- ldr r0, _081069C8
- lsls r1, 3
- adds r1, 0x1
- lsls r2, 3
- movs r3, 0x1
- bl sub_80729D8
-_081069BE:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_081069C4: .4byte gUnknown_083F60C0
-_081069C8: .4byte gUnknown_03005E40
- thumb_func_end sub_8106918
-
- thumb_func_start sub_81069CC
-sub_81069CC: @ 81069CC
- movs r0, 0x80
- lsls r0, 19
- movs r3, 0
- strh r3, [r0]
- ldr r2, _081069FC
- ldrh r0, [r2]
- movs r1, 0x1
- orrs r0, r1
- strh r0, [r2]
- ldr r1, _08106A00
- ldr r2, _08106A04
- adds r0, r2, 0
- strh r0, [r1]
- adds r1, 0x2
- ldr r2, _08106A08
- adds r0, r2, 0
- strh r0, [r1]
- ldr r0, _08106A0C
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- adds r0, 0x2
- strh r3, [r0]
- bx lr
- .align 2, 0
-_081069FC: .4byte 0x04000200
-_08106A00: .4byte REG_BG0CNT
-_08106A04: .4byte 0x00000c42
-_08106A08: .4byte 0x00000a45
-_08106A0C: .4byte REG_BLDCNT
- thumb_func_end sub_81069CC
-
- thumb_func_start sub_8106A10
-sub_8106A10: @ 8106A10
- push {lr}
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0
- bne _08106A34
- ldr r0, _08106A28
- strb r1, [r0]
- ldr r0, _08106A2C
- strh r1, [r0]
- ldr r0, _08106A30
- strh r1, [r0]
- b _08106A46
- .align 2, 0
-_08106A28: .4byte gUnknown_03000756
-_08106A2C: .4byte gUnknown_03000752
-_08106A30: .4byte gUnknown_03000754
-_08106A34:
- ldr r1, _08106A4C
- movs r0, 0x1
- strb r0, [r1]
- ldr r1, _08106A50
- movs r0, 0xF
- strh r0, [r1]
- ldr r1, _08106A54
- movs r0, 0x1E
- strh r0, [r1]
-_08106A46:
- pop {r0}
- bx r0
- .align 2, 0
-_08106A4C: .4byte gUnknown_03000756
-_08106A50: .4byte gUnknown_03000752
-_08106A54: .4byte gUnknown_03000754
- thumb_func_end sub_8106A10
-
- thumb_func_start sub_8106A58
-sub_8106A58: @ 8106A58
- push {lr}
- ldr r0, _08106A68
- ldrb r1, [r0]
- cmp r1, 0
- bne _08106A70
- ldr r0, _08106A6C
- strh r1, [r0]
- b _08106A92
- .align 2, 0
-_08106A68: .4byte gUnknown_03000756
-_08106A6C: .4byte REG_MOSAIC
-_08106A70:
- ldr r1, _08106A98
- ldr r2, _08106A9C
- adds r0, r2, 0
- strh r0, [r1]
- ldr r2, _08106AA0
- ldr r0, _08106AA4
- ldrh r1, [r0]
- lsrs r1, 1
- strh r1, [r2]
- ldr r3, _08106AA8
- lsls r0, r1, 12
- lsls r2, r1, 8
- orrs r0, r2
- lsls r2, r1, 4
- orrs r0, r2
- orrs r0, r1
- strh r0, [r3]
-_08106A92:
- pop {r0}
- bx r0
- .align 2, 0
-_08106A98: .4byte REG_BG1CNT
-_08106A9C: .4byte 0x00000a45
-_08106AA0: .4byte gUnknown_03000752
-_08106AA4: .4byte gUnknown_03000754
-_08106AA8: .4byte REG_MOSAIC
- thumb_func_end sub_8106A58
-
- thumb_func_start sub_8106AAC
-sub_8106AAC: @ 8106AAC
- push {lr}
- bl sub_8106A58
- bl LoadOam
- bl ProcessSpriteCopyRequests
- bl TransferPlttBuffer
- pop {r0}
- bx r0
- thumb_func_end sub_8106AAC
-
- thumb_func_start sub_8106AC4
-sub_8106AC4: @ 8106AC4
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0xC
- adds r4, r1, 0
- lsls r0, 16
- lsrs r6, r0, 16
- lsls r4, 24
- lsrs r4, 24
- ldr r7, _08106B28
- ldr r0, [r7]
- ldr r1, [r0, 0x4]
- ldr r2, [r0]
- adds r0, r6, 0
- bl species_and_otid_get_pal
- ldr r1, _08106B2C
- mov r8, r1
- ldr r1, [r1]
- bl LZDecompressVram
- cmp r4, 0
- bne _08106B40
- lsls r0, r6, 3
- ldr r1, _08106B30
- adds r0, r1
- ldr r1, _08106B34
- lsls r2, r6, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08106B38
- ldr r5, [r4, 0x4]
- str r5, [sp]
- str r6, [sp, 0x4]
- ldr r4, [r7]
- ldr r4, [r4]
- str r4, [sp, 0x8]
- bl sub_800D334
- mov r2, r8
- ldr r1, [r2]
- ldr r0, _08106B3C
- ldr r2, [r0]
- adds r0, r5, 0
- bl sub_8106B90
- b _08106B74
- .align 2, 0
-_08106B28: .4byte gUnknown_03005E8C
-_08106B2C: .4byte gUnknown_03005E90
-_08106B30: .4byte gMonFrontPicTable
-_08106B34: .4byte gMonFrontPicCoords
-_08106B38: .4byte gUnknown_081FAF4C
-_08106B3C: .4byte gUnknown_03005E10
-_08106B40:
- lsls r0, r6, 3
- ldr r1, _08106B80
- adds r0, r1
- ldr r1, _08106B84
- lsls r2, r6, 2
- adds r2, r1
- ldrb r1, [r2]
- ldrb r2, [r2, 0x1]
- movs r3, 0x80
- lsls r3, 18
- ldr r4, _08106B88
- ldr r5, [r4]
- str r5, [sp]
- str r6, [sp, 0x4]
- ldr r4, [r7]
- ldr r4, [r4]
- str r4, [sp, 0x8]
- bl sub_800D334
- mov r0, r8
- ldr r1, [r0]
- ldr r0, _08106B8C
- ldr r2, [r0]
- adds r0, r5, 0
- bl sub_8106B90
-_08106B74:
- add sp, 0xC
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08106B80: .4byte gMonBackPicTable
-_08106B84: .4byte gMonBackPicCoords
-_08106B88: .4byte gUnknown_081FAF4C
-_08106B8C: .4byte gUnknown_03005E10
- thumb_func_end sub_8106AC4
-
- thumb_func_start sub_8106B90
-sub_8106B90: @ 8106B90
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0xC
- mov r10, r0
- mov r9, r1
- str r2, [sp]
- movs r0, 0
-_08106BA4:
- movs r3, 0
- adds r1, r0, 0x1
- str r1, [sp, 0x4]
- lsls r0, 3
- str r0, [sp, 0x8]
-_08106BAE:
- movs r1, 0
- adds r2, r3, 0x1
- mov r8, r2
- ldr r7, [sp, 0x8]
- adds r0, r7, r3
- lsls r0, 5
- mov r12, r0
- lsls r4, r3, 3
-_08106BBE:
- movs r3, 0
- lsls r0, r1, 2
- adds r6, r1, 0x1
- mov r2, r12
- adds r5, r2, r0
- ldr r7, [sp, 0x8]
- adds r0, r7, r1
- lsls r0, 7
- ldr r1, [sp]
- adds r2, r0, r1
-_08106BD2:
- lsrs r0, r3, 1
- adds r0, r5, r0
- add r0, r10
- ldrb r1, [r0]
- movs r0, 0x1
- ands r0, r3
- cmp r0, 0
- beq _08106BE6
- lsrs r1, 4
- b _08106BEA
-_08106BE6:
- movs r0, 0xF
- ands r1, r0
-_08106BEA:
- cmp r1, 0
- bne _08106BFC
- adds r0, r4, r3
- lsls r0, 1
- adds r0, r2
- movs r7, 0x80
- lsls r7, 8
- adds r1, r7, 0
- b _08106C08
-_08106BFC:
- adds r0, r4, r3
- lsls r0, 1
- adds r0, r2
- lsls r1, 1
- add r1, r9
- ldrh r1, [r1]
-_08106C08:
- strh r1, [r0]
- adds r0, r3, 0x1
- lsls r0, 16
- lsrs r3, r0, 16
- cmp r3, 0x7
- bls _08106BD2
- lsls r0, r6, 16
- lsrs r1, r0, 16
- cmp r1, 0x7
- bls _08106BBE
- mov r1, r8
- lsls r0, r1, 16
- lsrs r3, r0, 16
- cmp r3, 0x7
- bls _08106BAE
- ldr r2, [sp, 0x4]
- lsls r0, r2, 16
- lsrs r0, 16
- cmp r0, 0x7
- bls _08106BA4
- add sp, 0xC
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8106B90
-
- thumb_func_start sub_8106C40
-sub_8106C40: @ 8106C40
- push {r4-r7,lr}
- adds r4, r1, 0
- lsls r0, 24
- lsrs r5, r0, 24
- lsls r4, 24
- lsrs r4, 24
- ldr r0, _08106C7C
- movs r2, 0x80
- lsls r2, 1
- movs r1, 0
- bl LoadPalette
- cmp r4, 0x1
- beq _08106C5E
- b _08106DB4
-_08106C5E:
- ldr r0, _08106C80
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _08106D1C
- lsls r0, 2
- ldr r1, _08106C84
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08106C7C: .4byte gPictureFramePalettes
-_08106C80: .4byte gUnknown_03005E8C
-_08106C84: .4byte _08106C88
- .align 2, 0
-_08106C88:
- .4byte _08106C9C
- .4byte _08106CB4
- .4byte _08106CCC
- .4byte _08106CE4
- .4byte _08106D08
-_08106C9C:
- ldr r0, _08106CAC
- movs r1, 0xC0
- lsls r1, 19
- bl RLUnCompVram
- ldr r0, _08106CB0
- b _08106CF0
- .align 2, 0
-_08106CAC: .4byte gPictureFrameTiles_0
-_08106CB0: .4byte gPictureFrameTilemap_0
-_08106CB4:
- ldr r0, _08106CC4
- movs r1, 0xC0
- lsls r1, 19
- bl RLUnCompVram
- ldr r0, _08106CC8
- b _08106CF0
- .align 2, 0
-_08106CC4: .4byte gPictureFrameTiles_1
-_08106CC8: .4byte gPictureFrameTilemap_1
-_08106CCC:
- ldr r0, _08106CDC
- movs r1, 0xC0
- lsls r1, 19
- bl RLUnCompVram
- ldr r0, _08106CE0
- b _08106CF0
- .align 2, 0
-_08106CDC: .4byte gPictureFrameTiles_2
-_08106CE0: .4byte gPictureFrameTilemap_2
-_08106CE4:
- ldr r0, _08106CFC
- movs r1, 0xC0
- lsls r1, 19
- bl RLUnCompVram
- ldr r0, _08106D00
-_08106CF0:
- ldr r1, _08106D04
- ldr r1, [r1]
- bl RLUnCompWram
- b _08106D1C
- .align 2, 0
-_08106CFC: .4byte gPictureFrameTiles_3
-_08106D00: .4byte gPictureFrameTilemap_3
-_08106D04: .4byte gUnknown_03005E10
-_08106D08:
- ldr r0, _08106D98
- movs r1, 0xC0
- lsls r1, 19
- bl RLUnCompVram
- ldr r0, _08106D9C
- ldr r1, _08106DA0
- ldr r1, [r1]
- bl RLUnCompWram
-_08106D1C:
- movs r1, 0
- ldr r5, _08106DA4
- ldr r0, _08106DA8
- adds r4, r0, 0
-_08106D24:
- movs r3, 0
- lsls r2, r1, 5
-_08106D28:
- adds r0, r2, r3
- lsls r0, 1
- adds r0, r5
- strh r4, [r0]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x1F
- bls _08106D28
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r1, r0, 24
- cmp r1, 0x13
- bls _08106D24
- movs r1, 0
- ldr r0, _08106DAC
- mov r12, r0
- ldr r7, _08106DA0
-_08106D4C:
- movs r3, 0
- adds r6, r1, 0x1
- lsls r5, r1, 5
- lsls r4, r1, 6
-_08106D54:
- adds r2, r5, r3
- lsls r2, 1
- add r2, r12
- ldr r0, [r7]
- adds r0, r4, r0
- lsls r1, r3, 1
- adds r0, r1
- adds r0, 0x8C
- ldrh r0, [r0]
- strh r0, [r2]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0x11
- bls _08106D54
- lsls r0, r6, 24
- lsrs r1, r0, 24
- cmp r1, 0x9
- bls _08106D4C
- movs r3, 0
- ldr r4, _08106DB0
- ldr r2, _08106DA0
-_08106D80:
- lsls r1, r3, 1
- adds r1, r4
- ldr r0, [r2]
- adds r0, 0x8E
- ldrh r0, [r0]
- strh r0, [r1]
- adds r0, r3, 0x1
- lsls r0, 24
- lsrs r3, r0, 24
- cmp r3, 0xF
- bls _08106D80
- b _08106E86
- .align 2, 0
-_08106D98: .4byte gPictureFrameTiles_4
-_08106D9C: .4byte gPictureFrameTilemap_4
-_08106DA0: .4byte gUnknown_03005E10
-_08106DA4: .4byte 0x06006000
-_08106DA8: .4byte 0x00001015
-_08106DAC: .4byte 0x0600608c
-_08106DB0: .4byte 0x0600608e
-_08106DB4:
- cmp r5, 0x7
- bhi _08106DD0
- ldr r0, _08106DC8
- movs r1, 0xC0
- lsls r1, 19
- bl RLUnCompVram
- ldr r0, _08106DCC
- b _08106E60
- .align 2, 0
-_08106DC8: .4byte gPictureFrameTiles_5
-_08106DCC: .4byte gPictureFrameTilemap_5
-_08106DD0:
- ldr r0, _08106DF0
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x4
- bhi _08106E86
- lsls r0, 2
- ldr r1, _08106DF4
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08106DF0: .4byte gUnknown_03005E8C
-_08106DF4: .4byte _08106DF8
- .align 2, 0
-_08106DF8:
- .4byte _08106E0C
- .4byte _08106E24
- .4byte _08106E3C
- .4byte _08106E54
- .4byte _08106E74
-_08106E0C:
- ldr r0, _08106E1C
- movs r1, 0xC0
- lsls r1, 19
- bl RLUnCompVram
- ldr r0, _08106E20
- b _08106E60
- .align 2, 0
-_08106E1C: .4byte gPictureFrameTiles_0
-_08106E20: .4byte gPictureFrameTilemap_0
-_08106E24:
- ldr r0, _08106E34
- movs r1, 0xC0
- lsls r1, 19
- bl RLUnCompVram
- ldr r0, _08106E38
- b _08106E60
- .align 2, 0
-_08106E34: .4byte gPictureFrameTiles_1
-_08106E38: .4byte gPictureFrameTilemap_1
-_08106E3C:
- ldr r0, _08106E4C
- movs r1, 0xC0
- lsls r1, 19
- bl RLUnCompVram
- ldr r0, _08106E50
- b _08106E60
- .align 2, 0
-_08106E4C: .4byte gPictureFrameTiles_2
-_08106E50: .4byte gPictureFrameTilemap_2
-_08106E54:
- ldr r0, _08106E68
- movs r1, 0xC0
- lsls r1, 19
- bl RLUnCompVram
- ldr r0, _08106E6C
-_08106E60:
- ldr r1, _08106E70
- bl RLUnCompVram
- b _08106E86
- .align 2, 0
-_08106E68: .4byte gPictureFrameTiles_3
-_08106E6C: .4byte gPictureFrameTilemap_3
-_08106E70: .4byte 0x06006000
-_08106E74:
- ldr r0, _08106E8C
- movs r1, 0xC0
- lsls r1, 19
- bl RLUnCompVram
- ldr r0, _08106E90
- ldr r1, _08106E94
- bl RLUnCompVram
-_08106E86:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08106E8C: .4byte gPictureFrameTiles_4
-_08106E90: .4byte gPictureFrameTilemap_4
-_08106E94: .4byte 0x06006000
- thumb_func_end sub_8106C40
-
- thumb_func_start sub_8106E98
-sub_8106E98: @ 8106E98
- push {r4,lr}
- lsls r0, 24
- lsrs r0, 24
- ldr r4, _08106ED0
- ldr r1, _08106ED4
- ldr r2, [r1, 0x4]
- ldr r1, [r1]
- str r1, [r4, 0x3C]
- str r2, [r4, 0x40]
- adds r3, r4, 0
- adds r3, 0x40
- ldrh r2, [r3]
- ldr r1, _08106ED8
- ands r1, r2
- strh r1, [r3]
- ldrh r1, [r4, 0x3E]
- ldr r0, _08106EDC
- ands r0, r1
- movs r1, 0x58
- orrs r0, r1
- strh r0, [r4, 0x3E]
- adds r1, r4, 0
- adds r1, 0x3C
- movs r0, 0x18
- strb r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08106ED0: .4byte gMain
-_08106ED4: .4byte gOamData_83F6138
-_08106ED8: .4byte 0xfffffc00
-_08106EDC: .4byte 0xfffffe00
- thumb_func_end sub_8106E98
-
- thumb_func_start sub_8106EE0
-sub_8106EE0: @ 8106EE0
- push {lr}
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x7
- bhi _08106EF8
- ldr r0, _08106EF4
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- b _08106F08
- .align 2, 0
-_08106EF4: .4byte gUnknown_03005E8C
-_08106EF8:
- ldr r0, _08106F18
- ldr r0, [r0]
- ldrb r0, [r0, 0xA]
- movs r1, 0x3
- bl __udivsi3
- lsls r0, 24
- lsrs r0, 24
-_08106F08:
- cmp r0, 0x4
- bhi _08106F46
- lsls r0, 2
- ldr r1, _08106F1C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08106F18: .4byte gUnknown_03005E8C
-_08106F1C: .4byte _08106F20
- .align 2, 0
-_08106F20:
- .4byte _08106F34
- .4byte _08106F38
- .4byte _08106F3C
- .4byte _08106F40
- .4byte _08106F44
-_08106F34:
- movs r0, 0x9
- b _08106F46
-_08106F38:
- movs r0, 0xD
- b _08106F46
-_08106F3C:
- movs r0, 0x2
- b _08106F46
-_08106F40:
- movs r0, 0x24
- b _08106F46
-_08106F44:
- movs r0, 0x6
-_08106F46:
- pop {r1}
- bx r1
- thumb_func_end sub_8106EE0
-
- thumb_func_start sub_8106F4C
-sub_8106F4C: @ 8106F4C
- ldr r0, _08106F5C
- ldr r1, _08106F60
- str r1, [r0]
- ldr r0, _08106F64
- ldr r2, _08106F68
- adds r1, r2
- str r1, [r0]
- bx lr
- .align 2, 0
-_08106F5C: .4byte gUnknown_03005E90
-_08106F60: .4byte 0x02017e00
-_08106F64: .4byte gUnknown_03005E10
-_08106F68: .4byte 0xffffe000
- thumb_func_end sub_8106F4C
-
- thumb_func_start sub_8106F6C
-sub_8106F6C: @ 8106F6C
- push {r4,lr}
- lsls r0, 24
- lsrs r3, r0, 24
- ldr r1, _08106FAC
- ldr r0, _08106FB0
- ldr r0, [r0]
- str r0, [r1, 0x4]
- ldr r0, _08106FB4
- ldr r0, [r0]
- str r0, [r1, 0x8]
- movs r2, 0
- strb r2, [r1, 0x18]
- ldr r0, _08106FB8
- ldr r0, [r0]
- ldrb r0, [r0]
- strb r0, [r1, 0x1F]
- strb r2, [r1, 0x19]
- strb r2, [r1, 0x1A]
- movs r0, 0x40
- strb r0, [r1, 0x1B]
- strb r0, [r1, 0x1C]
- strb r0, [r1, 0x1D]
- strb r0, [r1, 0x1E]
- subs r0, r3, 0x2
- adds r4, r1, 0
- cmp r0, 0x22
- bhi _08107050
- lsls r0, 2
- ldr r1, _08106FBC
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08106FAC: .4byte gUnknown_03005E20
-_08106FB0: .4byte gUnknown_03005E10
-_08106FB4: .4byte gUnknown_03005E90
-_08106FB8: .4byte gUnknown_03005E8C
-_08106FBC: .4byte _08106FC0
- .align 2, 0
-_08106FC0:
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _0810704C
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _08107050
- .4byte _0810704C
-_0810704C:
- movs r0, 0x3
- b _08107052
-_08107050:
- movs r0, 0x1
-_08107052:
- strh r0, [r4, 0x14]
- movs r0, 0x2
- strh r0, [r4, 0x16]
- strb r3, [r4]
- ldr r0, _08107088
- str r0, [r4, 0x10]
- adds r0, r4, 0
- bl sub_80FC7A0
- adds r0, r4, 0
- bl sub_80FDA18
- adds r0, r4, 0
- bl sub_80FD8CC
- ldr r0, _0810708C
- ldr r0, [r0]
- movs r1, 0x80
- lsls r1, 1
- movs r2, 0x80
- lsls r2, 2
- bl LoadPalette
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08107088: .4byte 0x06010000
-_0810708C: .4byte gUnknown_03005E90
- thumb_func_end sub_8106F6C
-
- thumb_func_start sub_8107090
-sub_8107090: @ 8107090
- push {r4,r5,lr}
- adds r4, r0, 0
- adds r5, r1, 0
- lsls r4, 24
- lsrs r4, 24
- lsls r5, 24
- lsrs r5, 24
- bl sub_8106F4C
- ldr r0, _081070D0
- ldr r0, [r0]
- ldrh r0, [r0, 0x8]
- movs r1, 0
- bl sub_8106AC4
- adds r0, r4, 0
- bl sub_8106EE0
- lsls r0, 24
- lsrs r0, 24
- bl sub_8106F6C
- adds r0, r4, 0
- bl sub_8106E98
- adds r0, r4, 0
- adds r1, r5, 0
- bl sub_8106C40
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081070D0: .4byte gUnknown_03005E8C
- thumb_func_end sub_8107090
-
- thumb_func_start sub_81070D4
-sub_81070D4: @ 81070D4
- push {r4-r7,lr}
- ldr r2, _08107144
- movs r3, 0
- ldr r4, _08107148
- movs r1, 0
-_081070DE:
- adds r0, r2, r3
- strb r1, [r0]
- adds r3, 0x1
- cmp r3, 0x2F
- bls _081070DE
- ldrh r2, [r4]
- movs r0, 0x8
- ands r0, r2
- cmp r0, 0
- beq _08107138
- ldr r5, _0810714C
- ldrh r1, [r5]
- movs r0, 0x80
- lsls r0, 3
- cmp r1, r0
- beq _08107138
- ldr r0, _08107150
- ands r0, r2
- cmp r0, 0
- bne _08107138
- movs r3, 0
- ldr r7, _08107154
- ldr r4, _08107158
- adds r6, r4, 0
- subs r6, 0x8
-_08107110:
- lsls r2, r3, 1
- ldrh r1, [r5]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, r0
- adds r2, r7
- ldrh r2, [r2]
- cmp r2, 0
- beq _08107132
- ldrb r0, [r4]
- lsls r0, 1
- adds r0, r6
- strh r2, [r0]
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_08107132:
- adds r3, 0x1
- cmp r3, 0x3
- ble _08107110
-_08107138:
- bl sub_810715C
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08107144: .4byte 0x02016a00
-_08107148: .4byte gUnknown_020239F8
-_0810714C: .4byte word_202FF5E
-_08107150: .4byte 0x00000982
-_08107154: .4byte gTrainers + 0x10
-_08107158: .4byte 0x02016a2c
- thumb_func_end sub_81070D4
-
- thumb_func_start sub_810715C
-sub_810715C: @ 810715C
- push {r4-r7,lr}
- ldr r2, _08107204
- movs r4, 0
- ldr r3, _08107208
- movs r1, 0
-_08107166:
- adds r0, r2, r4
- strb r1, [r0]
- adds r4, 0x1
- cmp r4, 0x1B
- bls _08107166
- ldr r0, _08107204
- movs r1, 0x64
- movs r4, 0x3
- adds r0, 0x7
-_08107178:
- strb r1, [r0]
- subs r0, 0x1
- subs r4, 0x1
- cmp r4, 0
- bge _08107178
- ldrb r0, [r3]
- movs r1, 0
- movs r2, 0xFF
- bl sub_8015A98
- lsls r0, 24
- lsrs r7, r0, 24
- movs r4, 0
- ldr r0, _08107204
- adds r5, r0, 0x4
- ldr r6, _0810720C
-_08107198:
- ldr r0, [r6]
- ands r0, r7
- cmp r0, 0
- beq _081071A4
- movs r0, 0
- strb r0, [r5]
-_081071A4:
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0xF
- ands r0, r1
- movs r1, 0x64
- subs r1, r0
- strb r1, [r5, 0x14]
- adds r5, 0x1
- adds r6, 0x4
- adds r4, 0x1
- cmp r4, 0x3
- ble _08107198
- ldr r0, _08107210
- adds r0, 0x20
- movs r1, 0
- strb r1, [r0]
- ldr r1, _08107214
- ldr r0, _08107208
- ldrb r2, [r0]
- strb r2, [r1]
- ldr r0, _08107218
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08107224
- ldr r4, _0810721C
- bl Random
- movs r5, 0x2
- ands r0, r5
- strb r0, [r4]
- ldr r0, _08107220
- ldrb r1, [r0]
- ldr r2, _0810720C
- ldrb r3, [r4]
- lsls r0, r3, 2
- adds r0, r2
- ldr r0, [r0]
- ands r1, r0
- cmp r1, 0
- beq _0810722C
- eors r3, r5
- strb r3, [r4]
- b _0810722C
- .align 2, 0
-_08107204: .4byte 0x02016800
-_08107208: .4byte gUnknown_02024A60
-_0810720C: .4byte gBitTable
-_08107210: .4byte 0x02016c00
-_08107214: .4byte gUnknown_02024C07
-_08107218: .4byte gUnknown_020239F8
-_0810721C: .4byte gUnknown_02024C08
-_08107220: .4byte gUnknown_02024C0C
-_08107224:
- ldr r0, _08107244
- movs r1, 0x1
- eors r1, r2
- strb r1, [r0]
-_0810722C:
- ldr r0, _08107248
- ldrh r1, [r0]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08107250
- ldr r1, _0810724C
- movs r0, 0x80
- lsls r0, 23
- str r0, [r1, 0xC]
- b _08107296
- .align 2, 0
-_08107244: .4byte gUnknown_02024C08
-_08107248: .4byte gUnknown_020239F8
-_0810724C: .4byte 0x02016800
-_08107250:
- movs r0, 0x80
- lsls r0, 3
- ands r0, r1
- cmp r0, 0
- beq _08107268
- ldr r1, _08107264
- movs r0, 0x80
- lsls r0, 22
- str r0, [r1, 0xC]
- b _08107296
- .align 2, 0
-_08107264: .4byte 0x02016800
-_08107268:
- movs r0, 0x10
- ands r0, r1
- cmp r0, 0
- beq _08107280
- ldr r1, _0810727C
- movs r0, 0x80
- lsls r0, 24
- str r0, [r1, 0xC]
- b _08107296
- .align 2, 0
-_0810727C: .4byte 0x02016800
-_08107280:
- ldr r3, _0810729C
- ldr r2, _081072A0
- ldr r0, _081072A4
- ldrh r1, [r0]
- lsls r0, r1, 2
- adds r0, r1
- lsls r0, 3
- adds r2, 0x1C
- adds r0, r2
- ldr r0, [r0]
- str r0, [r3, 0xC]
-_08107296:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810729C: .4byte 0x02016800
-_081072A0: .4byte gTrainers
-_081072A4: .4byte word_202FF5E
- thumb_func_end sub_810715C
-
- thumb_func_start sub_81072A8
-sub_81072A8: @ 81072A8
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- sub sp, 0x8
- bl sub_810745C
- ldr r1, _081072F4
- ldr r0, [r1, 0xC]
- cmp r0, 0
- beq _081072E2
- adds r4, r1, 0
- movs r5, 0
-_081072C0:
- ldr r0, [r4, 0xC]
- movs r1, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081072D0
- strb r5, [r4]
- bl sub_8107374
-_081072D0:
- ldr r1, [r4, 0xC]
- lsrs r1, 1
- str r1, [r4, 0xC]
- ldrb r0, [r4, 0x11]
- adds r0, 0x1
- strb r0, [r4, 0x11]
- strb r5, [r4, 0x1]
- cmp r1, 0
- bne _081072C0
-_081072E2:
- ldr r7, _081072F4
- ldrb r1, [r7, 0x10]
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _081072F8
- movs r0, 0x4
- b _08107368
- .align 2, 0
-_081072F4: .4byte 0x02016800
-_081072F8:
- movs r0, 0x4
- ands r0, r1
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _08107308
- movs r0, 0x5
- b _08107368
-_08107308:
- movs r5, 0x1
- mov r0, sp
- ldrb r1, [r7, 0x4]
- strb r1, [r0]
- add r0, sp, 0x4
- strb r2, [r0]
- movs r3, 0x1
- mov r8, r0
- mov r4, sp
- mov r6, r8
- adds r2, r7, 0x5
-_0810731E:
- ldrb r1, [r4]
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r1, r0
- bge _08107330
- movs r5, 0x1
- ldrb r0, [r2]
- strb r0, [r4]
- strb r3, [r6]
-_08107330:
- ldrb r1, [r4]
- movs r0, 0
- ldrsb r0, [r2, r0]
- cmp r1, r0
- bne _0810734E
- mov r0, sp
- adds r1, r0, r5
- ldrb r0, [r2]
- strb r0, [r1]
- adds r1, r5, 0
- adds r0, r1, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- adds r1, r6, r1
- strb r3, [r1]
-_0810734E:
- adds r2, 0x1
- adds r3, 0x1
- cmp r3, 0x3
- ble _0810731E
- bl Random
- lsls r0, 16
- lsrs r0, 16
- adds r1, r5, 0
- bl __modsi3
- add r0, r8
- ldrb r0, [r0]
-_08107368:
- add sp, 0x8
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r1}
- bx r1
- thumb_func_end sub_81072A8
-
- thumb_func_start sub_8107374
-sub_8107374: @ 8107374
- push {r4-r7,lr}
- ldr r1, _081073D0
- ldrb r0, [r1]
- adds r6, r1, 0
- cmp r0, 0x2
- beq _08107456
- adds r4, r1, 0
- ldr r7, _081073D4
-_08107384:
- ldrb r0, [r4]
- cmp r0, 0x1
- beq _081073E4
- cmp r0, 0x1
- bgt _0810744E
- cmp r0, 0
- bne _0810744E
- ldr r1, _081073D8
- ldrb r0, [r4, 0x11]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- str r0, [r7]
- ldr r5, _081073DC
- ldrb r3, [r4, 0x1]
- ldr r0, _081073E0
- ldrb r1, [r0]
- movs r0, 0x58
- adds r2, r1, 0
- muls r2, r0
- adds r0, r3, r2
- adds r1, r5, 0
- adds r1, 0x24
- adds r0, r1
- ldrb r0, [r0]
- cmp r0, 0
- beq _081073C6
- lsls r0, r3, 1
- adds r0, r2
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r1
- ldrh r0, [r0]
-_081073C6:
- strh r0, [r4, 0x2]
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
- b _0810744E
- .align 2, 0
-_081073D0: .4byte 0x02016800
-_081073D4: .4byte gUnknown_02039238
-_081073D8: .4byte BattleAIs
-_081073DC: .4byte gBattleMons
-_081073E0: .4byte gUnknown_02024C07
-_081073E4:
- ldrh r1, [r1, 0x2]
- cmp r1, 0
- beq _08107400
- ldr r1, _081073FC
- ldr r0, [r7]
- ldrb r0, [r0]
- lsls r0, 2
- adds r0, r1
- ldr r0, [r0]
- bl _call_via_r0
- b _08107410
- .align 2, 0
-_081073FC: .4byte gUnknown_083F6144
-_08107400:
- adds r0, r4, 0x4
- ldrb r2, [r4, 0x1]
- adds r0, r2
- strb r1, [r0]
- ldrb r1, [r4, 0x10]
- movs r0, 0x1
- orrs r0, r1
- strb r0, [r4, 0x10]
-_08107410:
- ldr r1, _0810743C
- ldrb r2, [r1, 0x10]
- movs r0, 0x1
- ands r0, r2
- adds r6, r1, 0
- cmp r0, 0
- beq _0810744E
- ldrb r0, [r6, 0x1]
- adds r0, 0x1
- strb r0, [r6, 0x1]
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x3
- bhi _08107440
- movs r0, 0x8
- ands r0, r2
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0
- bne _08107440
- strb r0, [r6]
- b _08107446
- .align 2, 0
-_0810743C: .4byte 0x02016800
-_08107440:
- ldrb r0, [r4]
- adds r0, 0x1
- strb r0, [r4]
-_08107446:
- ldrb r1, [r4, 0x10]
- movs r0, 0xFE
- ands r0, r1
- strb r0, [r4, 0x10]
-_0810744E:
- adds r1, r6, 0
- ldrb r0, [r1]
- cmp r0, 0x2
- bne _08107384
-_08107456:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8107374
-
- thumb_func_start sub_810745C
-sub_810745C: @ 810745C
- push {r4-r6,lr}
- movs r2, 0
- ldr r3, _08107488
- ldr r5, _0810748C
- ldr r6, _08107490
- adds r4, r3, 0
-_08107468:
- lsls r0, r2, 1
- ldrb r1, [r4]
- lsrs r1, 1
- lsls r1, 4
- adds r0, r1
- adds r1, r0, r5
- ldrh r0, [r1]
- cmp r0, 0
- bne _08107494
- ldrb r0, [r3]
- lsls r0, 1
- adds r0, r6
- ldrh r0, [r0]
- strh r0, [r1]
- b _0810749A
- .align 2, 0
-_08107488: .4byte gUnknown_02024C08
-_0810748C: .4byte 0x02016a00
-_08107490: .4byte gUnknown_02024C34
-_08107494:
- adds r2, 0x1
- cmp r2, 0x7
- ble _08107468
-_0810749A:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_810745C
-
- thumb_func_start unref_sub_81074A0
-unref_sub_81074A0: @ 81074A0
- push {lr}
- lsls r0, 24
- ldr r1, _081074C0
- lsrs r0, 25
- movs r2, 0x7
- lsls r0, 4
- adds r0, r1
- adds r0, 0xE
- movs r1, 0
-_081074B2:
- strh r1, [r0]
- subs r0, 0x2
- subs r2, 0x1
- cmp r2, 0
- bge _081074B2
- pop {r0}
- bx r0
- .align 2, 0
-_081074C0: .4byte 0x02016a00
- thumb_func_end unref_sub_81074A0
-
- thumb_func_start sub_81074C4
-sub_81074C4: @ 81074C4
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _081074EC
- adds r0, r4, 0
- bl battle_get_per_side_status
- ldr r2, _081074F4
- movs r1, 0x1
- ands r1, r0
- adds r2, 0x20
- adds r1, r2
- strb r5, [r1]
-_081074EC:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_081074F4: .4byte 0x02016a00
- thumb_func_end sub_81074C4
-
- thumb_func_start sub_81074F8
-sub_81074F8: @ 81074F8
- push {r4,r5,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r5, r1, 24
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08107520
- adds r0, r4, 0
- bl battle_get_per_side_status
- ldr r2, _08107528
- movs r1, 0x1
- ands r1, r0
- adds r2, 0x22
- adds r1, r2
- strb r5, [r1]
-_08107520:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08107528: .4byte 0x02016a00
- thumb_func_end sub_81074F8
-
- thumb_func_start sub_810752C
-sub_810752C: @ 810752C
- push {lr}
- bl Random
- lsls r0, 16
- movs r1, 0xFF
- lsls r1, 16
- ldr r3, _08107560
- ldr r2, [r3]
- ands r1, r0
- lsrs r1, 16
- ldrb r0, [r2, 0x1]
- cmp r1, r0
- bcs _08107564
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107568
- .align 2, 0
-_08107560: .4byte gUnknown_02039238
-_08107564:
- adds r0, r2, 0x6
- str r0, [r3]
-_08107568:
- pop {r0}
- bx r0
- thumb_func_end sub_810752C
-
- thumb_func_start sub_810756C
-sub_810756C: @ 810756C
- push {lr}
- bl Random
- lsls r0, 16
- movs r1, 0xFF
- lsls r1, 16
- ldr r3, _081075A0
- ldr r2, [r3]
- ands r1, r0
- lsrs r1, 16
- ldrb r0, [r2, 0x1]
- cmp r1, r0
- bls _081075A4
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _081075A8
- .align 2, 0
-_081075A0: .4byte gUnknown_02039238
-_081075A4:
- adds r0, r2, 0x6
- str r0, [r3]
-_081075A8:
- pop {r0}
- bx r0
- thumb_func_end sub_810756C
-
- thumb_func_start sub_81075AC
-sub_81075AC: @ 81075AC
- push {lr}
- bl Random
- lsls r0, 16
- movs r1, 0xFF
- lsls r1, 16
- ldr r3, _081075E0
- ldr r2, [r3]
- ands r1, r0
- lsrs r1, 16
- ldrb r0, [r2, 0x1]
- cmp r1, r0
- bne _081075E4
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _081075E8
- .align 2, 0
-_081075E0: .4byte gUnknown_02039238
-_081075E4:
- adds r0, r2, 0x6
- str r0, [r3]
-_081075E8:
- pop {r0}
- bx r0
- thumb_func_end sub_81075AC
-
- thumb_func_start sub_81075EC
-sub_81075EC: @ 81075EC
- push {lr}
- bl Random
- lsls r0, 16
- movs r1, 0xFF
- lsls r1, 16
- ldr r3, _08107620
- ldr r2, [r3]
- ands r1, r0
- lsrs r1, 16
- ldrb r0, [r2, 0x1]
- cmp r1, r0
- beq _08107624
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107628
- .align 2, 0
-_08107620: .4byte gUnknown_02039238
-_08107624:
- adds r0, r2, 0x6
- str r0, [r3]
-_08107628:
- pop {r0}
- bx r0
- thumb_func_end sub_81075EC
-
- thumb_func_start sub_810762C
-sub_810762C: @ 810762C
- push {r4,r5,lr}
- ldr r2, _08107660
- ldrb r1, [r2, 0x1]
- adds r3, r2, 0x4
- adds r1, r3
- ldr r4, _08107664
- ldr r0, [r4]
- ldrb r0, [r0, 0x1]
- ldrb r5, [r1]
- adds r0, r5
- strb r0, [r1]
- ldrb r0, [r2, 0x1]
- adds r1, r0, r3
- movs r0, 0
- ldrsb r0, [r1, r0]
- cmp r0, 0
- bge _08107652
- movs r0, 0
- strb r0, [r1]
-_08107652:
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08107660: .4byte 0x02016800
-_08107664: .4byte gUnknown_02039238
- thumb_func_end sub_810762C
-
- thumb_func_start sub_8107668
-sub_8107668: @ 8107668
- push {r4,lr}
- ldr r0, _0810767C
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _08107684
- ldr r0, _08107680
- b _08107686
- .align 2, 0
-_0810767C: .4byte gUnknown_02039238
-_08107680: .4byte gUnknown_02024C07
-_08107684:
- ldr r0, _081076BC
-_08107686:
- ldrb r1, [r0]
- ldr r2, _081076C0
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- ldrh r2, [r1, 0x28]
- movs r0, 0x64
- muls r0, r2
- ldrh r1, [r1, 0x2C]
- bl __divsi3
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- cmp r0, r1
- bcs _081076C4
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _081076C8
- .align 2, 0
-_081076BC: .4byte gUnknown_02024C08
-_081076C0: .4byte gBattleMons
-_081076C4:
- adds r0, r2, 0x7
- str r0, [r4]
-_081076C8:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8107668
-
- thumb_func_start sub_81076D0
-sub_81076D0: @ 81076D0
- push {r4,lr}
- ldr r0, _081076E4
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _081076EC
- ldr r0, _081076E8
- b _081076EE
- .align 2, 0
-_081076E4: .4byte gUnknown_02039238
-_081076E8: .4byte gUnknown_02024C07
-_081076EC:
- ldr r0, _08107724
-_081076EE:
- ldrb r1, [r0]
- ldr r2, _08107728
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- ldrh r2, [r1, 0x28]
- movs r0, 0x64
- muls r0, r2
- ldrh r1, [r1, 0x2C]
- bl __divsi3
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- cmp r0, r1
- bls _0810772C
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107730
- .align 2, 0
-_08107724: .4byte gUnknown_02024C08
-_08107728: .4byte gBattleMons
-_0810772C:
- adds r0, r2, 0x7
- str r0, [r4]
-_08107730:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81076D0
-
- thumb_func_start sub_8107738
-sub_8107738: @ 8107738
- push {r4,lr}
- ldr r0, _0810774C
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _08107754
- ldr r0, _08107750
- b _08107756
- .align 2, 0
-_0810774C: .4byte gUnknown_02039238
-_08107750: .4byte gUnknown_02024C07
-_08107754:
- ldr r0, _0810778C
-_08107756:
- ldrb r1, [r0]
- ldr r2, _08107790
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- ldrh r2, [r1, 0x28]
- movs r0, 0x64
- muls r0, r2
- ldrh r1, [r1, 0x2C]
- bl __divsi3
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- cmp r0, r1
- bne _08107794
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107798
- .align 2, 0
-_0810778C: .4byte gUnknown_02024C08
-_08107790: .4byte gBattleMons
-_08107794:
- adds r0, r2, 0x7
- str r0, [r4]
-_08107798:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8107738
-
- thumb_func_start sub_81077A0
-sub_81077A0: @ 81077A0
- push {r4,lr}
- ldr r0, _081077B4
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _081077BC
- ldr r0, _081077B8
- b _081077BE
- .align 2, 0
-_081077B4: .4byte gUnknown_02039238
-_081077B8: .4byte gUnknown_02024C07
-_081077BC:
- ldr r0, _081077F4
-_081077BE:
- ldrb r1, [r0]
- ldr r2, _081077F8
- movs r0, 0x58
- muls r1, r0
- adds r1, r2
- ldrh r2, [r1, 0x28]
- movs r0, 0x64
- muls r0, r2
- ldrh r1, [r1, 0x2C]
- bl __divsi3
- ldr r2, [r4]
- ldrb r1, [r2, 0x2]
- cmp r0, r1
- beq _081077FC
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107800
- .align 2, 0
-_081077F4: .4byte gUnknown_02024C08
-_081077F8: .4byte gBattleMons
-_081077FC:
- adds r0, r2, 0x7
- str r0, [r4]
-_08107800:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_81077A0
-
- thumb_func_start sub_8107808
-sub_8107808: @ 8107808
- push {r4,r5,lr}
- ldr r0, _0810781C
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _08107824
- ldr r0, _08107820
- b _08107826
- .align 2, 0
-_0810781C: .4byte gUnknown_02039238
-_08107820: .4byte gUnknown_02024C07
-_08107824:
- ldr r0, _08107868
-_08107826:
- ldrb r4, [r0]
- ldr r3, [r5]
- ldrb r2, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r2, r0
- ldr r1, _0810786C
- movs r0, 0x58
- muls r0, r4
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- beq _08107870
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _08107876
- .align 2, 0
-_08107868: .4byte gUnknown_02024C08
-_0810786C: .4byte gBattleMons
-_08107870:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r5]
-_08107876:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8107808
-
- thumb_func_start sub_810787C
-sub_810787C: @ 810787C
- push {r4,r5,lr}
- ldr r0, _08107890
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _08107898
- ldr r0, _08107894
- b _0810789A
- .align 2, 0
-_08107890: .4byte gUnknown_02039238
-_08107894: .4byte gUnknown_02024C07
-_08107898:
- ldr r0, _081078DC
-_0810789A:
- ldrb r4, [r0]
- ldr r3, [r5]
- ldrb r2, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r2, r0
- ldr r1, _081078E0
- movs r0, 0x58
- muls r0, r4
- adds r1, 0x4C
- adds r0, r1
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- bne _081078E4
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _081078EA
- .align 2, 0
-_081078DC: .4byte gUnknown_02024C08
-_081078E0: .4byte gBattleMons
-_081078E4:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r5]
-_081078EA:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_810787C
-
- thumb_func_start sub_81078F0
-sub_81078F0: @ 81078F0
- push {r4,r5,lr}
- ldr r0, _08107904
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _0810790C
- ldr r0, _08107908
- b _0810790E
- .align 2, 0
-_08107904: .4byte gUnknown_02039238
-_08107908: .4byte gUnknown_02024C07
-_0810790C:
- ldr r0, _08107950
-_0810790E:
- ldrb r4, [r0]
- ldr r3, [r5]
- ldrb r2, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r2, r0
- ldr r1, _08107954
- movs r0, 0x58
- muls r0, r4
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- beq _08107958
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _0810795E
- .align 2, 0
-_08107950: .4byte gUnknown_02024C08
-_08107954: .4byte gBattleMons
-_08107958:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r5]
-_0810795E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81078F0
-
- thumb_func_start sub_8107964
-sub_8107964: @ 8107964
- push {r4,r5,lr}
- ldr r0, _08107978
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _08107980
- ldr r0, _0810797C
- b _08107982
- .align 2, 0
-_08107978: .4byte gUnknown_02039238
-_0810797C: .4byte gUnknown_02024C07
-_08107980:
- ldr r0, _081079C4
-_08107982:
- ldrb r4, [r0]
- ldr r3, [r5]
- ldrb r2, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r2, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r2, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r2, r0
- ldr r1, _081079C8
- movs r0, 0x58
- muls r0, r4
- adds r1, 0x50
- adds r0, r1
- ldr r0, [r0]
- ands r0, r2
- cmp r0, 0
- bne _081079CC
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _081079D2
- .align 2, 0
-_081079C4: .4byte gUnknown_02024C08
-_081079C8: .4byte gBattleMons
-_081079CC:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r5]
-_081079D2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8107964
-
- thumb_func_start sub_81079D8
-sub_81079D8: @ 81079D8
- push {r4,r5,lr}
- ldr r0, _081079EC
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _081079F4
- ldr r0, _081079F0
- b _081079F6
- .align 2, 0
-_081079EC: .4byte gUnknown_02039238
-_081079F0: .4byte gUnknown_02024C07
-_081079F4:
- ldr r0, _08107A34
-_081079F6:
- ldrb r4, [r0]
- ldr r3, [r5]
- ldrb r1, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r1, r0
- ldr r2, _08107A38
- lsls r0, r4, 2
- adds r0, r2
- ldr r0, [r0]
- ands r0, r1
- cmp r0, 0
- beq _08107A3C
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _08107A42
- .align 2, 0
-_08107A34: .4byte gUnknown_02024C08
-_08107A38: .4byte gUnknown_02024C98
-_08107A3C:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r5]
-_08107A42:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_81079D8
-
- thumb_func_start sub_8107A48
-sub_8107A48: @ 8107A48
- push {r4,r5,lr}
- ldr r0, _08107A5C
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _08107A64
- ldr r0, _08107A60
- b _08107A66
- .align 2, 0
-_08107A5C: .4byte gUnknown_02039238
-_08107A60: .4byte gUnknown_02024C07
-_08107A64:
- ldr r0, _08107AA4
-_08107A66:
- ldrb r4, [r0]
- ldr r3, [r5]
- ldrb r1, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r1, r0
- ldr r2, _08107AA8
- lsls r0, r4, 2
- adds r0, r2
- ldr r0, [r0]
- ands r0, r1
- cmp r0, 0
- bne _08107AAC
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _08107AB2
- .align 2, 0
-_08107AA4: .4byte gUnknown_02024C08
-_08107AA8: .4byte gUnknown_02024C98
-_08107AAC:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r5]
-_08107AB2:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8107A48
-
- thumb_func_start sub_8107AB8
-sub_8107AB8: @ 8107AB8
- push {r4,lr}
- ldr r0, _08107AC8
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _08107AD0
- ldr r0, _08107ACC
- b _08107AD2
- .align 2, 0
-_08107AC8: .4byte gUnknown_02039238
-_08107ACC: .4byte gUnknown_02024C07
-_08107AD0:
- ldr r0, _08107B1C
-_08107AD2:
- ldrb r0, [r0]
- bl battle_get_per_side_status
- movs r2, 0x1
- ands r2, r0
- ldr r4, _08107B20
- ldr r3, [r4]
- ldrb r1, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r1, r0
- ldr r0, _08107B24
- lsls r2, 1
- adds r2, r0
- ldrh r0, [r2]
- ands r0, r1
- cmp r0, 0
- beq _08107B28
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107B2E
- .align 2, 0
-_08107B1C: .4byte gUnknown_02024C08
-_08107B20: .4byte gUnknown_02039238
-_08107B24: .4byte gUnknown_02024C7A
-_08107B28:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r4]
-_08107B2E:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8107AB8
-
- thumb_func_start sub_8107B34
-sub_8107B34: @ 8107B34
- push {r4,lr}
- ldr r0, _08107B44
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _08107B4C
- ldr r0, _08107B48
- b _08107B4E
- .align 2, 0
-_08107B44: .4byte gUnknown_02039238
-_08107B48: .4byte gUnknown_02024C07
-_08107B4C:
- ldr r0, _08107B98
-_08107B4E:
- ldrb r0, [r0]
- bl battle_get_per_side_status
- movs r2, 0x1
- ands r2, r0
- ldr r4, _08107B9C
- ldr r3, [r4]
- ldrb r1, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r1, r0
- ldr r0, _08107BA0
- lsls r2, 1
- adds r2, r0
- ldrh r0, [r2]
- ands r0, r1
- cmp r0, 0
- bne _08107BA4
- ldrb r1, [r3, 0x6]
- ldrb r0, [r3, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107BAA
- .align 2, 0
-_08107B98: .4byte gUnknown_02024C08
-_08107B9C: .4byte gUnknown_02039238
-_08107BA0: .4byte gUnknown_02024C7A
-_08107BA4:
- adds r0, r3, 0
- adds r0, 0xA
- str r0, [r4]
-_08107BAA:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8107B34
-
- thumb_func_start sub_8107BB0
-sub_8107BB0: @ 8107BB0
- push {lr}
- ldr r0, _08107BD8
- ldr r3, _08107BDC
- ldr r2, [r3]
- ldr r0, [r0, 0x8]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bcs _08107BE0
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107BE4
- .align 2, 0
-_08107BD8: .4byte 0x02016800
-_08107BDC: .4byte gUnknown_02039238
-_08107BE0:
- adds r0, r2, 0x6
- str r0, [r3]
-_08107BE4:
- pop {r0}
- bx r0
- thumb_func_end sub_8107BB0
-
- thumb_func_start sub_8107BE8
-sub_8107BE8: @ 8107BE8
- push {lr}
- ldr r0, _08107C10
- ldr r3, _08107C14
- ldr r2, [r3]
- ldr r0, [r0, 0x8]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bls _08107C18
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107C1C
- .align 2, 0
-_08107C10: .4byte 0x02016800
-_08107C14: .4byte gUnknown_02039238
-_08107C18:
- adds r0, r2, 0x6
- str r0, [r3]
-_08107C1C:
- pop {r0}
- bx r0
- thumb_func_end sub_8107BE8
-
- thumb_func_start sub_8107C20
-sub_8107C20: @ 8107C20
- push {lr}
- ldr r0, _08107C48
- ldr r3, _08107C4C
- ldr r2, [r3]
- ldr r0, [r0, 0x8]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bne _08107C50
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107C54
- .align 2, 0
-_08107C48: .4byte 0x02016800
-_08107C4C: .4byte gUnknown_02039238
-_08107C50:
- adds r0, r2, 0x6
- str r0, [r3]
-_08107C54:
- pop {r0}
- bx r0
- thumb_func_end sub_8107C20
-
- thumb_func_start sub_8107C58
-sub_8107C58: @ 8107C58
- push {lr}
- ldr r0, _08107C80
- ldr r3, _08107C84
- ldr r2, [r3]
- ldr r0, [r0, 0x8]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- beq _08107C88
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107C8C
- .align 2, 0
-_08107C80: .4byte 0x02016800
-_08107C84: .4byte gUnknown_02039238
-_08107C88:
- adds r0, r2, 0x6
- str r0, [r3]
-_08107C8C:
- pop {r0}
- bx r0
- thumb_func_end sub_8107C58
-
- thumb_func_start sub_8107C90
-sub_8107C90: @ 8107C90
- push {lr}
- ldr r3, _08107CCC
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- ldr r0, _08107CD0
- ldr r0, [r0, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bcs _08107CD4
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107CDA
- .align 2, 0
-_08107CCC: .4byte gUnknown_02039238
-_08107CD0: .4byte 0x02016800
-_08107CD4:
- adds r0, r2, 0
- adds r0, 0x9
- str r0, [r3]
-_08107CDA:
- pop {r0}
- bx r0
- thumb_func_end sub_8107C90
-
- thumb_func_start sub_8107CE0
-sub_8107CE0: @ 8107CE0
- push {lr}
- ldr r3, _08107D1C
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- ldr r0, _08107D20
- ldr r0, [r0, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bls _08107D24
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107D2A
- .align 2, 0
-_08107D1C: .4byte gUnknown_02039238
-_08107D20: .4byte 0x02016800
-_08107D24:
- adds r0, r2, 0
- adds r0, 0x9
- str r0, [r3]
-_08107D2A:
- pop {r0}
- bx r0
- thumb_func_end sub_8107CE0
-
- thumb_func_start sub_8107D30
-sub_8107D30: @ 8107D30
- push {lr}
- ldr r3, _08107D6C
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- ldr r0, _08107D70
- ldr r0, [r0, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- bne _08107D74
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107D7A
- .align 2, 0
-_08107D6C: .4byte gUnknown_02039238
-_08107D70: .4byte 0x02016800
-_08107D74:
- adds r0, r2, 0
- adds r0, 0x9
- str r0, [r3]
-_08107D7A:
- pop {r0}
- bx r0
- thumb_func_end sub_8107D30
-
- thumb_func_start sub_8107D80
-sub_8107D80: @ 8107D80
- push {lr}
- ldr r3, _08107DBC
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- ldr r0, _08107DC0
- ldr r0, [r0, 0x8]
- ldrb r1, [r1]
- cmp r0, r1
- beq _08107DC4
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107DCA
- .align 2, 0
-_08107DBC: .4byte gUnknown_02039238
-_08107DC0: .4byte 0x02016800
-_08107DC4:
- adds r0, r2, 0
- adds r0, 0x9
- str r0, [r3]
-_08107DCA:
- pop {r0}
- bx r0
- thumb_func_end sub_8107D80
-
- thumb_func_start sub_8107DD0
-sub_8107DD0: @ 8107DD0
- push {lr}
- ldr r3, _08107E00
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldr r0, _08107E04
- ldrh r0, [r0, 0x2]
- cmp r0, r1
- bne _08107E08
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107E0C
- .align 2, 0
-_08107E00: .4byte gUnknown_02039238
-_08107E04: .4byte 0x02016800
-_08107E08:
- adds r0, r2, 0x7
- str r0, [r3]
-_08107E0C:
- pop {r0}
- bx r0
- thumb_func_end sub_8107DD0
-
- thumb_func_start sub_8107E10
-sub_8107E10: @ 8107E10
- push {lr}
- ldr r3, _08107E40
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldr r0, _08107E44
- ldrh r0, [r0, 0x2]
- cmp r0, r1
- beq _08107E48
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08107E4C
- .align 2, 0
-_08107E40: .4byte gUnknown_02039238
-_08107E44: .4byte 0x02016800
-_08107E48:
- adds r0, r2, 0x7
- str r0, [r3]
-_08107E4C:
- pop {r0}
- bx r0
- thumb_func_end sub_8107E10
-
- thumb_func_start sub_8107E50
-sub_8107E50: @ 8107E50
- push {r4,lr}
- ldr r2, _08107E98
- ldr r1, [r2]
- ldrb r3, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r3, r0
- ldrb r0, [r3]
- cmp r0, 0xFF
- beq _08107EA8
- ldr r0, _08107E9C
- ldr r1, [r0, 0x8]
- adds r4, r2, 0
-_08107E76:
- ldrb r0, [r3]
- cmp r1, r0
- bne _08107EA0
- ldr r2, [r4]
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107EAE
- .align 2, 0
-_08107E98: .4byte gUnknown_02039238
-_08107E9C: .4byte 0x02016800
-_08107EA0:
- adds r3, 0x1
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _08107E76
-_08107EA8:
- ldr r0, [r2]
- adds r0, 0x9
- str r0, [r2]
-_08107EAE:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8107E50
-
- thumb_func_start sub_8107EB4
-sub_8107EB4: @ 8107EB4
- push {r4,lr}
- ldr r2, _08107EEC
- ldr r1, [r2]
- ldrb r3, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r3, r0
- ldrb r0, [r3]
- adds r4, r2, 0
- cmp r0, 0xFF
- beq _08107EFC
- ldr r0, _08107EF0
- ldr r2, [r0, 0x8]
- adds r1, r4, 0
-_08107EDC:
- ldrb r0, [r3]
- cmp r2, r0
- bne _08107EF4
- ldr r0, [r1]
- adds r0, 0x9
- str r0, [r1]
- b _08107F14
- .align 2, 0
-_08107EEC: .4byte gUnknown_02039238
-_08107EF0: .4byte 0x02016800
-_08107EF4:
- adds r3, 0x1
- ldrb r0, [r3]
- cmp r0, 0xFF
- bne _08107EDC
-_08107EFC:
- ldr r2, [r4]
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
-_08107F14:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8107EB4
-
- thumb_func_start sub_8107F1C
-sub_8107F1C: @ 8107F1C
- push {r4,r5,lr}
- ldr r2, _08107F64
- ldr r1, [r2]
- ldrb r3, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r3, r0
- ldrh r0, [r3]
- ldr r5, _08107F68
- cmp r0, r5
- beq _08107F78
- ldr r0, _08107F6C
- ldr r1, [r0, 0x8]
- adds r4, r2, 0
-_08107F44:
- ldrh r0, [r3]
- cmp r1, r0
- bne _08107F70
- ldr r2, [r4]
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08107F7E
- .align 2, 0
-_08107F64: .4byte gUnknown_02039238
-_08107F68: .4byte 0x0000ffff
-_08107F6C: .4byte 0x02016800
-_08107F70:
- adds r3, 0x2
- ldrh r0, [r3]
- cmp r0, r5
- bne _08107F44
-_08107F78:
- ldr r0, [r2]
- adds r0, 0x9
- str r0, [r2]
-_08107F7E:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8107F1C
-
- thumb_func_start sub_8107F84
-sub_8107F84: @ 8107F84
- push {r4,r5,lr}
- ldr r2, _08107FBC
- ldr r1, [r2]
- ldrb r3, [r1, 0x1]
- ldrb r0, [r1, 0x2]
- lsls r0, 8
- orrs r3, r0
- ldrb r0, [r1, 0x3]
- lsls r0, 16
- orrs r3, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 24
- orrs r3, r0
- ldrh r0, [r3]
- ldr r4, _08107FC0
- adds r5, r2, 0
- cmp r0, r4
- beq _08107FD0
- ldr r0, _08107FC4
- ldr r2, [r0, 0x8]
- adds r1, r5, 0
-_08107FAE:
- ldrh r0, [r3]
- cmp r2, r0
- bne _08107FC8
- ldr r0, [r1]
- adds r0, 0x9
- str r0, [r1]
- b _08107FE8
- .align 2, 0
-_08107FBC: .4byte gUnknown_02039238
-_08107FC0: .4byte 0x0000ffff
-_08107FC4: .4byte 0x02016800
-_08107FC8:
- adds r3, 0x2
- ldrh r0, [r3]
- cmp r0, r4
- bne _08107FAE
-_08107FD0:
- ldr r2, [r5]
- ldrb r1, [r2, 0x5]
- ldrb r0, [r2, 0x6]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
-_08107FE8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8107F84
-
- thumb_func_start sub_8107FF0
-sub_8107FF0: @ 8107FF0
- push {r4,r5,lr}
- movs r3, 0
- ldr r4, _08108030
- ldr r1, _08108034
- ldr r0, _08108038
- ldrb r2, [r0]
- ldr r5, _0810803C
- movs r0, 0x58
- muls r0, r2
- adds r1, 0xC
- adds r2, r0, r1
-_08108006:
- ldrh r0, [r2]
- cmp r0, 0
- beq _0810801A
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _08108022
-_0810801A:
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _08108006
-_08108022:
- cmp r3, 0x4
- bne _08108040
- ldr r0, [r4]
- adds r0, 0x5
- str r0, [r4]
- b _08108058
- .align 2, 0
-_08108030: .4byte gUnknown_02039238
-_08108034: .4byte gBattleMons
-_08108038: .4byte gUnknown_02024C07
-_0810803C: .4byte gBattleMoves
-_08108040:
- ldr r2, [r4]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
-_08108058:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8107FF0
-
- thumb_func_start sub_8108060
-sub_8108060: @ 8108060
- push {r4,r5,lr}
- movs r3, 0
- ldr r4, _081080A0
- ldr r1, _081080A4
- ldr r0, _081080A8
- ldrb r2, [r0]
- ldr r5, _081080AC
- movs r0, 0x58
- muls r0, r2
- adds r1, 0xC
- adds r2, r0, r1
-_08108076:
- ldrh r0, [r2]
- cmp r0, 0
- beq _0810808A
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r5
- ldrb r0, [r1, 0x1]
- cmp r0, 0
- bne _08108092
-_0810808A:
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _08108076
-_08108092:
- cmp r3, 0x4
- beq _081080B0
- ldr r0, [r4]
- adds r0, 0x5
- str r0, [r4]
- b _081080C8
- .align 2, 0
-_081080A0: .4byte gUnknown_02039238
-_081080A4: .4byte gBattleMons
-_081080A8: .4byte gUnknown_02024C07
-_081080AC: .4byte gBattleMoves
-_081080B0:
- ldr r2, [r4]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
-_081080C8:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end sub_8108060
-
- thumb_func_start sub_81080D0
-sub_81080D0: @ 81080D0
- ldr r1, _081080E4
- ldr r0, _081080E8
- ldrb r0, [r0, 0x13]
- str r0, [r1, 0x8]
- ldr r1, _081080EC
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_081080E4: .4byte 0x02016800
-_081080E8: .4byte gUnknown_030042E0
-_081080EC: .4byte gUnknown_02039238
- thumb_func_end sub_81080D0
-
- thumb_func_start sub_81080F0
-sub_81080F0: @ 81080F0
- push {r4,lr}
- ldr r1, _08108108
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- adds r4, r1, 0
- cmp r0, 0x4
- bhi _081081B6
- lsls r0, 2
- ldr r1, _0810810C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_08108108: .4byte gUnknown_02039238
-_0810810C: .4byte _08108110
- .align 2, 0
-_08108110:
- .4byte _08108144
- .4byte _08108124
- .4byte _08108184
- .4byte _08108164
- .4byte _081081A4
-_08108124:
- ldr r3, _08108138
- ldr r2, _0810813C
- ldr r0, _08108140
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x21
- ldrb r0, [r0]
- b _081081B4
- .align 2, 0
-_08108138: .4byte 0x02016800
-_0810813C: .4byte gBattleMons
-_08108140: .4byte gUnknown_02024C07
-_08108144:
- ldr r3, _08108158
- ldr r2, _0810815C
- ldr r0, _08108160
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x21
- ldrb r0, [r0]
- b _081081B4
- .align 2, 0
-_08108158: .4byte 0x02016800
-_0810815C: .4byte gBattleMons
-_08108160: .4byte gUnknown_02024C08
-_08108164:
- ldr r3, _08108178
- ldr r2, _0810817C
- ldr r0, _08108180
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x22
- ldrb r0, [r0]
- b _081081B4
- .align 2, 0
-_08108178: .4byte 0x02016800
-_0810817C: .4byte gBattleMons
-_08108180: .4byte gUnknown_02024C07
-_08108184:
- ldr r3, _08108198
- ldr r2, _0810819C
- ldr r0, _081081A0
- ldrb r1, [r0]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- adds r0, 0x22
- ldrb r0, [r0]
- b _081081B4
- .align 2, 0
-_08108198: .4byte 0x02016800
-_0810819C: .4byte gBattleMons
-_081081A0: .4byte gUnknown_02024C08
-_081081A4:
- ldr r3, _081081C4
- ldr r2, _081081C8
- ldrh r1, [r3, 0x2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
-_081081B4:
- str r0, [r3, 0x8]
-_081081B6:
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081081C4: .4byte 0x02016800
-_081081C8: .4byte gBattleMoves
- thumb_func_end sub_81080F0
-
- thumb_func_start sub_81081CC
-sub_81081CC: @ 81081CC
- ldr r3, _081081E8
- ldr r2, _081081EC
- ldrh r1, [r3, 0x2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- str r0, [r3, 0x8]
- ldr r1, _081081F0
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_081081E8: .4byte 0x02016800
-_081081EC: .4byte gBattleMoves
-_081081F0: .4byte gUnknown_02039238
- thumb_func_end sub_81081CC
-
- thumb_func_start sub_81081F4
-sub_81081F4: @ 81081F4
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x14
- movs r3, 0
- ldr r0, _08108328
- ldrh r1, [r0]
- ldr r4, _0810832C
- ldr r6, _08108330
- ldr r5, _08108334
- cmp r1, r4
- beq _0810822E
- ldrh r1, [r5, 0x2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldrb r2, [r0]
- ldr r1, _08108328
-_0810821E:
- ldrh r0, [r1]
- cmp r2, r0
- beq _0810822E
- adds r1, 0x2
- adds r3, 0x1
- ldrh r0, [r1]
- cmp r0, r4
- bne _0810821E
-_0810822E:
- ldrh r0, [r5, 0x2]
- lsls r1, r0, 1
- adds r1, r0
- lsls r1, 2
- adds r1, r6
- ldrb r0, [r1, 0x1]
- cmp r0, 0x1
- bhi _08108240
- b _081083B2
-_08108240:
- lsls r0, r3, 1
- ldr r1, _08108328
- adds r0, r1
- ldrh r3, [r0]
- ldr r0, _0810832C
- cmp r3, r0
- beq _08108250
- b _081083B2
-_08108250:
- ldr r0, _08108338
- movs r1, 0
- strh r1, [r0]
- ldr r2, _0810833C
- adds r0, r5, r2
- strb r1, [r0]
- adds r2, 0x3
- adds r0, r5, r2
- movs r2, 0x1
- strb r2, [r0]
- ldr r0, _08108340
- strb r1, [r0]
- ldr r0, _08108344
- strb r2, [r0]
- movs r6, 0
- mov r9, r3
- ldr r0, _08108328
- ldrh r0, [r0]
- str r0, [sp, 0x10]
-_08108276:
- movs r3, 0
- ldr r5, _08108348
- lsls r4, r6, 1
- ldr r7, _0810834C
- lsls r1, r6, 2
- mov r8, r1
- adds r2, r6, 0x1
- mov r10, r2
- ldr r0, [sp, 0x10]
- cmp r0, r9
- beq _081082BA
- ldr r2, _08108330
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- adds r0, r4, r0
- adds r1, r5, 0
- adds r1, 0xC
- adds r0, r1
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r2, [r0]
- ldr r1, _08108328
-_081082AA:
- ldrh r0, [r1]
- cmp r2, r0
- beq _081082BA
- adds r1, 0x2
- adds r3, 0x1
- ldrh r0, [r1]
- cmp r0, r9
- bne _081082AA
-_081082BA:
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- adds r0, r4, r0
- adds r1, r5, 0
- adds r1, 0xC
- adds r1, r0, r1
- ldrh r0, [r1]
- cmp r0, 0
- beq _0810835C
- lsls r0, r3, 1
- ldr r2, _08108328
- adds r0, r2
- ldrh r0, [r0]
- cmp r0, r9
- bne _0810835C
- ldr r0, _08108330
- ldrh r2, [r1]
- lsls r1, r2, 1
- adds r1, r2
- lsls r1, 2
- adds r1, r0
- ldrb r0, [r1, 0x1]
- cmp r0, 0x1
- bls _0810835C
- ldr r5, _08108350
- strh r2, [r5]
- ldrb r0, [r7]
- ldr r4, _08108354
- ldrb r1, [r4]
- bl sub_801CAF8
- ldrh r0, [r5]
- ldrb r1, [r7]
- ldrb r2, [r4]
- bl move_effectiveness_something
- mov r4, sp
- add r4, r8
- ldr r2, _08108358
- ldr r0, _08108334
- adds r0, 0x18
- adds r0, r6, r0
- ldrb r1, [r0]
- ldr r0, [r2]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
- cmp r0, 0
- bne _08108364
- movs r0, 0x1
- str r0, [r4]
- b _08108364
- .align 2, 0
-_08108328: .4byte gUnknown_083F62BC
-_0810832C: .4byte 0x0000ffff
-_08108330: .4byte gBattleMoves
-_08108334: .4byte 0x02016800
-_08108338: .4byte gUnknown_02024DEC
-_0810833C: .4byte 0xfffff81c
-_08108340: .4byte gUnknown_02024C68
-_08108344: .4byte gCritMultiplier
-_08108348: .4byte gBattleMons
-_0810834C: .4byte gUnknown_02024C07
-_08108350: .4byte gUnknown_02024BE6
-_08108354: .4byte gUnknown_02024C08
-_08108358: .4byte gUnknown_02024BEC
-_0810835C:
- mov r1, sp
- add r1, r8
- movs r0, 0
- str r0, [r1]
-_08108364:
- mov r6, r10
- cmp r6, 0x3
- ble _08108276
- movs r6, 0
- ldr r1, _081083A4
- ldrb r0, [r1, 0x1]
- lsls r0, 2
- add r0, sp
- ldr r2, [sp]
- ldr r0, [r0]
- adds r5, r1, 0
- ldr r4, _081083A8
- cmp r2, r0
- bgt _0810839A
- adds r3, r5, 0
- mov r2, sp
-_08108384:
- adds r2, 0x4
- adds r6, 0x1
- cmp r6, 0x3
- bgt _0810839A
- ldrb r0, [r3, 0x1]
- lsls r0, 2
- add r0, sp
- ldr r1, [r2]
- ldr r0, [r0]
- cmp r1, r0
- ble _08108384
-_0810839A:
- cmp r6, 0x4
- bne _081083AC
- movs r0, 0x2
- str r0, [r5, 0x8]
- b _081083B8
- .align 2, 0
-_081083A4: .4byte 0x02016800
-_081083A8: .4byte gUnknown_02039238
-_081083AC:
- movs r0, 0x1
- str r0, [r5, 0x8]
- b _081083B8
-_081083B2:
- movs r0, 0
- str r0, [r5, 0x8]
- ldr r4, _081083D0
-_081083B8:
- ldr r0, [r4]
- adds r0, 0x1
- str r0, [r4]
- add sp, 0x14
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081083D0: .4byte gUnknown_02039238
- thumb_func_end sub_81081F4
-
- thumb_func_start sub_81083D4
-sub_81083D4: @ 81083D4
- push {lr}
- ldr r0, _081083EC
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r3, r0, 0
- cmp r1, 0x1
- bne _081083FC
- ldr r2, _081083F0
- ldr r1, _081083F4
- ldr r0, _081083F8
- b _08108402
- .align 2, 0
-_081083EC: .4byte gUnknown_02039238
-_081083F0: .4byte 0x02016800
-_081083F4: .4byte gUnknown_02024C34
-_081083F8: .4byte gUnknown_02024C07
-_081083FC:
- ldr r2, _08108418
- ldr r1, _0810841C
- ldr r0, _08108420
-_08108402:
- ldrb r0, [r0]
- lsls r0, 1
- adds r0, r1
- ldrh r0, [r0]
- str r0, [r2, 0x8]
- ldr r0, [r3]
- adds r0, 0x2
- str r0, [r3]
- pop {r0}
- bx r0
- .align 2, 0
-_08108418: .4byte 0x02016800
-_0810841C: .4byte gUnknown_02024C34
-_08108420: .4byte gUnknown_02024C08
- thumb_func_end sub_81083D4
-
- thumb_func_start sub_8108424
-sub_8108424: @ 8108424
- push {lr}
- ldr r3, _0810844C
- ldr r2, [r3]
- ldrb r0, [r2, 0x1]
- ldr r1, _08108450
- ldr r1, [r1, 0x8]
- cmp r0, r1
- bne _08108454
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108458
- .align 2, 0
-_0810844C: .4byte gUnknown_02039238
-_08108450: .4byte 0x02016800
-_08108454:
- adds r0, r2, 0x6
- str r0, [r3]
-_08108458:
- pop {r0}
- bx r0
- thumb_func_end sub_8108424
-
- thumb_func_start sub_810845C
-sub_810845C: @ 810845C
- push {lr}
- ldr r3, _08108484
- ldr r2, [r3]
- ldrb r0, [r2, 0x1]
- ldr r1, _08108488
- ldr r1, [r1, 0x8]
- cmp r0, r1
- beq _0810848C
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108490
- .align 2, 0
-_08108484: .4byte gUnknown_02039238
-_08108488: .4byte 0x02016800
-_0810848C:
- adds r0, r2, 0x6
- str r0, [r3]
-_08108490:
- pop {r0}
- bx r0
- thumb_func_end sub_810845C
-
- thumb_func_start tai28_unk
-tai28_unk: @ 8108494
- push {lr}
- ldr r0, _081084CC
- ldrb r0, [r0]
- ldr r1, _081084D0
- ldrb r1, [r1]
- movs r2, 0x1
- bl b_first_side
- ldr r3, _081084D4
- ldr r2, [r3]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bne _081084D8
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _081084DC
- .align 2, 0
-_081084CC: .4byte gUnknown_02024C07
-_081084D0: .4byte gUnknown_02024C08
-_081084D4: .4byte gUnknown_02039238
-_081084D8:
- adds r0, r2, 0x6
- str r0, [r3]
-_081084DC:
- pop {r0}
- bx r0
- thumb_func_end tai28_unk
-
- thumb_func_start tai29_unk
-tai29_unk: @ 81084E0
- push {lr}
- ldr r0, _08108518
- ldrb r0, [r0]
- ldr r1, _0810851C
- ldrb r1, [r1]
- movs r2, 0x1
- bl b_first_side
- ldr r3, _08108520
- ldr r2, [r3]
- lsls r0, 24
- lsrs r0, 24
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- beq _08108524
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108528
- .align 2, 0
-_08108518: .4byte gUnknown_02024C07
-_0810851C: .4byte gUnknown_02024C08
-_08108520: .4byte gUnknown_02039238
-_08108524:
- adds r0, r2, 0x6
- str r0, [r3]
-_08108528:
- pop {r0}
- bx r0
- thumb_func_end tai29_unk
-
- thumb_func_start nullsub_25
-nullsub_25: @ 810852C
- bx lr
- thumb_func_end nullsub_25
-
- thumb_func_start nullsub_26
-nullsub_26: @ 8108530
- bx lr
- thumb_func_end nullsub_26
-
- thumb_func_start tai2C_unk
-tai2C_unk: @ 8108534
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- ldr r1, _08108550
- movs r0, 0
- str r0, [r1, 0x8]
- ldr r0, _08108554
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _0810855C
- ldr r0, _08108558
- b _0810855E
- .align 2, 0
-_08108550: .4byte 0x02016800
-_08108554: .4byte gUnknown_02039238
-_08108558: .4byte gUnknown_02024C07
-_0810855C:
- ldr r0, _081085A8
-_0810855E:
- ldrb r5, [r0]
- adds r0, r5, 0
- bl battle_side_get_owner
- lsls r0, 24
- ldr r1, _081085AC
- mov r9, r1
- cmp r0, 0
- bne _08108574
- ldr r0, _081085B0
- mov r9, r0
-_08108574:
- ldr r0, _081085B4
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _081085BC
- ldr r4, _081085B8
- lsls r0, r5, 1
- adds r0, r4
- ldrb r0, [r0]
- mov r8, r0
- adds r0, r5, 0
- bl battle_get_per_side_status
- movs r1, 0x2
- eors r0, r1
- lsls r0, 24
- lsrs r0, 24
- bl battle_get_side_with_given_state
- lsls r0, 24
- lsrs r0, 23
- adds r0, r4
- ldrb r6, [r0]
- b _081085C6
- .align 2, 0
-_081085A8: .4byte gUnknown_02024C08
-_081085AC: .4byte gEnemyParty
-_081085B0: .4byte gPlayerParty
-_081085B4: .4byte gUnknown_020239F8
-_081085B8: .4byte gUnknown_02024A6A
-_081085BC:
- ldr r1, _08108624
- lsls r0, r5, 1
- adds r0, r1
- ldrb r6, [r0]
- mov r8, r6
-_081085C6:
- movs r5, 0
- ldr r7, _08108628
-_081085CA:
- cmp r5, r8
- beq _08108608
- cmp r5, r6
- beq _08108608
- movs r0, 0x64
- muls r0, r5
- mov r1, r9
- adds r4, r1, r0
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- cmp r0, 0
- beq _08108608
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- cmp r0, 0
- beq _08108608
- adds r0, r4, 0
- movs r1, 0x41
- bl GetMonData
- movs r1, 0xCE
- lsls r1, 1
- cmp r0, r1
- beq _08108608
- ldr r0, [r7, 0x8]
- adds r0, 0x1
- str r0, [r7, 0x8]
-_08108608:
- adds r5, 0x1
- cmp r5, 0x5
- ble _081085CA
- ldr r1, _0810862C
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08108624: .4byte gUnknown_02024A6A
-_08108628: .4byte 0x02016800
-_0810862C: .4byte gUnknown_02039238
- thumb_func_end tai2C_unk
-
- thumb_func_start sub_8108630
-sub_8108630: @ 8108630
- ldr r1, _08108640
- ldrh r0, [r1, 0x2]
- str r0, [r1, 0x8]
- ldr r1, _08108644
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_08108640: .4byte 0x02016800
-_08108644: .4byte gUnknown_02039238
- thumb_func_end sub_8108630
-
- thumb_func_start sub_8108648
-sub_8108648: @ 8108648
- ldr r3, _08108664
- ldr r2, _08108668
- ldrh r1, [r3, 0x2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- str r0, [r3, 0x8]
- ldr r1, _0810866C
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_08108664: .4byte 0x02016800
-_08108668: .4byte gBattleMoves
-_0810866C: .4byte gUnknown_02039238
- thumb_func_end sub_8108648
-
- thumb_func_start sub_8108670
-sub_8108670: @ 8108670
- push {r4-r7,lr}
- ldr r0, _08108680
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _08108688
- ldr r0, _08108684
- b _0810868A
- .align 2, 0
-_08108680: .4byte gUnknown_02039238
-_08108684: .4byte gUnknown_02024C07
-_08108688:
- ldr r0, _081086BC
-_0810868A:
- ldrb r4, [r0]
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08108774
- adds r0, r4, 0
- bl battle_get_per_side_status
- movs r7, 0x1
- adds r1, r7, 0
- ands r1, r0
- ldr r6, _081086C0
- adds r0, r6, 0
- adds r0, 0x20
- adds r3, r1, r0
- ldrb r0, [r3]
- cmp r0, 0
- beq _081086C8
- ldr r0, _081086C4
- adds r1, r6, r0
- ldrb r0, [r3]
- str r0, [r1, 0x8]
- b _08108784
- .align 2, 0
-_081086BC: .4byte gUnknown_02024C08
-_081086C0: .4byte 0x02016a00
-_081086C4: .4byte 0xfffffe00
-_081086C8:
- ldr r1, _081086F4
- movs r0, 0x58
- muls r0, r4
- adds r5, r0, r1
- adds r0, r5, 0
- adds r0, 0x20
- ldrb r0, [r0]
- adds r2, r1, 0
- cmp r0, 0x17
- beq _081086E4
- cmp r0, 0x2A
- beq _081086E4
- cmp r0, 0x47
- bne _081086FC
-_081086E4:
- ldr r1, _081086F8
- movs r0, 0x58
- muls r0, r4
- adds r0, r2
- adds r0, 0x20
- ldrb r0, [r0]
- str r0, [r1, 0x8]
- b _08108784
- .align 2, 0
-_081086F4: .4byte gBattleMons
-_081086F8: .4byte 0x02016800
-_081086FC:
- ldr r4, _08108734
- ldrh r0, [r5]
- lsls r1, r0, 3
- subs r1, r0
- lsls r1, 2
- adds r3, r1, r4
- ldrb r0, [r3, 0x16]
- cmp r0, 0
- beq _08108764
- ldrb r0, [r3, 0x17]
- cmp r0, 0
- beq _08108754
- bl Random
- adds r1, r7, 0
- ands r1, r0
- cmp r1, 0
- beq _0810873C
- ldr r0, _08108738
- adds r2, r6, r0
- ldrh r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x16]
- b _08108782
- .align 2, 0
-_08108734: .4byte gBaseStats
-_08108738: .4byte 0xfffffe00
-_0810873C:
- ldr r0, _08108750
- adds r2, r6, r0
- ldrh r1, [r5]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r4
- ldrb r0, [r0, 0x17]
- b _08108782
- .align 2, 0
-_08108750: .4byte 0xfffffe00
-_08108754:
- ldr r0, _08108760
- adds r1, r6, r0
- ldrb r0, [r3, 0x16]
- str r0, [r1, 0x8]
- b _08108784
- .align 2, 0
-_08108760: .4byte 0xfffffe00
-_08108764:
- ldr r0, _08108770
- adds r1, r6, r0
- ldrb r0, [r3, 0x17]
- str r0, [r1, 0x8]
- b _08108784
- .align 2, 0
-_08108770: .4byte 0xfffffe00
-_08108774:
- ldr r2, _08108794
- ldr r1, _08108798
- movs r0, 0x58
- muls r0, r4
- adds r0, r1
- adds r0, 0x20
- ldrb r0, [r0]
-_08108782:
- str r0, [r2, 0x8]
-_08108784:
- ldr r1, _0810879C
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08108794: .4byte 0x02016800
-_08108798: .4byte gBattleMons
-_0810879C: .4byte gUnknown_02039238
- thumb_func_end sub_8108670
-
- thumb_func_start tai30_unk
-tai30_unk: @ 81087A0
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r0, _0810885C
- movs r2, 0
- strh r2, [r0]
- ldr r1, _08108860
- ldr r3, _08108864
- adds r0, r1, r3
- movs r4, 0
- strb r2, [r0]
- adds r3, 0x3
- adds r0, r1, r3
- movs r3, 0x1
- strb r3, [r0]
- ldr r0, _08108868
- strb r2, [r0]
- ldr r0, _0810886C
- strb r3, [r0]
- movs r0, 0xB4
- lsls r0, 9
- adds r1, r0
- str r4, [r1, 0x8]
- movs r5, 0
- ldr r4, _08108870
- ldr r7, _08108874
- ldr r3, _08108878
- mov r8, r3
- ldr r6, _0810887C
-_081087DA:
- movs r0, 0x28
- str r0, [r4]
- lsls r1, r5, 1
- ldrb r2, [r6]
- movs r0, 0x58
- muls r0, r2
- adds r1, r0
- add r1, r8
- ldrh r0, [r1]
- strh r0, [r7]
- lsls r0, 16
- cmp r0, 0
- beq _08108844
- ldrh r0, [r7]
- ldrb r1, [r6]
- ldr r2, _08108880
- ldrb r2, [r2]
- bl move_effectiveness_something
- ldr r0, [r4]
- cmp r0, 0x78
- bne _0810880A
- movs r0, 0x50
- str r0, [r4]
-_0810880A:
- ldr r0, [r4]
- cmp r0, 0xF0
- bne _08108814
- movs r0, 0xA0
- str r0, [r4]
-_08108814:
- ldr r0, [r4]
- cmp r0, 0x1E
- bne _0810881E
- movs r0, 0x14
- str r0, [r4]
-_0810881E:
- ldr r0, [r4]
- cmp r0, 0xF
- bne _08108828
- movs r0, 0xA
- str r0, [r4]
-_08108828:
- ldr r0, _08108868
- ldrb r1, [r0]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08108838
- movs r0, 0
- str r0, [r4]
-_08108838:
- ldr r2, _08108884
- ldr r0, [r2, 0x8]
- ldr r1, [r4]
- cmp r0, r1
- bcs _08108844
- str r1, [r2, 0x8]
-_08108844:
- adds r5, 0x1
- cmp r5, 0x3
- ble _081087DA
- ldr r1, _08108888
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_0810885C: .4byte gUnknown_02024DEC
-_08108860: .4byte 0x02000000
-_08108864: .4byte 0x0001601c
-_08108868: .4byte gUnknown_02024C68
-_0810886C: .4byte gCritMultiplier
-_08108870: .4byte gUnknown_02024BEC
-_08108874: .4byte gUnknown_02024BE6
-_08108878: .4byte gUnknown_02024A8C
-_0810887C: .4byte gUnknown_02024C07
-_08108880: .4byte gUnknown_02024C08
-_08108884: .4byte 0x02016800
-_08108888: .4byte gUnknown_02039238
- thumb_func_end tai30_unk
-
- thumb_func_start dp15_simulate_damage_bonus_jump_if_eq
-dp15_simulate_damage_bonus_jump_if_eq: @ 810888C
- push {r4,r5,lr}
- ldr r0, _08108928
- movs r1, 0
- strh r1, [r0]
- ldr r2, _0810892C
- ldr r3, _08108930
- adds r0, r2, r3
- strb r1, [r0]
- adds r3, 0x3
- adds r0, r2, r3
- movs r3, 0x1
- strb r3, [r0]
- ldr r5, _08108934
- strb r1, [r5]
- ldr r0, _08108938
- strb r3, [r0]
- ldr r4, _0810893C
- movs r0, 0x28
- str r0, [r4]
- ldr r1, _08108940
- movs r0, 0xB4
- lsls r0, 9
- adds r2, r0
- ldrh r0, [r2, 0x2]
- strh r0, [r1]
- ldrh r0, [r1]
- ldr r1, _08108944
- ldrb r1, [r1]
- ldr r2, _08108948
- ldrb r2, [r2]
- bl move_effectiveness_something
- ldr r0, [r4]
- cmp r0, 0x78
- bne _081088D6
- movs r0, 0x50
- str r0, [r4]
-_081088D6:
- ldr r0, [r4]
- cmp r0, 0xF0
- bne _081088E0
- movs r0, 0xA0
- str r0, [r4]
-_081088E0:
- ldr r0, [r4]
- cmp r0, 0x1E
- bne _081088EA
- movs r0, 0x14
- str r0, [r4]
-_081088EA:
- ldr r0, [r4]
- cmp r0, 0xF
- bne _081088F4
- movs r0, 0xA
- str r0, [r4]
-_081088F4:
- ldrb r1, [r5]
- movs r0, 0x8
- ands r0, r1
- cmp r0, 0
- beq _08108902
- movs r0, 0
- str r0, [r4]
-_08108902:
- ldrb r0, [r4]
- ldr r3, _0810894C
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bne _08108950
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108954
- .align 2, 0
-_08108928: .4byte gUnknown_02024DEC
-_0810892C: .4byte 0x02000000
-_08108930: .4byte 0x0001601c
-_08108934: .4byte gUnknown_02024C68
-_08108938: .4byte gCritMultiplier
-_0810893C: .4byte gUnknown_02024BEC
-_08108940: .4byte gUnknown_02024BE6
-_08108944: .4byte gUnknown_02024C07
-_08108948: .4byte gUnknown_02024C08
-_0810894C: .4byte gUnknown_02039238
-_08108950:
- adds r0, r2, 0x6
- str r0, [r3]
-_08108954:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end dp15_simulate_damage_bonus_jump_if_eq
-
- thumb_func_start nullsub_71
-nullsub_71: @ 810895C
- bx lr
- thumb_func_end nullsub_71
-
- thumb_func_start nullsub_90
-nullsub_90: @ 8108960
- bx lr
- thumb_func_end nullsub_90
-
- thumb_func_start sub_8108964
-sub_8108964: @ 8108964
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _0810897C
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- cmp r1, 0x1
- bne _081089A4
- ldr r1, _08108980
- b _081089A6
- .align 2, 0
-_0810897C: .4byte gUnknown_02039238
-_08108980: .4byte gEnemyParty
-_08108984:
- ldr r3, _081089A0
- ldr r2, [r3]
- ldrb r1, [r2, 0x6]
- ldrb r0, [r2, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108A12
- .align 2, 0
-_081089A0: .4byte gUnknown_02039238
-_081089A4:
- ldr r1, _08108A20
-_081089A6:
- mov r9, r1
- ldr r1, [r0]
- ldrb r7, [r1, 0x2]
- ldrb r0, [r1, 0x3]
- lsls r0, 8
- orrs r7, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 16
- orrs r7, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 24
- orrs r7, r0
- movs r0, 0
- mov r8, r0
- movs r1, 0xCE
- lsls r1, 1
- mov r10, r1
-_081089C8:
- movs r0, 0x64
- mov r4, r8
- muls r4, r0
- add r4, r9
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- cmp r5, 0
- beq _08108A00
- cmp r5, r10
- beq _08108A00
- cmp r6, 0
- beq _08108A00
- cmp r0, r7
- beq _08108984
-_08108A00:
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x5
- ble _081089C8
- ldr r1, _08108A24
- ldr r0, [r1]
- adds r0, 0xA
- str r0, [r1]
-_08108A12:
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08108A20: .4byte gPlayerParty
-_08108A24: .4byte gUnknown_02039238
- thumb_func_end sub_8108964
-
- thumb_func_start sub_8108A28
-sub_8108A28: @ 8108A28
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- ldr r0, _08108A44
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r2, r0, 0
- cmp r1, 0x1
- bne _08108A4C
- ldr r0, _08108A48
- mov r10, r0
- b _08108A50
- .align 2, 0
-_08108A44: .4byte gUnknown_02039238
-_08108A48: .4byte gEnemyParty
-_08108A4C:
- ldr r1, _08108AE4
- mov r10, r1
-_08108A50:
- ldr r1, [r2]
- ldrb r7, [r1, 0x2]
- ldrb r0, [r1, 0x3]
- lsls r0, 8
- orrs r7, r0
- ldrb r0, [r1, 0x4]
- lsls r0, 16
- orrs r7, r0
- ldrb r0, [r1, 0x5]
- lsls r0, 24
- orrs r7, r0
- movs r0, 0
- mov r8, r0
- mov r9, r2
-_08108A6C:
- movs r0, 0x64
- mov r4, r8
- muls r4, r0
- add r4, r10
- adds r0, r4, 0
- movs r1, 0xB
- bl GetMonData
- lsls r0, 16
- lsrs r5, r0, 16
- adds r0, r4, 0
- movs r1, 0x39
- bl GetMonData
- lsls r0, 16
- lsrs r6, r0, 16
- adds r0, r4, 0
- movs r1, 0x37
- bl GetMonData
- cmp r5, 0
- beq _08108AB0
- movs r1, 0xCE
- lsls r1, 1
- cmp r5, r1
- beq _08108AB0
- cmp r6, 0
- beq _08108AB0
- cmp r0, r7
- bne _08108AB0
- mov r1, r9
- ldr r0, [r1]
- adds r0, 0xA
- str r0, [r1]
-_08108AB0:
- movs r0, 0x1
- add r8, r0
- mov r1, r8
- cmp r1, 0x5
- ble _08108A6C
- ldr r3, _08108AE8
- ldr r2, [r3]
- ldrb r1, [r2, 0x6]
- ldrb r0, [r2, 0x7]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x8]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x9]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08108AE4: .4byte gPlayerParty
-_08108AE8: .4byte gUnknown_02039238
- thumb_func_end sub_8108A28
-
- thumb_func_start sub_8108AEC
-sub_8108AEC: @ 8108AEC
- push {lr}
- ldr r2, _08108B3C
- ldrh r1, [r2]
- movs r0, 0x7
- ands r0, r1
- cmp r0, 0
- beq _08108B00
- ldr r1, _08108B40
- movs r0, 0x1
- str r0, [r1, 0x8]
-_08108B00:
- ldrh r2, [r2]
- movs r0, 0x18
- ands r0, r2
- adds r3, r2, 0
- cmp r0, 0
- beq _08108B12
- ldr r1, _08108B40
- movs r0, 0x2
- str r0, [r1, 0x8]
-_08108B12:
- movs r0, 0x60
- ands r0, r3
- cmp r0, 0
- beq _08108B20
- ldr r1, _08108B40
- movs r0, 0
- str r0, [r1, 0x8]
-_08108B20:
- movs r0, 0x80
- ands r0, r2
- cmp r0, 0
- beq _08108B2E
- ldr r1, _08108B40
- movs r0, 0x3
- str r0, [r1, 0x8]
-_08108B2E:
- ldr r1, _08108B44
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_08108B3C: .4byte word_2024DB8
-_08108B40: .4byte 0x02016800
-_08108B44: .4byte gUnknown_02039238
- thumb_func_end sub_8108AEC
-
- thumb_func_start sub_8108B48
-sub_8108B48: @ 8108B48
- push {lr}
- ldr r2, _08108B7C
- ldr r0, _08108B80
- ldrh r1, [r0, 0x2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r3, _08108B84
- ldr r2, [r3]
- ldrb r0, [r0]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- bne _08108B88
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108B8C
- .align 2, 0
-_08108B7C: .4byte gBattleMoves
-_08108B80: .4byte 0x02016800
-_08108B84: .4byte gUnknown_02039238
-_08108B88:
- adds r0, r2, 0x6
- str r0, [r3]
-_08108B8C:
- pop {r0}
- bx r0
- thumb_func_end sub_8108B48
-
- thumb_func_start sub_8108B90
-sub_8108B90: @ 8108B90
- push {lr}
- ldr r2, _08108BC4
- ldr r0, _08108BC8
- ldrh r1, [r0, 0x2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r3, _08108BCC
- ldr r2, [r3]
- ldrb r0, [r0]
- ldrb r1, [r2, 0x1]
- cmp r0, r1
- beq _08108BD0
- ldrb r1, [r2, 0x2]
- ldrb r0, [r2, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108BD4
- .align 2, 0
-_08108BC4: .4byte gBattleMoves
-_08108BC8: .4byte 0x02016800
-_08108BCC: .4byte gUnknown_02039238
-_08108BD0:
- adds r0, r2, 0x6
- str r0, [r3]
-_08108BD4:
- pop {r0}
- bx r0
- thumb_func_end sub_8108B90
-
- thumb_func_start sub_8108BD8
-sub_8108BD8: @ 8108BD8
- push {r4,lr}
- ldr r0, _08108BEC
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _08108BF4
- ldr r0, _08108BF0
- b _08108BF6
- .align 2, 0
-_08108BEC: .4byte gUnknown_02039238
-_08108BF0: .4byte gUnknown_02024C07
-_08108BF4:
- ldr r0, _08108C2C
-_08108BF6:
- ldrb r3, [r0]
- ldr r1, _08108C30
- ldr r2, [r4]
- movs r0, 0x58
- muls r0, r3
- ldrb r3, [r2, 0x2]
- adds r0, r3
- adds r1, 0x18
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrb r1, [r2, 0x3]
- cmp r0, r1
- bge _08108C34
- ldrb r1, [r2, 0x4]
- ldrb r0, [r2, 0x5]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08108C3A
- .align 2, 0
-_08108C2C: .4byte gUnknown_02024C08
-_08108C30: .4byte gBattleMons
-_08108C34:
- adds r0, r2, 0
- adds r0, 0x8
- str r0, [r4]
-_08108C3A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8108BD8
-
- thumb_func_start sub_8108C40
-sub_8108C40: @ 8108C40
- push {r4,lr}
- ldr r0, _08108C54
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _08108C5C
- ldr r0, _08108C58
- b _08108C5E
- .align 2, 0
-_08108C54: .4byte gUnknown_02039238
-_08108C58: .4byte gUnknown_02024C07
-_08108C5C:
- ldr r0, _08108C94
-_08108C5E:
- ldrb r3, [r0]
- ldr r1, _08108C98
- ldr r2, [r4]
- movs r0, 0x58
- muls r0, r3
- ldrb r3, [r2, 0x2]
- adds r0, r3
- adds r1, 0x18
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrb r1, [r2, 0x3]
- cmp r0, r1
- ble _08108C9C
- ldrb r1, [r2, 0x4]
- ldrb r0, [r2, 0x5]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08108CA2
- .align 2, 0
-_08108C94: .4byte gUnknown_02024C08
-_08108C98: .4byte gBattleMons
-_08108C9C:
- adds r0, r2, 0
- adds r0, 0x8
- str r0, [r4]
-_08108CA2:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8108C40
-
- thumb_func_start sub_8108CA8
-sub_8108CA8: @ 8108CA8
- push {r4,lr}
- ldr r0, _08108CBC
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _08108CC4
- ldr r0, _08108CC0
- b _08108CC6
- .align 2, 0
-_08108CBC: .4byte gUnknown_02039238
-_08108CC0: .4byte gUnknown_02024C07
-_08108CC4:
- ldr r0, _08108CFC
-_08108CC6:
- ldrb r3, [r0]
- ldr r1, _08108D00
- ldr r2, [r4]
- movs r0, 0x58
- muls r0, r3
- ldrb r3, [r2, 0x2]
- adds r0, r3
- adds r1, 0x18
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrb r1, [r2, 0x3]
- cmp r0, r1
- bne _08108D04
- ldrb r1, [r2, 0x4]
- ldrb r0, [r2, 0x5]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08108D0A
- .align 2, 0
-_08108CFC: .4byte gUnknown_02024C08
-_08108D00: .4byte gBattleMons
-_08108D04:
- adds r0, r2, 0
- adds r0, 0x8
- str r0, [r4]
-_08108D0A:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8108CA8
-
- thumb_func_start sub_8108D10
-sub_8108D10: @ 8108D10
- push {r4,lr}
- ldr r0, _08108D24
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _08108D2C
- ldr r0, _08108D28
- b _08108D2E
- .align 2, 0
-_08108D24: .4byte gUnknown_02039238
-_08108D28: .4byte gUnknown_02024C07
-_08108D2C:
- ldr r0, _08108D64
-_08108D2E:
- ldrb r3, [r0]
- ldr r1, _08108D68
- ldr r2, [r4]
- movs r0, 0x58
- muls r0, r3
- ldrb r3, [r2, 0x2]
- adds r0, r3
- adds r1, 0x18
- adds r0, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- ldrb r1, [r2, 0x3]
- cmp r0, r1
- beq _08108D6C
- ldrb r1, [r2, 0x4]
- ldrb r0, [r2, 0x5]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08108D72
- .align 2, 0
-_08108D64: .4byte gUnknown_02024C08
-_08108D68: .4byte gBattleMons
-_08108D6C:
- adds r0, r2, 0
- adds r0, 0x8
- str r0, [r4]
-_08108D72:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8108D10
-
- thumb_func_start tai3D_unk
-tai3D_unk: @ 8108D78
- push {r4-r7,lr}
- mov r7, r8
- push {r7}
- ldr r2, _08108E1C
- ldr r6, _08108E20
- ldrh r1, [r6, 0x2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bls _08108E4C
- ldr r0, _08108E24
- movs r1, 0
- strh r1, [r0]
- ldr r2, _08108E28
- adds r0, r6, r2
- strb r1, [r0]
- adds r2, 0x3
- adds r0, r6, r2
- movs r2, 0x1
- mov r8, r2
- mov r2, r8
- strb r2, [r0]
- ldr r0, _08108E2C
- strb r1, [r0]
- ldr r0, _08108E30
- strb r2, [r0]
- ldr r5, _08108E34
- ldrh r0, [r6, 0x2]
- strh r0, [r5]
- ldr r4, _08108E38
- ldrb r0, [r4]
- ldr r7, _08108E3C
- ldrb r1, [r7]
- bl sub_801CAF8
- ldrh r0, [r5]
- ldrb r1, [r4]
- ldrb r2, [r7]
- bl move_effectiveness_something
- ldr r4, _08108E40
- adds r0, r6, 0
- adds r0, 0x18
- ldrb r6, [r6, 0x1]
- adds r0, r6
- ldrb r1, [r0]
- ldr r0, [r4]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
- cmp r0, 0
- bne _08108DEE
- mov r0, r8
- str r0, [r4]
-_08108DEE:
- ldr r2, _08108E44
- ldrb r1, [r7]
- movs r0, 0x58
- muls r0, r1
- adds r0, r2
- ldrh r1, [r0, 0x28]
- ldr r0, [r4]
- cmp r1, r0
- bgt _08108E4C
- ldr r3, _08108E48
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108E54
- .align 2, 0
-_08108E1C: .4byte gBattleMoves
-_08108E20: .4byte 0x02016800
-_08108E24: .4byte gUnknown_02024DEC
-_08108E28: .4byte 0xfffff81c
-_08108E2C: .4byte gUnknown_02024C68
-_08108E30: .4byte gCritMultiplier
-_08108E34: .4byte gUnknown_02024BE6
-_08108E38: .4byte gUnknown_02024C07
-_08108E3C: .4byte gUnknown_02024C08
-_08108E40: .4byte gUnknown_02024BEC
-_08108E44: .4byte gBattleMons
-_08108E48: .4byte gUnknown_02039238
-_08108E4C:
- ldr r1, _08108E60
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_08108E54:
- pop {r3}
- mov r8, r3
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08108E60: .4byte gUnknown_02039238
- thumb_func_end tai3D_unk
-
- thumb_func_start dp15_determine_move_damage_jump_if_not_fatal
-dp15_determine_move_damage_jump_if_not_fatal: @ 8108E64
- push {r4-r7,lr}
- ldr r2, _08108EF8
- ldr r7, _08108EFC
- ldrh r1, [r7, 0x2]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bls _08108F28
- ldr r0, _08108F00
- movs r1, 0
- strh r1, [r0]
- ldr r2, _08108F04
- adds r0, r7, r2
- strb r1, [r0]
- adds r2, 0x3
- adds r0, r7, r2
- movs r2, 0x1
- strb r2, [r0]
- ldr r0, _08108F08
- strb r1, [r0]
- ldr r0, _08108F0C
- strb r2, [r0]
- ldr r6, _08108F10
- ldrh r0, [r7, 0x2]
- strh r0, [r6]
- ldr r4, _08108F14
- ldrb r0, [r4]
- ldr r5, _08108F18
- ldrb r1, [r5]
- bl sub_801CAF8
- ldrh r0, [r6]
- ldrb r1, [r4]
- ldrb r2, [r5]
- bl move_effectiveness_something
- ldr r4, _08108F1C
- adds r0, r7, 0
- adds r0, 0x18
- ldrb r7, [r7, 0x1]
- adds r0, r7
- ldrb r1, [r0]
- ldr r0, [r4]
- muls r0, r1
- movs r1, 0x64
- bl __divsi3
- str r0, [r4]
- ldr r3, _08108F20
- ldrb r2, [r5]
- movs r1, 0x58
- muls r1, r2
- adds r1, r3
- ldrh r1, [r1, 0x28]
- cmp r1, r0
- ble _08108F28
- ldr r3, _08108F24
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08108F30
- .align 2, 0
-_08108EF8: .4byte gBattleMoves
-_08108EFC: .4byte 0x02016800
-_08108F00: .4byte gUnknown_02024DEC
-_08108F04: .4byte 0xfffff81c
-_08108F08: .4byte gUnknown_02024C68
-_08108F0C: .4byte gCritMultiplier
-_08108F10: .4byte gUnknown_02024BE6
-_08108F14: .4byte gUnknown_02024C07
-_08108F18: .4byte gUnknown_02024C08
-_08108F1C: .4byte gUnknown_02024BEC
-_08108F20: .4byte gBattleMons
-_08108F24: .4byte gUnknown_02039238
-_08108F28:
- ldr r1, _08108F38
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_08108F30:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08108F38: .4byte gUnknown_02039238
- thumb_func_end dp15_determine_move_damage_jump_if_not_fatal
-
- thumb_func_start tai40_unk
-tai40_unk: @ 8108F3C
- push {r4-r7,lr}
- ldr r1, _08108F58
- ldr r0, [r1]
- adds r6, r0, 0x2
- ldrb r0, [r0, 0x1]
- adds r4, r1, 0
- cmp r0, 0x1
- beq _08108F64
- cmp r0, 0x1
- bgt _08108F5C
- cmp r0, 0
- beq _08108FA8
- b _08109008
- .align 2, 0
-_08108F58: .4byte gUnknown_02039238
-_08108F5C:
- cmp r0, 0x2
- beq _08108FA8
- cmp r0, 0x3
- bne _08109008
-_08108F64:
- movs r3, 0
- ldr r2, _08108FA0
- ldr r5, _08108FA4
- ldrb r1, [r5]
- movs r0, 0x58
- muls r0, r1
- adds r2, 0xC
- adds r0, r2
- ldrh r0, [r0]
- ldrh r1, [r6]
- cmp r0, r1
- beq _08108F9A
- adds r7, r5, 0
- movs r6, 0x58
- adds r5, r2, 0
- adds r2, r1, 0
-_08108F84:
- adds r3, 0x1
- cmp r3, 0x3
- bgt _08108F9A
- lsls r1, r3, 1
- ldrb r0, [r7]
- muls r0, r6
- adds r1, r0
- adds r1, r5
- ldrh r0, [r1]
- cmp r0, r2
- bne _08108F84
-_08108F9A:
- cmp r3, 0x4
- beq _08108FDE
- b _08108FF0
- .align 2, 0
-_08108FA0: .4byte gBattleMons
-_08108FA4: .4byte gUnknown_02024C07
-_08108FA8:
- movs r3, 0
- ldr r5, _08108FE8
- ldr r1, _08108FEC
- ldrb r0, [r1]
- lsrs r0, 1
- lsls r0, 4
- adds r0, r5
- ldrh r0, [r0]
- ldrh r2, [r6]
- cmp r0, r2
- beq _08108FDA
- adds r6, r5, 0
- adds r5, r1, 0
-_08108FC2:
- adds r3, 0x1
- cmp r3, 0x7
- bgt _08108FDA
- lsls r0, r3, 1
- ldrb r1, [r5]
- lsrs r1, 1
- lsls r1, 4
- adds r0, r1
- adds r0, r6
- ldrh r0, [r0]
- cmp r0, r2
- bne _08108FC2
-_08108FDA:
- cmp r3, 0x8
- bne _08108FF0
-_08108FDE:
- ldr r0, [r4]
- adds r0, 0x8
- str r0, [r4]
- b _08109008
- .align 2, 0
-_08108FE8: .4byte 0x02016a00
-_08108FEC: .4byte gUnknown_02024C08
-_08108FF0:
- ldr r2, [r4]
- ldrb r1, [r2, 0x4]
- ldrb r0, [r2, 0x5]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
-_08109008:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end tai40_unk
-
- thumb_func_start sub_8109010
-sub_8109010: @ 8109010
- push {r4-r7,lr}
- ldr r1, _0810902C
- ldr r0, [r1]
- adds r6, r0, 0x2
- ldrb r0, [r0, 0x1]
- adds r4, r1, 0
- cmp r0, 0x1
- beq _08109038
- cmp r0, 0x1
- bgt _08109030
- cmp r0, 0
- beq _0810907C
- b _081090DC
- .align 2, 0
-_0810902C: .4byte gUnknown_02039238
-_08109030:
- cmp r0, 0x2
- beq _0810907C
- cmp r0, 0x3
- bne _081090DC
-_08109038:
- movs r3, 0
- ldr r2, _08109074
- ldr r5, _08109078
- ldrb r1, [r5]
- movs r0, 0x58
- muls r0, r1
- adds r2, 0xC
- adds r0, r2
- ldrh r0, [r0]
- ldrh r1, [r6]
- cmp r0, r1
- beq _0810906E
- adds r7, r5, 0
- movs r6, 0x58
- adds r5, r2, 0
- adds r2, r1, 0
-_08109058:
- adds r3, 0x1
- cmp r3, 0x3
- bgt _0810906E
- lsls r1, r3, 1
- ldrb r0, [r7]
- muls r0, r6
- adds r1, r0
- adds r1, r5
- ldrh r0, [r1]
- cmp r0, r2
- bne _08109058
-_0810906E:
- cmp r3, 0x4
- bne _081090B2
- b _081090C4
- .align 2, 0
-_08109074: .4byte gBattleMons
-_08109078: .4byte gUnknown_02024C07
-_0810907C:
- movs r3, 0
- ldr r5, _081090BC
- ldr r1, _081090C0
- ldrb r0, [r1]
- lsrs r0, 1
- lsls r0, 4
- adds r0, r5
- ldrh r0, [r0]
- ldrh r2, [r6]
- cmp r0, r2
- beq _081090AE
- adds r6, r5, 0
- adds r5, r1, 0
-_08109096:
- adds r3, 0x1
- cmp r3, 0x7
- bgt _081090AE
- lsls r0, r3, 1
- ldrb r1, [r5]
- lsrs r1, 1
- lsls r1, 4
- adds r0, r1
- adds r0, r6
- ldrh r0, [r0]
- cmp r0, r2
- bne _08109096
-_081090AE:
- cmp r3, 0x8
- beq _081090C4
-_081090B2:
- ldr r0, [r4]
- adds r0, 0x8
- str r0, [r4]
- b _081090DC
- .align 2, 0
-_081090BC: .4byte 0x02016a00
-_081090C0: .4byte gUnknown_02024C08
-_081090C4:
- ldr r2, [r4]
- ldrb r1, [r2, 0x4]
- ldrb r0, [r2, 0x5]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x7]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
-_081090DC:
- pop {r4-r7}
- pop {r0}
- bx r0
- thumb_func_end sub_8109010
-
- thumb_func_start sub_81090E4
-sub_81090E4: @ 81090E4
- push {r4-r7,lr}
- ldr r1, _081090FC
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- adds r4, r1, 0
- cmp r0, 0x1
- beq _08109108
- cmp r0, 0x1
- bgt _08109100
- cmp r0, 0
- beq _0810915C
- b _081091B8
- .align 2, 0
-_081090FC: .4byte gUnknown_02039238
-_08109100:
- cmp r0, 0x2
- beq _0810915C
- cmp r0, 0x3
- bne _081091B8
-_08109108:
- movs r3, 0
- ldr r1, _0810914C
- ldr r0, _08109150
- ldrb r2, [r0]
- ldr r6, _08109154
- movs r0, 0x58
- muls r0, r2
- adds r1, 0xC
- adds r2, r0, r1
- ldr r5, _08109158
-_0810911C:
- ldrh r0, [r2]
- cmp r0, 0
- beq _08109136
- adds r1, r0, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldr r1, [r5]
- ldrb r0, [r0]
- ldrb r1, [r1, 0x2]
- cmp r0, r1
- beq _0810913E
-_08109136:
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _0810911C
-_0810913E:
- cmp r3, 0x4
- bne _081091A0
- ldr r0, [r4]
- adds r0, 0x7
- str r0, [r4]
- b _081091B8
- .align 2, 0
-_0810914C: .4byte gBattleMons
-_08109150: .4byte gUnknown_02024C07
-_08109154: .4byte gBattleMoves
-_08109158: .4byte gUnknown_02039238
-_0810915C:
- movs r3, 0
- ldr r1, _081091C0
- ldr r0, _081091C4
- ldrb r2, [r0]
- ldr r7, _081091C8
- ldr r6, _081091CC
- ldr r5, _081091D0
- movs r0, 0x58
- muls r0, r2
- adds r1, 0xC
- adds r2, r0, r1
-_08109172:
- lsls r1, r3, 1
- ldrh r0, [r2]
- cmp r0, 0
- beq _08109198
- ldrb r0, [r5]
- lsrs r0, 1
- lsls r0, 4
- adds r0, r1, r0
- adds r0, r6
- ldrh r1, [r0]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r7
- ldr r1, [r4]
- ldrb r0, [r0]
- ldrb r1, [r1, 0x2]
- cmp r0, r1
- beq _081091A0
-_08109198:
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x7
- ble _08109172
-_081091A0:
- ldr r2, [r4]
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
-_081091B8:
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081091C0: .4byte gBattleMons
-_081091C4: .4byte gUnknown_02024C07
-_081091C8: .4byte gBattleMoves
-_081091CC: .4byte 0x02016a00
-_081091D0: .4byte gUnknown_02024C08
- thumb_func_end sub_81090E4
-
- thumb_func_start sub_81091D4
-sub_81091D4: @ 81091D4
- push {r4-r6,lr}
- ldr r1, _081091EC
- ldr r0, [r1]
- ldrb r0, [r0, 0x1]
- adds r4, r1, 0
- cmp r0, 0x1
- beq _081091F8
- cmp r0, 0x1
- bgt _081091F0
- cmp r0, 0
- beq _0810925C
- b _08109294
- .align 2, 0
-_081091EC: .4byte gUnknown_02039238
-_081091F0:
- cmp r0, 0x2
- beq _0810925C
- cmp r0, 0x3
- bne _08109294
-_081091F8:
- movs r3, 0
- ldr r1, _0810924C
- ldr r0, _08109250
- ldrb r2, [r0]
- ldr r6, _08109254
- movs r0, 0x58
- muls r0, r2
- adds r1, 0xC
- adds r2, r0, r1
- ldr r5, _08109258
-_0810920C:
- ldrh r0, [r2]
- cmp r0, 0
- beq _08109226
- adds r1, r0, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r6
- ldr r1, [r5]
- ldrb r0, [r0]
- ldrb r1, [r1, 0x2]
- cmp r0, r1
- beq _0810922E
-_08109226:
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x3
- ble _0810920C
-_0810922E:
- cmp r3, 0x4
- bne _0810928E
- ldr r2, [r4]
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08109294
- .align 2, 0
-_0810924C: .4byte gBattleMons
-_08109250: .4byte gUnknown_02024C07
-_08109254: .4byte gBattleMoves
-_08109258: .4byte gUnknown_02039238
-_0810925C:
- movs r3, 0
- ldr r1, _0810929C
- ldr r0, _081092A0
- ldrb r0, [r0]
- lsrs r0, 1
- lsls r0, 4
- adds r2, r0, r1
- ldr r5, _081092A4
-_0810926C:
- ldrh r0, [r2]
- cmp r0, 0
- beq _08109286
- adds r1, r0, 0
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r5
- ldr r1, [r4]
- ldrb r0, [r0]
- ldrb r1, [r1, 0x2]
- cmp r0, r1
- beq _0810928E
-_08109286:
- adds r2, 0x2
- adds r3, 0x1
- cmp r3, 0x7
- ble _0810926C
-_0810928E:
- ldr r0, [r4]
- adds r0, 0x7
- str r0, [r4]
-_08109294:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_0810929C: .4byte 0x02016a00
-_081092A0: .4byte gUnknown_02024C08
-_081092A4: .4byte gBattleMoves
- thumb_func_end sub_81091D4
-
- thumb_func_start tai43_unk
-tai43_unk: @ 81092A8
- push {r4,r5,lr}
- ldr r0, _081092BC
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r5, r0, 0
- cmp r1, 0x1
- bne _081092C4
- ldr r0, _081092C0
- b _081092C6
- .align 2, 0
-_081092BC: .4byte gUnknown_02039238
-_081092C0: .4byte gUnknown_02024C07
-_081092C4:
- ldr r0, _081092E4
-_081092C6:
- ldrb r3, [r0]
- adds r4, r5, 0
- ldr r2, [r4]
- ldrb r0, [r2, 0x2]
- cmp r0, 0
- bne _081092EC
- ldr r0, _081092E8
- lsls r1, r3, 3
- subs r1, r3
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x4]
- cmp r0, 0
- beq _081092F0
- b _08109306
- .align 2, 0
-_081092E4: .4byte gUnknown_02024C08
-_081092E8: .4byte gUnknown_02024CA8
-_081092EC:
- cmp r0, 0x1
- beq _081092F6
-_081092F0:
- adds r0, r2, 0x7
- str r0, [r4]
- b _08109328
-_081092F6:
- ldr r0, _08109320
- lsls r1, r3, 3
- subs r1, r3
- lsls r1, 2
- adds r1, r0
- ldrh r0, [r1, 0x6]
- cmp r0, 0
- beq _08109324
-_08109306:
- ldrb r1, [r2, 0x3]
- ldrb r0, [r2, 0x4]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x5]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x6]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _08109328
- .align 2, 0
-_08109320: .4byte gUnknown_02024CA8
-_08109324:
- adds r0, r2, 0x7
- str r0, [r5]
-_08109328:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end tai43_unk
-
- thumb_func_start sub_8109330
-sub_8109330: @ 8109330
- push {r4,lr}
- ldr r4, _08109344
- ldr r3, [r4]
- ldrb r0, [r3, 0x1]
- cmp r0, 0
- beq _08109348
- cmp r0, 0x1
- beq _08109370
- b _081093AC
- .align 2, 0
-_08109344: .4byte gUnknown_02039238
-_08109348:
- ldr r2, _08109364
- ldr r0, _08109368
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _0810936C
- ldrh r0, [r0, 0x4]
- ldrh r1, [r1, 0x2]
- cmp r0, r1
- beq _08109388
- b _081093AC
- .align 2, 0
-_08109364: .4byte gUnknown_02024CA8
-_08109368: .4byte gUnknown_02024A60
-_0810936C: .4byte 0x02016800
-_08109370:
- ldr r2, _081093A0
- ldr r0, _081093A4
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldr r1, _081093A8
- ldrh r0, [r0, 0x6]
- ldrh r1, [r1, 0x2]
- cmp r0, r1
- bne _081093AC
-_08109388:
- ldrb r1, [r3, 0x2]
- ldrb r0, [r3, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r3, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r3, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- b _081093B0
- .align 2, 0
-_081093A0: .4byte gUnknown_02024CA8
-_081093A4: .4byte gUnknown_02024A60
-_081093A8: .4byte 0x02016800
-_081093AC:
- adds r0, r3, 0x6
- str r0, [r4]
-_081093B0:
- pop {r4}
- pop {r0}
- bx r0
- thumb_func_end sub_8109330
-
- thumb_func_start sub_81093B8
-sub_81093B8: @ 81093B8
- ldr r2, _081093C4
- ldrb r1, [r2, 0x10]
- movs r0, 0xB
- orrs r0, r1
- strb r0, [r2, 0x10]
- bx lr
- .align 2, 0
-_081093C4: .4byte 0x02016800
- thumb_func_end sub_81093B8
-
- thumb_func_start sub_81093C8
-sub_81093C8: @ 81093C8
- push {r4,lr}
- ldr r0, _0810940C
- ldr r1, _08109410
- adds r0, r1
- ldrb r0, [r0]
- lsls r4, r0, 2
- adds r4, r0
- lsls r4, 24
- lsrs r4, 24
- bl Random
- lsls r0, 16
- lsrs r0, 16
- movs r1, 0x64
- bl __umodsi3
- lsls r0, 24
- lsrs r0, 24
- cmp r0, r4
- bcs _08109418
- ldr r3, _08109414
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _08109420
- .align 2, 0
-_0810940C: .4byte 0x02000000
-_08109410: .4byte 0x00016088
-_08109414: .4byte gUnknown_02039238
-_08109418:
- ldr r1, _08109428
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_08109420:
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08109428: .4byte gUnknown_02039238
- thumb_func_end sub_81093C8
-
- thumb_func_start sub_810942C
-sub_810942C: @ 810942C
- ldr r2, _08109438
- ldrb r1, [r2, 0x10]
- movs r0, 0xD
- orrs r0, r1
- strb r0, [r2, 0x10]
- bx lr
- .align 2, 0
-_08109438: .4byte 0x02016800
- thumb_func_end sub_810942C
-
- thumb_func_start dp15_get_held_item_x12__8
-dp15_get_held_item_x12__8: @ 810943C
- push {r4,lr}
- ldr r0, _0810944C
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _08109454
- ldr r0, _08109450
- b _08109456
- .align 2, 0
-_0810944C: .4byte gUnknown_02039238
-_08109450: .4byte gUnknown_02024C07
-_08109454:
- ldr r0, _0810947C
-_08109456:
- ldrb r4, [r0]
- adds r0, r4, 0
- bl battle_side_get_owner
- lsls r0, 24
- cmp r0, 0
- bne _08109488
- adds r0, r4, 0
- bl battle_get_per_side_status
- movs r1, 0x1
- ands r1, r0
- ldr r2, _08109480
- ldr r3, _08109484
- adds r0, r2, r3
- adds r1, r0
- ldrb r0, [r1]
- str r0, [r2, 0x8]
- b _0810949E
- .align 2, 0
-_0810947C: .4byte gUnknown_02024C08
-_08109480: .4byte 0x02016800
-_08109484: .4byte 0x00000222
-_08109488:
- ldr r1, _081094AC
- movs r0, 0x58
- muls r0, r4
- adds r0, r1
- ldrh r0, [r0, 0x2E]
- bl itemid_get_x12
- ldr r1, _081094B0
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1, 0x8]
-_0810949E:
- ldr r1, _081094B4
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081094AC: .4byte gBattleMons
-_081094B0: .4byte 0x02016800
-_081094B4: .4byte gUnknown_02039238
- thumb_func_end dp15_get_held_item_x12__8
-
- thumb_func_start tai49_unk
-tai49_unk: @ 81094B8
- push {lr}
- ldr r0, _081094C8
- ldr r0, [r0]
- ldrb r0, [r0, 0x1]
- cmp r0, 0x1
- bne _081094D0
- ldr r0, _081094CC
- b _081094D2
- .align 2, 0
-_081094C8: .4byte gUnknown_02039238
-_081094CC: .4byte gUnknown_02024C07
-_081094D0:
- ldr r0, _081094FC
-_081094D2:
- ldrb r1, [r0]
- ldr r2, _08109500
- movs r0, 0x58
- muls r1, r0
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r2, 0x48
- adds r1, r2
- ldr r1, [r1]
- bl GetGenderFromSpeciesAndPersonality
- ldr r1, _08109504
- lsls r0, 24
- lsrs r0, 24
- str r0, [r1, 0x8]
- ldr r1, _08109508
- ldr r0, [r1]
- adds r0, 0x2
- str r0, [r1]
- pop {r0}
- bx r0
- .align 2, 0
-_081094FC: .4byte gUnknown_02024C08
-_08109500: .4byte gBattleMons
-_08109504: .4byte 0x02016800
-_08109508: .4byte gUnknown_02039238
- thumb_func_end tai49_unk
-
- thumb_func_start sub_810950C
-sub_810950C: @ 810950C
- push {r4,lr}
- ldr r0, _08109520
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _08109528
- ldr r0, _08109524
- b _0810952A
- .align 2, 0
-_08109520: .4byte gUnknown_02039238
-_08109524: .4byte gUnknown_02024C07
-_08109528:
- ldr r0, _08109548
-_0810952A:
- ldrb r3, [r0]
- ldr r2, _0810954C
- ldr r1, _08109550
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x16]
- str r0, [r2, 0x8]
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08109548: .4byte gUnknown_02024C08
-_0810954C: .4byte 0x02016800
-_08109550: .4byte gUnknown_02024CA8
- thumb_func_end sub_810950C
-
- thumb_func_start sub_8109554
-sub_8109554: @ 8109554
- push {r4,lr}
- ldr r0, _08109568
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _08109570
- ldr r0, _0810956C
- b _08109572
- .align 2, 0
-_08109568: .4byte gUnknown_02039238
-_0810956C: .4byte gUnknown_02024C07
-_08109570:
- ldr r0, _08109590
-_08109572:
- ldrb r3, [r0]
- ldr r2, _08109594
- ldr r1, _08109598
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x9]
- str r0, [r2, 0x8]
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08109590: .4byte gUnknown_02024C08
-_08109594: .4byte 0x02016800
-_08109598: .4byte gUnknown_02024CA8
- thumb_func_end sub_8109554
-
- thumb_func_start sub_810959C
-sub_810959C: @ 810959C
- ldr r2, _081095B4
- ldr r0, _081095B8
- ldrh r1, [r0]
- movs r0, 0x1
- ands r0, r1
- str r0, [r2, 0x8]
- ldr r1, _081095BC
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_081095B4: .4byte 0x02016800
-_081095B8: .4byte gUnknown_020239F8
-_081095BC: .4byte gUnknown_02039238
- thumb_func_end sub_810959C
-
- thumb_func_start sub_81095C0
-sub_81095C0: @ 81095C0
- push {lr}
- ldr r0, _081095D4
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r2, r0, 0
- cmp r1, 0x1
- bne _081095DC
- ldr r0, _081095D8
- b _081095DE
- .align 2, 0
-_081095D4: .4byte gUnknown_02039238
-_081095D8: .4byte gUnknown_02024C07
-_081095DC:
- ldr r0, _081095F8
-_081095DE:
- ldrb r0, [r0]
- ldr r1, _081095FC
- lsls r0, 1
- adds r0, r1
- ldr r3, _08109600
- adds r0, r3
- ldrb r0, [r0]
- str r0, [r1, 0x8]
- ldr r0, [r2]
- adds r0, 0x2
- str r0, [r2]
- pop {r0}
- bx r0
- .align 2, 0
-_081095F8: .4byte gUnknown_02024C08
-_081095FC: .4byte 0x02016800
-_08109600: .4byte 0xfffff8cc
- thumb_func_end sub_81095C0
-
- thumb_func_start sub_8109604
-sub_8109604: @ 8109604
- ldr r3, _08109620
- ldr r2, _08109624
- ldr r1, [r3, 0x8]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x2]
- str r0, [r3, 0x8]
- ldr r1, _08109628
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_08109620: .4byte 0x02016800
-_08109624: .4byte gBattleMoves
-_08109628: .4byte gUnknown_02039238
- thumb_func_end sub_8109604
-
- thumb_func_start sub_810962C
-sub_810962C: @ 810962C
- ldr r3, _08109648
- ldr r2, _0810964C
- ldr r1, [r3, 0x8]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x1]
- str r0, [r3, 0x8]
- ldr r1, _08109650
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_08109648: .4byte 0x02016800
-_0810964C: .4byte gBattleMoves
-_08109650: .4byte gUnknown_02039238
- thumb_func_end sub_810962C
-
- thumb_func_start sub_8109654
-sub_8109654: @ 8109654
- ldr r3, _08109670
- ldr r2, _08109674
- ldr r1, [r3, 0x8]
- lsls r0, r1, 1
- adds r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0]
- str r0, [r3, 0x8]
- ldr r1, _08109678
- ldr r0, [r1]
- adds r0, 0x1
- str r0, [r1]
- bx lr
- .align 2, 0
-_08109670: .4byte 0x02016800
-_08109674: .4byte gBattleMoves
-_08109678: .4byte gUnknown_02039238
- thumb_func_end sub_8109654
-
- thumb_func_start sub_810967C
-sub_810967C: @ 810967C
- push {r4,lr}
- ldr r0, _08109690
- ldr r1, [r0]
- ldrb r1, [r1, 0x1]
- adds r4, r0, 0
- cmp r1, 0x1
- bne _08109698
- ldr r0, _08109694
- b _0810969A
- .align 2, 0
-_08109690: .4byte gUnknown_02039238
-_08109694: .4byte gUnknown_02024C07
-_08109698:
- ldr r0, _081096B8
-_0810969A:
- ldrb r3, [r0]
- ldr r2, _081096BC
- ldr r1, _081096C0
- lsls r0, r3, 3
- subs r0, r3
- lsls r0, 2
- adds r0, r1
- ldrb r0, [r0, 0x8]
- str r0, [r2, 0x8]
- ldr r0, [r4]
- adds r0, 0x2
- str r0, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081096B8: .4byte gUnknown_02024C08
-_081096BC: .4byte 0x02016800
-_081096C0: .4byte gUnknown_02024CA8
- thumb_func_end sub_810967C
-
- thumb_func_start nullsub_27
-nullsub_27: @ 81096C4
- bx lr
- thumb_func_end nullsub_27
-
- thumb_func_start nullsub_28
-nullsub_28: @ 81096C8
- bx lr
- thumb_func_end nullsub_28
-
- thumb_func_start nullsub_29
-nullsub_29: @ 81096CC
- bx lr
- thumb_func_end nullsub_29
-
- thumb_func_start nullsub_30
-nullsub_30: @ 81096D0
- bx lr
- thumb_func_end nullsub_30
-
- thumb_func_start nullsub_31
-nullsub_31: @ 81096D4
- bx lr
- thumb_func_end nullsub_31
-
- thumb_func_start nullsub_32
-nullsub_32: @ 81096D8
- bx lr
- thumb_func_end nullsub_32
-
- thumb_func_start sub_81096DC
-sub_81096DC: @ 81096DC
- push {r4,lr}
- ldr r4, _08109708
- ldr r0, [r4]
- adds r0, 0x5
- bl sub_81098C4
- ldr r2, [r4]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r4]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08109708: .4byte gUnknown_02039238
- thumb_func_end sub_81096DC
-
- thumb_func_start sub_810970C
-sub_810970C: @ 810970C
- ldr r3, _08109728
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- bx lr
- .align 2, 0
-_08109728: .4byte gUnknown_02039238
- thumb_func_end sub_810970C
-
- thumb_func_start sub_810972C
-sub_810972C: @ 810972C
- push {lr}
- bl sub_8109908
- lsls r0, 24
- cmp r0, 0
- bne _08109742
- ldr r2, _08109748
- ldrb r1, [r2, 0x10]
- movs r0, 0x1
- orrs r0, r1
- strb r0, [r2, 0x10]
-_08109742:
- pop {r0}
- bx r0
- .align 2, 0
-_08109748: .4byte 0x02016800
- thumb_func_end sub_810972C
-
- thumb_func_start dp15_compare_attacker_defender_levels
-dp15_compare_attacker_defender_levels: @ 810974C
- push {r4,r5,lr}
- ldr r5, _08109764
- ldr r4, [r5]
- ldrb r0, [r4, 0x1]
- cmp r0, 0x1
- beq _081097A0
- cmp r0, 0x1
- bgt _08109768
- cmp r0, 0
- beq _0810976E
- b _0810981C
- .align 2, 0
-_08109764: .4byte gUnknown_02039238
-_08109768:
- cmp r0, 0x2
- beq _081097D0
- b _0810981C
-_0810976E:
- ldr r3, _08109794
- ldr r0, _08109798
- ldrb r0, [r0]
- movs r2, 0x58
- adds r1, r0, 0
- muls r1, r2
- adds r1, r3
- adds r1, 0x2A
- ldr r0, _0810979C
- ldrb r0, [r0]
- muls r0, r2
- adds r0, r3
- adds r0, 0x2A
- ldrb r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- bhi _081097F2
- b _08109818
- .align 2, 0
-_08109794: .4byte gBattleMons
-_08109798: .4byte gUnknown_02024C07
-_0810979C: .4byte gUnknown_02024C08
-_081097A0:
- ldr r3, _081097C4
- ldr r0, _081097C8
- ldrb r0, [r0]
- movs r2, 0x58
- adds r1, r0, 0
- muls r1, r2
- adds r1, r3
- adds r1, 0x2A
- ldr r0, _081097CC
- ldrb r0, [r0]
- muls r0, r2
- adds r0, r3
- adds r0, 0x2A
- ldrb r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- bcc _081097F2
- b _08109818
- .align 2, 0
-_081097C4: .4byte gBattleMons
-_081097C8: .4byte gUnknown_02024C07
-_081097CC: .4byte gUnknown_02024C08
-_081097D0:
- ldr r3, _0810980C
- ldr r0, _08109810
- ldrb r0, [r0]
- movs r2, 0x58
- adds r1, r0, 0
- muls r1, r2
- adds r1, r3
- adds r1, 0x2A
- ldr r0, _08109814
- ldrb r0, [r0]
- muls r0, r2
- adds r0, r3
- adds r0, 0x2A
- ldrb r1, [r1]
- ldrb r0, [r0]
- cmp r1, r0
- bne _08109818
-_081097F2:
- ldrb r1, [r4, 0x2]
- ldrb r0, [r4, 0x3]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r4, 0x4]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r4, 0x5]
- lsls r0, 24
- orrs r1, r0
- str r1, [r5]
- b _0810981C
- .align 2, 0
-_0810980C: .4byte gBattleMons
-_08109810: .4byte gUnknown_02024C07
-_08109814: .4byte gUnknown_02024C08
-_08109818:
- adds r0, r4, 0x6
- str r0, [r5]
-_0810981C:
- pop {r4,r5}
- pop {r0}
- bx r0
- thumb_func_end dp15_compare_attacker_defender_levels
-
- thumb_func_start sub_8109824
-sub_8109824: @ 8109824
- push {lr}
- ldr r2, _08109858
- ldr r0, _0810985C
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x13]
- lsls r0, 28
- cmp r0, 0
- beq _08109864
- ldr r3, _08109860
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _0810986C
- .align 2, 0
-_08109858: .4byte gUnknown_02024CA8
-_0810985C: .4byte gUnknown_02024C08
-_08109860: .4byte gUnknown_02039238
-_08109864:
- ldr r1, _08109870
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_0810986C:
- pop {r0}
- bx r0
- .align 2, 0
-_08109870: .4byte gUnknown_02039238
- thumb_func_end sub_8109824
-
- thumb_func_start sub_8109874
-sub_8109874: @ 8109874
- push {lr}
- ldr r2, _081098A8
- ldr r0, _081098AC
- ldrb r1, [r0]
- lsls r0, r1, 3
- subs r0, r1
- lsls r0, 2
- adds r0, r2
- ldrb r0, [r0, 0x13]
- lsls r0, 28
- cmp r0, 0
- bne _081098B4
- ldr r3, _081098B0
- ldr r2, [r3]
- ldrb r1, [r2, 0x1]
- ldrb r0, [r2, 0x2]
- lsls r0, 8
- orrs r1, r0
- ldrb r0, [r2, 0x3]
- lsls r0, 16
- orrs r1, r0
- ldrb r0, [r2, 0x4]
- lsls r0, 24
- orrs r1, r0
- str r1, [r3]
- b _081098BC
- .align 2, 0
-_081098A8: .4byte gUnknown_02024CA8
-_081098AC: .4byte gUnknown_02024C08
-_081098B0: .4byte gUnknown_02039238
-_081098B4:
- ldr r1, _081098C0
- ldr r0, [r1]
- adds r0, 0x5
- str r0, [r1]
-_081098BC:
- pop {r0}
- bx r0
- .align 2, 0
-_081098C0: .4byte gUnknown_02039238
- thumb_func_end sub_8109874
-
- thumb_func_start sub_81098C4
-sub_81098C4: @ 81098C4
- push {r4,lr}
- ldr r4, _081098E0
- adds r3, r4, 0
- adds r3, 0x20
- ldrb r1, [r3]
- adds r2, r1, 0x1
- strb r2, [r3]
- lsls r1, 24
- lsrs r1, 22
- adds r1, r4
- str r0, [r1]
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_081098E0: .4byte 0x02016c00
- thumb_func_end sub_81098C4
-
- thumb_func_start unref_sub_81098E4
-unref_sub_81098E4: @ 81098E4
- ldr r3, _08109900
- adds r2, r3, 0
- adds r2, 0x20
- ldrb r0, [r2]
- adds r1, r0, 0x1
- strb r1, [r2]
- lsls r0, 24
- lsrs r0, 22
- adds r0, r3
- ldr r1, _08109904
- ldr r1, [r1]
- str r1, [r0]
- bx lr
- .align 2, 0
-_08109900: .4byte 0x02016c00
-_08109904: .4byte gUnknown_02039238
- thumb_func_end unref_sub_81098E4
-
- thumb_func_start sub_8109908
-sub_8109908: @ 8109908
- push {lr}
- ldr r3, _0810991C
- adds r2, r3, 0
- adds r2, 0x20
- ldrb r0, [r2]
- cmp r0, 0
- bne _08109920
- movs r0, 0
- b _08109932
- .align 2, 0
-_0810991C: .4byte 0x02016c00
-_08109920:
- subs r0, 0x1
- strb r0, [r2]
- ldr r1, _08109938
- ldrb r0, [r2]
- lsls r0, 2
- adds r0, r3
- ldr r0, [r0]
- str r0, [r1]
- movs r0, 0x1
-_08109932:
- pop {r1}
- bx r1
- .align 2, 0
-_08109938: .4byte gUnknown_02039238
- thumb_func_end sub_8109908
-
- thumb_func_start sub_810993C
-sub_810993C: @ 810993C
- push {r4-r7,lr}
- mov r7, r10
- mov r6, r9
- mov r5, r8
- push {r5-r7}
- sub sp, 0x10
- ldr r0, _081099C8
- mov r9, r0
- movs r2, 0
-_0810994E:
- adds r1, r2, 0x1
- lsls r0, r1, 24
- lsrs r5, r0, 24
- str r1, [sp, 0xC]
- cmp r5, 0x3
- bhi _081099AC
- movs r1, 0x1
- add r1, r9
- mov r8, r1
- adds r6, r1, r2
- movs r0, 0xB
- mov r10, r0
- mov r0, r10
- muls r0, r2
- adds r0, 0x5
- mov r1, r9
- adds r7, r1, r0
-_08109970:
- ldrb r0, [r6]
- cmp r0, 0
- bne _081099A2
- adds r2, r0, 0
- mov r0, r8
- adds r1, r0, r5
- ldrb r0, [r1]
- strb r0, [r6]
- strb r2, [r1]
- mov r0, sp
- adds r1, r7, 0
- bl StringCopy
- mov r4, r10
- muls r4, r5
- adds r4, 0x5
- add r4, r9
- adds r0, r7, 0
- adds r1, r4, 0
- bl StringCopy
- adds r0, r4, 0
- mov r1, sp
- bl StringCopy
-_081099A2:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0x3
- bls _08109970
-_081099AC:
- ldr r1, [sp, 0xC]
- lsls r0, r1, 24
- lsrs r2, r0, 24
- cmp r2, 0x2
- bls _0810994E
- add sp, 0x10
- pop {r3-r5}
- mov r8, r3
- mov r9, r4
- mov r10, r5
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_081099C8: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_810993C
-
- thumb_func_start sub_81099CC
-sub_81099CC: @ 81099CC
- push {r4-r6,lr}
- ldr r5, _08109A14
- movs r1, 0
- movs r0, 0x2
- strb r0, [r5]
- adds r0, r5, 0
- adds r0, 0x31
- strb r1, [r0]
- movs r4, 0
- ldr r6, _08109A18
-_081099E0:
- movs r0, 0xB
- muls r0, r4
- adds r0, 0x5
- adds r0, r5, r0
- lsls r1, r4, 2
- adds r1, r6
- ldr r1, [r1]
- bl StringCopy
- adds r1, r5, 0x1
- adds r1, r4
- ldr r0, _08109A1C
- adds r0, r4, r0
- ldrb r0, [r0]
- strb r0, [r1]
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _081099E0
- bl sub_810993C
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08109A14: .4byte gSaveBlock1 + 0x2D94
-_08109A18: .4byte gUnknown_083F62D8
-_08109A1C: .4byte gTraderDecorations
- thumb_func_end sub_81099CC
-
- thumb_func_start sub_8109A20
-sub_8109A20: @ 8109A20
- ldr r0, _08109A2C
- adds r0, 0x31
- movs r1, 0
- strb r1, [r0]
- bx lr
- .align 2, 0
-_08109A2C: .4byte gSaveBlock1 + 0x2D94
- thumb_func_end sub_8109A20
-
- thumb_func_start sub_8109A30
-sub_8109A30: @ 8109A30
- push {lr}
- adds r1, r0, 0
- lsls r1, 24
- lsrs r1, 24
- ldr r0, _08109A44
- bl VarSet
- pop {r0}
- bx r0
- .align 2, 0
-_08109A44: .4byte 0x00004020
- thumb_func_end sub_8109A30
-
- thumb_func_start sub_8109A48
-sub_8109A48: @ 8109A48
- push {r4-r7,lr}
- mov r7, r9
- mov r6, r8
- push {r6,r7}
- sub sp, 0x8
- lsls r0, 24
- lsrs r0, 24
- mov r9, r0
- movs r6, 0x1
- movs r5, 0
- ldr r0, _08109AB8
- movs r4, 0
- adds r7, r0, 0x1
- adds r1, r7, 0
-_08109A64:
- adds r0, r1, r4
- ldrb r0, [r0]
- cmp r0, 0
- beq _08109A72
- adds r0, r6, 0x1
- lsls r0, 24
- lsrs r6, r0, 24
-_08109A72:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08109A64
- lsls r3, r6, 25
- movs r0, 0x80
- lsls r0, 18
- adds r3, r0
- lsrs r3, 24
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xC
- bl MenuDrawTextWindow
- movs r4, 0
- mov r1, r9
- lsls r1, 2
- mov r8, r1
-_08109A98:
- adds r1, r7, r4
- ldrb r0, [r1]
- cmp r0, 0
- beq _08109ADE
- cmp r0, 0x78
- bls _08109AC0
- lsls r2, r5, 25
- movs r0, 0x80
- lsls r0, 18
- adds r2, r0
- lsrs r2, 24
- ldr r0, _08109ABC
- movs r1, 0x1
- bl MenuPrint
- b _08109AD8
- .align 2, 0
-_08109AB8: .4byte gSaveBlock1 + 0x2D94
-_08109ABC: .4byte gOtherText_FiveQuestionsAndSlash
-_08109AC0:
- ldrb r0, [r1]
- lsls r0, 5
- ldr r1, _08109B28
- adds r0, r1
- lsls r2, r5, 25
- movs r1, 0x80
- lsls r1, 18
- adds r2, r1
- lsrs r2, 24
- movs r1, 0x1
- bl MenuPrint
-_08109AD8:
- adds r0, r5, 0x1
- lsls r0, 24
- lsrs r5, r0, 24
-_08109ADE:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x3
- bls _08109A98
- ldr r0, _08109B2C
- lsls r2, r5, 25
- movs r1, 0x80
- lsls r1, 18
- adds r2, r1
- lsrs r2, 24
- movs r1, 0x1
- bl MenuPrint
- movs r0, 0
- str r0, [sp]
- movs r0, 0xB
- str r0, [sp, 0x4]
- movs r0, 0
- movs r1, 0x1
- movs r2, 0x2
- adds r3, r6, 0
- bl InitMenu
- ldr r1, _08109B30
- mov r0, r8
- add r0, r9
- lsls r0, 3
- adds r0, r1
- strh r5, [r0, 0xA]
- add sp, 0x8
- pop {r3,r4}
- mov r8, r3
- mov r9, r4
- pop {r4-r7}
- pop {r0}
- bx r0
- .align 2, 0
-_08109B28: .4byte gDecorations + 0x1
-_08109B2C: .4byte gOtherText_CancelNoTerminator
-_08109B30: .4byte gTasks
- thumb_func_end sub_8109A48
-
- thumb_func_start sub_8109B34
-sub_8109B34: @ 8109B34
- push {r4,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- lsls r1, 24
- lsrs r1, 24
- cmp r1, 0x78
- bls _08109B54
- ldr r1, _08109B4C
- ldr r2, _08109B50
- adds r0, r2, 0
- strh r0, [r1]
- b _08109B58
- .align 2, 0
-_08109B4C: .4byte gUnknown_0202E8CC
-_08109B50: .4byte 0x0000ffff
-_08109B54:
- ldr r0, _08109B78
- strh r1, [r0]
-_08109B58:
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0x1
- movs r2, 0xC
- movs r3, 0xC
- bl MenuZeroFillWindowRect
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08109B78: .4byte gUnknown_0202E8CC
- thumb_func_end sub_8109B34
-
- thumb_func_start sub_8109B7C
-sub_8109B7C: @ 8109B7C
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r4, r0, 24
- adds r5, r4, 0
- ldr r6, _08109BA4
- ldr r0, _08109BA8
- ldrh r1, [r0, 0x2E]
- movs r0, 0x40
- ands r0, r1
- cmp r0, 0
- beq _08109BAC
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- negs r0, r0
- bl MoveMenuCursor
- b _08109C3E
- .align 2, 0
-_08109BA4: .4byte gSaveBlock1 + 0x2D94
-_08109BA8: .4byte gMain
-_08109BAC:
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- beq _08109BC2
- movs r0, 0x5
- bl PlaySE
- movs r0, 0x1
- bl MoveMenuCursor
- b _08109C3E
-_08109BC2:
- movs r0, 0x1
- ands r0, r1
- cmp r0, 0
- beq _08109C28
- movs r0, 0x5
- bl PlaySE
- ldr r5, _08109BFC
- bl GetMenuCursorPos
- lsls r0, 24
- lsrs r0, 24
- strh r0, [r5]
- ldr r1, _08109C00
- lsls r0, r4, 2
- adds r0, r4
- lsls r0, 3
- adds r0, r1
- movs r1, 0xA
- ldrsh r0, [r0, r1]
- ldrh r2, [r5]
- cmp r0, r2
- bne _08109C04
- adds r0, r4, 0
- movs r1, 0
- bl sub_8109B34
- b _08109C3E
- .align 2, 0
-_08109BFC: .4byte gUnknown_0202E8CE
-_08109C00: .4byte gTasks
-_08109C04:
- ldr r0, _08109C24
- movs r1, 0xB
- muls r1, r2
- adds r1, 0x5
- adds r1, r6
- bl StringCopy
- adds r0, r6, 0x1
- ldrh r5, [r5]
- adds r0, r5
- ldrb r1, [r0]
- adds r0, r4, 0
- bl sub_8109B34
- b _08109C3E
- .align 2, 0
-_08109C24: .4byte gStringVar1
-_08109C28:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- beq _08109C3E
- movs r0, 0x5
- bl PlaySE
- adds r0, r5, 0
- movs r1, 0
- bl sub_8109B34
-_08109C3E:
- pop {r4-r6}
- pop {r0}
- bx r0
- thumb_func_end sub_8109B7C
-
- thumb_func_start sub_8109C44
-sub_8109C44: @ 8109C44
- ldr r0, _08109C50
- ldr r1, _08109C54
- adds r0, 0x31
- ldrb r0, [r0]
- strh r0, [r1]
- bx lr
- .align 2, 0
-_08109C50: .4byte gSaveBlock1 + 0x2D94
-_08109C54: .4byte gScriptResult
- thumb_func_end sub_8109C44
-
- thumb_func_start sub_8109C58
-sub_8109C58: @ 8109C58
- push {r4,r5,lr}
- movs r4, 0
- ldr r5, _08109C70
-_08109C5E:
- adds r0, r4, 0
- bl sub_8134194
- lsls r0, 24
- cmp r0, 0
- beq _08109C74
- movs r0, 0
- strh r0, [r5]
- b _08109C84
- .align 2, 0
-_08109C70: .4byte gScriptResult
-_08109C74:
- adds r0, r4, 0x1
- lsls r0, 24
- lsrs r4, r0, 24
- cmp r4, 0x7
- bls _08109C5E
- ldr r1, _08109C8C
- movs r0, 0x1
- strh r0, [r1]
-_08109C84:
- pop {r4,r5}
- pop {r0}
- bx r0
- .align 2, 0
-_08109C8C: .4byte gScriptResult
- thumb_func_end sub_8109C58
-
- thumb_func_start sub_8109C90
-sub_8109C90: @ 8109C90
- push {r4-r6,lr}
- ldr r6, _08109CDC
- movs r0, 0
- strh r0, [r6]
- ldr r4, _08109CE0
- ldr r5, _08109CE4
- ldrh r0, [r5]
- lsls r0, 5
- adds r2, r0, r4
- ldr r0, _08109CE8
- ldrh r0, [r0]
- lsls r0, 5
- adds r0, r4
- ldrb r1, [r2, 0x13]
- ldrb r0, [r0, 0x13]
- cmp r1, r0
- beq _08109CD6
- adds r0, r1, 0
- bl sub_8133F9C
- lsls r0, 24
- asrs r0, 24
- movs r1, 0x1
- negs r1, r1
- cmp r0, r1
- bne _08109CD6
- ldr r0, _08109CEC
- ldrh r1, [r5]
- lsls r1, 5
- adds r1, r4
- ldrb r1, [r1, 0x13]
- bl sub_80FE7D4
- movs r0, 0x1
- strh r0, [r6]
-_08109CD6:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08109CDC: .4byte gScriptResult
-_08109CE0: .4byte gDecorations
-_08109CE4: .4byte gUnknown_0202E8CC
-_08109CE8: .4byte gUnknown_0202E8D0
-_08109CEC: .4byte gStringVar2
- thumb_func_end sub_8109C90
-
- thumb_func_start sub_8109CF0
-sub_8109CF0: @ 8109CF0
- push {lr}
- ldr r0, _08109D00
- movs r1, 0
- bl CreateTask
- pop {r0}
- bx r0
- .align 2, 0
-_08109D00: .4byte sub_80FE7A8
- thumb_func_end sub_8109CF0
-
- thumb_func_start sub_8109D04
-sub_8109D04: @ 8109D04
- push {r4-r6,lr}
- lsls r0, 24
- lsrs r6, r0, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- movs r0, 0
- bl SetBgTilemapBuffer
- movs r0, 0x1
- bl SetBgTilemapBuffer
- ldr r0, _08109D6C
- movs r1, 0x8
- bl sub_80F9520
- bl BuyMenuFreeMemory
- bl sub_80FEFA4
- lsls r0, 24
- lsrs r0, 24
- cmp r0, 0x1
- bne _08109D8C
- ldr r5, _08109D70
- ldr r0, _08109D74
- ldrb r1, [r0]
- ldr r0, _08109D78
- ldr r0, [r0]
- adds r0, r1
- ldrb r0, [r0]
- strh r0, [r5]
- ldr r0, _08109D7C
- ldr r1, _08109D80
- ldrh r1, [r1]
- lsls r1, 5
- ldr r4, _08109D84
- adds r1, r4
- bl StringCopy
- ldr r0, _08109D88
- ldrh r1, [r5]
- lsls r1, 5
- adds r1, r4
- bl StringCopy
- b _08109D94
- .align 2, 0
-_08109D6C: .4byte gUnknown_020388F7
-_08109D70: .4byte gUnknown_0202E8D0
-_08109D74: .4byte gUnknown_020388F5
-_08109D78: .4byte gUnknown_020388D0
-_08109D7C: .4byte gStringVar3
-_08109D80: .4byte gUnknown_0202E8CC
-_08109D84: .4byte gDecorations + 0x1
-_08109D88: .4byte gStringVar2
-_08109D8C:
- ldr r1, _08109DA4
- ldr r2, _08109DA8
- adds r0, r2, 0
- strh r0, [r1]
-_08109D94:
- adds r0, r6, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08109DA4: .4byte gUnknown_0202E8D0
-_08109DA8: .4byte 0x0000ffff
- thumb_func_end sub_8109D04
-
- thumb_func_start sub_8109DAC
-sub_8109DAC: @ 8109DAC
- push {r4,lr}
- adds r4, r0, 0
- lsls r4, 24
- lsrs r4, 24
- bl sub_8072DEC
- movs r0, 0
- movs r1, 0
- movs r2, 0x1D
- movs r3, 0x13
- bl MenuZeroFillWindowRect
- ldr r1, _08109DDC
- movs r0, 0
- strh r0, [r1]
- adds r0, r4, 0
- bl DestroyTask
- bl EnableBothScriptContexts
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_08109DDC: .4byte gUnknown_0202E8D0
- thumb_func_end sub_8109DAC
-
- thumb_func_start sub_8109DE0
-sub_8109DE0: @ 8109DE0
- push {r4-r6,lr}
- ldr r4, _08109E20
- ldr r6, _08109E24
- ldrb r0, [r6]
- bl sub_81340A8
- ldr r0, _08109E28
- ldrb r0, [r0]
- bl IsThereStorageSpaceForDecoration
- ldr r5, _08109E2C
- ldrh r1, [r5]
- movs r0, 0xB
- muls r0, r1
- adds r0, 0x5
- adds r0, r4
- ldr r1, _08109E30
- bl StringCopy
- adds r0, r4, 0x1
- ldrh r5, [r5]
- adds r0, r5
- ldrh r1, [r6]
- strb r1, [r0]
- bl sub_810993C
- adds r4, 0x31
- movs r0, 0x1
- strb r0, [r4]
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_08109E20: .4byte gSaveBlock1 + 0x2D94
-_08109E24: .4byte gUnknown_0202E8D0
-_08109E28: .4byte gUnknown_0202E8CC
-_08109E2C: .4byte gUnknown_0202E8CE
-_08109E30: .4byte gSaveBlock2
- thumb_func_end sub_8109DE0
-
- thumb_func_start sub_8109E34
-sub_8109E34: @ 8109E34
- push {lr}
- ldr r0, _08109E4C
- movs r1, 0
- bl CreateTask
- lsls r0, 24
- lsrs r0, 24
- bl sub_8109A48
- pop {r0}
- bx r0
- .align 2, 0
-_08109E4C: .4byte sub_8109B7C
- thumb_func_end sub_8109E34
-
.align 2, 0 @ Don't pad with nop.