	.include "asm/macros.inc"
	.include "constants/constants.inc"

	.syntax unified

	.text

	thumb_func_start clear_scheduled_bg_copies_to_vram
clear_scheduled_bg_copies_to_vram: @ 80F6790
	push {lr}
	ldr r0, _080F67A0 @ =gUnknown_203AB58
	movs r1, 0
	movs r2, 0x4
	bl memset
	pop {r0}
	bx r0
	.align 2, 0
_080F67A0: .4byte gUnknown_203AB58
	thumb_func_end clear_scheduled_bg_copies_to_vram

	thumb_func_start schedule_bg_copy_tilemap_to_vram
schedule_bg_copy_tilemap_to_vram: @ 80F67A4
	lsls r0, 24
	lsrs r0, 24
	ldr r1, _080F67B4 @ =gUnknown_203AB58
	adds r0, r1
	movs r1, 0x1
	strb r1, [r0]
	bx lr
	.align 2, 0
_080F67B4: .4byte gUnknown_203AB58
	thumb_func_end schedule_bg_copy_tilemap_to_vram

	thumb_func_start do_scheduled_bg_tilemap_copies_to_vram
do_scheduled_bg_tilemap_copies_to_vram: @ 80F67B8
	push {r4,lr}
	ldr r4, _080F6804 @ =gUnknown_203AB58
	ldrb r0, [r4]
	cmp r0, 0x1
	bne _080F67CC
	movs r0, 0
	bl CopyBgTilemapBufferToVram
	movs r0, 0
	strb r0, [r4]
_080F67CC:
	ldrb r0, [r4, 0x1]
	cmp r0, 0x1
	bne _080F67DC
	movs r0, 0x1
	bl CopyBgTilemapBufferToVram
	movs r0, 0
	strb r0, [r4, 0x1]
_080F67DC:
	ldrb r0, [r4, 0x2]
	cmp r0, 0x1
	bne _080F67EC
	movs r0, 0x2
	bl CopyBgTilemapBufferToVram
	movs r0, 0
	strb r0, [r4, 0x2]
_080F67EC:
	ldrb r0, [r4, 0x3]
	cmp r0, 0x1
	bne _080F67FC
	movs r0, 0x3
	bl CopyBgTilemapBufferToVram
	movs r0, 0
	strb r0, [r4, 0x3]
_080F67FC:
	pop {r4}
	pop {r0}
	bx r0
	.align 2, 0
_080F6804: .4byte gUnknown_203AB58
	thumb_func_end do_scheduled_bg_tilemap_copies_to_vram

	thumb_func_start reset_temp_tile_data_buffers
reset_temp_tile_data_buffers: @ 80F6808
	push {lr}
	ldr r3, _080F6824 @ =gUnknown_203AB5C
	ldr r1, _080F6828 @ =gUnknown_203AB60
	movs r2, 0
	adds r0, r1, 0
	adds r0, 0x7C
_080F6814:
	str r2, [r0]
	subs r0, 0x4
	cmp r0, r1
	bge _080F6814
	movs r0, 0
	strh r0, [r3]
	pop {r0}
	bx r0
	.align 2, 0
_080F6824: .4byte gUnknown_203AB5C
_080F6828: .4byte gUnknown_203AB60
	thumb_func_end reset_temp_tile_data_buffers

	thumb_func_start free_temp_tile_data_buffers_if_possible
free_temp_tile_data_buffers_if_possible: @ 80F682C
	push {r4-r6,lr}
	bl IsDma3ManagerBusyWithBgCopy
	lsls r0, 24
	cmp r0, 0
	bne _080F6870
	ldr r1, _080F6868 @ =gUnknown_203AB5C
	ldrh r0, [r1]
	cmp r0, 0
	beq _080F6864
	movs r4, 0
	ldrh r1, [r1]
	cmp r4, r1
	bge _080F685E
	ldr r5, _080F686C @ =gUnknown_203AB60
	movs r6, 0
_080F684C:
	ldr r0, [r5]
	bl Free
	stm r5!, {r6}
	adds r4, 0x1
	ldr r0, _080F6868 @ =gUnknown_203AB5C
	ldrh r0, [r0]
	cmp r4, r0
	blt _080F684C
_080F685E:
	ldr r1, _080F6868 @ =gUnknown_203AB5C
	movs r0, 0
	strh r0, [r1]
_080F6864:
	movs r0, 0
	b _080F6872
	.align 2, 0
_080F6868: .4byte gUnknown_203AB5C
_080F686C: .4byte gUnknown_203AB60
_080F6870:
	movs r0, 0x1
_080F6872:
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end free_temp_tile_data_buffers_if_possible

	thumb_func_start decompress_and_copy_tile_data_to_vram
decompress_and_copy_tile_data_to_vram: @ 80F6878
	push {r4-r7,lr}
	mov r7, r9
	mov r6, r8
	push {r6,r7}
	sub sp, 0x8
	adds r4, r1, 0
	adds r5, r2, 0
	ldr r1, [sp, 0x24]
	lsls r0, 24
	lsrs r0, 24
	mov r8, r0
	lsls r3, 16
	lsrs r3, 16
	mov r9, r3
	lsls r1, 24
	lsrs r7, r1, 24
	ldr r6, _080F68D8 @ =gUnknown_203AB5C
	ldrh r0, [r6]
	cmp r0, 0x1F
	bhi _080F68E0
	adds r0, r4, 0
	add r1, sp, 0x4
	bl malloc_and_decompress
	adds r4, r0, 0
	cmp r5, 0
	bne _080F68B0
	ldr r5, [sp, 0x4]
_080F68B0:
	cmp r4, 0
	beq _080F68D4
	lsls r2, r5, 16
	lsrs r2, 16
	str r7, [sp]
	mov r0, r8
	adds r1, r4, 0
	mov r3, r9
	bl sub_80F6AD0
	ldr r2, _080F68DC @ =gUnknown_203AB60
	ldrh r0, [r6]
	adds r1, r0, 0x1
	strh r1, [r6]
	lsls r0, 16
	lsrs r0, 14
	adds r0, r2
	str r4, [r0]
_080F68D4:
	adds r0, r4, 0
	b _080F68E2
	.align 2, 0
_080F68D8: .4byte gUnknown_203AB5C
_080F68DC: .4byte gUnknown_203AB60
_080F68E0:
	movs r0, 0
_080F68E2:
	add sp, 0x8
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r7}
	pop {r1}
	bx r1
	thumb_func_end decompress_and_copy_tile_data_to_vram

	thumb_func_start sub_80F68F0
sub_80F68F0: @ 80F68F0
	push {r4-r7,lr}
	mov r7, r9
	mov r6, r8
	push {r6,r7}
	sub sp, 0x8
	adds r4, r1, 0
	adds r6, r2, 0
	ldr r1, [sp, 0x24]
	lsls r0, 24
	lsrs r0, 24
	mov r8, r0
	lsls r3, 16
	lsrs r3, 16
	mov r9, r3
	lsls r1, 24
	lsrs r7, r1, 24
	ldr r5, _080F6954 @ =gUnknown_203AB5C
	ldrh r0, [r5]
	cmp r0, 0x1F
	bhi _080F695C
	adds r0, r4, 0
	add r1, sp, 0x4
	bl malloc_and_decompress
	adds r4, r0, 0
	ldr r0, [sp, 0x4]
	cmp r0, r6
	bls _080F692A
	str r6, [sp, 0x4]
_080F692A:
	cmp r4, 0
	beq _080F6950
	ldr r2, [sp, 0x4]
	lsls r2, 16
	lsrs r2, 16
	str r7, [sp]
	mov r0, r8
	adds r1, r4, 0
	mov r3, r9
	bl sub_80F6AD0
	ldr r2, _080F6958 @ =gUnknown_203AB60
	ldrh r0, [r5]
	adds r1, r0, 0x1
	strh r1, [r5]
	lsls r0, 16
	lsrs r0, 14
	adds r0, r2
	str r4, [r0]
