diff options
| author | yenatch <yenatch@gmail.com> | 2017-07-17 20:09:25 -0400 | 
|---|---|---|
| committer | GitHub <noreply@github.com> | 2017-07-17 20:09:25 -0400 | 
| commit | c043463631508eaef6543994fa0bdb6bc1351a7c (patch) | |
| tree | d830d2f11eaa8921d1e688be9f810b79b1b95252 /asm | |
| parent | d01a28c82fd25b8a92cbb1d508279e34690e3d26 (diff) | |
| parent | 1853efa954d88037729126f5494a53956c29fb43 (diff) | |
Merge pull request #362 from drifloony/menu_helpers
Decompile menu_helpers
Diffstat (limited to 'asm')
| -rw-r--r-- | asm/menu_helpers.s | 1339 | 
1 files changed, 0 insertions, 1339 deletions
| diff --git a/asm/menu_helpers.s b/asm/menu_helpers.s deleted file mode 100644 index 0f5caf3da..000000000 --- a/asm/menu_helpers.s +++ /dev/null @@ -1,1339 +0,0 @@ -	.include "constants/gba_constants.inc" -	.include "constants/species_constants.inc" -	.include "asm/macros.inc" - -	.syntax unified - -	.text - -	thumb_func_start sub_80F9020 -sub_80F9020: @ 80F9020 -	push {r4,r5,lr} -	ldr r4, _080F9054 @ =gBGTilemapBuffers + 0x800 -	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 gBGTilemapBuffers + 0x800 -	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 @ =gBGTilemapBuffers + 0x800 -	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 gBGTilemapBuffers + 0x800 -	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 @ =gUnknown_0300074C -	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 @ =gUnknown_0300074C -	str r5, [r0] -	ldr r1, _080F90EC @ =gTasks -	lsls r0, r4, 2 -	adds r0, r4 -	lsls r0, 3 -	adds r0, r1 -	ldr r1, _080F90F0 @ =sub_80F9090 -	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 @ =gUnknown_020388C4 -	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 @ =gUnknown_020388C4 -	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 DoYesNoFuncWithChoice -DoYesNoFuncWithChoice: @ 80F914C -	lsls r0, 24 -	lsrs r0, 24 -	ldr r3, _080F916C @ =gUnknown_020388C4 -	ldr r2, [r1, 0x4] -	ldr r1, [r1] -	str r1, [r3] -	str r2, [r3, 0x4] -	ldr r2, _080F9170 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r1, r2 -	ldr r0, _080F9174 @ =Task_CallYesOrNoCallback -	str r0, [r1] -	bx lr -	.align 2, 0 -_080F916C: .4byte gUnknown_020388C4 -_080F9170: .4byte gTasks -_080F9174: .4byte Task_CallYesOrNoCallback -	thumb_func_end DoYesNoFuncWithChoice - -	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 @ =gUnknown_083E5A18 -	mov r0, sp -	movs r2, 0x4 -	bl memcpy -	cmp r4, 0xFF -	beq _080F91CC -	mov r0, sp -	strb r4, [r0, 0x2] -	ldr r4, _080F91C4 @ =gStringVar4 -	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 @ =gMenuWindowPtr -	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 @ =gStringVar4 -	adds r1, r5, 0 -	bl StringCopy -_080F91D4: -	ldr r0, _080F91E8 @ =gStringVar4 -	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 @ =gStringVar1 -	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 @ =gUnknown_083E5A1C -	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 @ =gSaveBlock2 -	ldrb r0, [r0, 0x13] -	cmp r0, 0x1 -	bne _080F92B6 -	ldr r0, _080F92A4 @ =gMain -	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 @ =gSaveBlock2 -	ldrb r0, [r0, 0x13] -	cmp r0, 0x1 -	bne _080F92EE -	ldr r0, _080F92DC @ =gMain -	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 @ =gSaveBlock1 -	ldrh r1, [r0, 0x4] -	ldr r0, _080F9310 @ =0x00001919 -	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 ItemIsMail -	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 @ =gReceivedRemoteLinkPlayers -	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 @ =0x040000d4 -	movs r5, 0x80 -	lsls r5, 5 -	ldr r7, _080F9434 @ =0x81000800 -	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 @ =0x040000d4 -	mov r1, r8 -	str r1, [r2] -	str r0, [r2, 0x4] -	lsrs r0, r3, 2 -	movs r1, 0x85 -	lsls r1, 24 -	orrs r0, r1 -	str r0, [r2, 0x8] -	ldr r0, [r2, 0x8] -	movs r1, 0xA0 -	lsls r1, 19 -	mov r0, sp -	strh r4, [r0] -	str r0, [r2] -	str r1, [r2, 0x4] -	lsrs r3, 1 -	movs r0, 0x81 -	lsls r0, 24 -	orrs r3, r0 -	str r3, [r2, 0x8] -	ldr r0, [r2, 0x8] -	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 @ =gUnknown_020388C0 -	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 @ =gUnknown_083E5968 -	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 @ =gSpriteTemplate_83E5A00 -	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 @ =gSprites -	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 @ =gSprites -	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 CreateVerticalScrollIndicators -CreateVerticalScrollIndicators: @ 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 @ =gUnknown_020388C0 -	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 @ =gUnknown_020388C0 -	b _080F977A -	.align 2, 0 -_080F9574: .4byte gUnknown_020388C0 -_080F9578: -	ldr r0, _080F95D8 @ =gUnknown_020388C0 -	ldrb r1, [r0] -	adds r5, r0, 0 -	cmp r1, 0xFF -	beq _080F9584 -	b _080F977A -_080F9584: -	ldr r0, _080F95DC @ =gSpriteTemplate_83E59D0 -	lsls r1, r3, 16 -	asrs r1, 16 -	lsls r2, 16 -	asrs r2, 16 -	movs r3, 0 -	bl CreateSprite -	strb r0, [r5] -	ldr r3, _080F95E0 @ =gSprites -	ldrb r1, [r5] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r3 -	ldr r1, _080F95E4 @ =0x0000ffff -	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 @ =gUnknown_020388C0 -	ldrb r1, [r0, 0x1] -	adds r5, r0, 0 -	cmp r1, 0xFF -	beq _080F9602 -	b _080F977A -_080F9602: -	ldr r0, _080F9664 @ =gSpriteTemplate_83E59D0 -	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 @ =gSprites -	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 @ =gUnknown_020388C0 -	ldrb r1, [r0, 0x2] -	adds r5, r0, 0 -	cmp r1, 0xFF -	bne _080F977A -	ldr r0, _080F96E8 @ =gSpriteTemplate_83E59E8 -	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 @ =gSprites -	ldrb r1, [r5, 0x2] -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r0, r3 -	ldr r1, _080F96F0 @ =0x0000ffff -	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 @ =gUnknown_020388C0 -	ldrb r1, [r0, 0x3] -	adds r5, r0, 0 -	cmp r1, 0xFF -	bne _080F977A -	ldr r0, _080F9764 @ =gSpriteTemplate_83E59E8 -	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 @ =gSprites -	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 @ =gSprites -	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 CreateVerticalScrollIndicators - -	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 @ =gUnknown_020388C0 -	adds r1, r2, r0 -	ldrb r0, [r1] -	cmp r0, 0xFF -	beq _080F97D4 -	ldr r2, _080F97DC @ =gSprites -	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 DestroyVerticalScrollIndicator -DestroyVerticalScrollIndicator: @ 80F97E0 -	push {r4,lr} -	lsls r0, 24 -	lsrs r1, r0, 24 -	cmp r1, 0x3 -	bhi _080F9808 -	ldr r0, _080F9810 @ =gUnknown_020388C0 -	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 @ =gSprites -	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 DestroyVerticalScrollIndicator - -	thumb_func_start LoadScrollIndicatorPalette -LoadScrollIndicatorPalette: @ 80F9818 -	push {lr} -	ldr r0, _080F9824 @ =gUnknown_083E5968 -	bl LoadSpritePalette -	pop {r0} -	bx r0 -	.align 2, 0 -_080F9824: .4byte gUnknown_083E5968 -	thumb_func_end LoadScrollIndicatorPalette - -	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 @ =gUnknown_020388C0 -	adds r3, r1, r0 -	ldrb r0, [r3] -	cmp r0, 0xFF -	beq _080F98CA -	cmp r1, 0x3 -	bhi _080F98CA -	ldr r2, _080F98D4 @ =gSprites -	adds r1, r0, 0 -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r2, 0x1C -	adds r0, r2 -	ldr r1, _080F98D8 @ =SpriteCallbackDummy -	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 StartVerticalScrollIndicators -StartVerticalScrollIndicators: @ 80F98DC -	push {lr} -	lsls r0, 24 -	lsrs r1, r0, 24 -	ldr r0, _080F9908 @ =gUnknown_020388C0 -	adds r3, r1, r0 -	ldrb r0, [r3] -	cmp r0, 0xFF -	beq _080F9902 -	cmp r1, 0x3 -	bhi _080F9902 -	ldr r2, _080F990C @ =gSprites -	adds r1, r0, 0 -	lsls r0, r1, 4 -	adds r0, r1 -	lsls r0, 2 -	adds r2, 0x1C -	adds r0, r2 -	ldr r1, _080F9910 @ =sub_80F9834 -	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 StartVerticalScrollIndicators - -	thumb_func_start sub_80F9914 -sub_80F9914: @ 80F9914 -	push {r4,lr} -	lsls r0, 24 -	lsrs r1, r0, 24 -	ldr r0, _080F9964 @ =gUnknown_020388C0 -	adds r4, r1, r0 -	ldrb r0, [r4] -	cmp r0, 0xFF -	beq _080F995C -	cmp r1, 0x3 -	bhi _080F995C -	ldr r3, _080F9968 @ =gSprites -	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 PauseVerticalScrollIndicator -PauseVerticalScrollIndicator: @ 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 PauseVerticalScrollIndicator - -	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 @ =gUnknown_020388C0 -	adds r1, r2, r0 -	ldrb r0, [r1] -	cmp r0, 0xFF -	beq _080F99BE -	cmp r2, 0x3 -	bhi _080F99BE -	ldr r2, _080F99C8 @ =gSprites -	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 - -	.align 2, 0 @ Don't pad with nop. | 
