summaryrefslogtreecommitdiff
path: root/asm/berry_tag_screen.s
diff options
context:
space:
mode:
authorYamaArashi <shadow962@live.com>2016-10-19 02:20:17 -0700
committerYamaArashi <shadow962@live.com>2016-10-19 02:20:17 -0700
commitf74ced3261a1be647327ccfce13af58aecaf63a9 (patch)
treee348093fa78350eaf26d61929c2f3508b726804d /asm/berry_tag_screen.s
parent642ce26017a8d0c032cca1208db061778a66b84d (diff)
split out diploma.s and berry_tag_screen.s
Diffstat (limited to 'asm/berry_tag_screen.s')
-rw-r--r--asm/berry_tag_screen.s1115
1 files changed, 1115 insertions, 0 deletions
diff --git a/asm/berry_tag_screen.s b/asm/berry_tag_screen.s
new file mode 100644
index 000000000..52d49f478
--- /dev/null
+++ b/asm/berry_tag_screen.s
@@ -0,0 +1,1115 @@
+ .include "constants/gba_constants.s"
+ .include "constants/species_constants.s"
+ .include "asm/macros.s"
+
+ .syntax unified
+
+ .text
+
+ thumb_func_start sub_8146014
+sub_8146014: @ 8146014
+ push {lr}
+ bl AnimateSprites
+ bl BuildOamBuffer
+ bl RunTasks
+ bl UpdatePaletteFade
+ pop {r0}
+ bx r0
+ thumb_func_end sub_8146014
+
+ thumb_func_start sub_814602C
+sub_814602C: @ 814602C
+ push {lr}
+ ldr r2, _0814604C
+ ldr r0, _08146050
+ ldrh r1, [r0]
+ strh r1, [r2]
+ ldr r0, _08146054
+ strh r1, [r0]
+ bl LoadOam
+ bl ProcessSpriteCopyRequests
+ bl TransferPlttBuffer
+ pop {r0}
+ bx r0
+ .align 2, 0
+_0814604C: .4byte REG_BG0VOFS
+_08146050: .4byte gUnknown_030041B4
+_08146054: .4byte REG_BG1VOFS
+ thumb_func_end sub_814602C
+
+ thumb_func_start sub_8146058
+sub_8146058: @ 8146058
+ push {r4,lr}
+ sub sp, 0x4
+ ldr r0, _08146074
+ ldr r1, _08146078
+ adds r0, r1
+ ldrb r0, [r0]
+ cmp r0, 0xC
+ bls _0814606A
+ b _08146250
+_0814606A:
+ lsls r0, 2
+ ldr r1, _0814607C
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_08146074: .4byte gMain
+_08146078: .4byte 0x0000043c
+_0814607C: .4byte _08146080
+ .align 2, 0
+_08146080:
+ .4byte _081460B4
+ .4byte _081460CC
+ .4byte _081460F0
+ .4byte _081460F6
+ .4byte _08146110
+ .4byte _0814611C
+ .4byte _0814613C
+ .4byte _0814615C
+ .4byte _08146170
+ .4byte _08146190
+ .4byte _081461B4
+ .4byte _08146204
+ .4byte _08146224
+_081460B4:
+ bl sub_80F9438
+ bl sub_80F9368
+ bl sub_8146288
+ ldr r1, _081460C8
+ movs r0, 0
+ strh r0, [r1]
+ b _0814620C
+ .align 2, 0
+_081460C8: .4byte REG_BLDCNT
+_081460CC:
+ bl ResetPaletteFade
+ ldr r2, _081460E4
+ ldrb r0, [r2, 0x8]
+ movs r1, 0x80
+ orrs r0, r1
+ strb r0, [r2, 0x8]
+ ldr r1, _081460E8
+ ldr r0, _081460EC
+ adds r1, r0
+ b _08146212
+ .align 2, 0
+_081460E4: .4byte gPaletteFade
+_081460E8: .4byte gMain
+_081460EC: .4byte 0x0000043c
+_081460F0:
+ bl ResetSpriteData
+ b _0814620C
+_081460F6:
+ ldr r0, _08146104
+ bl SetUpWindowConfig
+ ldr r1, _08146108
+ ldr r0, _0814610C
+ adds r1, r0
+ b _08146212
+ .align 2, 0
+_08146104: .4byte gWindowConfig_81E6E18
+_08146108: .4byte gMain
+_0814610C: .4byte 0x0000043c
+_08146110:
+ ldr r0, _08146118
+ bl MultistepInitMenuWindowBegin
+ b _0814620C
+ .align 2, 0
+_08146118: .4byte gWindowConfig_81E6E18
+_0814611C:
+ bl MultistepInitMenuWindowContinue
+ cmp r0, 0
+ bne _08146126
+ b _08146250
+_08146126:
+ ldr r0, _08146134
+ ldr r1, _08146138
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ b _0814620C
+ .align 2, 0
+_08146134: .4byte 0x02000000
+_08146138: .4byte 0x0001ffff
+_0814613C:
+ bl sub_81462B8
+ lsls r0, 24
+ cmp r0, 0
+ bne _08146148
+ b _08146250
+_08146148:
+ ldr r0, _08146154
+ ldr r1, _08146158
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ b _0814620C
+ .align 2, 0
+_08146154: .4byte 0x02000000
+_08146158: .4byte 0x0001ffff
+_0814615C:
+ bl sub_81464E4
+ ldr r1, _08146168
+ ldr r0, _0814616C
+ adds r1, r0
+ b _08146212
+ .align 2, 0
+_08146168: .4byte gMain
+_0814616C: .4byte 0x0000043c
+_08146170:
+ ldr r0, _08146188
+ ldrb r0, [r0]
+ adds r0, 0x7B
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x38
+ movs r2, 0x40
+ bl sub_80A7D8C
+ ldr r1, _0814618C
+ strb r0, [r1]
+ b _0814620C
+ .align 2, 0
+_08146188: .4byte word_203855E
+_0814618C: .4byte gUnknown_0203932C
+_08146190:
+ ldr r0, _081461A8
+ ldrb r0, [r0]
+ adds r0, 0x7B
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8146600
+ ldr r1, _081461AC
+ ldr r0, _081461B0
+ adds r1, r0
+ b _08146212
+ .align 2, 0
+_081461A8: .4byte word_203855E
+_081461AC: .4byte gMain
+_081461B0: .4byte 0x0000043c
+_081461B4:
+ ldr r3, _081461EC
+ ldrh r2, [r3]
+ movs r0, 0
+ strh r0, [r3]
+ ldr r4, _081461F0
+ ldrh r0, [r4]
+ movs r1, 0x1
+ orrs r0, r1
+ strh r0, [r4]
+ strh r2, [r3]
+ ldr r2, _081461F4
+ ldrh r0, [r2]
+ movs r1, 0x8
+ orrs r0, r1
+ strh r0, [r2]
+ ldr r0, _081461F8
+ bl SetVBlankCallback
+ movs r1, 0x80
+ lsls r1, 19
+ movs r2, 0xFA
+ lsls r2, 5
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r1, _081461FC
+ ldr r0, _08146200
+ adds r1, r0
+ b _08146212
+ .align 2, 0
+_081461EC: .4byte 0x04000208
+_081461F0: .4byte 0x04000200
+_081461F4: .4byte REG_DISPSTAT
+_081461F8: .4byte sub_814602C
+_081461FC: .4byte gMain
+_08146200: .4byte 0x0000043c
+_08146204:
+ bl sub_8055870
+ cmp r0, 0x1
+ beq _08146250
+_0814620C:
+ ldr r1, _0814621C
+ ldr r2, _08146220
+ adds r1, r2
+_08146212:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08146250
+ .align 2, 0
+_0814621C: .4byte gMain
+_08146220: .4byte 0x0000043c
+_08146224:
+ movs r0, 0x1
+ negs r0, r0
+ movs r1, 0
+ str r1, [sp]
+ movs r2, 0x10
+ movs r3, 0
+ bl BeginNormalPaletteFade
+ ldr r2, _08146248
+ ldrb r1, [r2, 0x8]
+ movs r0, 0x7F
+ ands r0, r1
+ strb r0, [r2, 0x8]
+ ldr r0, _0814624C
+ bl SetMainCallback2
+ movs r0, 0x1
+ b _08146252
+ .align 2, 0
+_08146248: .4byte gPaletteFade
+_0814624C: .4byte sub_8146014
+_08146250:
+ movs r0, 0
+_08146252:
+ add sp, 0x4
+ pop {r4}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_8146058
+
+ thumb_func_start sub_814625C
+sub_814625C: @ 814625C
+ push {lr}
+_0814625E:
+ bl sub_8146058
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _08146278
+ ldr r0, _08146274
+ movs r1, 0
+ bl CreateTask
+ b _08146284
+ .align 2, 0
+_08146274: .4byte sub_8146480
+_08146278:
+ bl sub_80F9344
+ lsls r0, 24
+ lsrs r0, 24
+ cmp r0, 0x1
+ bne _0814625E
+_08146284:
+ pop {r0}
+ bx r0
+ thumb_func_end sub_814625C
+
+ thumb_func_start sub_8146288
+sub_8146288: @ 8146288
+ ldr r1, _081462A8
+ ldr r2, _081462AC
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ adds r2, 0xFE
+ adds r0, r2, 0
+ strh r0, [r1]
+ adds r1, 0x2
+ ldr r2, _081462B0
+ adds r0, r2, 0
+ strh r0, [r1]
+ ldr r1, _081462B4
+ movs r0, 0
+ strh r0, [r1]
+ bx lr
+ .align 2, 0
+_081462A8: .4byte REG_BG1CNT
+_081462AC: .4byte 0x00000502
+_081462B0: .4byte 0x00000703
+_081462B4: .4byte gUnknown_030041B4
+ thumb_func_end sub_8146288
+
+ thumb_func_start sub_81462B8
+sub_81462B8: @ 81462B8
+ push {r4-r7,lr}
+ ldr r1, _081462D4
+ ldr r2, _081462D8
+ adds r0, r1, r2
+ ldrb r0, [r0]
+ mov r12, r1
+ cmp r0, 0x6
+ bls _081462CA
+ b _08146404
+_081462CA:
+ lsls r0, 2
+ ldr r1, _081462DC
+ adds r0, r1
+ ldr r0, [r0]
+ mov pc, r0
+ .align 2, 0
+_081462D4: .4byte 0x02000000
+_081462D8: .4byte 0x0001ffff
+_081462DC: .4byte _081462E0
+ .align 2, 0
+_081462E0:
+ .4byte _081462FC
+ .4byte _0814630C
+ .4byte _0814632C
+ .4byte _08146340
+ .4byte _081463A4
+ .4byte _081463C4
+ .4byte _081463E4
+_081462FC:
+ ldr r0, _08146308
+ movs r1, 0xC0
+ lsls r1, 19
+ bl LZDecompressVram
+ b _081463CA
+ .align 2, 0
+_08146308: .4byte gBerryCheck_Gfx
+_0814630C:
+ ldr r0, _0814631C
+ ldr r1, _08146320
+ bl LZDecompressVram
+ ldr r1, _08146324
+ ldr r2, _08146328
+ adds r1, r2
+ b _081463D0
+ .align 2, 0
+_0814631C: .4byte gUnknown_08E788E4
+_08146320: .4byte 0x06002800
+_08146324: .4byte 0x02000000
+_08146328: .4byte 0x0001ffff
+_0814632C:
+ ldr r0, _08146338
+ ldr r1, _0814633C
+ bl LZDecompressVram
+ b _081463CA
+ .align 2, 0
+_08146338: .4byte gUnknown_08E78A84
+_0814633C: .4byte 0x06003000
+_08146340:
+ movs r1, 0
+ ldr r7, _0814635C
+ adds r2, r7, 0
+ ldr r6, _08146360
+ ldr r5, _08146364
+ ldr r4, _08146368
+ ldr r3, _0814636C
+_0814634E:
+ ldrb r0, [r5, 0x8]
+ cmp r0, 0
+ bne _08146370
+ lsls r0, r1, 1
+ adds r0, r2
+ strh r6, [r0]
+ b _08146376
+ .align 2, 0
+_0814635C: .4byte gBG2TilemapBuffer
+_08146360: .4byte 0x00004042
+_08146364: .4byte gSaveBlock2
+_08146368: .4byte 0x00005042
+_0814636C: .4byte 0x000003ff
+_08146370:
+ lsls r0, r1, 1
+ adds r0, r2
+ strh r4, [r0]
+_08146376:
+ adds r0, r1, 0x1
+ lsls r0, 16
+ lsrs r1, r0, 16
+ cmp r1, r3
+ bls _0814634E
+ ldr r1, _08146394
+ ldr r0, _08146398
+ str r7, [r0]
+ str r1, [r0, 0x4]
+ ldr r1, _0814639C
+ str r1, [r0, 0x8]
+ ldr r0, [r0, 0x8]
+ ldr r1, _081463A0
+ add r1, r12
+ b _081463D0
+ .align 2, 0
+_08146394: .4byte 0x06003800
+_08146398: .4byte 0x040000d4
+_0814639C: .4byte 0x80000400
+_081463A0: .4byte 0x0001ffff
+_081463A4:
+ ldr r0, _081463B8
+ movs r1, 0
+ movs r2, 0xC0
+ bl LoadCompressedPalette
+ ldr r1, _081463BC
+ ldr r2, _081463C0
+ adds r1, r2
+ b _081463D0
+ .align 2, 0
+_081463B8: .4byte gBerryCheck_Pal
+_081463BC: .4byte 0x02000000
+_081463C0: .4byte 0x0001ffff
+_081463C4:
+ ldr r0, _081463D8
+ bl LoadCompressedObjectPic
+_081463CA:
+ ldr r1, _081463DC
+ ldr r0, _081463E0
+ adds r1, r0
+_081463D0:
+ ldrb r0, [r1]
+ adds r0, 0x1
+ strb r0, [r1]
+ b _08146404
+ .align 2, 0
+_081463D8: .4byte gUnknown_083C1F74
+_081463DC: .4byte 0x02000000
+_081463E0: .4byte 0x0001ffff
+_081463E4:
+ ldr r0, _081463F8
+ bl LoadCompressedObjectPalette
+ ldr r0, _081463FC
+ ldr r1, _08146400
+ adds r0, r1
+ movs r1, 0
+ strb r1, [r0]
+ movs r0, 0x1
+ b _08146406
+ .align 2, 0
+_081463F8: .4byte gUnknown_083C1F7C
+_081463FC: .4byte 0x02000000
+_08146400: .4byte 0x0001ffff
+_08146404:
+ movs r0, 0
+_08146406:
+ pop {r4-r7}
+ pop {r1}
+ bx r1
+ thumb_func_end sub_81462B8
+
+ thumb_func_start sub_814640C
+sub_814640C: @ 814640C
+ push {r4,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ ldr r0, _08146438
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _08146432
+ ldr r0, _0814643C
+ bl SetMainCallback2
+ bl sub_80A7DD4
+ bl gpu_pal_allocator_reset__manage_upper_four
+ adds r0, r4, 0
+ bl DestroyTask
+_08146432:
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08146438: .4byte gPaletteFade
+_0814643C: .4byte sub_80A5B40
+ thumb_func_end sub_814640C
+
+ thumb_func_start sub_8146440
+sub_8146440: @ 8146440
+ 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, _08146478
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ adds r0, r1
+ ldr r1, _0814647C
+ str r1, [r0]
+ add sp, 0x4
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08146478: .4byte gTasks
+_0814647C: .4byte sub_814640C
+ thumb_func_end sub_8146440
+
+ thumb_func_start sub_8146480
+sub_8146480: @ 8146480
+ push {r4-r7,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ adds r7, r4, 0
+ ldr r0, _081464DC
+ ldrb r1, [r0, 0x7]
+ movs r0, 0x80
+ ands r0, r1
+ cmp r0, 0
+ bne _081464D6
+ ldr r5, _081464E0
+ ldrh r1, [r5, 0x30]
+ movs r6, 0xF0
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0x40
+ bne _081464AC
+ movs r1, 0x1
+ negs r1, r1
+ adds r0, r4, 0
+ bl sub_81466E8
+_081464AC:
+ ldrh r1, [r5, 0x30]
+ adds r0, r6, 0
+ ands r0, r1
+ cmp r0, 0x80
+ bne _081464BE
+ adds r0, r4, 0
+ movs r1, 0x1
+ bl sub_81466E8
+_081464BE:
+ ldrh r1, [r5, 0x2E]
+ movs r0, 0x1
+ ands r0, r1
+ cmp r0, 0
+ bne _081464D0
+ movs r0, 0x2
+ ands r0, r1
+ cmp r0, 0
+ beq _081464D6
+_081464D0:
+ adds r0, r7, 0
+ bl sub_8146440
+_081464D6:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081464DC: .4byte gPaletteFade
+_081464E0: .4byte gMain
+ thumb_func_end sub_8146480
+
+ thumb_func_start sub_81464E4
+sub_81464E4: @ 81464E4
+ push {r4-r7,lr}
+ ldr r4, _0814659C
+ ldrb r0, [r4]
+ adds r0, 0x7C
+ lsls r0, 24
+ lsrs r0, 24
+ bl GetBerryInfo
+ adds r5, r0, 0
+ ldr r7, _081465A0
+ ldrh r1, [r4]
+ subs r1, 0x84
+ adds r0, r7, 0
+ movs r2, 0x2
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ adds r0, r7, 0
+ movs r1, 0xC
+ movs r2, 0x4
+ bl MenuPrint
+ adds r0, r5, 0
+ movs r1, 0xE
+ movs r2, 0x4
+ bl MenuPrint
+ ldr r0, [r5, 0xC]
+ movs r1, 0x4
+ movs r2, 0xE
+ bl MenuPrint
+ ldr r0, [r5, 0x10]
+ movs r1, 0x4
+ movs r2, 0x10
+ bl MenuPrint
+ ldrh r1, [r5, 0x8]
+ lsls r0, r1, 5
+ subs r0, r1
+ lsls r0, 2
+ adds r0, r1
+ lsls r0, 3
+ movs r1, 0xFE
+ bl __divsi3
+ adds r4, r0, 0
+ movs r1, 0xA
+ bl __umodsi3
+ cmp r0, 0x4
+ bls _0814654E
+ adds r4, 0xA
+_0814654E:
+ adds r0, r4, 0
+ movs r1, 0x64
+ bl __umodsi3
+ movs r1, 0xA
+ bl __udivsi3
+ adds r6, r0, 0
+ adds r0, r4, 0
+ movs r1, 0x64
+ bl __udivsi3
+ adds r4, r0, 0
+ ldr r0, _081465A4
+ movs r1, 0xB
+ movs r2, 0x7
+ bl MenuPrint
+ ldrh r0, [r5, 0x8]
+ cmp r0, 0
+ beq _081465B0
+ adds r0, r7, 0
+ adds r1, r4, 0
+ movs r2, 0
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r0, _081465A8
+ adds r1, r6, 0
+ movs r2, 0
+ movs r3, 0x2
+ bl ConvertIntToDecimalStringN
+ ldr r0, _081465AC
+ movs r1, 0x10
+ movs r2, 0x7
+ bl MenuPrint
+ b _081465BA
+ .align 2, 0
+_0814659C: .4byte word_203855E
+_081465A0: .4byte gStringVar1
+_081465A4: .4byte gOtherText_Size
+_081465A8: .4byte gStringVar2
+_081465AC: .4byte gContestStatsText_Unknown1
+_081465B0:
+ ldr r0, _081465E0
+ movs r1, 0x10
+ movs r2, 0x7
+ bl MenuPrint
+_081465BA:
+ ldr r0, _081465E4
+ movs r1, 0xB
+ movs r2, 0x9
+ bl MenuPrint
+ ldrb r0, [r5, 0x7]
+ cmp r0, 0
+ beq _081465EC
+ ldr r0, _081465E8
+ ldrb r1, [r5, 0x7]
+ subs r1, 0x1
+ lsls r1, 2
+ adds r1, r0
+ ldr r0, [r1]
+ movs r1, 0x10
+ movs r2, 0x9
+ bl MenuPrint
+ b _081465F6
+ .align 2, 0
+_081465E0: .4byte gOtherText_ThreeQuestions2
+_081465E4: .4byte gOtherText_Firm
+_081465E8: .4byte gUnknown_0841192C
+_081465EC:
+ ldr r0, _081465FC
+ movs r1, 0x10
+ movs r2, 0x9
+ bl MenuPrint
+_081465F6:
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081465FC: .4byte gOtherText_ThreeQuestions2
+ thumb_func_end sub_81464E4
+
+ thumb_func_start sub_8146600
+sub_8146600: @ 8146600
+ push {r4,r5,lr}
+ lsls r0, 24
+ movs r1, 0x80
+ lsls r1, 17
+ adds r0, r1
+ lsrs r0, 24
+ bl GetBerryInfo
+ adds r4, r0, 0
+ movs r2, 0
+ ldr r5, _08146698
+ ldr r0, _0814669C
+ adds r3, r0, 0
+_0814661A:
+ lsls r0, r2, 1
+ adds r0, r5
+ ldrh r1, [r0]
+ orrs r1, r3
+ strh r1, [r0]
+ adds r0, r2, 0x1
+ lsls r0, 16
+ lsrs r2, r0, 16
+ cmp r2, 0x4
+ bls _0814661A
+ ldrb r0, [r4, 0x15]
+ cmp r0, 0
+ beq _08146642
+ movs r0, 0x30
+ bl sub_80A7E5C
+ ldr r1, _08146698
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1]
+_08146642:
+ ldrb r0, [r4, 0x16]
+ cmp r0, 0
+ beq _08146656
+ movs r0, 0x58
+ bl sub_80A7E5C
+ ldr r1, _08146698
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1, 0x2]
+_08146656:
+ ldrb r0, [r4, 0x17]
+ cmp r0, 0
+ beq _0814666A
+ movs r0, 0x80
+ bl sub_80A7E5C
+ ldr r1, _08146698
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1, 0x4]
+_0814666A:
+ ldrb r0, [r4, 0x18]
+ cmp r0, 0
+ beq _0814667E
+ movs r0, 0xA8
+ bl sub_80A7E5C
+ ldr r1, _08146698
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1, 0x6]
+_0814667E:
+ ldrb r0, [r4, 0x19]
+ cmp r0, 0
+ beq _08146692
+ movs r0, 0xD0
+ bl sub_80A7E5C
+ ldr r1, _08146698
+ lsls r0, 24
+ lsrs r0, 24
+ strh r0, [r1, 0x8]
+_08146692:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08146698: .4byte gUnknown_0203932E
+_0814669C: .4byte 0x0000ffff
+ thumb_func_end sub_8146600
+
+ thumb_func_start sub_81466A0
+sub_81466A0: @ 81466A0
+ push {r4-r7,lr}
+ movs r5, 0
+ movs r7, 0x1
+ negs r7, r7
+ ldr r6, _081466DC
+_081466AA:
+ lsls r0, r5, 1
+ adds r4, r0, r6
+ movs r1, 0
+ ldrsh r0, [r4, r1]
+ cmp r0, r7
+ beq _081466CA
+ adds r1, r0, 0
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _081466E0
+ adds r0, r1
+ bl DestroySprite
+ ldr r0, _081466E4
+ strh r0, [r4]
+_081466CA:
+ adds r0, r5, 0x1
+ lsls r0, 16
+ lsrs r5, r0, 16
+ cmp r5, 0x4
+ bls _081466AA
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081466DC: .4byte gUnknown_0203932E
+_081466E0: .4byte gSprites
+_081466E4: .4byte 0x0000ffff
+ thumb_func_end sub_81466A0
+
+ thumb_func_start sub_81466E8
+sub_81466E8: @ 81466E8
+ push {r4-r7,lr}
+ mov r7, r8
+ push {r7}
+ lsls r0, 24
+ lsrs r7, r0, 24
+ lsls r1, 24
+ lsrs r2, r1, 24
+ lsls r0, r7, 2
+ adds r0, r7
+ lsls r0, 3
+ ldr r1, _08146748
+ adds r6, r0, r1
+ ldr r4, _0814674C
+ movs r0, 0xC
+ adds r0, r4
+ mov r8, r0
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r4, 0xC]
+ adds r1, r0
+ cmp r1, 0
+ bne _08146718
+ lsls r0, r2, 24
+ cmp r0, 0
+ blt _0814678C
+_08146718:
+ adds r0, r1, 0x1
+ lsls r5, r2, 24
+ mov r1, r8
+ ldrb r1, [r1, 0x2]
+ cmp r0, r1
+ bne _08146728
+ cmp r5, 0
+ bgt _0814678C
+_08146728:
+ movs r0, 0x5
+ bl PlaySE
+ mov r2, r8
+ ldrb r3, [r2, 0x1]
+ ldrb r4, [r4, 0xC]
+ mov r12, r4
+ adds r0, r3, r4
+ asrs r2, r5, 24
+ adds r1, r0, r2
+ cmp r1, 0
+ bge _08146750
+ negs r0, r0
+ strh r0, [r6, 0x2]
+ b _08146766
+ .align 2, 0
+_08146748: .4byte gUnknown_03004B28
+_0814674C: .4byte gUnknown_03005D10
+_08146750:
+ mov r4, r8
+ ldrb r0, [r4, 0x2]
+ cmp r1, r0
+ blt _08146764
+ subs r0, r3
+ mov r1, r12
+ subs r0, r1
+ subs r0, 0x1
+ strh r0, [r6, 0x2]
+ b _08146766
+_08146764:
+ strh r2, [r6, 0x2]
+_08146766:
+ ldr r0, _08146780
+ lsls r1, r7, 2
+ adds r1, r7
+ lsls r1, 3
+ adds r1, r0
+ ldr r0, _08146784
+ str r0, [r1]
+ cmp r5, 0
+ bge _08146788
+ movs r2, 0x10
+ negs r2, r2
+ adds r0, r2, 0
+ b _0814678A
+ .align 2, 0
+_08146780: .4byte gTasks
+_08146784: .4byte sub_8146798
+_08146788:
+ movs r0, 0x10
+_0814678A:
+ strh r0, [r6]
+_0814678C:
+ pop {r3}
+ mov r8, r3
+ pop {r4-r7}
+ pop {r0}
+ bx r0
+ thumb_func_end sub_81466E8
+
+ thumb_func_start sub_8146798
+sub_8146798: @ 8146798
+ push {r4,r5,lr}
+ lsls r0, 24
+ lsrs r4, r0, 24
+ lsls r0, r4, 2
+ adds r0, r4
+ lsls r0, 3
+ ldr r1, _08146800
+ adds r0, r1
+ ldr r2, _08146804
+ ldrh r1, [r0]
+ ldrh r5, [r2]
+ adds r3, r1, r5
+ movs r1, 0xFF
+ ands r3, r1
+ strh r3, [r2]
+ movs r1, 0
+ ldrsh r0, [r0, r1]
+ cmp r0, 0
+ ble _081467C2
+ cmp r3, 0x90
+ beq _081467CA
+_081467C2:
+ cmp r0, 0
+ bge _081467E0
+ cmp r3, 0x70
+ bne _081467E0
+_081467CA:
+ ldr r0, _08146808
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ movs r0, 0xA
+ ldrsb r0, [r1, r0]
+ bl sub_8146810
+ bl sub_81468BC
+_081467E0:
+ ldr r0, _08146804
+ ldrh r2, [r0]
+ cmp r2, 0
+ bne _081467FA
+ ldr r0, _08146808
+ lsls r1, r4, 2
+ adds r1, r4
+ lsls r1, 3
+ adds r1, r0
+ strh r2, [r1, 0x8]
+ strh r2, [r1, 0xA]
+ ldr r0, _0814680C
+ str r0, [r1]
+_081467FA:
+ pop {r4,r5}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_08146800: .4byte gUnknown_03004B28
+_08146804: .4byte gUnknown_030041B4
+_08146808: .4byte gTasks
+_0814680C: .4byte sub_8146480
+ thumb_func_end sub_8146798
+
+ thumb_func_start sub_8146810
+sub_8146810: @ 8146810
+ push {r4-r6,lr}
+ lsls r0, 24
+ lsrs r3, r0, 24
+ adds r4, r3, 0
+ lsls r0, r3, 24
+ asrs r1, r0, 24
+ cmp r1, 0
+ ble _08146848
+ ldr r0, _08146840
+ adds r4, r0, 0
+ adds r4, 0xC
+ ldrb r2, [r0, 0xC]
+ adds r1, r2, r1
+ adds r6, r0, 0
+ cmp r1, 0x7
+ ble _08146844
+ adds r0, r3, 0
+ adds r0, 0xF9
+ adds r0, r2, r0
+ ldrb r1, [r4, 0x1]
+ adds r0, r1
+ strb r0, [r4, 0x1]
+ movs r0, 0x7
+ b _0814686E
+ .align 2, 0
+_08146840: .4byte gUnknown_03005D10
+_08146844:
+ adds r0, r2, r3
+ b _0814686E
+_08146848:
+ ldr r0, _08146868
+ adds r5, r0, 0
+ adds r5, 0xC
+ ldrb r2, [r0, 0xC]
+ adds r1, r2, r1
+ adds r6, r0, 0
+ cmp r1, 0
+ bge _0814686C
+ adds r0, r2, r3
+ ldrb r1, [r5, 0x1]
+ adds r0, r1
+ movs r1, 0
+ strb r0, [r5, 0x1]
+ strb r1, [r6, 0xC]
+ b _08146870
+ .align 2, 0
+_08146868: .4byte gUnknown_03005D10
+_0814686C:
+ adds r0, r2, r4
+_0814686E:
+ strb r0, [r6, 0xC]
+_08146870:
+ ldr r2, _081468AC
+ movs r0, 0x3
+ lsls r0, 2
+ adds r0, r6
+ ldrb r1, [r0, 0x1]
+ ldrb r0, [r0]
+ adds r1, r0
+ ldr r0, _081468B0
+ ldr r0, [r0]
+ lsls r1, 2
+ adds r1, r0
+ ldrh r0, [r1]
+ strh r0, [r2]
+ ldr r0, _081468B4
+ ldrb r1, [r0]
+ lsls r0, r1, 4
+ adds r0, r1
+ lsls r0, 2
+ ldr r1, _081468B8
+ adds r0, r1
+ bl DestroySprite
+ bl sub_81466A0
+ bl sub_80A7DD4
+ pop {r4-r6}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081468AC: .4byte word_203855E
+_081468B0: .4byte gUnknown_03005D24
+_081468B4: .4byte gUnknown_0203932C
+_081468B8: .4byte gSprites
+ thumb_func_end sub_8146810
+
+ thumb_func_start sub_81468BC
+sub_81468BC: @ 81468BC
+ push {r4,lr}
+ movs r0, 0
+ movs r1, 0x4
+ movs r2, 0x1D
+ movs r3, 0x13
+ bl MenuZeroFillWindowRect
+ bl sub_81464E4
+ ldr r4, _081468F8
+ ldrb r0, [r4]
+ adds r0, 0x7B
+ lsls r0, 24
+ lsrs r0, 24
+ movs r1, 0x38
+ movs r2, 0x40
+ bl sub_80A7D8C
+ ldr r1, _081468FC
+ strb r0, [r1]
+ ldrb r0, [r4]
+ adds r0, 0x7B
+ lsls r0, 24
+ lsrs r0, 24
+ bl sub_8146600
+ pop {r4}
+ pop {r0}
+ bx r0
+ .align 2, 0
+_081468F8: .4byte word_203855E
+_081468FC: .4byte gUnknown_0203932C
+ thumb_func_end sub_81468BC
+
+ .align 2, 0 @ Don't pad with nop.