_080F6950:
	adds r0, r4, 0
	b _080F695E
	.align 2, 0
_080F6954: .4byte gUnknown_203AB5C
_080F6958: .4byte gUnknown_203AB60
_080F695C:
	movs r0, 0
_080F695E:
	add sp, 0x8
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r7}
	pop {r1}
	bx r1
	thumb_func_end sub_80F68F0

	thumb_func_start sub_80F696C
sub_80F696C: @ 80F696C
	push {r4-r7,lr}
	mov r7, r9
	mov r6, r8
	push {r6,r7}
	sub sp, 0x8
	adds r5, r2, 0
	ldr r2, [sp, 0x24]
	lsls r0, 24
	lsrs r0, 24
	mov r8, r0
	lsls r3, 16
	lsrs r3, 16
	mov r9, r3
	lsls r2, 24
	lsrs r7, r2, 24
	adds r0, r1, 0
	add r1, sp, 0x4
	bl malloc_and_decompress
	adds r6, r0, 0
	cmp r5, 0
	bne _080F699A
	ldr r5, [sp, 0x4]
_080F699A:
	cmp r6, 0
	beq _080F69D2
	ldr r0, _080F69E0 @ =task_free_buf_after_copying_tile_data_to_vram
	movs r1, 0
	bl CreateTask
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	lsls r2, r5, 16
	lsrs r2, 16
	str r7, [sp]
	mov r0, r8
	adds r1, r6, 0
	mov r3, r9
	bl sub_80F6AD0
	ldr r2, _080F69E4 @ =gTasks
	lsls r1, r4, 2
	adds r1, r4
	lsls r1, 3
	adds r1, r2
	strh r0, [r1, 0x8]
	adds r0, r4, 0
	movs r1, 0x1
	adds r2, r6, 0
	bl SetWordTaskArg
_080F69D2:
	add sp, 0x8
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r7}
	pop {r0}
	bx r0
	.align 2, 0
_080F69E0: .4byte task_free_buf_after_copying_tile_data_to_vram
_080F69E4: .4byte gTasks
	thumb_func_end sub_80F696C

	thumb_func_start sub_80F69E8
sub_80F69E8: @ 80F69E8
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	sub sp, 0x8
	adds r4, r2, 0
	ldr r2, [sp, 0x20]
	lsls r0, 24
	lsrs r7, r0, 24
	lsls r3, 16
	lsrs r3, 16
	mov r8, r3
	lsls r2, 24
	lsrs r6, r2, 24
	adds r0, r1, 0
	add r1, sp, 0x4
	bl malloc_and_decompress
	adds r5, r0, 0
	ldr r0, [sp, 0x4]
	cmp r0, r4
	bls _080F6A14
	str r4, [sp, 0x4]
_080F6A14:
	cmp r5, 0
	beq _080F6A4E
	ldr r0, _080F6A5C @ =task_free_buf_after_copying_tile_data_to_vram
	movs r1, 0
	bl CreateTask
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r2, [sp, 0x4]
	lsls r2, 16
	lsrs r2, 16
	str r6, [sp]
	adds r0, r7, 0
	adds r1, r5, 0
	mov r3, r8
	bl sub_80F6AD0
	ldr r2, _080F6A60 @ =gTasks
	lsls r1, r4, 2
	adds r1, r4
	lsls r1, 3
	adds r1, r2
	strh r0, [r1, 0x8]
	adds r0, r4, 0
	movs r1, 0x1
	adds r2, r5, 0
	bl SetWordTaskArg
_080F6A4E:
	add sp, 0x8
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r0}
	bx r0
	.align 2, 0
_080F6A5C: .4byte task_free_buf_after_copying_tile_data_to_vram
_080F6A60: .4byte gTasks
	thumb_func_end sub_80F69E8

	thumb_func_start task_free_buf_after_copying_tile_data_to_vram
task_free_buf_after_copying_tile_data_to_vram: @ 80F6A64
	push {r4,lr}
	lsls r0, 24
	lsrs r4, r0, 24
	ldr r1, _080F6A9C @ =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	movs r1, 0x8
	ldrsh r0, [r0, r1]
	bl CheckForSpaceForDma3Request
	lsls r0, 16
	cmp r0, 0
	bne _080F6A94
	adds r0, r4, 0
	movs r1, 0x1
	bl GetWordTaskArg
	bl Free
	adds r0, r4, 0
	bl DestroyTask
_080F6A94:
	pop {r4}
	pop {r0}
	bx r0
	.align 2, 0
_080F6A9C: .4byte gTasks
	thumb_func_end task_free_buf_after_copying_tile_data_to_vram

	thumb_func_start malloc_and_decompress
malloc_and_decompress: @ 80F6AA0
	push {r4,r5,lr}
	adds r5, r0, 0
	ldrb r0, [r5, 0x1]
	strb r0, [r1]
	ldrb r0, [r5, 0x2]
	strb r0, [r1, 0x1]
	ldrb r0, [r5, 0x3]
	strb r0, [r1, 0x2]
	movs r0, 0
	strb r0, [r1, 0x3]
	ldr r0, [r1]
	bl Alloc
	adds r4, r0, 0
	cmp r4, 0
	beq _080F6AC8
	adds r0, r5, 0
	adds r1, r4, 0
	bl LZ77UnCompWram
_080F6AC8:
	adds r0, r4, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end malloc_and_decompress

	thumb_func_start sub_80F6AD0
sub_80F6AD0: @ 80F6AD0
	push {r4,lr}
	adds r4, r1, 0
	ldr r1, [sp, 0x8]
	lsls r0, 24
	lsrs r0, 24
	lsls r2, 16
	lsrs r2, 16
	lsls r3, 16
	lsrs r3, 16
	lsls r1, 24
	lsrs r1, 24
	cmp r1, 0
	beq _080F6AEE
	cmp r1, 0x1
	beq _080F6AF6
_080F6AEE:
	adds r1, r4, 0
	bl LoadBgTiles
	b _080F6AFC
_080F6AF6:
	adds r1, r4, 0
	bl LoadBgTilemap
_080F6AFC:
	lsls r0, 16
	lsrs r0, 16
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_80F6AD0

	thumb_func_start sub_80F6B08
sub_80F6B08: @ 80F6B08
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	sub sp, 0x8
	adds r5, r2, 0
	ldr r4, [sp, 0x28]
	ldr r2, [sp, 0x2C]
	lsls r0, 24
	lsrs r0, 24
	lsls r1, 24
	lsrs r1, 24
	str r1, [sp]
	lsls r5, 24
	lsrs r5, 24
	lsls r3, 24
	lsrs r3, 24
	str r3, [sp, 0x4]
	lsls r4, 24
	lsrs r4, 24
	lsls r2, 24
	lsrs r2, 24
	mov r10, r2
	bl GetBgTilemapBuffer
	mov r8, r0
	adds r0, r5, r4
	cmp r5, r0
	bge _080F6B80
	mov r9, r0
_080F6B46:
	ldr r3, [sp]
	ldr r1, [sp, 0x4]
	adds r0, r3, r1
	adds r7, r5, 0x1
	cmp r3, r0
	bge _080F6B78
	lsls r6, r5, 5
	ldr r1, _080F6B90 @ =0x00000fff
	mov r12, r1
	mov r1, r10
	lsls r5, r1, 12
	adds r4, r0, 0
_080F6B5E:
	adds r1, r6, r3
	lsls r1, 1
	add r1, r8
	ldrh r2, [r1]
	mov r0, r12
	ands r0, r2
	orrs r0, r5
	strh r0, [r1]
	adds r0, r3, 0x1
	lsls r0, 24
	lsrs r3, r0, 24
	cmp r3, r4
	blt _080F6B5E
_080F6B78:
	lsls r0, r7, 24
	lsrs r5, r0, 24
	cmp r5, r9
	blt _080F6B46
_080F6B80:
	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
_080F6B90: .4byte 0x00000fff
	thumb_func_end sub_80F6B08

	thumb_func_start sub_80F6B94
sub_80F6B94: @ 80F6B94
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	sub sp, 0x4
	mov r10, r1
	ldr r1, [sp, 0x24]
	ldr r4, [sp, 0x28]
	lsls r0, 24
	lsrs r0, 24
	lsls r2, 24
	lsrs r2, 24
	mov r9, r2
	lsls r3, 24
	lsrs r3, 24
	str r3, [sp]
	lsls r1, 24
	lsrs r5, r1, 24
	lsls r4, 24
	lsrs r4, 24
	mov r8, r4
	bl GetBgTilemapBuffer
	adds r7, r0, 0
	movs r0, 0
	cmp r0, r8
	bcs _080F6C02
_080F6BCC:
	movs r2, 0
	adds r6, r0, 0x1
	cmp r2, r5
	bcs _080F6BFA
	adds r4, r0, 0
	muls r4, r5
	ldr r1, [sp]
	adds r0, r1
	lsls r3, r0, 5
_080F6BDE:
	adds r1, r4, r2
	lsls r1, 1
	add r1, r10
	adds r0, r3, r2
	add r0, r9
	lsls r0, 1
	adds r0, r7
	ldrh r0, [r0]
	strh r0, [r1]
	adds r0, r2, 0x1
	lsls r0, 24
	lsrs r2, r0, 24
	cmp r2, r5
	bcc _080F6BDE
_080F6BFA:
	lsls r0, r6, 24
	lsrs r0, 24
	cmp r0, r8
	bcc _080F6BCC
_080F6C02:
	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_80F6B94

	thumb_func_start sub_80F6C14
sub_80F6C14: @ 80F6C14
	push {lr}
	movs r0, 0
	movs r1, 0
	movs r2, 0
	bl ChangeBgX
	movs r0, 0x1
	movs r1, 0
	movs r2, 0
	bl ChangeBgX
	movs r0, 0x2
	movs r1, 0
	movs r2, 0
	bl ChangeBgX
	movs r0, 0x3
	movs r1, 0
	movs r2, 0
	bl ChangeBgX
	movs r0, 0
	movs r1, 0
	movs r2, 0
	bl ChangeBgY
	movs r0, 0x1
	movs r1, 0
	movs r2, 0
	bl ChangeBgY
	movs r0, 0x2
	movs r1, 0
	movs r2, 0
	bl ChangeBgY
	movs r0, 0x3
	movs r1, 0
	movs r2, 0
	bl ChangeBgY
	pop {r0}
	bx r0
	thumb_func_end sub_80F6C14

	thumb_func_start sub_80F6C6C
sub_80F6C6C: @ 80F6C6C
	push {lr}
	ldr r0, _080F6C84 @ =gUnknown_841F42C
	bl InitWindows
	ldr r1, _080F6C88 @ =gUnknown_203ABE0
	movs r0, 0xFF
	strb r0, [r1]
	bl sub_8112EA8
	pop {r0}
	bx r0
	.align 2, 0
_080F6C84: .4byte gUnknown_841F42C
_080F6C88: .4byte gUnknown_203ABE0
	thumb_func_end sub_80F6C6C

	thumb_func_start sub_80F6C8C
sub_80F6C8C: @ 80F6C8C
	push {lr}
	bl FreeAllWindowBuffers
	pop {r0}
	bx r0
	thumb_func_end sub_80F6C8C

	thumb_func_start sub_80F6C98
sub_80F6C98: @ 80F6C98
	push {lr}
	movs r0, 0
	movs r1, 0
	movs r2, 0
	bl ChangeBgX
	movs r0, 0
	movs r1, 0
	movs r2, 0
	bl ChangeBgY
	bl DeactivateAllTextPrinters
	bl sub_80F6E9C
	pop {r0}
	bx r0
	thumb_func_end sub_80F6C98

	thumb_func_start sub_80F6CBC
sub_80F6CBC: @ 80F6CBC
	push {lr}
	bl RunTextPrinters
	movs r0, 0
	bl IsTextPrinterActive
	lsls r0, 16
	lsrs r0, 16
	pop {r1}
	bx r1
	thumb_func_end sub_80F6CBC

	thumb_func_start AddTextPrinterParametrized
AddTextPrinterParametrized: @ 80F6CD0
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	sub sp, 0x10
	ldr r7, [sp, 0x28]
	ldr r4, [sp, 0x2C]
	mov r8, r4
	ldr r5, [sp, 0x30]
	ldr r6, [sp, 0x34]
	lsls r3, 24
	lsrs r3, 24
	lsls r5, 24
	lsrs r5, 24
	lsls r6, 24
	str r2, [sp]
	mov r2, sp
	movs r4, 0
	strb r0, [r2, 0x4]
	mov r0, sp
	strb r1, [r0, 0x5]
	strb r4, [r0, 0x6]
	movs r1, 0x1
	strb r1, [r0, 0x7]
	strb r4, [r0, 0x8]
	strb r1, [r0, 0x9]
	strb r1, [r0, 0xA]
	strb r1, [r0, 0xB]
	mov r4, sp
	ldrb r2, [r4, 0xC]
	subs r1, 0x11
	adds r0, r1, 0
	ands r0, r2
	strb r0, [r4, 0xC]
	mov r0, sp
	mov r2, r8
	lsls r2, 4
	movs r4, 0xF
	strb r2, [r0, 0xC]
	mov r2, sp
	ands r5, r4
	ldrb r0, [r2, 0xD]
	ands r1, r0
	orrs r1, r5
	strb r1, [r2, 0xD]
	mov r0, sp
	lsrs r6, 20
	ands r1, r4
	orrs r1, r6
	strb r1, [r0, 0xD]
	ldr r2, _080F6D58 @ =gTextFlags
	ldrb r1, [r2]
	movs r0, 0x3
	negs r0, r0
	ands r0, r1
	strb r0, [r2]
	mov r0, sp
	adds r1, r3, 0
	adds r2, r7, 0
	bl AddTextPrinter
	lsls r0, 16
	lsrs r0, 16
	add sp, 0x10
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r1}
	bx r1
	.align 2, 0
_080F6D58: .4byte gTextFlags
	thumb_func_end AddTextPrinterParametrized

	thumb_func_start sub_80F6D5C
sub_80F6D5C: @ 80F6D5C
	push {r4,r5,lr}
	sub sp, 0x10
	lsls r0, 24
	lsrs r0, 24
	movs r5, 0
	ldr r3, _080F6DA8 @ =gTextFlags
	movs r4, 0x1
	ands r0, r4
	ldrb r2, [r3]
	movs r1, 0x2
	negs r1, r1
	ands r1, r2
	orrs r1, r0
	strb r1, [r3]
	bl sub_80CBE00
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0
	bne _080F6DB0
	bl sub_80F78A8
	adds r3, r0, 0
	lsls r3, 24
	lsrs r3, 24
	ldr r2, _080F6DAC @ =gStringVar4
	str r5, [sp]
	movs r0, 0x8
	str r0, [sp, 0x4]
	str r4, [sp, 0x8]
	movs r0, 0x3
	str r0, [sp, 0xC]
	movs r0, 0
	movs r1, 0x4
	bl AddTextPrinterParametrized
	b _080F6DFC
	.align 2, 0
_080F6DA8: .4byte gTextFlags
_080F6DAC: .4byte gStringVar4
_080F6DB0:
	cmp r0, 0x1
	bne _080F6DDC
	bl sub_80F78A8
	adds r3, r0, 0
	lsls r3, 24
	lsrs r3, 24
	ldr r2, _080F6DD8 @ =gStringVar4
	str r5, [sp]
	movs r0, 0x4
	str r0, [sp, 0x4]
	str r4, [sp, 0x8]
	movs r0, 0x3
	str r0, [sp, 0xC]
	movs r0, 0
	movs r1, 0x5
	bl AddTextPrinterParametrized
	b _080F6DFC
	.align 2, 0
_080F6DD8: .4byte gStringVar4
_080F6DDC:
	bl sub_80F78A8
	adds r3, r0, 0
	lsls r3, 24
	lsrs r3, 24
	ldr r2, _080F6E04 @ =gStringVar4
	str r5, [sp]
	movs r0, 0x2
	str r0, [sp, 0x4]
	str r4, [sp, 0x8]
	movs r0, 0x3
	str r0, [sp, 0xC]
	movs r0, 0
	movs r1, 0x2
	bl AddTextPrinterParametrized
_080F6DFC:
	add sp, 0x10
	pop {r4,r5}
	pop {r0}
	bx r0
	.align 2, 0
_080F6E04: .4byte gStringVar4
	thumb_func_end sub_80F6D5C

	thumb_func_start sub_80F6E08
sub_80F6E08: @ 80F6E08
	push {r4,lr}
	sub sp, 0x10
	lsls r0, 24
	lsrs r0, 24
	ldr r3, _080F6E4C @ =gTextFlags
	movs r4, 0x1
	ands r0, r4
	ldrb r2, [r3]
	movs r1, 0x2
	negs r1, r1
	ands r1, r2
	orrs r1, r0
	strb r1, [r3]
	bl sub_80F78A8
	adds r3, r0, 0
	lsls r3, 24
	lsrs r3, 24
	ldr r2, _080F6E50 @ =gStringVar4
	movs r0, 0
	str r0, [sp]
	movs r0, 0x2
	str r0, [sp, 0x4]
	str r4, [sp, 0x8]
	movs r0, 0x3
	str r0, [sp, 0xC]
	movs r0, 0
	movs r1, 0x2
	bl AddTextPrinterParametrized
	add sp, 0x10
	pop {r4}
	pop {r0}
	bx r0
	.align 2, 0
_080F6E4C: .4byte gTextFlags
_080F6E50: .4byte gStringVar4
	thumb_func_end sub_80F6E08

	thumb_func_start sub_80F6E54
sub_80F6E54: @ 80F6E54
	push {r4,r5,lr}
	sub sp, 0x10
	adds r3, r1, 0
	lsls r0, 24
	lsrs r0, 24
	lsls r3, 24
	lsrs r3, 24
	ldr r4, _080F6E94 @ =gTextFlags
	movs r5, 0x1
	ands r0, r5
	ldrb r2, [r4]
	movs r1, 0x2
	negs r1, r1
	ands r1, r2
	orrs r1, r0
	strb r1, [r4]
	ldr r2, _080F6E98 @ =gStringVar4
	movs r0, 0
	str r0, [sp]
	movs r0, 0x2
	str r0, [sp, 0x4]
	str r5, [sp, 0x8]
	movs r0, 0x3
	str r0, [sp, 0xC]
	movs r0, 0
	movs r1, 0x2
	bl AddTextPrinterParametrized
	add sp, 0x10
	pop {r4,r5}
	pop {r0}
	bx r0
	.align 2, 0
_080F6E94: .4byte gTextFlags
_080F6E98: .4byte gStringVar4
	thumb_func_end sub_80F6E54

	thumb_func_start sub_80F6E9C
sub_80F6E9C: @ 80F6E9C
	push {lr}
	ldr r0, _080F6EBC @ =gUnknown_203ADFA
	ldrb r0, [r0]
	cmp r0, 0x2
	bne _080F6EC4
	ldr r2, _080F6EC0 @ =gTextFlags
	ldrb r0, [r2]
	movs r1, 0x4
	orrs r0, r1
	strb r0, [r2]
	movs r1, 0x80
	lsls r1, 2
	movs r0, 0
	bl sub_814FF98
	b _080F6ED4
	.align 2, 0
_080F6EBC: .4byte gUnknown_203ADFA
_080F6EC0: .4byte gTextFlags
_080F6EC4:
	bl sub_80F77B8
	movs r1, 0x80
	lsls r1, 2
	movs r0, 0
	movs r2, 0xF0
	bl sub_814FEAC
_080F6ED4:
	movs r1, 0x85
	lsls r1, 2
	movs r0, 0
	movs r2, 0xE0
	bl sub_815001C
	pop {r0}
	bx r0
	thumb_func_end sub_80F6E9C

	thumb_func_start sub_80F6EE4
sub_80F6EE4: @ 80F6EE4
	push {r4,r5,lr}
	adds r4, r1, 0
	lsls r0, 24
	lsrs r5, r0, 24
	lsls r4, 24
	lsrs r4, 24
	ldr r1, _080F6F18 @ =sub_80F7124
	adds r0, r5, 0
	bl CallWindowFunction
	adds r0, r5, 0
	movs r1, 0x11
	bl FillWindowPixelBuffer
	adds r0, r5, 0
	bl PutWindowTilemap
	cmp r4, 0x1
	bne _080F6F12
	adds r0, r5, 0
	movs r1, 0x3
	bl CopyWindowToVram
_080F6F12:
	pop {r4,r5}
	pop {r0}
	bx r0
	.align 2, 0
_080F6F18: .4byte sub_80F7124
	thumb_func_end sub_80F6EE4

	thumb_func_start sub_80F6F1C
sub_80F6F1C: @ 80F6F1C
	push {r4,r5,lr}
	adds r4, r1, 0
	lsls r0, 24
	lsrs r5, r0, 24
	lsls r4, 24
	lsrs r4, 24
	ldr r1, _080F6F50 @ =sub_80F6FD4
	adds r0, r5, 0
	bl CallWindowFunction
	adds r0, r5, 0
	movs r1, 0x11
	bl FillWindowPixelBuffer
	adds r0, r5, 0
	bl PutWindowTilemap
	cmp r4, 0x1
	bne _080F6F4A
	adds r0, r5, 0
	movs r1, 0x3
	bl CopyWindowToVram
_080F6F4A:
	pop {r4,r5}
	pop {r0}
	bx r0
	.align 2, 0
_080F6F50: .4byte sub_80F6FD4
	thumb_func_end sub_80F6F1C

	thumb_func_start sub_80F6F54
sub_80F6F54: @ 80F6F54
	push {r4,r5,lr}
	adds r4, r1, 0
	lsls r0, 24
	lsrs r5, r0, 24
	lsls r4, 24
	lsrs r4, 24
	ldr r1, _080F6F94 @ =sub_80F76CC
	adds r0, r5, 0
	bl CallWindowFunction
	adds r0, r5, 0
	movs r1, 0x11
	bl FillWindowPixelBuffer
	adds r0, r5, 0
	bl ClearWindowTilemap
	cmp r4, 0x1
	bne _080F6F82
	adds r0, r5, 0
	movs r1, 0x3
	bl CopyWindowToVram
_080F6F82:
	ldr r0, _080F6F98 @ =gUnknown_203ADFA
	ldrb r0, [r0]
	cmp r0, 0x2
	bne _080F6F8E
	bl sub_8111134
_080F6F8E:
	pop {r4,r5}
	pop {r0}
	bx r0
	.align 2, 0
_080F6F94: .4byte sub_80F76CC
_080F6F98: .4byte gUnknown_203ADFA
	thumb_func_end sub_80F6F54

	thumb_func_start sub_80F6F9C
sub_80F6F9C: @ 80F6F9C
	push {r4,r5,lr}
	adds r4, r1, 0
	lsls r0, 24
	lsrs r5, r0, 24
	lsls r4, 24
	lsrs r4, 24
	ldr r1, _080F6FD0 @ =sub_80F7684
	adds r0, r5, 0
	bl CallWindowFunction
	adds r0, r5, 0
	movs r1, 0x11
	bl FillWindowPixelBuffer
	adds r0, r5, 0
	bl ClearWindowTilemap
	cmp r4, 0x1
	bne _080F6FCA
	adds r0, r5, 0
	movs r1, 0x3
	bl CopyWindowToVram
_080F6FCA:
	pop {r4,r5}
	pop {r0}
	bx r0
	.align 2, 0
_080F6FD0: .4byte sub_80F7684
	thumb_func_end sub_80F6F9C

	thumb_func_start sub_80F6FD4
sub_80F6FD4: @ 80F6FD4
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	sub sp, 0x1C
	adds r4, r2, 0
	ldr r2, [sp, 0x3C]
	lsls r0, 24
	lsrs r7, r0, 24
	lsls r1, 24
	lsls r4, 24
	lsls r3, 24
	lsrs r3, 24
	str r3, [sp, 0x10]
	lsls r2, 24
	lsrs r2, 24
	str r2, [sp, 0x14]
	movs r3, 0x85
	lsls r3, 2
	lsrs r0, r1, 24
	str r0, [sp, 0xC]
	movs r2, 0xFF
	lsls r2, 24
	adds r2, r1
	mov r8, r2
	lsrs r2, 24
	lsrs r0, r4, 24
	mov r9, r0
	movs r0, 0xFF
	lsls r0, 24
	adds r4, r0
	lsrs r4, 24
	movs r5, 0x1
	str r5, [sp]
	str r5, [sp, 0x4]
	movs r6, 0xE
	str r6, [sp, 0x8]
	adds r0, r7, 0
	adds r1, r3, 0
	adds r3, r4, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F710C @ =0x00000215
	ldr r2, [sp, 0x10]
	str r2, [sp]
	str r5, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0xC]
	adds r3, r4, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7110 @ =0x00000216
	ldr r3, [sp, 0xC]
	ldr r2, [sp, 0x10]
	adds r0, r3, r2
	lsls r0, 24
	mov r10, r0
	lsrs r2, r0, 24
	str r5, [sp]
	str r5, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	adds r3, r4, 0
	bl FillBgTilemapBufferRect
	mov r5, r9
	ldr r0, [sp, 0x14]
	add r0, r9
	cmp r9, r0
	bge _080F70A8
	mov r3, r8
	str r3, [sp, 0x18]
	movs r6, 0x1
	movs r0, 0xE
	mov r8, r0
_080F706E:
	lsls r4, r5, 24
	lsrs r4, 24
	str r6, [sp]
	str r6, [sp, 0x4]
	mov r2, r8
	str r2, [sp, 0x8]
	adds r0, r7, 0
	ldr r1, _080F7114 @ =0x00000217
	ldr r3, [sp, 0x18]
	lsrs r2, r3, 24
	adds r3, r4, 0
	bl FillBgTilemapBufferRect
	str r6, [sp]
	str r6, [sp, 0x4]
	mov r0, r8
	str r0, [sp, 0x8]
	adds r0, r7, 0
	ldr r1, _080F7118 @ =0x00000219
	mov r3, r10
	lsrs r2, r3, 24
	adds r3, r4, 0
	bl FillBgTilemapBufferRect
	adds r5, 0x1
	ldr r0, [sp, 0x14]
	add r0, r9
	cmp r5, r0
	blt _080F706E
_080F70A8:
	ldr r1, _080F711C @ =0x0000021a
	ldr r2, [sp, 0xC]
	subs r2, 0x1
	lsls r2, 24
	lsrs r2, 24
	ldr r4, [sp, 0x14]
	add r4, r9
	lsls r4, 24
	lsrs r4, 24
	movs r5, 0x1
	str r5, [sp]
	str r5, [sp, 0x4]
	movs r6, 0xE
	str r6, [sp, 0x8]
	adds r0, r7, 0
	adds r3, r4, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7120 @ =0x0000021b
	ldr r0, [sp, 0x10]
	str r0, [sp]
	str r5, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0xC]
	adds r3, r4, 0
	bl FillBgTilemapBufferRect
	movs r1, 0x87
	lsls r1, 2
	ldr r3, [sp, 0xC]
	ldr r0, [sp, 0x10]
	adds r2, r3, r0
	lsls r2, 24
	lsrs r2, 24
	str r5, [sp]
	str r5, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	adds r3, r4, 0
	bl FillBgTilemapBufferRect
	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
_080F710C: .4byte 0x00000215
_080F7110: .4byte 0x00000216
_080F7114: .4byte 0x00000217
_080F7118: .4byte 0x00000219
_080F711C: .4byte 0x0000021a
_080F7120: .4byte 0x0000021b
	thumb_func_end sub_80F6FD4

	thumb_func_start sub_80F7124
sub_80F7124: @ 80F7124
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	sub sp, 0x20
	lsls r0, 24
	lsrs r7, r0, 24
	lsls r1, 24
	lsrs r1, 24
	str r1, [sp, 0xC]
	lsls r2, 24
	lsrs r2, 24
	str r2, [sp, 0x10]
	lsls r3, 24
	lsrs r3, 24
	str r3, [sp, 0x14]
	bl sub_8069A38
	lsls r0, 24
	cmp r0, 0
	beq _080F715A
	ldr r0, _080F7390 @ =gUnknown_203ADFA
	ldrb r0, [r0]
	cmp r0, 0x2
	beq _080F715A
	b _080F73E8
_080F715A:
	movs r1, 0x80
	lsls r1, 2
	ldr r0, [sp, 0xC]
	subs r0, 0x2
	lsls r0, 24
	lsrs r0, 24
	mov r10, r0
	ldr r5, [sp, 0x10]
	subs r5, 0x1
	lsls r5, 24
	lsrs r5, 24
	movs r4, 0x1
	str r4, [sp]
	str r4, [sp, 0x4]
	movs r6, 0xF
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r10
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7394 @ =0x00000201
	ldr r2, [sp, 0xC]
	subs r2, 0x1
	lsls r2, 24
	lsrs r2, 24
	mov r9, r2
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7398 @ =0x00000202
	ldr r0, [sp, 0x14]
	str r0, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0xC]
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F739C @ =0x00000203
	ldr r2, [sp, 0xC]
	ldr r0, [sp, 0x14]
	adds r2, r0
	mov r8, r2
	lsls r2, 24
	lsrs r2, 24
	str r2, [sp, 0x18]
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	movs r1, 0x81
	lsls r1, 2
	add r8, r4
	mov r2, r8
	lsls r2, 24
	lsrs r2, 24
	mov r8, r2
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73A0 @ =0x00000205
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r10
	ldr r3, [sp, 0x10]
	bl FillBgTilemapBufferRect
	ldr r1, _080F73A4 @ =0x00000206
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r9
	ldr r3, [sp, 0x10]
	bl FillBgTilemapBufferRect
	movs r1, 0x82
	lsls r1, 2
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0x18]
	ldr r3, [sp, 0x10]
	bl FillBgTilemapBufferRect
	ldr r1, _080F73A8 @ =0x00000209
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r8
	ldr r3, [sp, 0x10]
	bl FillBgTilemapBufferRect
	ldr r1, _080F73AC @ =0x0000020a
	ldr r5, [sp, 0x10]
	adds r5, 0x1
	lsls r5, 24
	lsrs r5, 24
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r10
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73B0 @ =0x0000020b
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r9
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	movs r1, 0x83
	lsls r1, 2
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0x18]
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73B4 @ =0x0000020d
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r8
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73B8 @ =0x00000a0a
	ldr r5, [sp, 0x10]
	adds r5, 0x2
	lsls r5, 24
	lsrs r5, 24
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r10
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73BC @ =0x00000a0b
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r9
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73C0 @ =0x00000a0c
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0x18]
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73C4 @ =0x00000a0d
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r8
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73C8 @ =0x00000a05
	ldr r5, [sp, 0x10]
	adds r5, 0x3
	lsls r5, 24
	lsrs r5, 24
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r10
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73CC @ =0x00000a06
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r9
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73D0 @ =0x00000a08
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0x18]
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73D4 @ =0x00000a09
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r8
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	movs r1, 0xA0
	lsls r1, 4
	ldr r5, [sp, 0x10]
	adds r5, 0x4
	lsls r5, 24
	lsrs r5, 24
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r10
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73D8 @ =0x00000a01
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r9
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73DC @ =0x00000a02
	ldr r0, [sp, 0x14]
	str r0, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0xC]
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73E0 @ =0x00000a03
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0x18]
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F73E4 @ =0x00000a04
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r8
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	b _080F761E
	.align 2, 0
_080F7390: .4byte gUnknown_203ADFA
_080F7394: .4byte 0x00000201
_080F7398: .4byte 0x00000202
_080F739C: .4byte 0x00000203
_080F73A0: .4byte 0x00000205
_080F73A4: .4byte 0x00000206
_080F73A8: .4byte 0x00000209
_080F73AC: .4byte 0x0000020a
_080F73B0: .4byte 0x0000020b
_080F73B4: .4byte 0x0000020d
_080F73B8: .4byte 0x00000a0a
_080F73BC: .4byte 0x00000a0b
_080F73C0: .4byte 0x00000a0c
_080F73C4: .4byte 0x00000a0d
_080F73C8: .4byte 0x00000a05
_080F73CC: .4byte 0x00000a06
_080F73D0: .4byte 0x00000a08
_080F73D4: .4byte 0x00000a09
_080F73D8: .4byte 0x00000a01
_080F73DC: .4byte 0x00000a02
_080F73E0: .4byte 0x00000a03
_080F73E4: .4byte 0x00000a04
_080F73E8:
	movs r1, 0x80
	lsls r1, 2
	ldr r2, [sp, 0xC]
	subs r2, 0x2
	lsls r2, 24
	lsrs r2, 24
	mov r10, r2
	ldr r5, [sp, 0x10]
	subs r5, 0x1
	lsls r5, 24
	lsrs r5, 24
	movs r4, 0x1
	str r4, [sp]
	str r4, [sp, 0x4]
	movs r6, 0xF
	str r6, [sp, 0x8]
	adds r0, r7, 0
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7630 @ =0x00000201
	ldr r0, [sp, 0xC]
	subs r0, 0x1
	lsls r0, 24
	lsrs r0, 24
	mov r9, r0
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r9
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7634 @ =0x00000202
	ldr r2, [sp, 0x14]
	str r2, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0xC]
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7638 @ =0x00000203
	ldr r0, [sp, 0xC]
	ldr r2, [sp, 0x14]
	adds r0, r2
	mov r8, r0
	lsls r2, r0, 24
	lsrs r2, 24
	str r2, [sp, 0x1C]
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	movs r1, 0x81
	lsls r1, 2
	add r8, r4
	mov r0, r8
	lsls r0, 24
	lsrs r0, 24
	mov r8, r0
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r8
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F763C @ =0x00000205
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r10
	ldr r3, [sp, 0x10]
	bl FillBgTilemapBufferRect
	ldr r1, _080F7640 @ =0x00000206
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r9
	ldr r3, [sp, 0x10]
	bl FillBgTilemapBufferRect
	movs r1, 0x82
	lsls r1, 2
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0x1C]
	ldr r3, [sp, 0x10]
	bl FillBgTilemapBufferRect
	ldr r1, _080F7644 @ =0x00000209
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r8
	ldr r3, [sp, 0x10]
	bl FillBgTilemapBufferRect
	ldr r1, _080F7648 @ =0x0000020a
	ldr r5, [sp, 0x10]
	adds r5, 0x1
	lsls r5, 24
	lsrs r5, 24
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r10
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F764C @ =0x0000020b
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r9
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	movs r1, 0x83
	lsls r1, 2
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0x1C]
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7650 @ =0x0000020d
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r8
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7654 @ =0x00000a05
	ldr r5, [sp, 0x10]
	adds r5, 0x2
	lsls r5, 24
	lsrs r5, 24
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r10
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7658 @ =0x00000a06
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r9
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F765C @ =0x00000a08
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0x1C]
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7660 @ =0x00000a09
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r8
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7664 @ =0x00000a0a
	ldr r5, [sp, 0x10]
	adds r5, 0x3
	lsls r5, 24
	lsrs r5, 24
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r10
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7668 @ =0x00000a0b
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r9
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F766C @ =0x00000a0c
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0x1C]
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7670 @ =0x00000a0d
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r8
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	movs r1, 0xA0
	lsls r1, 4
	ldr r5, [sp, 0x10]
	adds r5, 0x4
	lsls r5, 24
	lsrs r5, 24
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r10
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7674 @ =0x00000a01
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r9
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7678 @ =0x00000a02
	ldr r2, [sp, 0x14]
	str r2, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0xC]
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F767C @ =0x00000a03
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	ldr r2, [sp, 0x1C]
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	ldr r1, _080F7680 @ =0x00000a04
	str r4, [sp]
	str r4, [sp, 0x4]
	str r6, [sp, 0x8]
	adds r0, r7, 0
	mov r2, r8
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
_080F761E:
	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
_080F7630: .4byte 0x00000201
_080F7634: .4byte 0x00000202
_080F7638: .4byte 0x00000203
_080F763C: .4byte 0x00000205
_080F7640: .4byte 0x00000206
_080F7644: .4byte 0x00000209
_080F7648: .4byte 0x0000020a
_080F764C: .4byte 0x0000020b
_080F7650: .4byte 0x0000020d
_080F7654: .4byte 0x00000a05
_080F7658: .4byte 0x00000a06
_080F765C: .4byte 0x00000a08
_080F7660: .4byte 0x00000a09
_080F7664: .4byte 0x00000a0a
_080F7668: .4byte 0x00000a0b
_080F766C: .4byte 0x00000a0c
_080F7670: .4byte 0x00000a0d
_080F7674: .4byte 0x00000a01
_080F7678: .4byte 0x00000a02
_080F767C: .4byte 0x00000a03
_080F7680: .4byte 0x00000a04
	thumb_func_end sub_80F7124

	thumb_func_start sub_80F7684
sub_80F7684: @ 80F7684
	push {r4,r5,lr}
	sub sp, 0xC
	adds r4, r1, 0
	adds r5, r2, 0
	ldr r1, [sp, 0x18]
	lsls r0, 24
	lsrs r0, 24
	lsls r4, 24
	lsls r5, 24
	lsls r3, 24
	lsls r1, 24
	movs r2, 0xFF
	lsls r2, 24
	adds r4, r2
	lsrs r4, 24
	adds r5, r2
	lsrs r5, 24
	movs r2, 0x80
	lsls r2, 18
	adds r3, r2
	lsrs r3, 24
	str r3, [sp]
	adds r1, r2
	lsrs r1, 24
	str r1, [sp, 0x4]
	movs r1, 0xE
	str r1, [sp, 0x8]
	movs r1, 0
	adds r2, r4, 0
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	add sp, 0xC
	pop {r4,r5}
	pop {r0}
	bx r0
	thumb_func_end sub_80F7684

	thumb_func_start sub_80F76CC
sub_80F76CC: @ 80F76CC
	push {r4,r5,lr}
	sub sp, 0xC
	adds r4, r1, 0
	adds r5, r2, 0
	ldr r1, [sp, 0x18]
	lsls r0, 24
	lsrs r0, 24
	lsls r4, 24
	lsls r5, 24
	lsls r3, 24
	lsls r1, 24
	movs r2, 0xFE
	lsls r2, 24
	adds r4, r2
	lsrs r4, 24
	movs r2, 0xFF
	lsls r2, 24
	adds r5, r2
	lsrs r5, 24
	movs r2, 0x80
	lsls r2, 19
	adds r3, r2
	lsrs r3, 24
	str r3, [sp]
	movs r2, 0x80
	lsls r2, 18
	adds r1, r2
	lsrs r1, 24
	str r1, [sp, 0x4]
	movs r1, 0xE
	str r1, [sp, 0x8]
	movs r1, 0
	adds r2, r4, 0
	adds r3, r5, 0
	bl FillBgTilemapBufferRect
	add sp, 0xC
	pop {r4,r5}
	pop {r0}
	bx r0
	thumb_func_end sub_80F76CC

	thumb_func_start sub_80F771C
sub_80F771C: @ 80F771C
	push {r4,lr}
	sub sp, 0xC
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0x20
	str r0, [sp]
	str r0, [sp, 0x4]
	movs r0, 0x11
	str r0, [sp, 0x8]
	movs r0, 0
	movs r1, 0
	movs r2, 0
	movs r3, 0
	bl FillBgTilemapBufferRect
	cmp r4, 0x1
	bne _080F7746
	movs r0, 0
	bl CopyBgTilemapBufferToVram
_080F7746:
	add sp, 0xC
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_80F771C

	thumb_func_start sub_80F7750
sub_80F7750: @ 80F7750
	push {lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r1, 24
	lsrs r1, 24
	movs r2, 0x85
	lsls r2, 2
	movs r3, 0xE
	bl SetWindowBorderStyle
	pop {r0}
	bx r0
	thumb_func_end sub_80F7750

	thumb_func_start sub_80F7768
sub_80F7768: @ 80F7768
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r4, r0, 24
	lsls r1, 24
	lsrs r5, r1, 24
	ldr r0, _080F7790 @ =gUnknown_203ADFA
	ldrb r0, [r0]
	cmp r0, 0x2
	bne _080F7798
	ldr r2, _080F7794 @ =gTextFlags
	ldrb r0, [r2]
	movs r1, 0x4
	orrs r0, r1
	strb r0, [r2]
	movs r1, 0x80
	lsls r1, 2
	movs r0, 0
	bl sub_814FF98
	b _080F77A4
	.align 2, 0
_080F7790: .4byte gUnknown_203ADFA
_080F7794: .4byte gTextFlags
_080F7798:
	movs r1, 0x80
	lsls r1, 2
	adds r0, r4, 0
	movs r2, 0xF0
	bl sub_814FEAC
_080F77A4:
	movs r2, 0x80
	lsls r2, 2
	adds r0, r4, 0
	adds r1, r5, 0
	movs r3, 0xF
	bl sub_810EDC4
	pop {r4,r5}
	pop {r0}
	bx r0
	thumb_func_end sub_80F7768

	thumb_func_start sub_80F77B8
sub_80F77B8: @ 80F77B8
	push {lr}
	ldr r0, _080F77C8 @ =gUnknown_841F408
	movs r1, 0xE0
	movs r2, 0x14
	bl LoadPalette
	pop {r0}
	bx r0
	.align 2, 0
_080F77C8: .4byte gUnknown_841F408
	thumb_func_end sub_80F77B8

	thumb_func_start sub_80F77CC
sub_80F77CC: @ 80F77CC
	push {lr}
	adds r1, r0, 0
	lsls r1, 16
	lsrs r1, 16
	ldr r0, _080F77E0 @ =gUnknown_841F408
	movs r2, 0x14
	bl LoadPalette
	pop {r0}
	bx r0
	.align 2, 0
_080F77E0: .4byte gUnknown_841F408
	thumb_func_end sub_80F77CC

	thumb_func_start sub_80F77E4
sub_80F77E4: @ 80F77E4
	ldr r0, _080F77E8 @ =gUnknown_841F408
	bx lr
	.align 2, 0
_080F77E8: .4byte gUnknown_841F408
	thumb_func_end sub_80F77E4

	thumb_func_start sub_80F77EC
sub_80F77EC: @ 80F77EC
	push {lr}
	lsls r0, 24
	lsrs r1, r0, 24
	cmp r1, 0xF
	bls _080F77F8
	movs r1, 0
_080F77F8:
	ldr r0, _080F7804 @ =gUnknown_841F408
	lsls r1, 1
	adds r1, r0
	ldrh r0, [r1]
	pop {r1}
	bx r1
	.align 2, 0
_080F7804: .4byte gUnknown_841F408
	thumb_func_end sub_80F77EC

	thumb_func_start DisplayItemMessageOnField
DisplayItemMessageOnField: @ 80F7808
	push {r4-r6,lr}
	mov r6, r8
	push {r6}
	sub sp, 0x10
	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
	bl sub_80F6E9C
	bl sub_80F78A8
	lsls r0, 24
	lsrs r0, 24
	movs r2, 0x80
	lsls r2, 2
	str r4, [sp]
	str r0, [sp, 0x4]
	str r6, [sp, 0x8]
	mov r0, r8
	str r0, [sp, 0xC]
	adds r0, r5, 0
	movs r1, 0
	movs r3, 0xF
	bl DisplayMessageAndContinueTask
	movs r0, 0
	movs r1, 0x3
	bl CopyWindowToVram
	add sp, 0x10
	pop {r3}
	mov r8, r3
	pop {r4-r6}
	pop {r0}
	bx r0
	thumb_func_end DisplayItemMessageOnField

	thumb_func_start sub_80F7858
sub_80F7858: @ 80F7858
	push {lr}
	sub sp, 0xC
	ldr r0, _080F787C @ =gUnknown_841F43C
	movs r1, 0x85
	lsls r1, 2
	str r1, [sp]
	movs r1, 0xE
	str r1, [sp, 0x4]
	movs r1, 0
	str r1, [sp, 0x8]
	movs r1, 0x2
	movs r2, 0
	movs r3, 0x2
	bl sub_810FF60
	add sp, 0xC
	pop {r0}
	bx r0
	.align 2, 0
_080F787C: .4byte gUnknown_841F43C
	thumb_func_end sub_80F7858

	thumb_func_start sub_80F7880
sub_80F7880: @ 80F7880
	push {lr}
	sub sp, 0xC
	ldr r0, _080F78A4 @ =gUnknown_841F43C
	movs r1, 0x85
	lsls r1, 2
	str r1, [sp]
	movs r1, 0xE
	str r1, [sp, 0x4]
	movs r1, 0x1
	str r1, [sp, 0x8]
	movs r1, 0x2
	movs r2, 0
	movs r3, 0x2
	bl sub_810FF60
	add sp, 0xC
	pop {r0}
	bx r0
	.align 2, 0
_080F78A4: .4byte gUnknown_841F43C
	thumb_func_end sub_80F7880

	thumb_func_start sub_80F78A8
sub_80F78A8: @ 80F78A8
	push {lr}
	ldr r3, _080F78D8 @ =gSaveBlock2Ptr
	ldr r2, [r3]
	ldrb r1, [r2, 0x14]
	lsls r0, r1, 29
	lsrs r0, 29
	cmp r0, 0x2
	bls _080F78C4
	movs r0, 0x8
	negs r0, r0
	ands r0, r1
	movs r1, 0x1
	orrs r0, r1
	strb r0, [r2, 0x14]
_080F78C4:
	ldr r1, _080F78DC @ =gUnknown_841F428
	ldr r0, [r3]
	ldrb r0, [r0, 0x14]
	lsls r0, 29
	lsrs r0, 29
	adds r0, r1
	ldrb r0, [r0]
	pop {r1}
	bx r1
	.align 2, 0
_080F78D8: .4byte gSaveBlock2Ptr
_080F78DC: .4byte gUnknown_841F428
	thumb_func_end sub_80F78A8

	thumb_func_start sub_80F78E0
sub_80F78E0: @ 80F78E0
	push {r4,lr}
	sub sp, 0x20
	lsls r0, 24
	lsrs r1, r0, 24
	ldr r4, _080F7934 @ =gUnknown_203ABE0
	ldrb r0, [r4]
	cmp r0, 0xFF
	bne _080F792A
	movs r0, 0x7
	str r0, [sp]
	lsls r0, r1, 25
	movs r1, 0xFF
	lsls r1, 24
	adds r0, r1
	lsrs r0, 24
	str r0, [sp, 0x4]
	movs r0, 0xF
	str r0, [sp, 0x8]
	ldr r0, _080F7938 @ =0x0000013d
	str r0, [sp, 0xC]
	add r0, sp, 0x10
	movs r1, 0
	movs r2, 0x16
	movs r3, 0x1
	bl SetWindowTemplateFields
	ldr r0, [sp, 0x10]
	ldr r1, [sp, 0x14]
	str r0, [sp, 0x18]
	str r1, [sp, 0x1C]
	add r0, sp, 0x18
	bl AddWindow
	strb r0, [r4]
	ldrb r0, [r4]
	bl PutWindowTilemap
_080F792A:
	ldrb r0, [r4]
	add sp, 0x20
	pop {r4}
	pop {r1}
	bx r1
	.align 2, 0
_080F7934: .4byte gUnknown_203ABE0
_080F7938: .4byte 0x0000013d
	thumb_func_end sub_80F78E0

	thumb_func_start GetStartMenuWindowId
GetStartMenuWindowId: @ 80F793C
	ldr r0, _080F7944 @ =gUnknown_203ABE0
	ldrb r0, [r0]
	bx lr
	.align 2, 0
_080F7944: .4byte gUnknown_203ABE0
	thumb_func_end GetStartMenuWindowId

	thumb_func_start remove_start_menu_window_maybe
remove_start_menu_window_maybe: @ 80F7948
	push {r4,lr}
	ldr r4, _080F7960 @ =gUnknown_203ABE0
	ldrb r0, [r4]
	cmp r0, 0xFF
	beq _080F795A
	bl RemoveWindow
	movs r0, 0xFF
	strb r0, [r4]
_080F795A:
	pop {r4}
	pop {r0}
	bx r0
	.align 2, 0
_080F7960: .4byte gUnknown_203ABE0
	thumb_func_end remove_start_menu_window_maybe

	thumb_func_start sub_80F7964
sub_80F7964: @ 80F7964
	movs r0, 0x80
	lsls r0, 2
	bx lr
	thumb_func_end sub_80F7964

	thumb_func_start sub_80F796C
sub_80F796C: @ 80F796C
	movs r0, 0x85
	lsls r0, 2
	bx lr
	thumb_func_end sub_80F796C

	thumb_func_start sub_80F7974
sub_80F7974: @ 80F7974
	push {r4,lr}
	adds r4, r0, 0
	bl sub_8112EB4
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x80
	lsls r1, 2
	movs r2, 0xF0
	bl sub_814FE6C
	adds r0, r4, 0
	movs r1, 0x2
	bl sub_8113018
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_80F7974

	thumb_func_start sub_80F7998
sub_80F7998: @ 80F7998
	push {lr}
	movs r0, 0x2
	bl sub_8112EDC
	pop {r0}
	bx r0
	thumb_func_end sub_80F7998

	thumb_func_start sub_80F79A4
sub_80F79A4: @ 80F79A4
	push {lr}
	bl sub_80F77B8
	movs r1, 0x80
	lsls r1, 2
	movs r0, 0
	movs r2, 0xF0
	bl sub_814FEEC
	movs r1, 0x85
	lsls r1, 2
	movs r0, 0
	movs r2, 0xE0
	bl sub_815001C
	pop {r0}
	bx r0
	thumb_func_end sub_80F79A4

	thumb_func_start SetDefaultFontsPointer
SetDefaultFontsPointer: @ 80F79C8
	push {lr}
	ldr r0, _080F79D4 @ =gUnknown_841F444
	bl SetFontsPointer
	pop {r0}
	bx r0
	.align 2, 0
_080F79D4: .4byte gUnknown_841F444
	thumb_func_end SetDefaultFontsPointer

	thumb_func_start GetFontAttribute
GetFontAttribute: @ 80F79D8
	push {lr}
	lsls r0, 24
	lsrs r2, r0, 24
	lsls r1, 24
	lsrs r1, 24
	movs r0, 0
	cmp r1, 0x7
	bhi _080F7AB6
	lsls r0, r1, 2
	ldr r1, _080F79F4 @ =_080F79F8
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.align 2, 0
_080F79F4: .4byte _080F79F8
	.align 2, 0
_080F79F8:
	.4byte _080F7A18
	.4byte _080F7A2C
	.4byte _080F7A40
	.4byte _080F7A54
	.4byte _080F7A68
	.4byte _080F7A7C
	.4byte _080F7A90
	.4byte _080F7AA8
_080F7A18:
	ldr r1, _080F7A28 @ =gUnknown_841F444
	lsls r0, r2, 1
	adds r0, r2
	lsls r0, 2
	adds r0, r1
	ldrb r0, [r0, 0x4]
	b _080F7AB6
	.align 2, 0
_080F7A28: .4byte gUnknown_841F444
_080F7A2C:
	ldr r1, _080F7A3C @ =gUnknown_841F444
	lsls r0, r2, 1
	adds r0, r2
	lsls r0, 2
	adds r0, r1
	ldrb r0, [r0, 0x5]
	b _080F7AB6
	.align 2, 0
_080F7A3C: .4byte gUnknown_841F444
_080F7A40:
	ldr r1, _080F7A50 @ =gUnknown_841F444
	lsls r0, r2, 1
	adds r0, r2
	lsls r0, 2
	adds r0, r1
	ldrb r0, [r0, 0x6]
	b _080F7AB6
	.align 2, 0
_080F7A50: .4byte gUnknown_841F444
_080F7A54:
	ldr r1, _080F7A64 @ =gUnknown_841F444
	lsls r0, r2, 1
	adds r0, r2
	lsls r0, 2
	adds r0, r1
	ldrb r0, [r0, 0x7]
	b _080F7AB6
	.align 2, 0
_080F7A64: .4byte gUnknown_841F444
_080F7A68:
	ldr r0, _080F7A78 @ =gUnknown_841F444
	lsls r1, r2, 1
	adds r1, r2
	lsls r1, 2
	adds r1, r0
	ldrb r0, [r1, 0x8]
	b _080F7A9C
	.align 2, 0
_080F7A78: .4byte gUnknown_841F444
_080F7A7C:
	ldr r0, _080F7A8C @ =gUnknown_841F444
	lsls r1, r2, 1
	adds r1, r2
	lsls r1, 2
	adds r1, r0
	ldrb r0, [r1, 0x8]
	b _080F7AB4
	.align 2, 0
_080F7A8C: .4byte gUnknown_841F444
_080F7A90:
	ldr r0, _080F7AA4 @ =gUnknown_841F444
	lsls r1, r2, 1
	adds r1, r2
	lsls r1, 2
	adds r1, r0
	ldrb r0, [r1, 0x9]
_080F7A9C:
	lsls r0, 28
	lsrs r0, 28
	b _080F7AB6
	.align 2, 0
_080F7AA4: .4byte gUnknown_841F444
_080F7AA8:
	ldr r0, _080F7ABC @ =gUnknown_841F444
	lsls r1, r2, 1
	adds r1, r2
	lsls r1, 2
	adds r1, r0
	ldrb r0, [r1, 0x9]
_080F7AB4:
	lsrs r0, 4
_080F7AB6:
	pop {r1}
	bx r1
	.align 2, 0
_080F7ABC: .4byte gUnknown_841F444
	thumb_func_end GetFontAttribute

	thumb_func_start GetMenuCursorDimensionByFont
GetMenuCursorDimensionByFont: @ 80F7AC0
	lsls r0, 24
	lsls r1, 24
	lsrs r1, 24
	ldr r2, _080F7AD4 @ =gUnknown_841F4A4
	lsrs r0, 23
	adds r1, r0
	adds r1, r2
	ldrb r0, [r1]
	bx lr
	.align 2, 0
_080F7AD4: .4byte gUnknown_841F4A4
	thumb_func_end GetMenuCursorDimensionByFont

	.align 2, 0 @ Don't pad with nop.
