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

	.syntax unified

	.text

	thumb_func_start sub_8126968
sub_8126968: @ 8126968
	push {lr}
	ldr r3, =gUnknown_0203A173
	ldrb r0, [r3]
	cmp r0, 0x7
	bhi _0812697E
	ldr r2, =gUnknown_0203A14C
	ldr r1, =gDecorationInventories
	lsls r0, 3
	adds r0, r1
	ldr r0, [r0]
	str r0, [r2]
_0812697E:
	ldr r2, =gUnknown_0203A17C
	ldrb r0, [r2, 0x9]
	cmp r0, 0
	bne _08126996
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r3, =0x00001aae
	adds r1, r0, r3
	str r1, [r2]
	ldr r1, =0x00001abe
	adds r0, r1
	str r0, [r2, 0x4]
_08126996:
	ldrb r0, [r2, 0x9]
	cmp r0, 0x1
	bne _081269AC
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r3, =0x0000271c
	adds r1, r0, r3
	str r1, [r2]
	ldr r1, =0x00002728
	adds r0, r1
	str r0, [r2, 0x4]
_081269AC:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126968

	thumb_func_start sub_81269D4
sub_81269D4: @ 81269D4
	push {r4,lr}
	sub sp, 0x8
	lsls r0, 24
	lsrs r1, r0, 24
	ldr r0, =gUnknown_0203A188
	adds r4, r1, r0
	cmp r1, 0
	bne _08126A28
	ldr r0, =gUnknown_085A6B90
	ldr r1, [r0, 0x4]
	ldr r0, [r0]
	str r0, [sp]
	str r1, [sp, 0x4]
	ldr r0, =gUnknown_085A6B48
	movs r1, 0x4
	bl GetMaxWidthInMenuTable
	lsls r0, 24
	ldr r2, =0x00ffffff
	ldr r1, [sp]
	ands r1, r2
	orrs r1, r0
	str r1, [sp]
	lsrs r0, r1, 24
	cmp r0, 0x12
	bls _08126A14
	adds r0, r2, 0
	ands r0, r1
	movs r1, 0x90
	lsls r1, 21
	orrs r0, r1
	str r0, [sp]
_08126A14:
	mov r0, sp
	b _08126A2E
	.pool
_08126A28:
	lsls r0, r1, 3
	ldr r1, =gUnknown_085A6B90
	adds r0, r1
_08126A2E:
	bl AddWindow
	strb r0, [r4]
	ldrb r0, [r4]
	movs r2, 0x85
	lsls r2, 2
	movs r1, 0
	movs r3, 0xE
	bl SetWindowBorderStyle
	movs r0, 0
	bl schedule_bg_copy_tilemap_to_vram
	ldrb r0, [r4]
	add sp, 0x8
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_81269D4

	thumb_func_start sub_8126A58
sub_8126A58: @ 8126A58
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r0, =gUnknown_0203A188
	adds r4, r0
	ldrb r0, [r4]
	movs r1, 0
	bl sub_8198070
	ldrb r0, [r4]
	bl ClearWindowTilemap
	ldrb r0, [r4]
	bl RemoveWindow
	movs r0, 0
	bl schedule_bg_copy_tilemap_to_vram
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126A58

	thumb_func_start sub_8126A88
sub_8126A88: @ 8126A88
	push {r4,lr}
	movs r0, 0
	bl sub_81269D4
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r2, =gUnknown_085A6B48
	adds r0, r4, 0
	movs r1, 0x4
	bl PrintMenuTable
	ldr r0, =gUnknown_0203A150
	ldrb r2, [r0]
	adds r0, r4, 0
	movs r1, 0x4
	bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126A88

	thumb_func_start sub_8126ABC
sub_8126ABC: @ 8126ABC
	push {lr}
	ldr r1, =gUnknown_0203A150
	movs r0, 0
	strb r0, [r1]
	bl ScriptContext2_Enable
	bl sub_8126A88
	bl sub_8126C08
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126ABC

	thumb_func_start sub_8126AD8
sub_8126AD8: @ 8126AD8
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	bl sub_8126ABC
	ldr r2, =gUnknown_0203A17C
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r3, =0x00001aae
	adds r1, r0, r3
	str r1, [r2]
	ldr r1, =0x00001abe
	adds r0, r1
	str r0, [r2, 0x4]
	movs r1, 0
	movs r0, 0x10
	strb r0, [r2, 0x8]
	strb r1, [r2, 0x9]
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_8126B80
	str r1, [r0]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126AD8

	thumb_func_start sub_8126B2C
sub_8126B2C: @ 8126B2C
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	bl sub_8126ABC
	ldr r2, =gUnknown_0203A17C
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r3, =0x0000271c
	adds r1, r0, r3
	str r1, [r2]
	ldr r1, =0x00002728
	adds r0, r1
	str r0, [r2, 0x4]
	movs r0, 0xC
	strb r0, [r2, 0x8]
	movs r0, 0x1
	strb r0, [r2, 0x9]
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_8126B80
	str r1, [r0]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126B2C

	thumb_func_start sub_8126B80
sub_8126B80: @ 8126B80
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	ldr r0, =gPaletteFade
	ldrb r1, [r0, 0x7]
	movs r0, 0x80
	ands r0, r1
	cmp r0, 0
	bne _08126C00
	bl GetMenuCursorPos
	lsls r0, 24
	lsrs r4, r0, 24
	bl ProcessMenuInput
	lsls r0, 24
	asrs r1, r0, 24
	movs r0, 0x2
	negs r0, r0
	cmp r1, r0
	beq _08126BD8
	adds r0, 0x1
	cmp r1, r0
	beq _08126BF4
	movs r0, 0x5
	bl PlaySE
	ldr r1, =gUnknown_085A6B48
	ldr r0, =gUnknown_0203A150
	ldrb r0, [r0]
	lsls r0, 3
	adds r1, 0x4
	adds r0, r1
	ldr r1, [r0]
	adds r0, r5, 0
	bl _call_via_r1
	b _08126C00
	.pool
_08126BD8:
	bl GetMenuCursorPos
	ldr r1, =gUnknown_0203A150
	strb r0, [r1]
	lsls r0, r4, 24
	asrs r0, 24
	ldrb r1, [r1]
	cmp r0, r1
	beq _08126C00
	bl sub_8126C08
	b _08126C00
	.pool
_08126BF4:
	movs r0, 0x5
	bl PlaySE
	adds r0, r5, 0
	bl sub_8126D6C
_08126C00:
	pop {r4,r5}
	pop {r0}
	bx r0
	thumb_func_end sub_8126B80

	thumb_func_start sub_8126C08
sub_8126C08: @ 8126C08
	push {lr}
	sub sp, 0x10
	movs r0, 0
	movs r1, 0x11
	bl FillWindowPixelBuffer
	ldr r1, =gUnknown_085A6B68
	ldr r0, =gUnknown_0203A150
	ldrb r0, [r0]
	lsls r0, 2
	adds r0, r1
	ldr r2, [r0]
	movs r0, 0
	str r0, [sp]
	movs r0, 0x2
	str r0, [sp, 0x4]
	movs r0, 0x1
	str r0, [sp, 0x8]
	movs r0, 0x3
	str r0, [sp, 0xC]
	movs r0, 0
	movs r1, 0x1
	movs r3, 0
	bl AddTextPrinterParametrized
	add sp, 0x10
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126C08

	thumb_func_start sub_8126C48
sub_8126C48: @ 8126C48
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	bl sub_8161B10
	lsls r0, 24
	cmp r0, 0
	bne _08126C7C
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EA83D
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_8126DA4
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
	b _08126C96
	.pool
_08126C7C:
	ldr r1, =gTasks
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	adds r0, r1
	movs r2, 0
	movs r1, 0
	strh r1, [r0, 0x1E]
	ldr r0, =gUnknown_0203A173
	strb r2, [r0]
	adds r0, r5, 0
	bl sub_8126DCC
_08126C96:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126C48

	thumb_func_start sub_8126CA4
sub_8126CA4: @ 8126CA4
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	adds r0, r5, 0
	bl sub_81299AC
	lsls r0, 24
	cmp r0, 0
	bne _08126CD8
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EAAEC
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_8126DA4
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
	b _08126D00
	.pool
_08126CD8:
	movs r0, 0
	bl sub_8126A58
	movs r0, 0
	movs r1, 0
	bl sub_8197434
	movs r0, 0x1
	movs r1, 0
	bl fade_screen
	ldr r1, =gTasks
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	adds r0, r1
	movs r1, 0
	strh r1, [r0, 0xC]
	ldr r1, =sub_8129ABC
	str r1, [r0]
_08126D00:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126CA4

	thumb_func_start sub_8126D10
sub_8126D10: @ 8126D10
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	bl sub_8161B10
	lsls r0, 24
	cmp r0, 0
	bne _08126D44
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EA83D
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_8126DA4
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
	b _08126D5E
	.pool
_08126D44:
	ldr r1, =gTasks
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	adds r0, r1
	movs r2, 0
	movs r1, 0x1
	strh r1, [r0, 0x1E]
	ldr r0, =gUnknown_0203A173
	strb r2, [r0]
	adds r0, r5, 0
	bl sub_8126DCC
_08126D5E:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126D10

	thumb_func_start sub_8126D6C
sub_8126D6C: @ 8126D6C
	push {r4,lr}
	lsls r0, 24
	lsrs r4, r0, 24
	movs r0, 0
	bl sub_8126A58
	ldr r0, =gUnknown_0203A17C
	ldrb r0, [r0, 0x9]
	cmp r0, 0
	bne _08126D98
	ldr r0, =gUnknown_0823B4E8
	bl ScriptContext1_SetupScript
	adds r0, r4, 0
	bl DestroyTask
	b _08126D9E
	.pool
_08126D98:
	adds r0, r4, 0
	bl sub_816B060
_08126D9E:
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_8126D6C

	thumb_func_start sub_8126DA4
sub_8126DA4: @ 8126DA4
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	bl sub_8126C08
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_8126B80
	str r1, [r0]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126DA4

	thumb_func_start sub_8126DCC
sub_8126DCC: @ 8126DCC
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r0, =gUnknown_085A6BB0
	movs r1, 0xD0
	movs r2, 0x20
	bl LoadPalette
	movs r0, 0
	movs r1, 0
	bl sub_8197434
	movs r0, 0
	bl sub_8126A58
	adds r0, r4, 0
	bl sub_8126DFC
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126DCC

	thumb_func_start sub_8126DFC
sub_8126DFC: @ 8126DFC
	push {r4,r5,lr}
	adds r5, r0, 0
	lsls r5, 24
	lsrs r5, 24
	movs r0, 0x1
	bl sub_81269D4
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	adds r0, r5, 0
	bl sub_8126E8C
	ldr r0, =gUnknown_0203A173
	ldrb r2, [r0]
	adds r0, r4, 0
	movs r1, 0x9
	bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
	ldr r1, =gTasks
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_8127088
	str r1, [r0]
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126DFC

	thumb_func_start sub_8126E44
sub_8126E44: @ 8126E44
	push {r4,r5,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r5, =gUnknown_0203A188
	ldrb r0, [r5, 0x1]
	movs r1, 0x11
	bl FillWindowPixelBuffer
	adds r0, r4, 0
	bl sub_8126E8C
	ldrb r0, [r5, 0x1]
	ldr r1, =gUnknown_0203A173
	ldrb r2, [r1]
	movs r1, 0x9
	bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_8127088
	str r1, [r0]
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126E44

	thumb_func_start sub_8126E8C
sub_8126E8C: @ 8126E8C
	push {r4-r7,lr}
	mov r7, r9
	mov r6, r8
	push {r6,r7}
	sub sp, 0xC
	lsls r0, 24
	lsrs r6, r0, 24
	lsls r0, r6, 2
	adds r0, r6
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r1, r0, r1
	ldr r0, =gUnknown_0203A188
	ldrb r5, [r0, 0x1]
	ldr r0, =gUnknown_0203A17C
	ldrb r0, [r0, 0x9]
	movs r2, 0
	mov r8, r2
	cmp r0, 0x1
	bne _08126EC0
	movs r2, 0x16
	ldrsh r0, [r1, r2]
	cmp r0, 0
	bne _08126EC0
	movs r0, 0x1
	mov r8, r0
_08126EC0:
	movs r4, 0
	lsls r2, r6, 2
	mov r9, r2
	movs r7, 0xFF
_08126EC8:
	mov r0, r8
	cmp r0, 0x1
	bne _08126EF8
	cmp r4, 0x6
	beq _08126EF8
	cmp r4, 0x7
	beq _08126EF8
	lsls r3, r4, 28
	lsrs r3, 24
	str r0, [sp]
	str r7, [sp, 0x4]
	adds r0, r5, 0
	adds r1, r4, 0
	movs r2, 0x8
	bl sub_8126F68
	b _08126F0C
	.pool
_08126EF8:
	lsls r3, r4, 28
	lsrs r3, 24
	movs r0, 0
	str r0, [sp]
	str r7, [sp, 0x4]
	adds r0, r5, 0
	adds r1, r4, 0
	movs r2, 0x8
	bl sub_8126F68
_08126F0C:
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x7
	bls _08126EC8
	ldr r0, =gTasks
	mov r2, r9
	adds r1, r2, r6
	lsls r1, 3
	adds r1, r0
	movs r2, 0x1E
	ldrsh r0, [r1, r2]
	ldr r2, =gText_Cancel
	cmp r0, 0x2
	bne _08126F2C
	ldr r2, =gUnknown_085EB7EA
_08126F2C:
	lsls r0, r4, 4
	adds r0, 0x1
	lsls r0, 24
	lsrs r0, 24
	str r0, [sp]
	movs r0, 0
	str r0, [sp, 0x4]
	str r0, [sp, 0x8]
	adds r0, r5, 0
	movs r1, 0x1
	movs r3, 0x8
	bl PrintTextOnWindow
	movs r0, 0
	bl schedule_bg_copy_tilemap_to_vram
	add sp, 0xC
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126E8C

	thumb_func_start sub_8126F68
sub_8126F68: @ 8126F68
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	sub sp, 0x18
	ldr r4, [sp, 0x38]
	ldr r6, [sp, 0x3C]
	lsls r0, 24
	lsrs r0, 24
	str r0, [sp, 0xC]
	lsls r1, 24
	lsrs r1, 24
	mov r8, r1
	lsls r2, 24
	lsrs r7, r2, 24
	lsls r3, 24
	lsrs r5, r3, 24
	lsls r4, 24
	lsrs r1, r4, 24
	lsls r6, 24
	lsrs r6, 24
	mov r9, r6
	movs r0, 0x60
	str r0, [sp, 0x14]
	cmp r7, 0x8
	bne _08126FA2
	movs r2, 0x68
	str r2, [sp, 0x14]
_08126FA2:
	adds r0, r5, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
	ldr r4, =gStringVar4
	adds r0, r4, 0
	bl sub_8127058
	adds r0, r4, 0
	bl StringLength
	lsls r0, 16
	lsrs r0, 16
	adds r6, r0, r4
	ldr r1, =gUnknown_085A6B28
	mov r2, r8
	lsls r0, r2, 2
	adds r0, r1
	ldr r1, [r0]
	adds r0, r6, 0
	bl StringCopy
	str r5, [sp]
	mov r0, r9
	str r0, [sp, 0x4]
	movs r2, 0
	mov r10, r2
	str r2, [sp, 0x8]
	ldr r0, [sp, 0xC]
	movs r1, 0x1
	adds r2, r4, 0
	adds r3, r7, 0
	bl PrintTextOnWindow
	mov r0, r8
	bl sub_8161AD0
	adds r1, r0, 0
	lsls r1, 24
	lsrs r1, 24
	adds r0, r6, 0
	movs r2, 0x1
	movs r3, 0x2
	bl ConvertIntToDecimalStringN
	adds r6, r0, 0
	movs r0, 0xBA
	strb r0, [r6]
	adds r6, 0x1
	ldr r1, =gDecorationInventories
	mov r2, r8
	lsls r0, r2, 3
	adds r0, r1
	ldrb r1, [r0, 0x4]
	adds r0, r6, 0
	movs r2, 0x1
	movs r3, 0x2
	bl ConvertIntToDecimalStringN
	movs r0, 0x1
	adds r1, r4, 0
	ldr r2, [sp, 0x14]
	bl GetStringRightAlignXOffset
	lsls r0, 24
	lsrs r7, r0, 24
	str r5, [sp]
	mov r0, r9
	str r0, [sp, 0x4]
	mov r2, r10
	str r2, [sp, 0x8]
	ldr r0, [sp, 0xC]
	movs r1, 0x1
	adds r2, r4, 0
	adds r3, r7, 0
	bl PrintTextOnWindow
	add sp, 0x18
	pop {r3-r5}
	mov r8, r3
	mov r9, r4
	mov r10, r5
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8126F68

	thumb_func_start sub_8127058
sub_8127058: @ 8127058
	push {r4,r5,lr}
	adds r5, r0, 0
	lsls r4, r1, 24
	lsrs r4, 24
	ldr r1, =gUnknown_085EA7C8
	bl StringCopy
	cmp r4, 0x1
	bne _08127078
	movs r0, 0x4
	strb r0, [r5, 0x2]
	movs r0, 0x5
	b _0812707E
	.pool
_08127078:
	movs r0, 0x2
	strb r0, [r5, 0x2]
	movs r0, 0x3
_0812707E:
	strb r0, [r5, 0x5]
	pop {r4,r5}
	pop {r0}
	bx r0
	thumb_func_end sub_8127058

	thumb_func_start sub_8127088
sub_8127088: @ 8127088
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	ldr r0, =gPaletteFade
	ldrb r1, [r0, 0x7]
	movs r0, 0x80
	ands r0, r1
	cmp r0, 0
	bne _081270DE
	bl ProcessMenuInput
	lsls r0, 24
	lsrs r4, r0, 24
	asrs r1, r0, 24
	movs r0, 0x1
	negs r0, r0
	cmp r1, r0
	beq _081270C0
	cmp r1, r0
	bgt _081270BC
	subs r0, 0x1
	cmp r1, r0
	beq _081270DE
	b _081270CE
	.pool
_081270BC:
	cmp r1, 0x8
	bne _081270CE
_081270C0:
	movs r0, 0x5
	bl PlaySE
	adds r0, r5, 0
	bl sub_812719C
	b _081270DE
_081270CE:
	movs r0, 0x5
	bl PlaySE
	ldr r0, =gUnknown_0203A173
	strb r4, [r0]
	adds r0, r5, 0
	bl sub_81270E8
_081270DE:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127088

	thumb_func_start sub_81270E8
sub_81270E8: @ 81270E8
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	ldr r4, =gUnknown_0203A173
	ldrb r0, [r4]
	bl sub_8161AD0
	ldr r1, =gUnknown_0203A151
	strb r0, [r1]
	lsls r0, 24
	cmp r0, 0
	beq _08127154
	ldrb r0, [r4]
	bl sub_8161A38
	ldr r2, =gUnknown_0203A14C
	ldr r1, =gDecorationInventories
	ldrb r0, [r4]
	lsls r0, 3
	adds r0, r1
	ldr r0, [r0]
	str r0, [r2]
	adds r0, r5, 0
	bl sub_81279B4
	ldr r0, =gUnknown_0203A170
	movs r1, 0
	strh r1, [r0]
	ldr r0, =gUnknown_0203A16E
	strh r1, [r0]
	ldr r1, =gTasks
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_8127620
	str r1, [r0]
	b _0812716E
	.pool
_08127154:
	movs r0, 0x1
	bl sub_8126A58
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EA83D
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_8127180
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
_0812716E:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81270E8

	thumb_func_start sub_8127180
sub_8127180: @ 8127180
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0
	movs r1, 0
	bl sub_8197434
	adds r0, r4, 0
	bl sub_8126DFC
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_8127180

	thumb_func_start sub_812719C
sub_812719C: @ 812719C
	push {lr}
	lsls r0, 24
	lsrs r2, r0, 24
	ldr r1, =gTasks
	lsls r0, r2, 2
	adds r0, r2
	lsls r0, 3
	adds r0, r1
	movs r1, 0x1E
	ldrsh r0, [r0, r1]
	cmp r0, 0x2
	beq _081271C0
	adds r0, r2, 0
	bl sub_81271CC
	b _081271C6
	.pool
_081271C0:
	adds r0, r2, 0
	bl sub_8127268
_081271C6:
	pop {r0}
	bx r0
	thumb_func_end sub_812719C

	thumb_func_start sub_81271CC
sub_81271CC: @ 81271CC
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0x1
	bl sub_8126A58
	bl sub_8126A88
	movs r0, 0
	movs r1, 0
	bl sub_81973C4
	bl sub_8126C08
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_8126B80
	str r1, [r0]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81271CC

	thumb_func_start sub_8127208
sub_8127208: @ 8127208
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r0, =gUnknown_085A6BB0
	movs r1, 0xD0
	movs r2, 0x20
	bl LoadPalette
	movs r0, 0
	movs r1, 0
	bl sub_8197434
	ldr r1, =gTasks
	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, =gUnknown_0203A173
	strb r2, [r0]
	adds r0, r4, 0
	bl sub_8126DFC
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127208

	thumb_func_start sub_8127250
sub_8127250: @ 8127250
	push {lr}
	lsls r1, 24
	ldr r2, =gUnknown_085A6B28
	lsrs r1, 22
	adds r1, r2
	ldr r1, [r1]
	bl StringCopy
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127250

	thumb_func_start sub_8127268
sub_8127268: @ 8127268
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0x1
	bl sub_8126A58
	adds r0, r4, 0
	bl sub_8133E1C
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_8127268

	thumb_func_start sub_8127284
sub_8127284: @ 8127284
	push {lr}
	ldr r3, =gUnknown_0203A18C
	ldr r2, [r3]
	ldr r0, =gUnknown_0203A151
	ldrb r0, [r0]
	adds r0, 0x1
	movs r1, 0xA4
	lsls r1, 3
	adds r2, r1
	strb r0, [r2]
	ldr r0, [r3]
	adds r1, r0, r1
	ldrb r1, [r1]
	cmp r1, 0x8
	bls _081272B8
	ldr r2, =0x00000521
	adds r1, r0, r2
	movs r0, 0x8
	strb r0, [r1]
	b _081272BE
	.pool
_081272B8:
	ldr r2, =0x00000521
	adds r0, r2
	strb r1, [r0]
_081272BE:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127284

	thumb_func_start sub_81272C8
sub_81272C8: @ 81272C8
	push {r4,lr}
	ldr r0, =gUnknown_0203A170
	ldr r1, =gUnknown_0203A16E
	ldr r2, =gUnknown_0203A18C
	ldr r3, [r2]
	ldr r4, =0x00000521
	adds r2, r3, r4
	ldrb r2, [r2]
	subs r4, 0x1
	adds r3, r4
	ldrb r3, [r3]
	bl sub_812225C
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81272C8

	thumb_func_start sub_81272F8
sub_81272F8: @ 81272F8
	push {r4,lr}
	sub sp, 0x4
	ldr r0, =gUnknown_0203A170
	ldr r1, =gUnknown_0203A16E
	ldr r2, =gUnknown_0203A18C
	ldr r3, [r2]
	ldr r4, =0x00000521
	adds r2, r3, r4
	ldrb r2, [r2]
	subs r4, 0x1
	adds r3, r4
	ldrb r3, [r3]
	movs r4, 0x8
	str r4, [sp]
	bl sub_8122298
	add sp, 0x4
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81272F8

	thumb_func_start sub_8127330
sub_8127330: @ 8127330
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	ldr r0, =gTasks + 0x8
	adds r1, r0
	ldr r0, =gUnknown_0203A173
	ldrb r0, [r0]
	subs r0, 0x6
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bls _08127378
	ldr r0, =gUnknown_0203A17C
	ldrb r0, [r0, 0x9]
	cmp r0, 0x1
	bne _08127378
	movs r2, 0x16
	ldrsh r0, [r1, r2]
	cmp r0, 0
	bne _08127378
	ldr r0, =gStringVar1
	movs r1, 0x1
	bl sub_8127058
	b _08127380
	.pool
_08127378:
	ldr r0, =gStringVar1
	movs r1, 0
	bl sub_8127058
_08127380:
	movs r6, 0
	ldr r1, =gUnknown_0203A18C
	ldr r0, [r1]
	movs r3, 0xA4
	lsls r3, 3
	adds r0, r3
	ldrb r0, [r0]
	subs r0, 0x1
	cmp r6, r0
	bge _081273D6
	adds r5, r1, 0
_08127396:
	lsls r4, r6, 1
	adds r4, r6
	lsls r4, 3
	movs r0, 0xA4
	lsls r0, 1
	adds r4, r0
	ldr r0, [r5]
	adds r0, r4
	ldr r1, =gUnknown_0203A14C
	ldr r1, [r1]
	adds r1, r6
	ldrb r1, [r1]
	bl sub_8127454
	ldr r1, [r5]
	lsls r2, r6, 3
	adds r0, r1, r2
	adds r4, r1, r4
	str r4, [r0]
	adds r0, r1, 0x4
	adds r0, r2
	str r6, [r0]
	adds r0, r6, 0x1
	lsls r0, 16
	lsrs r6, r0, 16
	movs r2, 0xA4
	lsls r2, 3
	adds r1, r2
	ldrb r0, [r1]
	subs r0, 0x1
	cmp r6, r0
	blt _08127396
_081273D6:
	ldr r5, =gUnknown_0203A18C
	lsls r4, r6, 1
	adds r4, r6
	lsls r4, 3
	movs r3, 0xA4
	lsls r3, 1
	adds r4, r3
	ldr r0, [r5]
	adds r0, r4
	ldr r1, =gText_Cancel
	bl StringCopy
	ldr r0, [r5]
	lsls r2, r6, 3
	adds r1, r0, r2
	adds r4, r0, r4
	str r4, [r1]
	adds r0, 0x4
	adds r0, r2
	movs r1, 0x2
	negs r1, r1
	str r1, [r0]
	ldr r2, =gUnknown_03006310
	adds r1, r2, 0
	ldr r0, =gUnknown_085A6BD0
	ldm r0!, {r3,r4,r6}
	stm r1!, {r3,r4,r6}
	ldm r0!, {r3,r4,r6}
	stm r1!, {r3,r4,r6}
	ldr r0, =gUnknown_0203A188
	ldrb r0, [r0, 0x1]
	strb r0, [r2, 0x10]
	ldr r0, [r5]
	movs r4, 0xA4
	lsls r4, 3
	adds r1, r0, r4
	ldrb r1, [r1]
	strh r1, [r2, 0xC]
	str r0, [r2]
	ldr r6, =0x00000521
	adds r0, r6
	ldrb r0, [r0]
	strh r0, [r2, 0xE]
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127330

	thumb_func_start sub_8127454
sub_8127454: @ 8127454
	push {r4,r5,lr}
	adds r5, r0, 0
	lsls r4, r1, 16
	lsrs r4, 16
	ldr r1, =gStringVar1
	bl StringCopy
	lsls r4, 5
	ldr r0, =gUnknown_085A5C09
	adds r4, r0
	adds r0, r5, 0
	adds r1, r4, 0
	bl StringAppend
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127454

	thumb_func_start sub_8127480
sub_8127480: @ 8127480
	push {r4,lr}
	adds r4, r0, 0
	lsls r1, 24
	lsrs r1, 24
	cmp r1, 0x1
	beq _08127492
	movs r0, 0x5
	bl PlaySE
_08127492:
	adds r0, r4, 0
	bl sub_8127744
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_8127480

	thumb_func_start sub_81274A0
sub_81274A0: @ 81274A0
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	lsls r0, 24
	lsrs r6, r0, 24
	mov r8, r6
	lsls r2, 24
	lsrs r5, r2, 24
	adds r7, r5, 0
	movs r0, 0x2
	negs r0, r0
	cmp r1, r0
	beq _081274F6
	adds r0, r1, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	adds r0, r4, 0
	bl sub_81277BC
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _081274DC
	adds r3, r5, 0x2
	adds r0, r6, 0
	movs r1, 0x18
	movs r2, 0x5C
	bl blit_move_info_icon
	b _081274F6
_081274DC:
	adds r0, r4, 0
	bl sub_81277E8
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _081274F6
	adds r3, r7, 0x2
	mov r0, r8
	movs r1, 0x19
	movs r2, 0x5C
	bl blit_move_info_icon
_081274F6:
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r0}
	bx r0
	thumb_func_end sub_81274A0

	thumb_func_start sub_8127500
sub_8127500: @ 8127500
	push {r4,lr}
	sub sp, 0x10
	ldr r4, =gUnknown_0203A18C
	ldr r1, [r4]
	ldr r2, =0x00000522
	adds r0, r1, r2
	ldrb r0, [r0]
	cmp r0, 0xFF
	bne _08127540
	subs r2, 0x2
	adds r0, r1, r2
	ldrb r0, [r0]
	adds r2, 0x1
	adds r1, r2
	ldrb r1, [r1]
	subs r0, r1
	str r0, [sp]
	movs r0, 0x6E
	str r0, [sp, 0x4]
	str r0, [sp, 0x8]
	ldr r0, =gUnknown_0203A170
	str r0, [sp, 0xC]
	movs r0, 0x2
	movs r1, 0x3C
	movs r2, 0xC
	movs r3, 0x94
	bl AddScrollIndicatorArrowPairParametrized
	ldr r1, [r4]
	ldr r2, =0x00000522
	adds r1, r2
	strb r0, [r1]
_08127540:
	add sp, 0x10
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127500

	thumb_func_start sub_8127554
sub_8127554: @ 8127554
	push {r4,lr}
	ldr r4, =gUnknown_0203A18C
	ldr r0, [r4]
	ldr r2, =0x00000522
	adds r1, r0, r2
	ldrb r0, [r1]
	cmp r0, 0xFF
	beq _08127572
	bl RemoveScrollIndicatorArrowPair
	ldr r0, [r4]
	ldr r1, =0x00000522
	adds r0, r1
	movs r1, 0xFF
	strb r1, [r0]
_08127572:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127554

	thumb_func_start sub_8127580
sub_8127580: @ 8127580
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0x1
	bl sub_81269D4
	adds r0, r4, 0
	bl sub_812759C
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_8127580

	thumb_func_start sub_812759C
sub_812759C: @ 812759C
	push {r4-r6,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	lsls r5, r4, 2
	adds r5, r4
	lsls r5, 3
	ldr r0, =gTasks + 0x8
	adds r5, r0
	movs r0, 0x3
	bl sub_81269D4
	ldr r0, =gUnknown_0203A173
	ldrb r0, [r0]
	bl sub_8127718
	ldr r6, =gUnknown_0203A18C
	ldr r0, =0x00000524
	bl AllocZeroed
	str r0, [r6]
	ldr r1, =0x00000522
	adds r0, r1
	movs r1, 0xFF
	strb r1, [r0]
	bl sub_8127284
	bl sub_81272C8
	bl sub_81272F8
	adds r0, r4, 0
	bl sub_8127330
	ldr r0, =gUnknown_03006310
	ldr r1, =gUnknown_0203A170
	ldrh r1, [r1]
	ldr r2, =gUnknown_0203A16E
	ldrh r2, [r2]
	bl ListMenuInit
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r5, 0x1A]
	bl sub_8127500
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812759C

	thumb_func_start sub_8127620
sub_8127620: @ 8127620
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	adds r0, r4, 0
	bl sub_812759C
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_812764C
	str r1, [r0]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127620

	thumb_func_start sub_812764C
sub_812764C: @ 812764C
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	lsls r0, 24
	lsrs r6, r0, 24
	lsls r0, r6, 2
	adds r0, r6
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r5, r0, r1
	ldr r0, =gPaletteFade
	ldrb r1, [r0, 0x7]
	movs r0, 0x80
	ands r0, r1
	cmp r0, 0
	bne _08127700
	ldrb r0, [r5, 0x1A]
	bl ListMenuHandleInput
	adds r4, r0, 0
	ldrb r0, [r5, 0x1A]
	ldr r7, =gUnknown_0203A170
	ldr r1, =gUnknown_0203A16E
	mov r8, r1
	adds r1, r7, 0
	mov r2, r8
	bl get_coro_args_x18_x1A
	movs r0, 0x2
	negs r0, r0
	cmp r4, r0
	beq _081276A4
	adds r0, 0x1
	cmp r4, r0
	bne _081276C4
	b _08127700
	.pool
_081276A4:
	movs r0, 0x5
	bl PlaySE
	ldr r0, =gUnknown_085A6B78
	movs r2, 0x16
	ldrsh r1, [r5, r2]
	lsls r1, 3
	adds r0, 0x4
	adds r1, r0
	ldr r1, [r1]
	adds r0, r6, 0
	bl _call_via_r1
	b _08127700
	.pool
_081276C4:
	movs r0, 0x5
	bl PlaySE
	ldr r0, =gUnknown_0203A172
	strb r4, [r0]
	bl sub_8127554
	ldrb r0, [r5, 0x1A]
	adds r1, r7, 0
	mov r2, r8
	bl sub_81AE6C8
	movs r0, 0x1
	bl sub_8126A58
	bl sub_81277A8
	ldr r0, =gUnknown_0203A18C
	ldr r0, [r0]
	bl Free
	ldr r1, =gUnknown_085A6B78
	movs r2, 0x16
	ldrsh r0, [r5, r2]
	lsls r0, 3
	adds r0, r1
	ldr r1, [r0]
	adds r0, r6, 0
	bl _call_via_r1
_08127700:
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812764C

	thumb_func_start sub_8127718
sub_8127718: @ 8127718
	push {r4,lr}
	sub sp, 0x8
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0x2
	bl sub_81269D4
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0
	str r1, [sp]
	str r1, [sp, 0x4]
	adds r1, r4, 0
	movs r2, 0
	movs r3, 0
	bl sub_8126F68
	add sp, 0x8
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_8127718

	thumb_func_start sub_8127744
sub_8127744: @ 8127744
	push {r4,r5,lr}
	sub sp, 0xC
	adds r4, r0, 0
	ldr r0, =gUnknown_0203A188
	ldrb r5, [r0, 0x3]
	adds r0, r5, 0
	movs r1, 0x11
	bl FillWindowPixelBuffer
	ldr r0, =gUnknown_0203A151
	ldrb r0, [r0]
	cmp r4, r0
	bcc _08127770
	ldr r2, =gText_GoBackPrevMenu
	b _08127782
	.pool
_08127770:
	ldr r1, =gDecorations
	ldr r0, =gUnknown_0203A14C
	ldr r0, [r0]
	adds r0, r4
	ldrb r0, [r0]
	lsls r0, 5
	adds r1, 0x18
	adds r0, r1
	ldr r2, [r0]
_08127782:
	movs r0, 0x1
	str r0, [sp]
	movs r0, 0
	str r0, [sp, 0x4]
	str r0, [sp, 0x8]
	adds r0, r5, 0
	movs r1, 0x1
	movs r3, 0
	bl PrintTextOnWindow
	add sp, 0xC
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127744

	thumb_func_start sub_81277A8
sub_81277A8: @ 81277A8
	push {lr}
	movs r0, 0x3
	bl sub_8126A58
	movs r0, 0x2
	bl sub_8126A58
	pop {r0}
	bx r0
	thumb_func_end sub_81277A8

	thumb_func_start sub_81277BC
sub_81277BC: @ 81277BC
	push {lr}
	lsls r0, 24
	lsrs r2, r0, 24
	movs r1, 0
	ldr r3, =gUnknown_0203A152
_081277C6:
	adds r0, r1, r3
	ldrb r0, [r0]
	cmp r0, r2
	bne _081277D8
	movs r0, 0x1
	b _081277E4
	.pool
_081277D8:
	adds r0, r1, 0x1
	lsls r0, 24
	lsrs r1, r0, 24
	cmp r1, 0xF
	bls _081277C6
	movs r0, 0
_081277E4:
	pop {r1}
	bx r1
	thumb_func_end sub_81277BC

	thumb_func_start sub_81277E8
sub_81277E8: @ 81277E8
	push {lr}
	lsls r0, 24
	lsrs r2, r0, 24
	movs r1, 0
	ldr r3, =gUnknown_0203A162
_081277F2:
	adds r0, r1, r3
	ldrb r0, [r0]
	cmp r0, r2
	bne _08127804
	movs r0, 0x1
	b _08127810
	.pool
_08127804:
	adds r0, r1, 0x1
	lsls r0, 24
	lsrs r1, r0, 24
	cmp r1, 0xB
	bls _081277F2
	movs r0, 0
_08127810:
	pop {r1}
	bx r1
	thumb_func_end sub_81277E8

	thumb_func_start sub_8127814
sub_8127814: @ 8127814
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	movs r5, 0
	ldr r0, =gUnknown_0203A152
	movs r1, 0
	movs r2, 0x10
	bl memset
	ldr r0, =gUnknown_0203A162
	movs r1, 0
	movs r2, 0xC
	bl memset
	movs r6, 0
	ldr r0, =gSaveBlock1Ptr
	mov r10, r0
	ldr r1, =0x00001aae
	mov r9, r1
	ldr r3, =gUnknown_0203A173
	mov r8, r3
_08127842:
	mov r1, r10
	ldr r0, [r1]
	add r0, r9
	adds r0, r6
	ldrb r0, [r0]
	cmp r0, 0
	beq _081278E2
	movs r2, 0
	mov r3, r8
	ldrb r0, [r3]
	lsls r0, 3
	ldr r1, =gDecorationInventories
	adds r0, r1
	ldrb r0, [r0, 0x4]
	cmp r2, r0
	bcs _081278E2
	ldr r7, =gUnknown_0203A152
	adds r3, r1, 0
	mov r12, r3
_08127868:
	ldr r0, =gUnknown_0203A14C
	ldr r1, [r0]
	adds r1, r2
	mov r3, r10
	ldr r0, [r3]
	add r0, r9
	adds r0, r6
	ldrb r1, [r1]
	adds r4, r2, 0x1
	ldrb r0, [r0]
	cmp r1, r0
	bne _081278D0
	movs r1, 0
	cmp r1, r5
	bcs _081278A2
	ldrb r0, [r7]
	cmp r0, r4
	beq _081278A2
	ldr r3, =gUnknown_0203A152
	adds r2, r4, 0
_08127890:
	adds r0, r1, 0x1
	lsls r0, 16
	lsrs r1, r0, 16
	cmp r1, r5
	bcs _081278A2
	adds r0, r1, r3
	ldrb r0, [r0]
	cmp r0, r2
	bne _08127890
_081278A2:
	cmp r1, r5
	bne _081278D0
	adds r0, r5, r7
	strb r4, [r0]
	adds r0, r5, 0x1
	lsls r0, 16
	lsrs r5, r0, 16
	b _081278E2
	.pool
_081278D0:
	lsls r0, r4, 16
	lsrs r2, r0, 16
	mov r1, r8
	ldrb r0, [r1]
	lsls r0, 3
	add r0, r12
	ldrb r0, [r0, 0x4]
	cmp r2, r0
	bcc _08127868
_081278E2:
	adds r0, r6, 0x1
	lsls r0, 16
	lsrs r6, r0, 16
	cmp r6, 0xF
	bls _08127842
	movs r5, 0
	movs r6, 0
	ldr r3, =gDecorationInventories
	mov r8, r3
_081278F4:
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r1, =0x0000271c
	adds r0, r1
	adds r0, r6
	ldrb r0, [r0]
	adds r7, r6, 0x1
	cmp r0, 0
	beq _0812799A
	movs r2, 0
	b _0812798C
	.pool
_08127918:
	ldr r0, =gUnknown_0203A14C
	ldr r1, [r0]
	adds r1, r2
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r3, =0x0000271c
	adds r0, r3
	adds r0, r6
	ldrb r1, [r1]
	adds r4, r2, 0x1
	ldrb r0, [r0]
	cmp r1, r0
	bne _08127988
	lsls r0, r4, 24
	lsrs r0, 24
	bl sub_81277BC
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08127988
	movs r1, 0
	cmp r1, r5
	bcs _08127966
	ldr r2, =gUnknown_0203A162
	ldrb r0, [r2]
	cmp r0, r4
	beq _08127966
	adds r3, r2, 0
	adds r2, r4, 0
_08127954:
	adds r0, r1, 0x1
	lsls r0, 16
	lsrs r1, r0, 16
	cmp r1, r5
	bcs _08127966
	adds r0, r1, r3
	ldrb r0, [r0]
	cmp r0, r2
	bne _08127954
_08127966:
	cmp r1, r5
	bne _08127988
	ldr r0, =gUnknown_0203A162
	adds r0, r5, r0
	strb r4, [r0]
	adds r0, r5, 0x1
	lsls r0, 16
	lsrs r5, r0, 16
	b _0812799A
	.pool
_08127988:
	lsls r0, r4, 16
	lsrs r2, r0, 16
_0812798C:
	ldr r0, =gUnknown_0203A173
	ldrb r0, [r0]
	lsls r0, 3
	add r0, r8
	ldrb r0, [r0, 0x4]
	cmp r2, r0
	bcc _08127918
_0812799A:
	lsls r0, r7, 16
	lsrs r6, r0, 16
	cmp r6, 0xB
	bls _081278F4
	pop {r3-r5}
	mov r8, r3
	mov r9, r4
	mov r10, r5
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127814

	thumb_func_start sub_81279B4
sub_81279B4: @ 81279B4
	push {lr}
	lsls r0, 24
	lsrs r0, 24
	bl sub_8127814
	pop {r0}
	bx r0
	thumb_func_end sub_81279B4

	thumb_func_start sub_81279C4
sub_81279C4: @ 81279C4
	push {r4,lr}
	movs r2, 0
	ldr r0, =gUnknown_0203A170
	ldrh r0, [r0]
	ldr r1, =gUnknown_0203A16E
	ldrh r1, [r1]
	adds r0, r1
	adds r1, r0, 0x1
	ldr r4, =gUnknown_0203A152
	ldr r3, =gUnknown_0203A162
_081279D8:
	adds r0, r2, r4
	ldrb r0, [r0]
	cmp r0, r1
	beq _081279EC
	cmp r2, 0xB
	bhi _08127A00
	adds r0, r2, r3
	ldrb r0, [r0]
	cmp r0, r1
	bne _08127A00
_081279EC:
	movs r0, 0
	b _08127A0C
	.pool
_08127A00:
	adds r0, r2, 0x1
	lsls r0, 16
	lsrs r2, r0, 16
	cmp r2, 0xF
	bls _081279D8
	movs r0, 0x1
_08127A0C:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_81279C4

	thumb_func_start sub_8127A14
sub_8127A14: @ 8127A14
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0x1
	bl sub_81269D4
	adds r0, r4, 0
	bl sub_8127620
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_8127A14

	thumb_func_start sub_8127A30
sub_8127A30: @ 8127A30
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0
	movs r1, 0
	bl sub_8197434
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_8127A14
	str r1, [r0]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127A30

	thumb_func_start sub_8127A5C
sub_8127A5C: @ 8127A5C
	push {r4,lr}
	lsls r0, 24
	lsrs r4, r0, 24
	ldr r0, =gMain
	ldrh r1, [r0, 0x2E]
	movs r0, 0x3
	ands r0, r1
	cmp r0, 0
	beq _08127A82
	movs r0, 0
	movs r1, 0
	bl sub_8197434
	movs r0, 0x1
	bl sub_81269D4
	adds r0, r4, 0
	bl sub_8127620
_08127A82:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127A5C

	thumb_func_start sub_8127A8C
sub_8127A8C: @ 8127A8C
	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, =gTasks + 0x8
	adds r4, r0
	bl sub_8127554
	bl sub_81277A8
	ldrb r0, [r4, 0x1A]
	movs r1, 0
	movs r2, 0
	bl sub_81AE6C8
	ldr r0, =gUnknown_0203A18C
	ldr r0, [r0]
	bl Free
	adds r0, r5, 0
	bl sub_8126E44
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127A8C

	thumb_func_start sub_8127ACC
sub_8127ACC: @ 8127ACC
	push {r4,lr}
	lsls r0, 24
	lsrs r0, 24
	ldr r3, =gTasks
	lsls r2, r0, 2
	adds r2, r0
	lsls r2, 3
	adds r4, r2, r3
	ldr r0, =gSaveBlock1Ptr
	ldr r1, [r0]
	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
	.pool
	thumb_func_end sub_8127ACC

	thumb_func_start sub_8127B04
sub_8127B04: @ 8127B04
	push {r4,r5,lr}
	sub sp, 0x4
	adds r5, r0, 0
	lsls r5, 24
	lsrs r5, 24
	bl DrawWholeMapView
	ldr r0, =gSaveBlock1Ptr
	ldr r1, [r0]
	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, =gTasks
	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
	.pool
	thumb_func_end sub_8127B04

	thumb_func_start sub_8127B54
sub_8127B54: @ 8127B54
	push {lr}
	lsls r0, 24
	lsrs r2, r0, 24
	lsls r1, 24
	lsrs r1, 24
	ldr r0, =0x0000ffff
	cmp r2, 0x22
	beq _08127B7C
	cmp r2, 0x26
	bne _08127B86
	ldr r0, =gUnknown_085A72E4
	adds r0, r1, r0
	ldrb r0, [r0]
	lsls r0, 28
	lsrs r0, 16
	b _08127B86
	.pool
_08127B7C:
	ldr r0, =gUnknown_085A72EC
	adds r0, r1, r0
	ldrb r0, [r0]
	lsls r0, 28
	lsrs r0, 16
_08127B86:
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8127B54

	thumb_func_start sub_8127B90
sub_8127B90: @ 8127B90
	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 _08127BC6
	b _08127D28
_08127BC6:
	ldr r1, [sp, 0x8]
	str r1, [sp, 0x28]
	str r0, [sp, 0x2C]
_08127BCC:
	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 _08127BF0
	b _08127D18
_08127BF0:
	ldr r4, [sp, 0x10]
	lsls r4, 5
	str r4, [sp, 0x18]
	ldr r0, =gUnknown_085A5C24
	adds r0, r4, r0
	str r0, [sp, 0x1C]
	ldr r0, =gDecorations
	adds r0, r4, r0
	str r0, [sp, 0x24]
	ldr r3, [sp, 0x8]
	adds r1, r2, 0
	muls r1, r3
	str r1, [sp, 0x20]
_08127C0A:
	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_80892D8
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08127C50
	ldr r3, [sp, 0x24]
	ldrb r0, [r3, 0x11]
	cmp r0, 0x1
	beq _08127C60
	lsrs r0, r4, 28
	cmp r0, 0
	beq _08127C60
_08127C50:
	movs r4, 0xC0
	lsls r4, 4
	mov r8, r4
	b _08127C64
	.pool
_08127C60:
	movs r0, 0
	mov r8, r0
_08127C64:
	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 _08127C8E
	asrs r0, r7, 16
	asrs r1, r2, 16
	bl MapGridGetMetatileBehaviorAt
	lsls r0, 24
	lsrs r0, 24
	bl sub_8089328
	lsls r0, 24
	lsrs r0, 24
	movs r6, 0x1
	cmp r0, 0x1
	beq _08127C90
_08127C8E:
	movs r6, 0
_08127C90:
	ldr r3, [sp, 0x18]
	ldr r4, =gDecorations
	adds r0, r3, r4
	ldrb r0, [r0]
	ldr r4, [sp, 0x20]
	add r4, r10
	lsls r1, r4, 24
	lsrs r1, 24
	bl sub_8127B54
	lsls r0, 16
	lsrs r5, r0, 16
	ldr r0, =0x0000ffff
	cmp r5, r0
	beq _08127CE0
	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 _08127D06
	.pool
_08127CE0:
	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
_08127D06:
	mov r0, r10
	adds r0, 0x1
	lsls r0, 16
	lsrs r0, 16
	mov r10, r0
	ldr r4, [sp, 0x28]
	cmp r10, r4
	bcs _08127D18
	b _08127C0A
_08127D18:
	ldr r1, [sp, 0x30]
	lsls r0, r1, 16
	lsrs r2, r0, 16
	ldr r3, [sp, 0x2C]
	lsrs r0, r3, 16
	cmp r2, r0
	bcs _08127D28
	b _08127BCC
_08127D28:
	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_8127B90

	thumb_func_start sub_8127D38
sub_8127D38: @ 8127D38
	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, =gDecorations
	lsls r0, r2, 5
	adds r0, r1
	ldrb r0, [r0, 0x12]
	cmp r0, 0x9
	bhi _08127E10
	lsls r0, 2
	ldr r1, =_08127D68
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_08127D68:
	.4byte _08127D90
	.4byte _08127D9A
	.4byte _08127DA4
	.4byte _08127DB4
	.4byte _08127DBE
	.4byte _08127DC8
	.4byte _08127DD8
	.4byte _08127DE2
	.4byte _08127DF2
	.4byte _08127E02
_08127D90:
	str r2, [sp]
	adds r0, r3, 0
	adds r1, r4, 0
	movs r2, 0x1
	b _08127DAC
_08127D9A:
	str r2, [sp]
	adds r0, r3, 0
	adds r1, r4, 0
	movs r2, 0x2
	b _08127DAC
_08127DA4:
	str r2, [sp]
	adds r0, r3, 0
	adds r1, r4, 0
	movs r2, 0x3
_08127DAC:
	movs r3, 0x1
	bl sub_8127B90
	b _08127E10
_08127DB4:
	str r2, [sp]
	adds r0, r3, 0
	adds r1, r4, 0
	movs r2, 0x4
	b _08127DD0
_08127DBE:
	str r2, [sp]
	adds r0, r3, 0
	adds r1, r4, 0
	movs r2, 0x2
	b _08127DD0
_08127DC8:
	str r2, [sp]
	adds r0, r3, 0
	adds r1, r4, 0
	movs r2, 0x1
_08127DD0:
	movs r3, 0x2
	bl sub_8127B90
	b _08127E10
_08127DD8:
	str r2, [sp]
	adds r0, r3, 0
	adds r1, r4, 0
	movs r2, 0x1
	b _08127DFA
_08127DE2:
	str r2, [sp]
	adds r0, r3, 0
	adds r1, r4, 0
	movs r2, 0x2
	movs r3, 0x4
	bl sub_8127B90
	b _08127E10
_08127DF2:
	str r2, [sp]
	adds r0, r3, 0
	adds r1, r4, 0
	movs r2, 0x3
_08127DFA:
	movs r3, 0x3
	bl sub_8127B90
	b _08127E10
_08127E02:
	str r2, [sp]
	adds r0, r3, 0
	adds r1, r4, 0
	movs r2, 0x3
	movs r3, 0x2
	bl sub_8127B90
_08127E10:
	add sp, 0x4
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_8127D38

	thumb_func_start sub_8127E18
sub_8127E18: @ 8127E18
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	sub sp, 0x4
	movs r6, 0
	ldr r7, =gMapHeader
	ldr r0, =gSpecialVar_0x8005
	mov r8, r0
	ldr r1, =gSpecialVar_0x8006
	mov r10, r1
	ldr r2, =gSaveBlock1Ptr
	mov r9, r2
_08127E34:
	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 _08127F1C
	adds r0, r4, 0
	bl FlagReset
	movs r2, 0
	ldr r0, [r7, 0x4]
	ldrb r4, [r0]
	cmp r2, r4
	bcs _08127E82
	ldr r0, [r0, 0x4]
	ldrh r0, [r0, 0x14]
	cmp r0, r5
	beq _08127E82
	ldr r0, =gMapHeader
	ldr r3, [r0, 0x4]
	ldrb r6, [r3]
	adds r4, r5, 0
_08127E68:
	adds r0, r2, 0x1
	lsls r0, 24
	lsrs r2, r0, 24
	cmp r2, r6
	bcs _08127E82
	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 _08127E68
_08127E82:
	ldr r0, [r7, 0x4]
	ldr r1, [r0, 0x4]
	lsls r4, r2, 1
	adds r4, r2
	lsls r4, 3
	adds r1, r4, r1
	ldr r5, =0x00003f20
	adds r0, r5, 0
	ldrb r1, [r1, 0x1]
	adds r0, r1
	ldr r1, =gUnknown_0203A190
	ldr r1, [r1]
	ldr r1, [r1, 0x1C]
	ldrh r1, [r1]
	bl VarSet
	ldr r0, [r7, 0x4]
	ldr r0, [r0, 0x4]
	adds r4, r0
	ldrb r0, [r4]
	mov r6, r8
	strh r0, [r6]
	ldr r1, =gUnknown_0203AA34
	ldrh r1, [r1]
	mov r2, r10
	strh r1, [r2]
	ldr r1, =gUnknown_0203AA36
	ldrh r1, [r1]
	ldr r4, =gSpecialVar_0x8007
	strh r1, [r4]
	mov r5, r9
	ldr r2, [r5]
	ldrb r1, [r2, 0x5]
	ldrb r2, [r2, 0x4]
	bl show_sprite
	ldrb r0, [r6]
	ldr r2, [r5]
	ldrb r1, [r2, 0x5]
	ldrb r2, [r2, 0x4]
	mov r6, r10
	movs r4, 0
	ldrsh r3, [r6, r4]
	ldr r5, =gSpecialVar_0x8007
	movs r6, 0
	ldrsh r4, [r5, r6]
	str r4, [sp]
	bl sub_808EBA8
	mov r1, r8
	ldrb r0, [r1]
	mov r4, r9
	ldr r2, [r4]
	ldrb r1, [r2, 0x5]
	ldrb r2, [r2, 0x4]
	bl sub_808F254
	b _08127F26
	.pool
_08127F1C:
	adds r0, r6, 0x1
	lsls r0, 24
	lsrs r6, r0, 24
	cmp r6, 0xD
	bls _08127E34
_08127F26:
	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_8127E18

	thumb_func_start sub_8127F38
sub_8127F38: @ 8127F38
	push {lr}
	movs r1, 0
	ldr r0, =gUnknown_0203A17C
	ldrb r2, [r0, 0x8]
	cmp r1, r2
	bcs _08127F62
	ldr r3, [r0]
_08127F46:
	adds r0, r3, r1
	ldrb r0, [r0]
	cmp r0, 0
	bne _08127F58
	movs r0, 0x1
	b _08127F64
	.pool
_08127F58:
	adds r0, r1, 0x1
	lsls r0, 16
	lsrs r1, r0, 16
	cmp r1, r2
	bcc _08127F46
_08127F62:
	movs r0, 0
_08127F64:
	pop {r1}
	bx r1
	thumb_func_end sub_8127F38

	thumb_func_start sub_8127F68
sub_8127F68: @ 8127F68
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	ldr r0, =gUnknown_0203A17C
	ldrb r0, [r0, 0x9]
	cmp r0, 0x1
	bne _08127FAC
	ldr r0, =gUnknown_0203A173
	ldrb r0, [r0]
	cmp r0, 0x6
	beq _08127FAC
	cmp r0, 0x7
	beq _08127FAC
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EA9AE
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_8127A5C
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
	b _0812804C
	.pool
_08127FAC:
	bl sub_81279C4
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _08128038
	bl sub_8127F38
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _08127FE8
	movs r0, 0x1
	movs r1, 0
	bl fade_screen
	ldr r1, =gTasks
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	adds r0, r1
	movs r1, 0
	strh r1, [r0, 0xC]
	ldr r1, =sub_8128060
	str r1, [r0]
	b _0812804C
	.pool
_08127FE8:
	ldr r0, =gStringVar1
	ldr r4, =gUnknown_0203A17C
	ldrb r1, [r4, 0x8]
	movs r2, 0x1
	movs r3, 0x2
	bl ConvertIntToDecimalStringN
	ldrb r0, [r4, 0x9]
	cmp r0, 0
	bne _08128018
	ldr r0, =gStringVar4
	ldr r1, =gUnknown_085EA8EA
	bl StringExpandPlaceholders
	b _08128020
	.pool
_08128018:
	ldr r0, =gStringVar4
	ldr r1, =gUnknown_085EA931
	bl StringExpandPlaceholders
_08128020:
	ldr r1, =gStringVar4
	ldr r2, =sub_8127A5C
	adds r0, r5, 0
	bl DisplayItemMessageOnField
	b _0812804C
	.pool
_08128038:
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EA8D2
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_8127A5C
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
_0812804C:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8127F68

	thumb_func_start sub_8128060
sub_8128060: @ 8128060
	push {r4-r7,lr}
	lsls r0, 24
	lsrs r6, r0, 24
	ldr r1, =gTasks
	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 _081280AC
	cmp r0, 0x1
	bgt _08128088
	cmp r0, 0
	beq _0812808E
	b _08128112
	.pool
_08128088:
	cmp r0, 0x2
	beq _081280FC
	b _08128112
_0812808E:
	ldr r0, =gPaletteFade
	ldrb r1, [r0, 0x7]
	movs r0, 0x80
	ands r0, r1
	cmp r0, 0
	bne _08128112
	adds r0, r6, 0
	bl sub_8127ACC
	movs r0, 0x1
	strh r0, [r7, 0xC]
	b _08128112
	.pool
_081280AC:
	ldr r4, =gPaletteFade
	ldrb r0, [r4, 0x8]
	movs r1, 0x80
	orrs r0, r1
	strb r0, [r4, 0x8]
	ldr r5, =gUnknown_0203A190
	ldr r0, =gUnknown_0203A172
	ldrb r1, [r0]
	ldr r0, =gUnknown_0203A14C
	ldr r0, [r0]
	adds r0, r1
	ldrb r1, [r0]
	adds r0, r5, 0
	bl ConfigureCameraObjectForPlacingDecoration
	adds r0, r6, 0
	bl sub_812826C
	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 _08128112
	.pool
_081280FC:
	bl sub_80ABDFC
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _08128112
	movs r0, 0
	strh r0, [r7, 0x20]
	adds r0, r6, 0
	bl sub_8128FD8
_08128112:
	pop {r4-r7}
	pop {r0}
	bx r0
	thumb_func_end sub_8128060

	thumb_func_start ConfigureCameraObjectForPlacingDecoration
ConfigureCameraObjectForPlacingDecoration: @ 8128118
	push {r4-r6,lr}
	adds r6, r0, 0
	lsls r1, 24
	lsrs r1, 24
	ldr r3, =gUnknown_0203AA38
	ldr r4, =gSprites
	ldr r5, =gUnknown_03005DD0
	ldr r2, [r5, 0x4]
	lsls r0, r2, 4
	adds r0, r2
	lsls r0, 2
	adds r0, r4
	ldrh r0, [r0, 0x2E]
	strb r0, [r3]
	adds r0, r6, 0
	bl gpu_pal_decompress_alloc_tag_and_upload
	lsls r0, 24
	lsrs r0, 24
	str r0, [r5, 0x4]
	lsls r1, r0, 4
	adds r1, r0
	lsls r1, 2
	adds r1, r4
	ldrb r2, [r1, 0x5]
	movs r0, 0xD
	negs r0, r0
	ands r0, r2
	movs r2, 0x4
	orrs r0, r2
	strb r0, [r1, 0x5]
	ldr r0, [r5, 0x4]
	lsls r2, r0, 4
	adds r2, r0
	lsls r2, 2
	adds r0, r4, 0
	adds r0, 0x1C
	adds r0, r2, r0
	ldr r1, =sub_81292D0
	str r1, [r0]
	adds r2, r4
	ldr r3, =gUnknown_085A7250
	ldr r0, [r6]
	ldrb r0, [r0, 0x12]
	lsls r0, 2
	adds r0, r3
	ldrb r0, [r0, 0x2]
	strh r0, [r2, 0x20]
	ldr r0, [r5, 0x4]
	lsls r1, r0, 4
	adds r1, r0
	lsls r1, 2
	adds r1, r4
	ldr r0, [r6]
	ldrb r0, [r0, 0x12]
	lsls r0, 2
	adds r0, r3
	ldrb r0, [r0, 0x3]
	strh r0, [r1, 0x22]
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end ConfigureCameraObjectForPlacingDecoration

	thumb_func_start SetUpPlacingDecorationPlayerAvatar
SetUpPlacingDecorationPlayerAvatar: @ 81281A8
	push {r4,lr}
	sub sp, 0x4
	lsls r0, 24
	lsrs r0, 24
	ldr r3, =gTasks
	lsls r2, r0, 2
	adds r2, r0
	lsls r2, 3
	adds r2, r3
	ldrb r2, [r2, 0x12]
	ldr r3, =gUnknown_085A7250
	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 _081281E2
	cmp r4, 0x8
	beq _081281E2
	cmp r4, 0x9
	bne _081281EA
_081281E2:
	adds r0, r2, 0
	subs r0, 0x8
	lsls r0, 24
	lsrs r2, r0, 24
_081281EA:
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldrb r0, [r0, 0x8]
	cmp r0, 0
	bne _0812820C
	ldr r1, =SpriteCallbackDummy
	str r0, [sp]
	movs r0, 0xC1
	b _08128214
	.pool
_0812820C:
	ldr r1, =SpriteCallbackDummy
	movs r0, 0
	str r0, [sp]
	movs r0, 0xC2
_08128214:
	movs r3, 0x48
	bl AddPseudoFieldObject
	ldr r1, =gUnknown_0203AA39
	strb r0, [r1]
	ldr r3, =gSprites
	ldr r0, =gUnknown_0203AA39
	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, =gUnknown_0203AA38
	ldrb r1, [r4]
	lsls r0, r1, 4
	adds r0, r1
	lsls r0, 2
	adds r0, r3
	bl DestroySprite
	ldr r0, =gUnknown_03005DD0
	ldr r0, [r0, 0x4]
	strb r0, [r4]
	add sp, 0x4
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end SetUpPlacingDecorationPlayerAvatar

	thumb_func_start sub_812826C
sub_812826C: @ 812826C
	push {lr}
	lsls r0, 24
	lsrs r3, r0, 24
	ldr r2, =gDecorations
	ldr r0, =gUnknown_0203A172
	ldrb r1, [r0]
	ldr r0, =gUnknown_0203A14C
	ldr r0, [r0]
	adds r0, r1
	ldrb r0, [r0]
	lsls r0, 5
	adds r0, r2
	ldrb r0, [r0, 0x12]
	cmp r0, 0x9
	bls _0812828C
	b _081283B2
_0812828C:
	lsls r0, 2
	ldr r1, =_081282A8
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_081282A8:
	.4byte _081282D0
	.4byte _081282E4
	.4byte _081282FC
	.4byte _08128314
	.4byte _08128328
	.4byte _0812833C
	.4byte _08128350
	.4byte _08128370
	.4byte _08128388
	.4byte _081283A0
_081282D0:
	ldr r0, =gTasks
	lsls r1, r3, 2
	adds r1, r3
	lsls r1, 3
	adds r1, r0
	movs r0, 0x1
	b _08128394
	.pool
_081282E4:
	ldr r1, =gTasks
	lsls r0, r3, 2
	adds r0, r3
	lsls r0, 3
	adds r0, r1
	movs r1, 0x2
	strh r1, [r0, 0x12]
	movs r1, 0x1
	b _081283B0
	.pool
_081282FC:
	ldr r1, =gTasks
	lsls r0, r3, 2
	adds r0, r3
	lsls r0, 3
	adds r0, r1
	movs r1, 0x3
	strh r1, [r0, 0x12]
	movs r1, 0x1
	b _081283B0
	.pool
_08128314:
	ldr r1, =gTasks
	lsls r0, r3, 2
	adds r0, r3
	lsls r0, 3
	adds r0, r1
	movs r1, 0x4
	b _081283AC
	.pool
_08128328:
	ldr r0, =gTasks
	lsls r1, r3, 2
	adds r1, r3
	lsls r1, 3
	adds r1, r0
	movs r0, 0x2
	b _08128394
	.pool
_0812833C:
	ldr r1, =gTasks
	lsls r0, r3, 2
	adds r0, r3
	lsls r0, 3
	adds r0, r1
	movs r1, 0x1
	b _081283AC
	.pool
_08128350:
	ldr r0, =gTasks
	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 _081283B2
	.pool
_08128370:
	ldr r1, =gTasks
	lsls r0, r3, 2
	adds r0, r3
	lsls r0, 3
	adds r0, r1
	movs r1, 0x2
	strh r1, [r0, 0x12]
	movs r1, 0x4
	b _081283B0
	.pool
_08128388:
	ldr r0, =gTasks
	lsls r1, r3, 2
	adds r1, r3
	lsls r1, 3
	adds r1, r0
	movs r0, 0x3
_08128394:
	strh r0, [r1, 0x12]
	strh r0, [r1, 0x14]
	b _081283B2
	.pool
_081283A0:
	ldr r1, =gTasks
	lsls r0, r3, 2
	adds r0, r3
	lsls r0, 3
	adds r0, r1
	movs r1, 0x3
_081283AC:
	strh r1, [r0, 0x12]
	movs r1, 0x2
_081283B0:
	strh r1, [r0, 0x14]
_081283B2:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812826C

	thumb_func_start sub_81283BC
sub_81283BC: @ 81283BC
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	movs r1, 0
	strh r1, [r0, 0x1C]
	ldr r3, =gSprites
	ldr r0, =gUnknown_0203AA38
	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, =gUnknown_0203AA39
	ldrb r1, [r0]
	lsls r0, r1, 4
	adds r0, r1
	lsls r0, 2
	adds r0, r3
	strh r2, [r0, 0x3C]
	bl sub_8128DE0
	adds r0, r4, 0
	bl sub_8128950
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81283BC

	thumb_func_start sub_8128414
sub_8128414: @ 8128414
	push {r4,r5,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	movs r1, 0
	strh r1, [r0, 0x1C]
	ldr r3, =gSprites
	ldr r0, =gUnknown_0203AA38
	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, =gUnknown_0203AA39
	ldrb r1, [r0]
	lsls r0, r1, 4
	adds r0, r1
	lsls r0, 2
	adds r0, r3
	strh r2, [r0, 0x3C]
	bl sub_8128DE0
	ldr r5, =gStringVar4
	ldr r1, =gUnknown_085EA8BF
	adds r0, r5, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_8128B80
	adds r0, r4, 0
	adds r1, r5, 0
	bl DisplayItemMessageOnField
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8128414

	thumb_func_start sub_8128484
sub_8128484: @ 8128484
	push {r4,lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r1, 16
	lsrs r4, r1, 16
	bl sub_80892C4
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0812849E
	cmp r4, 0
	beq _081284A2
_0812849E:
	movs r0, 0
	b _081284A4
_081284A2:
	movs r0, 0x1
_081284A4:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_8128484

	thumb_func_start sub_81284AC
sub_81284AC: @ 81284AC
	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, =gTasks
	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 _081284EC
	lsls r1, r4, 16
	asrs r1, 16
	movs r3, 0x10
	ldrsh r0, [r2, r3]
	adds r0, 0x7
	cmp r1, r0
	bne _081284EC
	cmp r5, 0
	beq _081284EC
	movs r0, 0
	b _081284EE
	.pool
_081284EC:
	movs r0, 0x1
_081284EE:
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end sub_81284AC

	thumb_func_start sub_81284F4
sub_81284F4: @ 81284F4
	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_80892C4
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08128534
	ldrb r0, [r5]
	cmp r0, 0x21
	bne _08128522
	adds r0, r4, 0
	bl sub_8089378
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08128530
_08128522:
	lsls r0, r6, 24
	lsrs r0, 24
	bl sub_8089314
	lsls r0, 24
	cmp r0, 0
	beq _08128534
_08128530:
	movs r0, 0x1
	b _08128536
_08128534:
	movs r0, 0
_08128536:
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_81284F4

	thumb_func_start sub_812853C
sub_812853C: @ 812853C
	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, =gTasks
	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 _0812856E
	b _0812893C
_0812856E:
	lsls r0, 2
	ldr r1, =_08128580
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_08128580:
	.4byte _08128594
	.4byte _08128594
	.4byte _08128680
	.4byte _08128834
	.4byte _081288B8
_08128594:
	movs r6, 0
	ldr r0, [sp, 0x4]
	cmp r6, r0
	bcc _0812859E
	b _0812893C
_0812859E:
	mov r1, r10
	lsls r1, 2
	str r1, [sp, 0x1C]
_081285A4:
	mov r2, r10
	lsls r0, r2, 2
	add r0, r10
	lsls r0, 3
	ldr r3, =gTasks
	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 _0812866E
	mov r1, r9
	lsls r1, 16
	str r1, [sp, 0xC]
	asrs r1, 16
	mov r9, r1
_081285D0:
	ldr r0, [sp, 0x1C]
	add r0, r10
	lsls r0, 3
	ldr r2, =gTasks
	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_81284F4
	lsls r0, 24
	cmp r0, 0
	bne _08128632
	b _0812890C
_08128632:
	mov r0, r10
	adds r1, r6, 0
	mov r2, r9
	adds r3, r5, 0
	bl sub_81284AC
	lsls r0, 24
	cmp r0, 0
	bne _08128646
	b _0812890C
_08128646:
	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 _08128662
	cmp r4, 0x10
	beq _08128662
	b _0812890C
_08128662:
	adds r0, r7, 0x1
	lsls r0, 24
	lsrs r7, r0, 24
	ldr r3, [sp, 0x8]
	cmp r7, r3
	bcc _081285D0
_0812866E:
	ldr r1, [sp, 0x14]
	lsls r0, r1, 24
	lsrs r6, r0, 24
	ldr r2, [sp, 0x4]
	cmp r6, r2
	bcc _081285A4
	b _0812893C
	.pool
_08128680:
	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 _0812876C
	adds r0, r3, 0
	add r0, r10
	lsls r0, 3
	str r0, [sp, 0x10]
_0812869A:
	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 _08128760
	lsls r0, 16
	str r0, [sp, 0x20]
_081286B8:
	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_8089314
	lsls r0, 24
	cmp r0, 0
	bne _08128724
	adds r0, r4, 0
	adds r1, r5, 0
	bl sub_8128484
	lsls r0, 24
	cmp r0, 0
	bne _08128724
	b _0812890C
_08128724:
	mov r0, r10
	adds r1, r6, 0
	ldr r3, [sp, 0x20]
	asrs r2, r3, 16
	adds r3, r5, 0
	bl sub_81284AC
	lsls r0, 24
	cmp r0, 0
	bne _0812873A
	b _0812890C
_0812873A:
	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 _08128752
	b _0812890C
_08128752:
	adds r0, r7, 0x1
	lsls r0, 24
	lsrs r7, r0, 24
	ldr r2, =gTasks
	ldr r3, [sp, 0x8]
	cmp r7, r3
	bcc _081286B8
_08128760:
	ldr r1, [sp, 0x14]
	lsls r0, r1, 24
	lsrs r6, r0, 24
	ldr r3, [sp, 0x18]
	cmp r6, r3
	blt _0812869A
_0812876C:
	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 _0812878C
	b _0812893C
_0812878C:
	lsls r0, 16
	str r0, [sp, 0x20]
_08128790:
	ldr r0, [sp, 0x1C]
	add r0, r10
	lsls r0, 3
	ldr r1, =gTasks
	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_8089314
	lsls r0, 24
	cmp r0, 0
	bne _081287F2
	adds r0, r4, 0
	bl sub_8089328
	lsls r0, 24
	cmp r0, 0
	bne _081287F2
	b _0812890C
_081287F2:
	mov r0, r10
	adds r1, r6, 0
	ldr r3, [sp, 0x20]
	asrs r2, r3, 16
	adds r3, r5, 0
	bl sub_81284AC
	lsls r0, 24
	cmp r0, 0
	bne _08128808
	b _0812890C
_08128808:
	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 _08128822
	cmp r4, 0x10
	bne _0812890C
_08128822:
	adds r0, r7, 0x1
	lsls r0, 24
	lsrs r7, r0, 24
	ldr r3, [sp, 0x8]
	cmp r7, r3
	bcc _08128790
	b _0812893C
	.pool
_08128834:
	movs r6, 0
	ldr r0, [sp, 0x4]
	cmp r6, r0
	bcc _0812883E
	b _0812893C
_0812883E:
	mov r1, r10
	lsls r0, r1, 2
	add r0, r10
	lsls r1, r0, 3
	ldr r2, =gTasks
	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 _081288A4
	adds r0, r2, 0
	adds r1, r0
	mov r8, r1
	mov r1, r9
	lsls r0, r1, 16
	asrs r5, r0, 16
_08128868:
	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_8089328
	lsls r0, 24
	cmp r0, 0
	beq _0812890C
	adds r0, r4, 0
	adds r1, r5, 0x1
	bl MapGridGetMetatileIdAt
	movs r1, 0xA3
	lsls r1, 2
	cmp r0, r1
	beq _0812890C
	adds r0, r7, 0x1
	lsls r0, 24
	lsrs r7, r0, 24
	ldr r3, [sp, 0x8]
	cmp r7, r3
	bcc _08128868
_081288A4:
	adds r0, r6, 0x1
	lsls r0, 24
	lsrs r6, r0, 24
	ldr r0, [sp, 0x4]
	cmp r6, r0
	bcc _0812883E
	b _0812893C
	.pool
_081288B8:
	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 _0812893C
	adds r6, r2, 0
	mov r1, r9
	lsls r1, 16
	str r1, [sp, 0x20]
_081288D8:
	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 _08128910
_08128900:
	adds r0, r4, 0
	bl sub_8089364
	lsls r0, 24
	cmp r0, 0
	bne _0812891C
_0812890C:
	movs r0, 0
	b _0812893E
_08128910:
	adds r0, r4, 0
	bl sub_8089350
	lsls r0, 24
	cmp r0, 0
	beq _08128900
_0812891C:
	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 _0812890C
	adds r0, r7, 0x1
	lsls r0, 24
	lsrs r7, r0, 24
	ldr r3, [sp, 0x8]
	cmp r7, r3
	bcc _081288D8
_0812893C:
	movs r0, 0x1
_0812893E:
	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_812853C

	thumb_func_start sub_8128950
sub_8128950: @ 8128950
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	ldr r0, =gUnknown_0203A172
	ldrb r1, [r0]
	ldr r0, =gUnknown_0203A14C
	ldr r0, [r0]
	adds r0, r1
	ldrb r1, [r0]
	lsls r1, 5
	ldr r0, =gDecorations
	adds r1, r0
	adds r0, r5, 0
	bl sub_812853C
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _081289A4
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EA897
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_81289D0
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
	b _081289BE
	.pool
_081289A4:
	movs r0, 0x20
	bl PlaySE
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EA8A6
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_8129020
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
_081289BE:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8128950

	thumb_func_start sub_81289D0
sub_81289D0: @ 81289D0
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	bl sub_8197930
	ldr r1, =gUnknown_085A72C4
	adds r0, r4, 0
	bl sub_8121F68
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81289D0

	thumb_func_start sub_81289F0
sub_81289F0: @ 81289F0
	push {r4,lr}
	lsls r0, 24
	lsrs r4, r0, 24
	movs r0, 0
	movs r1, 0
	bl sub_8197434
	adds r0, r4, 0
	bl sub_8128AAC
	ldr r2, =gDecorations
	ldr r0, =gUnknown_0203A172
	ldrb r1, [r0]
	ldr r0, =gUnknown_0203A14C
	ldr r0, [r0]
	adds r0, r1
	ldrb r3, [r0]
	lsls r0, r3, 5
	adds r0, r2
	ldrb r0, [r0, 0x11]
	cmp r0, 0x4
	beq _08128A44
	ldr r0, =gTasks
	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_8127D38
	b _08128A64
	.pool
_08128A44:
	ldr r2, =gUnknown_0203AA34
	ldr r0, =gTasks
	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, =gUnknown_0203AA36
	ldrh r0, [r1, 0xA]
	subs r0, 0x7
	strh r0, [r2]
	ldr r0, =gUnknown_08275D1F
	bl ScriptContext1_SetupScript
_08128A64:
	ldr r2, =gSprites
	ldr r0, =gUnknown_0203AA38
	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]
	ldr r0, =gMapHeader
	ldrb r0, [r0, 0x14]
	cmp r0, 0x56
	bne _08128A84
	bl sub_80EE104
_08128A84:
	adds r0, r4, 0
	bl sub_8128BBC
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81289F0

	thumb_func_start sub_8128AAC
sub_8128AAC: @ 8128AAC
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r6, r0, 24
	movs r3, 0
	ldr r0, =gUnknown_0203A17C
	ldrb r1, [r0, 0x8]
	adds r5, r0, 0
	cmp r3, r1
	bcs _08128AD2
	ldr r4, [r5]
_08128AC0:
	adds r2, r4, r3
	ldrb r0, [r2]
	cmp r0, 0
	beq _08128AF0
	adds r0, r3, 0x1
	lsls r0, 16
	lsrs r3, r0, 16
	cmp r3, r1
	bcc _08128AC0
_08128AD2:
	ldrb r0, [r5, 0x9]
	cmp r0, 0
	bne _08128B3C
	movs r3, 0
	ldr r0, =gUnknown_0203A152
	ldrb r1, [r0]
	adds r2, r0, 0
	cmp r1, 0
	bne _08128B28
	b _08128B48
	.pool
_08128AF0:
	ldr r0, =gUnknown_0203A172
	ldrb r1, [r0]
	ldr r0, =gUnknown_0203A14C
	ldr r0, [r0]
	adds r0, r1
	ldrb r0, [r0]
	strb r0, [r2]
	ldr r2, [r5, 0x4]
	adds r2, r3
	ldr r0, =gTasks
	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 _08128AD2
	.pool
_08128B28:
	adds r0, r3, 0x1
	lsls r0, 16
	lsrs r3, r0, 16
	cmp r3, 0xF
	bhi _08128B76
	adds r1, r3, r2
	ldrb r0, [r1]
	cmp r0, 0
	bne _08128B28
	b _08128B6E
_08128B3C:
	movs r3, 0
	ldr r0, =gUnknown_0203A162
	ldrb r1, [r0]
	adds r2, r0, 0
	cmp r1, 0
	bne _08128B5C
_08128B48:
	ldr r0, =gUnknown_0203A172
	ldrb r0, [r0]
	adds r0, 0x1
	strb r0, [r2]
	b _08128B76
	.pool
_08128B5C:
	adds r0, r3, 0x1
	lsls r0, 16
	lsrs r3, r0, 16
	cmp r3, 0xB
	bhi _08128B76
	adds r1, r3, r2
	ldrb r0, [r1]
	cmp r0, 0
	bne _08128B5C
_08128B6E:
	ldr r0, =gUnknown_0203A172
	ldrb r0, [r0]
	adds r0, 0x1
	strb r0, [r1]
_08128B76:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8128AAC

	thumb_func_start sub_8128B80
sub_8128B80: @ 8128B80
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	bl sub_8197930
	ldr r1, =gUnknown_085A72CC
	adds r0, r4, 0
	bl sub_8121F68
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8128B80

	thumb_func_start sub_8128BA0
sub_8128BA0: @ 8128BA0
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0
	movs r1, 0
	bl sub_8197434
	adds r0, r4, 0
	bl sub_8128BBC
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_8128BA0

	thumb_func_start sub_8128BBC
sub_8128BBC: @ 8128BBC
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0x1
	movs r1, 0
	bl fade_screen
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	movs r1, 0
	strh r1, [r0, 0xC]
	ldr r1, =c1_overworld_prev_quest
	str r1, [r0]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8128BBC

	thumb_func_start c1_overworld_prev_quest
c1_overworld_prev_quest: @ 8128BEC
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r4, r0, 24
	ldr r1, =gTasks
	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 _08128C10
	cmp r0, 0x1
	beq _08128C30
	b _08128C4C
	.pool
_08128C10:
	bl ScriptContext2_Enable
	ldr r0, =gPaletteFade
	ldrb r1, [r0, 0x7]
	movs r0, 0x80
	ands r0, r1
	cmp r0, 0
	bne _08128C4C
	adds r0, r4, 0
	bl sub_8127B04
	movs r0, 0x1
	strh r0, [r5, 0xC]
	b _08128C4C
	.pool
_08128C30:
	bl sub_812A3C8
	ldr r0, =0x00000be5
	bl FreeSpritePaletteByTag
	ldr r1, =gUnknown_03005DAC
	ldr r0, =sub_8128CD4
	str r0, [r1]
	ldr r0, =c2_exit_to_overworld_2_switch
	bl SetMainCallback2
	adds r0, r4, 0
	bl DestroyTask
_08128C4C:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end c1_overworld_prev_quest

	thumb_func_start sub_8128C64
sub_8128C64: @ 8128C64
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r1, r0, 2
	adds r1, r0
	lsls r5, r1, 3
	ldr r6, =gTasks + 0x8
	adds r4, r5, r6
	movs r1, 0x4
	ldrsh r0, [r4, r1]
	cmp r0, 0x1
	beq _08128C9C
	cmp r0, 0x1
	bgt _08128C8C
	cmp r0, 0
	beq _08128C96
	b _08128CCA
	.pool
_08128C8C:
	cmp r0, 0x2
	beq _08128CA8
	cmp r0, 0x3
	beq _08128CB4
	b _08128CCA
_08128C96:
	bl sub_80E9578
	b _08128CAC
_08128C9C:
	ldr r0, =gUnknown_08275D0C
	bl ScriptContext1_SetupScript
	b _08128CAC
	.pool
_08128CA8:
	bl ScriptContext2_Enable
_08128CAC:
	ldrh r0, [r4, 0x4]
	adds r0, 0x1
	strh r0, [r4, 0x4]
	b _08128CCA
_08128CB4:
	bl sub_80ABDFC
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _08128CCA
	adds r0, r6, 0
	subs r0, 0x8
	adds r0, r5, r0
	ldr r1, =sub_812764C
	str r1, [r0]
_08128CCA:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8128C64

	thumb_func_start sub_8128CD4
sub_8128CD4: @ 8128CD4
	push {r4,lr}
	bl ScriptContext2_Enable
	bl pal_fill_black
	ldr r0, =sub_8128C64
	movs r1, 0x8
	bl CreateTask
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	adds r0, r4, 0
	bl sub_8127580
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	movs r1, 0
	strh r1, [r0, 0xC]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8128CD4

	thumb_func_start sub_8128D10
sub_8128D10: @ 8128D10
	push {r4,lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	ldr r0, =gTasks + 0x8
	adds r2, r1, r0
	ldr r0, =gUnknown_0203AA3A
	ldrb r1, [r0]
	adds r3, r0, 0
	cmp r1, 0x1
	bne _08128D48
	movs r1, 0x2
	ldrsh r0, [r2, r1]
	movs r4, 0xC
	ldrsh r1, [r2, r4]
	subs r0, r1
	subs r0, 0x6
	cmp r0, 0
	bge _08128D48
	ldrh r0, [r2, 0x2]
	adds r0, 0x1
	b _08128D62
	.pool
_08128D48:
	ldrb r0, [r3]
	cmp r0, 0x2
	bne _08128D6C
	movs r0, 0x2
	ldrsh r1, [r2, r0]
	subs r1, 0x7
	ldr r0, =gMapHeader
	ldr r0, [r0]
	ldr r0, [r0, 0x4]
	cmp r1, r0
	blt _08128D6C
	ldrh r0, [r2, 0x2]
	subs r0, 0x1
_08128D62:
	strh r0, [r2, 0x2]
	movs r0, 0
	b _08128DAE
	.pool
_08128D6C:
	ldrb r0, [r3]
	cmp r0, 0x3
	bne _08128D82
	movs r1, 0
	ldrsh r0, [r2, r1]
	subs r0, 0x7
	cmp r0, 0
	bge _08128D82
	ldrh r0, [r2]
	adds r0, 0x1
	b _08128DA2
_08128D82:
	ldrb r0, [r3]
	cmp r0, 0x4
	bne _08128DAC
	movs r3, 0
	ldrsh r1, [r2, r3]
	movs r4, 0xA
	ldrsh r0, [r2, r4]
	adds r1, r0
	subs r1, 0x8
	ldr r0, =gMapHeader
	ldr r0, [r0]
	ldr r0, [r0]
	cmp r1, r0
	blt _08128DAC
	ldrh r0, [r2]
	subs r0, 0x1
_08128DA2:
	strh r0, [r2]
	movs r0, 0
	b _08128DAE
	.pool
_08128DAC:
	movs r0, 0x1
_08128DAE:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_8128D10

	thumb_func_start sub_8128DB4
sub_8128DB4: @ 8128DB4
	push {lr}
	ldr r0, =gMain
	ldrh r0, [r0, 0x2C]
	movs r1, 0xF0
	ands r1, r0
	cmp r1, 0x40
	beq _08128DD8
	cmp r1, 0x80
	beq _08128DD8
	cmp r1, 0x20
	beq _08128DD8
	cmp r1, 0x10
	beq _08128DD8
	movs r0, 0
	b _08128DDA
	.pool
_08128DD8:
	movs r0, 0x1
_08128DDA:
	pop {r1}
	bx r1
	thumb_func_end sub_8128DB4

	thumb_func_start sub_8128DE0
sub_8128DE0: @ 8128DE0
	push {r4,lr}
	ldr r1, =gUnknown_0203AA3A
	movs r0, 0
	strb r0, [r1]
	ldr r4, =gSprites
	ldr r3, =gUnknown_0203AA38
	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
	.pool
	thumb_func_end sub_8128DE0

	thumb_func_start sub_8128E18
sub_8128E18: @ 8128E18
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	lsls r0, 24
	lsrs r2, r0, 24
	mov r8, r2
	lsls r0, r2, 2
	adds r0, r2
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r4, r0, r1
	ldr r5, =gSprites
	ldr r3, =gUnknown_0203AA38
	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 _08128E46
	b _08128F66
_08128E46:
	movs r1, 0x14
	ldrsh r0, [r4, r1]
	cmp r0, 0x1
	bne _08128E68
	ldr r0, =gUnknown_085A72D4
	movs r3, 0x18
	ldrsh r1, [r4, r3]
	lsls r1, 3
	b _08128E76
	.pool
_08128E68:
	cmp r0, 0x2
	bne _08128E88
	ldr r0, =gUnknown_085A72D4
	movs r3, 0x18
	ldrsh r1, [r4, r3]
	lsls r1, 3
	adds r0, 0x4
_08128E76:
	adds r1, r0
	ldr r1, [r1]
	adds r0, r2, 0
	bl _call_via_r1
	b _08128FBA
	.pool
_08128E88:
	ldr r2, =gMain
	ldrh r1, [r2, 0x2C]
	movs r7, 0xF0
	adds r0, r7, 0
	ands r0, r1
	cmp r0, 0x40
	bne _08128EBC
	ldr r1, =gUnknown_0203AA3A
	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, =0x0000fffe
	strh r1, [r0, 0x34]
	ldrh r0, [r4, 0x2]
	subs r0, 0x1
	strh r0, [r4, 0x2]
_08128EBC:
	ldrh r1, [r2, 0x2C]
	adds r0, r7, 0
	ands r0, r1
	cmp r0, 0x80
	bne _08128EEC
	ldr r1, =gUnknown_0203AA3A
	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, [r4, 0x2]
	adds r0, 0x1
	strh r0, [r4, 0x2]
_08128EEC:
	ldrh r1, [r2, 0x2C]
	adds r0, r7, 0
	ands r0, r1
	cmp r0, 0x20
	bne _08128F1C
	ldr r1, =gUnknown_0203AA3A
	movs r0, 0x3
	strb r0, [r1]
	ldrb r1, [r3]
	lsls r0, r1, 4
	adds r0, r1
	lsls r0, 2
	adds r0, r5
	ldr r1, =0x0000fffe
	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, [r4]
	subs r0, 0x1
	strh r0, [r4]
_08128F1C:
	ldrh r1, [r2, 0x2C]
	adds r0, r7, 0
	ands r0, r1
	cmp r0, 0x10
	bne _08128F4C
	ldr r1, =gUnknown_0203AA3A
	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, [r4]
	adds r0, 0x1
	strh r0, [r4]
_08128F4C:
	bl sub_8128DB4
	lsls r0, 24
	cmp r0, 0
	beq _08128F62
	mov r0, r8
	bl sub_8128D10
	lsls r0, 24
	cmp r0, 0
	bne _08128F66
_08128F62:
	bl sub_8128DE0
_08128F66:
	ldr r0, =gUnknown_0203AA3A
	ldrb r0, [r0]
	cmp r0, 0
	beq _08128F94
	ldr r3, =gSprites
	ldr r2, =gUnknown_0203AA38
	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]
_08128F94:
	movs r1, 0x14
	ldrsh r0, [r4, r1]
	cmp r0, 0
	bne _08128FBA
	ldr r3, =gMain
	ldrh r1, [r3, 0x2E]
	movs r2, 0x1
	adds r0, r2, 0
	ands r0, r1
	cmp r0, 0
	beq _08128FAC
	strh r2, [r4, 0x14]
_08128FAC:
	ldrh r1, [r3, 0x2E]
	movs r2, 0x2
	adds r0, r2, 0
	ands r0, r1
	cmp r0, 0
	beq _08128FBA
	strh r2, [r4, 0x14]
_08128FBA:
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8128E18

	thumb_func_start sub_8128FD8
sub_8128FD8: @ 8128FD8
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0
	movs r1, 0x1
	bl sub_8197434
	ldr r2, =gSprites
	ldr r0, =gUnknown_0203AA38
	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, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	strh r2, [r0, 0x1C]
	ldr r1, =sub_8128E18
	str r1, [r0]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8128FD8

	thumb_func_start sub_8129020
sub_8129020: @ 8129020
	push {lr}
	lsls r0, 24
	lsrs r2, r0, 24
	ldr r0, =gMain
	ldrh r1, [r0, 0x2E]
	movs r0, 0x1
	ands r0, r1
	cmp r0, 0
	bne _0812903A
	movs r0, 0x2
	ands r0, r1
	cmp r0, 0
	beq _08129040
_0812903A:
	adds r0, r2, 0
	bl sub_8128FD8
_08129040:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8129020

	thumb_func_start sub_8129048
sub_8129048: @ 8129048
	push {lr}
	sub sp, 0x4
	adds r1, r0, 0
	mov r2, sp
	movs r0, 0
	strh r0, [r2]
	ldr r2, =0x01000452
	mov r0, sp
	bl CpuSet
	add sp, 0x4
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8129048

	thumb_func_start sub_8129068
sub_8129068: @ 8129068
	push {lr}
	adds r2, r0, 0
	lsls r1, 16
	ldr r0, =gTilesetPointer_SecretBase
	ldr r0, [r0]
	lsrs r1, 11
	ldr r0, [r0, 0x8]
	adds r0, r1
	adds r1, r2, 0
	movs r2, 0x8
	bl CpuFastSet
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8129068

	thumb_func_start sub_8129088
sub_8129088: @ 8129088
	push {r4-r7,lr}
	sub sp, 0x20
	adds r7, r0, 0
	lsls r1, 16
	lsrs r2, r1, 16
	lsrs r4, r1, 26
	adds r5, r4, 0
	cmp r2, 0
	beq _0812909E
	ldr r0, =0x000003ff
	ands r2, r0
_0812909E:
	ldr r0, =gTilesetPointer_SecretBase
	ldr r0, [r0]
	lsls r1, r2, 5
	ldr r0, [r0, 0x4]
	adds r0, r1
	mov r1, sp
	movs r2, 0x8
	bl CpuFastSet
	cmp r4, 0x1
	beq _081290DE
	cmp r4, 0x1
	bgt _081290C8
	cmp r4, 0
	beq _081290D2
	b _0812919A
	.pool
_081290C8:
	cmp r5, 0x2
	beq _0812913E
	cmp r5, 0x3
	beq _08129176
	b _0812919A
_081290D2:
	mov r0, sp
	adds r1, r7, 0
	movs r2, 0x8
	bl CpuFastSet
	b _0812919A
_081290DE:
	movs r5, 0
	movs r6, 0xF
_081290E2:
	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 _081290E2
	b _0812919A
_0812913E:
	movs r5, 0
	movs r3, 0x7
_08129142:
	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 _08129142
	b _0812919A
_08129176:
	movs r5, 0
	movs r4, 0x1F
	movs r6, 0xF
_0812917C:
	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 _0812917C
_0812919A:
	add sp, 0x20
	pop {r4-r7}
	pop {r0}
	bx r0
	thumb_func_end sub_8129088

	thumb_func_start sub_81291A4
sub_81291A4: @ 81291A4
	push {r4,r5,lr}
	adds r5, r0, 0
	movs r4, 0
_081291AA:
	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_8129088
	adds r0, r4, 0x1
	lsls r0, 16
	lsrs r4, r0, 16
	cmp r4, 0x3F
	bls _081291AA
	pop {r4,r5}
	pop {r0}
	bx r0
	thumb_func_end sub_81291A4

	thumb_func_start sub_81291CC
sub_81291CC: @ 81291CC
	lsls r0, 16
	ldr r1, =gTilesetPointer_SecretBaseRedCave
	ldr r1, [r1]
	ldr r1, [r1, 0xC]
	lsrs r0, 15
	adds r0, r1
	ldrh r1, [r0]
	ldr r0, =0x00000fff
	ands r0, r1
	bx lr
	.pool
	thumb_func_end sub_81291CC

	thumb_func_start sub_81291E8
sub_81291E8: @ 81291E8
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	mov r8, r0
	ldr r0, [r0]
	ldrb r0, [r0, 0x12]
	movs r6, 0
	ldr r1, =gUnknown_085A71B0
	lsls r5, r0, 4
	adds r0, r5, r1
	ldrb r0, [r0, 0xC]
	cmp r6, r0
	bcs _0812924C
	adds r7, r1, 0
_08129204:
	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_81291CC
	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 _08129204
_0812924C:
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81291E8

	thumb_func_start sub_812925C
sub_812925C: @ 812925C
	push {r4,r5,lr}
	lsls r0, 24
	ldr r3, =gUnknown_0203AA3C
	movs r1, 0
	strb r1, [r3]
	ldrb r2, [r3, 0x1]
	subs r1, 0x4
	ands r1, r2
	movs r5, 0xD
	negs r5, r5
	ands r1, r5
	movs r2, 0x11
	negs r2, r2
	ands r1, r2
	subs r2, 0x10
	ands r1, r2
	strb r1, [r3, 0x1]
	ldr r1, =gUnknown_085A7250
	lsrs r0, 22
	adds r0, r1
	ldrb r1, [r0]
	movs r4, 0x3F
	lsls r1, 6
	strb r1, [r3, 0x1]
	ldrh r2, [r3, 0x2]
	ldr r1, =0xfffffe00
	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 r4, r1
	orrs r4, r0
	strb r4, [r3, 0x3]
	ldrh r1, [r3, 0x4]
	ldr r0, =0xfffffc00
	ands r0, r1
	strh r0, [r3, 0x4]
	ldrb r0, [r3, 0x5]
	ands r5, r0
	movs r0, 0xF
	ands r5, r0
	strb r5, [r3, 0x5]
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812925C

	thumb_func_start sub_81292D0
sub_81292D0: @ 81292D0
	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, =sub_81292E8
	str r1, [r0, 0x1C]
	bx lr
	.pool
	thumb_func_end sub_81292D0

	thumb_func_start sub_81292E8
sub_81292E8: @ 81292E8
	push {lr}
	adds r2, r0, 0
	movs r1, 0x3C
	ldrsh r0, [r2, r1]
	cmp r0, 0
	bne _08129322
	movs r1, 0x3A
	ldrsh r0, [r2, r1]
	cmp r0, 0xE
	bgt _0812930A
	adds r3, r2, 0
	adds r3, 0x3E
	ldrb r1, [r3]
	movs r0, 0x5
	negs r0, r0
	ands r0, r1
	b _08129314
_0812930A:
	adds r3, r2, 0
	adds r3, 0x3E
	ldrb r0, [r3]
	movs r1, 0x4
	orrs r0, r1
_08129314:
	strb r0, [r3]
	ldrh r0, [r2, 0x3A]
	adds r0, 0x1
	movs r1, 0x1F
	ands r0, r1
	strh r0, [r2, 0x3A]
	b _0812932E
_08129322:
	adds r2, 0x3E
	ldrb r1, [r2]
	movs r0, 0x5
	negs r0, r0
	ands r0, r1
	strb r0, [r2]
_0812932E:
	pop {r0}
	bx r0
	thumb_func_end sub_81292E8

	thumb_func_start gpu_pal_decompress_alloc_tag_and_upload
gpu_pal_decompress_alloc_tag_and_upload: @ 8129334
	push {r4,r5,lr}
	sub sp, 0x4
	adds r5, r0, 0
	lsls r4, r1, 24
	lsrs r4, 24
	bl sub_8129048
	lsls r4, 5
	ldr r0, =gDecorations
	adds r4, r0
	str r4, [r5]
	ldrb r0, [r4, 0x11]
	cmp r0, 0x4
	beq _081293B4
	ldr r0, =0x00000be5
	bl FreeSpritePaletteByTag
	adds r0, r5, 0
	bl sub_81291E8
	ldr r0, [r5]
	ldrb r0, [r0, 0x12]
	bl sub_812925C
	adds r0, r5, 0
	bl sub_81291A4
	ldr r1, =0x00000884
	adds r0, r5, r1
	ldr r1, =gTilesetPointer_SecretBaseRedCave
	ldr r2, [r1]
	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_8129068
	ldr r0, =gUnknown_085A72BC
	bl LoadSpritePalette
	ldr r0, =gUnknown_085A728C
	movs r1, 0
	movs r2, 0
	movs r3, 0
	bl CreateSprite
	b _081293C6
	.pool
_081293B4:
	ldr r0, [r4, 0x1C]
	ldrh r0, [r0]
	ldr r1, =SpriteCallbackDummy
	movs r2, 0x1
	str r2, [sp]
	movs r2, 0
	movs r3, 0
	bl AddPseudoFieldObject
_081293C6:
	lsls r0, 24
	lsrs r0, 24
	add sp, 0x4
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end gpu_pal_decompress_alloc_tag_and_upload

	thumb_func_start AddDecorationIconObjectFromIconTable
@ u8 AddDecorationIconObjectFromIconTable(u16 tilesTag, u16 paletteTag, u8 decorationId)
AddDecorationIconObjectFromIconTable: @ 81293D8
	push {r4-r7,lr}
	sub sp, 0x10
	lsls r0, 16
	lsrs r7, r0, 16
	lsls r1, 16
	lsrs r6, r1, 16
	lsls r2, 24
	lsrs r5, r2, 24
	bl AllocItemIconTemporaryBuffers
	lsls r0, 24
	cmp r0, 0
	beq _08129490
	adds r0, r5, 0
	movs r1, 0
	bl GetDecorationIconPicOrPalette
	ldr r4, =gUnknown_0203CEBC
	ldr r1, [r4]
	bl LZDecompressWram
	ldr r0, [r4]
	ldr r4, =gUnknown_0203CEC0
	ldr r1, [r4]
	bl CopyItemIconPicTo4x4Buffer
	ldr r0, [r4]
	str r0, [sp]
	ldr r4, =0xffff0000
	ldr r0, [sp, 0x4]
	ands r0, r4
	movs r1, 0x80
	lsls r1, 2
	orrs r0, r1
	lsls r2, r7, 16
	ldr r1, =0x0000ffff
	ands r0, r1
	orrs r0, r2
	str r0, [sp, 0x4]
	mov r0, sp
	bl LoadSpriteSheet
	adds r0, r5, 0
	movs r1, 0x1
	bl GetDecorationIconPicOrPalette
	str r0, [sp, 0x8]
	add r0, sp, 0x8
	ldr r1, [r0, 0x4]
	ands r1, r4
	orrs r1, r6
	str r1, [r0, 0x4]
	bl LoadCompressedObjectPalette
	movs r0, 0x18
	bl Alloc
	adds r5, r0, 0
	adds r1, r5, 0
	ldr r0, =gUnknown_08614FF4
	ldm r0!, {r2-r4}
	stm r1!, {r2-r4}
	ldm r0!, {r2-r4}
	stm r1!, {r2-r4}
	strh r7, [r5]
	strh r6, [r5, 0x2]
	adds r0, r5, 0
	movs r1, 0
	movs r2, 0
	movs r3, 0
	bl CreateSprite
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	bl FreeItemIconTemporaryBuffers
	adds r0, r5, 0
	bl Free
	adds r0, r4, 0
	b _08129492
	.pool
_08129490:
	movs r0, 0x40
_08129492:
	add sp, 0x10
	pop {r4-r7}
	pop {r1}
	bx r1
	thumb_func_end AddDecorationIconObjectFromIconTable

	thumb_func_start GetDecorationIconPicOrPalette
@ u32 GetDecorationIconPicOrPalette(u16 decorationId, u8 which)
GetDecorationIconPicOrPalette: @ 812949C
	push {lr}
	lsls r0, 16
	lsrs r3, r0, 16
	lsls r1, 24
	lsrs r0, r1, 24
	cmp r3, 0x78
	bls _081294AC
	movs r3, 0
_081294AC:
	ldr r2, =gUnknown_085A6BE8
	lsls r0, 2
	lsls r1, r3, 3
	adds r0, r1
	adds r0, r2
	ldr r0, [r0]
	pop {r1}
	bx r1
	.pool
	thumb_func_end GetDecorationIconPicOrPalette

	thumb_func_start AddDecorationIconObjectFromFieldObject
@ u8 AddDecorationIconObjectFromFieldObject(u16 tilesTag, u16 paletteTag, u8 decorationId)
AddDecorationIconObjectFromFieldObject: @ 81294C0
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	sub sp, 0x14
	adds r4, r2, 0
	lsls r0, 16
	lsrs r0, 16
	mov r8, r0
	lsls r1, 16
	lsrs r7, r1, 16
	lsls r4, 24
	lsrs r4, 24
	ldr r6, =gUnknown_0203A190
	adds r0, r6, 0
	bl sub_8129048
	lsls r4, 5
	ldr r0, =gDecorations
	adds r4, r0
	str r4, [r6]
	ldrb r0, [r4, 0x11]
	cmp r0, 0x4
	beq _081295A4
	adds r0, r6, 0
	bl sub_81291E8
	ldr r0, [r6]
	ldrb r0, [r0, 0x12]
	bl sub_812925C
	adds r0, r6, 0
	bl sub_81291A4
	ldr r0, =0x00000884
	adds r5, r6, r0
	ldr r0, =gTilesetPointer_SecretBaseRedCave
	ldr r1, [r0]
	ldr r0, [r6]
	ldr r0, [r0, 0x1C]
	ldrh r0, [r0]
	ldr r1, [r1, 0xC]
	lsls r0, 4
	adds r0, r1
	ldrh r1, [r0, 0xE]
	lsrs r1, 12
	adds r0, r5, 0
	bl sub_8129068
	adds r0, r6, 0
	adds r0, 0x84
	str r0, [sp, 0x4]
	ldr r1, =gUnknown_085A72F4
	ldr r0, [r6]
	ldrb r0, [r0, 0x12]
	lsls r0, 1
	adds r0, r1
	ldrh r0, [r0]
	lsls r0, 21
	ldr r4, =0xffff0000
	mov r2, r8
	lsls r1, r2, 16
	lsrs r0, 16
	orrs r0, r1
	str r0, [sp, 0x8]
	add r0, sp, 0x4
	bl LoadSpriteSheet
	str r5, [sp, 0xC]
	add r0, sp, 0xC
	ldr r1, [r0, 0x4]
	ands r1, r4
	orrs r1, r7
	str r1, [r0, 0x4]
	bl LoadSpritePalette
	movs r0, 0x18
	bl Alloc
	adds r4, r0, 0
	adds r1, r4, 0
	ldr r0, =gUnknown_085A72A4
	ldm r0!, {r2,r3,r5}
	stm r1!, {r2,r3,r5}
	ldm r0!, {r2,r3,r5}
	stm r1!, {r2,r3,r5}
	mov r3, r8
	strh r3, [r4]
	strh r7, [r4, 0x2]
	adds r0, r4, 0
	movs r1, 0
	movs r2, 0
	movs r3, 0
	bl CreateSprite
	lsls r0, 24
	lsrs r5, r0, 24
	adds r0, r4, 0
	bl Free
	b _081295BA
	.pool
_081295A4:
	ldr r0, [r4, 0x1C]
	ldrh r0, [r0]
	ldr r1, =SpriteCallbackDummy
	movs r2, 0x1
	str r2, [sp]
	movs r2, 0
	movs r3, 0
	bl AddPseudoFieldObject
	lsls r0, 24
	lsrs r5, r0, 24
_081295BA:
	adds r0, r5, 0
	add sp, 0x14
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r1}
	bx r1
	.pool
	thumb_func_end AddDecorationIconObjectFromFieldObject

	thumb_func_start AddDecorationIconObject
@ u8 AddDecorationIconObject(u8 decorationId, u16 x, u16 y, u8 priority, u16 tilesTag, u16 paletteTag)
AddDecorationIconObject: @ 81295CC
	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]
	lsls r0, 24
	lsrs r6, r0, 24
	mov r12, r6
	lsls r1, 16
	lsrs r1, 16
	mov r8, r1
	mov r9, r8
	lsls r2, 16
	lsrs r7, r2, 16
	mov r10, r7
	lsls r3, 24
	lsrs r3, 24
	str r3, [sp]
	lsls r4, 16
	lsrs r4, 16
	adds r3, r4, 0
	lsls r5, 16
	lsrs r5, 16
	adds r2, r5, 0
	cmp r6, 0x78
	bls _08129634
	adds r0, r4, 0
	adds r1, r5, 0
	movs r2, 0
	bl AddDecorationIconObjectFromIconTable
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x40
	beq _08129696
	ldr r2, =gSprites
	lsls r3, r4, 4
	adds r1, r3, r4
	lsls r1, 2
	adds r1, r2
	mov r5, r8
	lsls r0, r5, 16
	asrs r0, 16
	adds r0, 0x4
	strh r0, [r1, 0x24]
	lsls r0, r7, 16
	b _081296B2
	.pool
_08129634:
	ldr r0, =gUnknown_085A6BE8
	lsls r1, r6, 3
	adds r1, r0
	ldr r0, [r1]
	cmp r0, 0
	bne _08129684
	adds r0, r4, 0
	adds r1, r5, 0
	adds r2, r6, 0
	bl AddDecorationIconObjectFromFieldObject
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x40
	beq _08129696
	ldr r1, =gSprites
	lsls r2, r4, 4
	adds r0, r2, r4
	lsls r0, 2
	adds r5, r0, r1
	mov r0, r8
	strh r0, [r5, 0x24]
	adds r0, r6, 0
	subs r0, 0x2A
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bhi _08129680
	lsls r0, r7, 16
	asrs r0, 16
	subs r0, 0x4
	strh r0, [r5, 0x26]
	b _081296BC
	.pool
_08129680:
	strh r7, [r5, 0x26]
	b _081296BC
_08129684:
	adds r0, r3, 0
	adds r1, r2, 0
	mov r2, r12
	bl AddDecorationIconObjectFromIconTable
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x40
	bne _0812969A
_08129696:
	movs r0, 0x40
	b _081296D8
_0812969A:
	ldr r2, =gSprites
	lsls r3, r4, 4
	adds r1, r3, r4
	lsls r1, 2
	adds r1, r2
	mov r5, r9
	lsls r0, r5, 16
	asrs r0, 16
	adds r0, 0x4
	strh r0, [r1, 0x24]
	mov r5, r10
	lsls r0, r5, 16
_081296B2:
	asrs r0, 16
	adds r0, 0x4
	strh r0, [r1, 0x26]
	adds r1, r2, 0
	adds r2, r3, 0
_081296BC:
	adds r2, r4
	lsls r2, 2
	adds r2, r1
	movs r0, 0x3
	ldr r1, [sp]
	ands r1, r0
	lsls r1, 2
	ldrb r3, [r2, 0x5]
	movs r0, 0xD
	negs r0, r0
	ands r0, r3
	orrs r0, r1
	strb r0, [r2, 0x5]
	adds r0, r4, 0
_081296D8:
	add sp, 0x4
	pop {r3-r5}
	mov r8, r3
	mov r9, r4
	mov r10, r5
	pop {r4-r7}
	pop {r1}
	bx r1
	.pool
	thumb_func_end AddDecorationIconObject

	thumb_func_start sub_81296EC
sub_81296EC: @ 81296EC
	lsls r0, 24
	lsrs r0, 24
	ldr r3, =gUnknown_0203A17C
	ldr r1, [r3]
	adds r1, r0
	movs r2, 0
	strb r2, [r1]
	ldr r1, [r3, 0x4]
	adds r1, r0
	strb r2, [r1]
	bx lr
	.pool
	thumb_func_end sub_81296EC

	thumb_func_start sub_8129708
sub_8129708: @ 8129708
	push {r4-r6,lr}
	ldr r6, =gSpecialVar_0x8005
	movs r0, 0
	strh r0, [r6]
	ldr r2, =gScriptResult
	strh r0, [r2]
	ldr r4, =gSpecialVar_0x8004
	ldr r1, =gUnknown_0203AAC4
	ldrh r0, [r4]
	ldrb r1, [r1]
	cmp r0, r1
	bne _08129744
	movs r0, 0x1
	strh r0, [r2]
	b _08129796
	.pool
_08129738:
	ldr r1, =gSpecialVar_0x8006
	ldrb r0, [r2]
	strh r0, [r1]
	b _08129796
	.pool
_08129744:
	ldr r3, =gDecorations
	ldr r2, =gUnknown_0203A17C
	ldr r1, =gUnknown_0203AA44
	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 _08129796
	ldrh r0, [r4, 0x4]
	strh r0, [r6]
	ldrb r0, [r4]
	bl sub_81296EC
	movs r1, 0
	ldr r0, =gMapHeader
	ldr r0, [r0, 0x4]
	ldrb r2, [r0]
	cmp r1, r2
	bcs _08129796
	ldr r5, [r0, 0x4]
	ldrh r4, [r6]
	adds r3, r2, 0
_0812977E:
	lsls r0, r1, 1
	adds r0, r1
	lsls r0, 3
	adds r2, r0, r5
	ldrh r0, [r2, 0x14]
	cmp r0, r4
	beq _08129738
	adds r0, r1, 0x1
	lsls r0, 16
	lsrs r1, r0, 16
	cmp r1, r3
	bcc _0812977E
_08129796:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8129708

	thumb_func_start sub_81297AC
sub_81297AC: @ 81297AC
	push {r4-r6,lr}
	movs r2, 0
	ldr r0, =gMapHeader
	ldr r0, [r0, 0x4]
	ldrb r1, [r0]
	cmp r2, r1
	bcs _081297F0
	adds r3, r0, 0
	ldr r5, [r3, 0x4]
	ldr r0, =gSpecialVar_0x8004
	ldrh r4, [r0]
	ldr r6, =gSpecialVar_0x8005
_081297C4:
	lsls r0, r2, 1
	adds r0, r2
	lsls r0, 3
	adds r1, r0, r5
	ldrh r0, [r1, 0x14]
	cmp r0, r4
	bne _081297E4
	ldrb r0, [r1]
	strh r0, [r6]
	b _081297F0
	.pool
_081297E4:
	adds r0, r2, 0x1
	lsls r0, 24
	lsrs r2, r0, 24
	ldrb r0, [r3]
	cmp r2, r0
	bcc _081297C4
_081297F0:
	pop {r4-r6}
	pop {r0}
	bx r0
	thumb_func_end sub_81297AC

	thumb_func_start sub_81297F8
sub_81297F8: @ 81297F8
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	sub sp, 0xC
	movs r6, 0
	b _081298BE
_08129808:
	ldr r3, =gUnknown_0203AA44
	lsls r5, r6, 3
	adds r4, r5, r3
	ldrb r1, [r4]
	ldr r2, =gUnknown_0203A17C
	ldr r0, [r2]
	adds r0, r1
	ldrb r0, [r0]
	lsls r0, 5
	ldr r7, =gDecorations
	adds r0, r7
	ldrb r2, [r0, 0x11]
	ldr r7, =gUnknown_0203A17C
	ldr r0, [r7, 0x4]
	adds r0, r1
	ldrb r0, [r0]
	lsrs r1, r0, 4
	mov r8, r1
	movs r7, 0xF
	adds r1, r7, 0
	ands r1, r0
	str r1, [sp]
	adds r7, r5, 0
	adds r6, 0x1
	str r6, [sp, 0x4]
	cmp r2, 0x4
	beq _081298B8
	movs r6, 0
	ldrb r4, [r4, 0x2]
	cmp r6, r4
	bcs _081298AE
_08129846:
	movs r4, 0
	adds r0, r5, r3
	adds r2, r6, 0x1
	mov r10, r2
	ldrb r0, [r0, 0x1]
	cmp r4, r0
	bcs _0812989C
	ldr r3, =gUnknown_0203AA44
	adds r3, r7
	mov r9, r3
	subs r5, r6, 0x7
	str r5, [sp, 0x8]
_0812985E:
	adds r0, r4, 0x7
	add r0, r8
	ldr r1, =gMapHeader
	ldr r3, [r1]
	ldr r1, [sp]
	subs r2, r1, r6
	ldr r1, [r3]
	muls r2, r1
	mov r5, r8
	adds r1, r5, 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
	ldr r5, [sp]
	ldr r3, [sp, 0x8]
	subs r1, r5, r3
	bl MapGridSetMetatileEntryAt
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	mov r5, r9
	ldrb r5, [r5, 0x1]
	cmp r4, r5
	bcc _0812985E
_0812989C:
	mov r1, r10
	lsls r0, r1, 24
	lsrs r6, r0, 24
	ldr r3, =gUnknown_0203AA44
	adds r5, r7, 0
	adds r0, r7, r3
	ldrb r0, [r0, 0x2]
	cmp r6, r0
	bcc _08129846
_081298AE:
	ldr r2, =gUnknown_0203AA44
	adds r0, r7, r2
	ldrb r0, [r0]
	bl sub_81296EC
_081298B8:
	ldr r3, [sp, 0x4]
	lsls r0, r3, 24
	lsrs r6, r0, 24
_081298BE:
	ldr r0, =gUnknown_0203AAC4
	ldrb r0, [r0]
	cmp r6, r0
	bcc _08129808
	add sp, 0xC
	pop {r3-r5}
	mov r8, r3
	mov r9, r4
	mov r10, r5
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81297F8

	thumb_func_start sub_81298EC
sub_81298EC: @ 81298EC
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	ldr r1, =gTasks
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	adds r4, r0, r1
	movs r1, 0xC
	ldrsh r0, [r4, r1]
	cmp r0, 0x1
	beq _08129928
	cmp r0, 0x1
	bgt _08129914
	cmp r0, 0
	beq _0812991E
	b _08129994
	.pool
_08129914:
	cmp r0, 0x2
	beq _08129954
	cmp r0, 0x3
	beq _08129968
	b _08129994
_0812991E:
	bl sub_81297F8
	movs r0, 0x1
	strh r0, [r4, 0xC]
	b _08129994
_08129928:
	ldr r0, =gPaletteFade
	ldrb r1, [r0, 0x7]
	movs r0, 0x80
	ands r0, r1
	cmp r0, 0
	bne _08129994
	bl DrawWholeMapView
	ldr r0, =gUnknown_08275D2E
	bl ScriptContext1_SetupScript
	movs r0, 0
	movs r1, 0x1
	bl sub_8197434
	movs r0, 0x2
	strh r0, [r4, 0xC]
	b _08129994
	.pool
_08129954:
	bl ScriptContext2_Enable
	adds r0, r5, 0
	bl sub_8127814
	bl pal_fill_black
	movs r0, 0x3
	strh r0, [r4, 0xC]
	b _08129994
_08129968:
	bl sub_80ABDFC
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _08129994
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EAAC5
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_8129D64
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
	ldr r0, =gMapHeader
	ldrb r0, [r0, 0x14]
	cmp r0, 0x56
	bne _08129994
	bl sub_80EE104
_08129994:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81298EC

	thumb_func_start sub_81299AC
sub_81299AC: @ 81299AC
	push {lr}
	movs r1, 0
	ldr r0, =gUnknown_0203A17C
	ldrb r2, [r0, 0x8]
	cmp r1, r2
	bcs _081299D6
	ldr r3, [r0]
_081299BA:
	adds r0, r3, r1
	ldrb r0, [r0]
	cmp r0, 0
	beq _081299CC
	movs r0, 0x1
	b _081299D8
	.pool
_081299CC:
	adds r0, r1, 0x1
	lsls r0, 16
	lsrs r1, r0, 16
	cmp r1, r2
	bcc _081299BA
_081299D6:
	movs r0, 0
_081299D8:
	pop {r1}
	bx r1
	thumb_func_end sub_81299AC

	thumb_func_start SetUpPuttingAwayDecorationPlayerAvatar
SetUpPuttingAwayDecorationPlayerAvatar: @ 81299DC
	push {r4-r6,lr}
	mov r6, r8
	push {r6}
	sub sp, 0x4
	bl player_get_direction_lower_nybble
	ldr r3, =gUnknown_0203AA38
	ldr r2, =gSprites
	ldr r4, =gUnknown_03005DD0
	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_812A39C
	ldr r0, =gUnknown_085A7404
	movs r1, 0x78
	movs r2, 0x50
	movs r3, 0
	bl CreateSprite
	lsls r0, 24
	lsrs r0, 24
	str r0, [r4, 0x4]
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldrb r0, [r0, 0x8]
	cmp r0, 0
	bne _08129A3C
	ldr r1, =SpriteCallbackDummy
	str r0, [sp]
	movs r0, 0xC1
	b _08129A44
	.pool
_08129A3C:
	ldr r1, =SpriteCallbackDummy
	movs r0, 0
	str r0, [sp]
	movs r0, 0xC2
_08129A44:
	movs r2, 0x88
	movs r3, 0x48
	bl AddPseudoFieldObject
	ldr r1, =gUnknown_0203AA39
	strb r0, [r1]
	ldr r6, =gSprites
	ldr r0, =gUnknown_0203AA39
	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, =gUnknown_0203AA38
	ldrb r1, [r5]
	lsls r0, r1, 4
	adds r0, r1
	lsls r0, 2
	adds r0, r6
	bl DestroySprite
	ldr r0, =gUnknown_03005DD0
	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
	.pool
	thumb_func_end SetUpPuttingAwayDecorationPlayerAvatar

	thumb_func_start sub_8129ABC
sub_8129ABC: @ 8129ABC
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r4, r0, r1
	movs r1, 0x4
	ldrsh r0, [r4, r1]
	cmp r0, 0x1
	beq _08129B0C
	cmp r0, 0x1
	bgt _08129AE4
	cmp r0, 0
	beq _08129AEA
	b _08129B2E
	.pool
_08129AE4:
	cmp r0, 0x2
	beq _08129B1A
	b _08129B2E
_08129AEA:
	ldr r0, =gPaletteFade
	ldrb r1, [r0, 0x7]
	movs r0, 0x80
	ands r0, r1
	cmp r0, 0
	bne _08129B2E
	adds r0, r5, 0
	bl sub_8127ACC
	movs r0, 0x1
	strh r0, [r4, 0x4]
	strh r0, [r4, 0xC]
	strh r0, [r4, 0xA]
	b _08129B2E
	.pool
_08129B0C:
	bl SetUpPuttingAwayDecorationPlayerAvatar
	bl pal_fill_black
	movs r0, 0x2
	strh r0, [r4, 0x4]
	b _08129B2E
_08129B1A:
	bl sub_80ABDFC
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _08129B2E
	strh r0, [r4, 0x18]
	adds r0, r5, 0
	bl sub_8129B34
_08129B2E:
	pop {r4,r5}
	pop {r0}
	bx r0
	thumb_func_end sub_8129ABC

	thumb_func_start sub_8129B34
sub_8129B34: @ 8129B34
	push {r4-r6,lr}
	adds r5, r0, 0
	lsls r5, 24
	lsrs r5, 24
	movs r0, 0
	movs r1, 0x1
	bl sub_8197434
	ldr r4, =gSprites
	ldr r3, =gUnknown_0203AA38
	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, =sub_812A36C
	str r1, [r0]
	ldr r2, =gUnknown_0203AA39
	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, =gTasks
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	adds r0, r1
	strh r6, [r0, 0x1C]
	ldr r1, =sub_8128E18
	str r1, [r0]
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8129B34

	thumb_func_start sub_8129BCC
sub_8129BCC: @ 8129BCC
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	movs r1, 0
	strh r1, [r0, 0x1C]
	bl sub_8128DE0
	adds r0, r4, 0
	bl sub_8129C74
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8129BCC

	thumb_func_start sub_8129BF8
sub_8129BF8: @ 8129BF8
	push {r4,r5,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	movs r1, 0
	strh r1, [r0, 0x1C]
	bl sub_8128DE0
	ldr r3, =gSprites
	ldr r5, =gUnknown_0203AA38
	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, =SpriteCallbackDummy
	str r1, [r0]
	ldr r5, =gStringVar4
	ldr r1, =gUnknown_085EAA62
	adds r0, r5, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_812A1F0
	adds r0, r4, 0
	adds r1, r5, 0
	bl DisplayItemMessageOnField
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8129BF8

	thumb_func_start sub_8129C74
sub_8129C74: @ 8129C74
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	adds r0, r5, 0
	bl sub_812A0E8
	ldr r0, =gUnknown_0203AAC4
	ldrb r0, [r0]
	cmp r0, 0
	beq _08129CA8
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EAAA3
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_812A1A0
	b _08129D14
	.pool
_08129CA8:
	lsls r1, r5, 2
	adds r1, r5
	lsls r1, 3
	ldr r0, =gTasks + 0x8
	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_8089288
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08129CDE
	adds r0, r4, 0
	bl sub_8089404
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _08129D3C
_08129CDE:
	ldr r3, =gSprites
	ldr r4, =gUnknown_0203AA38
	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, =SpriteCallbackDummy
	str r1, [r0]
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EAA62
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_812A1F0
_08129D14:
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
	b _08129D50
	.pool
_08129D3C:
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EAA81
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_8129D64
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
_08129D50:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8129C74

	thumb_func_start sub_8129D64
sub_8129D64: @ 8129D64
	push {lr}
	lsls r0, 24
	lsrs r2, r0, 24
	ldr r0, =gMain
	ldrh r1, [r0, 0x2E]
	movs r0, 0x1
	ands r0, r1
	cmp r0, 0
	bne _08129D7E
	movs r0, 0x2
	ands r0, r1
	cmp r0, 0
	beq _08129D84
_08129D7E:
	adds r0, r2, 0
	bl sub_8129B34
_08129D84:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8129D64

	thumb_func_start sub_8129D8C
sub_8129D8C: @ 8129D8C
	push {lr}
	adds r2, r1, 0
	lsls r0, 24
	ldr r1, =gDecorations
	lsrs r0, 19
	adds r0, r1
	ldrb r1, [r0, 0x12]
	cmp r1, 0
	bne _08129DA8
	movs r0, 0x1
	strb r0, [r2, 0x1]
	b _08129E06
	.pool
_08129DA8:
	cmp r1, 0x1
	bne _08129DB4
	movs r0, 0x2
	strb r0, [r2, 0x1]
	strb r1, [r2, 0x2]
	b _08129E08
_08129DB4:
	cmp r1, 0x2
	bne _08129DC0
	movs r0, 0x3
	strb r0, [r2, 0x1]
	movs r0, 0x1
	b _08129E06
_08129DC0:
	cmp r1, 0x3
	bne _08129DC8
	movs r0, 0x4
	b _08129E02
_08129DC8:
	cmp r1, 0x4
	bne _08129DD2
	movs r0, 0x2
	strb r0, [r2, 0x1]
	b _08129E06
_08129DD2:
	cmp r1, 0x5
	bne _08129DDA
	movs r0, 0x1
	b _08129E02
_08129DDA:
	cmp r1, 0x6
	bne _08129DE6
	movs r0, 0x1
	strb r0, [r2, 0x1]
	movs r0, 0x3
	b _08129E06
_08129DE6:
	cmp r1, 0x7
	bne _08129DF2
	movs r0, 0x2
	strb r0, [r2, 0x1]
	movs r0, 0x4
	b _08129E06
_08129DF2:
	cmp r1, 0x8
	bne _08129DFC
	movs r0, 0x3
	strb r0, [r2, 0x1]
	b _08129E06
_08129DFC:
	cmp r1, 0x9
	bne _08129E08
	movs r0, 0x3
_08129E02:
	strb r0, [r2, 0x1]
	movs r0, 0x2
_08129E06:
	strb r0, [r2, 0x2]
_08129E08:
	pop {r0}
	bx r0
	thumb_func_end sub_8129D8C

	thumb_func_start sub_8129E0C
sub_8129E0C: @ 8129E0C
	push {r4-r6,lr}
	lsls r0, 24
	lsls r1, 24
	ldr r5, =gSprites
	ldr r6, =gUnknown_0203AA38
	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, =SpriteCallbackDummy
	str r3, [r2]
	ldr r4, =gUnknown_0203AA39
	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
	.pool
	thumb_func_end sub_8129E0C

	thumb_func_start sub_8129E74
sub_8129E74: @ 8129E74
	push {r4-r7,lr}
	mov r7, r9
	mov r6, r8
	push {r6,r7}
	mov r9, r2
	lsls r0, 24
	lsrs r0, 24
	lsls r1, 24
	lsrs r1, 24
	ldr r3, =gTasks
	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, =gUnknown_0203A17C
	ldr r0, [r2, 0x4]
	adds r0, r1
	ldrb r0, [r0]
	lsrs r5, r0, 4
	movs r6, 0xF
	ands r6, r0
	mov r0, r9
	ldrb r4, [r0, 0x2]
	ldr r0, [r2]
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0x29
	bne _08129ED4
	adds r0, r5, 0x7
	adds r1, r6, 0x7
	bl MapGridGetMetatileIdAt
	movs r1, 0xA3
	lsls r1, 2
	cmp r0, r1
	bne _08129ED4
	subs r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
_08129ED4:
	cmp r7, r5
	bcc _08129F10
	mov r0, r9
	ldrb r2, [r0, 0x1]
	adds r0, r5, r2
	cmp r7, r0
	bge _08129F10
	subs r0, r6, r4
	cmp r8, r0
	ble _08129F10
	cmp r8, r6
	bhi _08129F10
	subs r0, r7, r5
	adds r0, 0x1
	subs r0, r2, r0
	lsls r0, 24
	lsrs r0, 24
	mov r2, r8
	subs r1, r6, r2
	lsls r1, 24
	lsrs r1, 24
	bl sub_8129E0C
	movs r0, 0x1
	b _08129F12
	.pool
_08129F10:
	movs r0, 0
_08129F12:
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r7}
	pop {r1}
	bx r1
	thumb_func_end sub_8129E74

	thumb_func_start sub_8129F20
sub_8129F20: @ 8129F20
	push {r4-r7,lr}
	mov r7, r9
	mov r6, r8
	push {r6,r7}
	ldr r2, =gUnknown_0203A17C
	ldr r3, =gUnknown_0203AA44
	ldr r0, =gUnknown_0203AAC4
	ldrb r0, [r0]
	lsls r0, 3
	adds r0, r3
	ldrb r1, [r0]
	ldr r0, [r2, 0x4]
	adds r0, r1
	ldrb r0, [r0]
	lsrs r1, r0, 4
	mov r8, r1
	movs r6, 0xF
	ands r6, r0
	movs r4, 0
	ldr r7, =gSaveBlock1Ptr
	mov r9, r3
_08129F4A:
	ldr r1, [r7]
	lsls r0, r4, 1
	adds r0, r4
	lsls r5, r0, 3
	adds r1, r5
	ldr r2, =0x00000c74
	adds r0, r1, r2
	movs r2, 0
	ldrsh r0, [r0, r2]
	cmp r0, r8
	bne _08129FB0
	ldr r2, =0x00000c76
	adds r0, r1, r2
	movs r2, 0
	ldrsh r0, [r0, r2]
	cmp r0, r6
	bne _08129FB0
	ldr r2, =0x00000c84
	adds r0, r1, r2
	ldrh r0, [r0]
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	bne _08129FB0
	ldr r0, =gUnknown_0203AAC4
	ldrb r1, [r0]
	lsls r1, 3
	add r1, r9
	ldr r0, [r7]
	adds r0, r5
	ldr r2, =0x00000c84
	adds r0, r2
	ldrh r0, [r0]
	strh r0, [r1, 0x4]
	b _08129FBA
	.pool
_08129FB0:
	adds r0, r4, 0x1
	lsls r0, 16
	lsrs r4, r0, 16
	cmp r4, 0x3F
	bls _08129F4A
_08129FBA:
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r7}
	pop {r0}
	bx r0
	thumb_func_end sub_8129F20

	thumb_func_start sub_8129FC8
sub_8129FC8: @ 8129FC8
	push {r4-r7,lr}
	lsls r0, 24
	lsrs r7, r0, 24
	movs r6, 0
	b _0812A02A
_08129FD2:
	ldr r0, [r0]
	adds r1, r0, r6
	ldrb r0, [r1]
	cmp r0, 0
	beq _0812A024
	ldr r0, =gDecorations
	ldrb r2, [r1]
	lsls r1, r2, 5
	adds r1, r0
	ldrb r0, [r1, 0x11]
	cmp r0, 0x4
	bne _0812A024
	ldr r5, =gUnknown_0203AA44
	adds r0, r2, 0
	adds r1, r5, 0
	bl sub_8129D8C
	lsls r1, r6, 24
	lsrs r1, 24
	adds r0, r7, 0
	adds r2, r5, 0
	bl sub_8129E74
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x1
	bne _0812A024
	strb r6, [r5]
	bl sub_8129F20
	ldr r0, =gUnknown_0203AAC4
	strb r4, [r0]
	movs r0, 0x1
	b _0812A034
	.pool
_0812A024:
	adds r0, r6, 0x1
	lsls r0, 16
	lsrs r6, r0, 16
_0812A02A:
	ldr r0, =gUnknown_0203A17C
	ldrb r1, [r0, 0x8]
	cmp r6, r1
	bcc _08129FD2
	movs r0, 0
_0812A034:
	pop {r4-r7}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8129FC8

	thumb_func_start sub_812A040
sub_812A040: @ 812A040
	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, =gUnknown_0203A17C
	ldrb r0, [r7, 0x8]
	cmp r4, r0
	bcs _0812A0C6
	adds r6, r7, 0
	ldr r5, =gUnknown_0203AAC4
_0812A072:
	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 _0812A0BA
	ldr r0, =gDecorations
	lsls r1, 5
	adds r1, r0
	ldrb r0, [r1, 0x11]
	cmp r0, 0x4
	bne _0812A0BA
	ldr r0, [sp]
	cmp r0, r3
	bhi _0812A0BA
	cmp r10, r2
	bhi _0812A0BA
	cmp r9, r3
	bcc _0812A0BA
	cmp r8, r2
	bcc _0812A0BA
	ldr r0, =gUnknown_0203AA44
	ldrb r1, [r5]
	lsls r1, 3
	adds r1, r0
	strb r4, [r1]
	bl sub_8129F20
	ldrb r0, [r5]
	adds r0, 0x1
	strb r0, [r5]
_0812A0BA:
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	ldrb r0, [r7, 0x8]
	cmp r4, r0
	bcc _0812A072
_0812A0C6:
	add sp, 0x4
	pop {r3-r5}
	mov r8, r3
	mov r9, r4
	mov r10, r5
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A040

	thumb_func_start sub_812A0E8
sub_812A0E8: @ 812A0E8
	push {r4-r7,lr}
	lsls r0, 24
	lsrs r6, r0, 24
	ldr r4, =gUnknown_0203AAC4
	movs r0, 0
	strb r0, [r4]
	adds r0, r6, 0
	bl sub_8129FC8
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _0812A18C
	movs r5, 0
	ldr r0, =gUnknown_0203A17C
	ldrb r1, [r0, 0x8]
	cmp r5, r1
	bcs _0812A15A
	adds r7, r4, 0
_0812A10E:
	ldr r0, [r0]
	adds r0, r5
	ldrb r1, [r0]
	cmp r1, 0
	beq _0812A14C
	ldr r4, =gUnknown_0203AA44
	adds r0, r1, 0
	adds r1, r4, 0
	bl sub_8129D8C
	adds r0, r6, 0
	adds r1, r5, 0
	adds r2, r4, 0
	bl sub_8129E74
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0812A14C
	strb r5, [r4]
	ldrb r0, [r7]
	adds r0, 0x1
	strb r0, [r7]
	b _0812A15A
	.pool
_0812A14C:
	adds r0, r5, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
	ldr r0, =gUnknown_0203A17C
	ldrb r1, [r0, 0x8]
	cmp r5, r1
	bcc _0812A10E
_0812A15A:
	ldr r0, =gUnknown_0203AAC4
	ldrb r0, [r0]
	cmp r0, 0
	beq _0812A18C
	ldr r0, =gUnknown_0203A17C
	ldr r2, =gUnknown_0203AA44
	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_812A040
_0812A18C:
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A0E8

	thumb_func_start sub_812A1A0
sub_812A1A0: @ 812A1A0
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	bl sub_8197930
	ldr r1, =gUnknown_085A7348
	adds r0, r4, 0
	bl sub_8121F68
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A1A0

	thumb_func_start sub_812A1C0
sub_812A1C0: @ 812A1C0
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0x1
	movs r1, 0
	bl fade_screen
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	movs r1, 0
	strh r1, [r0, 0xC]
	ldr r1, =sub_81298EC
	str r1, [r0]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A1C0

	thumb_func_start sub_812A1F0
sub_812A1F0: @ 812A1F0
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	bl sub_8197930
	ldr r1, =gUnknown_085A7350
	adds r0, r4, 0
	bl sub_8121F68
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A1F0

	thumb_func_start sub_812A210
sub_812A210: @ 812A210
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0
	movs r1, 0
	bl sub_8197434
	adds r0, r4, 0
	bl sub_812A22C
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_812A210

	thumb_func_start sub_812A22C
sub_812A22C: @ 812A22C
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0x1
	movs r1, 0
	bl fade_screen
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	movs r1, 0
	strh r1, [r0, 0xC]
	ldr r1, =sub_812A25C
	str r1, [r0]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A22C

	thumb_func_start sub_812A25C
sub_812A25C: @ 812A25C
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r4, r0, 24
	ldr r1, =gTasks
	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 _0812A280
	cmp r0, 0x1
	beq _0812A29C
	b _0812A2B2
	.pool
_0812A280:
	ldr r0, =gPaletteFade
	ldrb r1, [r0, 0x7]
	movs r0, 0x80
	ands r0, r1
	cmp r0, 0
	bne _0812A2B2
	adds r0, r4, 0
	bl sub_8127B04
	movs r0, 0x1
	strh r0, [r5, 0xC]
	b _0812A2B2
	.pool
_0812A29C:
	bl sub_812A3C8
	ldr r0, =gUnknown_03005DAC
	ldr r1, =sub_812A334
	str r1, [r0]
	ldr r0, =c2_exit_to_overworld_2_switch
	bl SetMainCallback2
	adds r0, r4, 0
	bl DestroyTask
_0812A2B2:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A25C

	thumb_func_start sub_812A2C4
sub_812A2C4: @ 812A2C4
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r1, r0, 2
	adds r1, r0
	lsls r5, r1, 3
	ldr r6, =gTasks + 0x8
	adds r4, r5, r6
	movs r1, 0x4
	ldrsh r0, [r4, r1]
	cmp r0, 0x1
	beq _0812A2FC
	cmp r0, 0x1
	bgt _0812A2EC
	cmp r0, 0
	beq _0812A2F6
	b _0812A32A
	.pool
_0812A2EC:
	cmp r0, 0x2
	beq _0812A308
	cmp r0, 0x3
	beq _0812A314
	b _0812A32A
_0812A2F6:
	bl sub_80E9578
	b _0812A30C
_0812A2FC:
	ldr r0, =gUnknown_08275D0C
	bl ScriptContext1_SetupScript
	b _0812A30C
	.pool
_0812A308:
	bl ScriptContext2_Enable
_0812A30C:
	ldrh r0, [r4, 0x4]
	adds r0, 0x1
	strh r0, [r4, 0x4]
	b _0812A32A
_0812A314:
	bl sub_80ABDFC
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0812A32A
	adds r0, r6, 0
	subs r0, 0x8
	adds r0, r5, r0
	ldr r1, =sub_8126B80
	str r1, [r0]
_0812A32A:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A2C4

	thumb_func_start sub_812A334
sub_812A334: @ 812A334
	push {lr}
	bl pal_fill_black
	movs r0, 0
	movs r1, 0x1
	bl sub_81973C4
	bl sub_8126ABC
	ldr r0, =sub_812A2C4
	movs r1, 0x8
	bl CreateTask
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	movs r0, 0
	strh r0, [r1, 0xC]
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A334

	thumb_func_start sub_812A36C
sub_812A36C: @ 812A36C
	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 _0812A38C
	adds r0, r2, 0
	adds r0, 0x3E
	ldrb r1, [r0]
	movs r2, 0x4
	orrs r1, r2
	strb r1, [r0]
	b _0812A398
_0812A38C:
	adds r2, 0x3E
	ldrb r1, [r2]
	movs r0, 0x5
	negs r0, r0
	ands r0, r1
	strb r0, [r2]
_0812A398:
	pop {r0}
	bx r0
	thumb_func_end sub_812A36C

	thumb_func_start sub_812A39C
sub_812A39C: @ 812A39C
	push {lr}
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldrb r0, [r0, 0x8]
	cmp r0, 0
	bne _0812A3B8
	ldr r0, =gUnknown_085A73D8
	bl LoadSpritePalette
	b _0812A3BE
	.pool
_0812A3B8:
	ldr r0, =gUnknown_085A73E0
	bl LoadSpritePalette
_0812A3BE:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A39C

	thumb_func_start sub_812A3C8
sub_812A3C8: @ 812A3C8
	push {lr}
	movs r0, 0x8
	bl FreeSpritePaletteByTag
	pop {r0}
	bx r0
	thumb_func_end sub_812A3C8

	thumb_func_start sub_812A3D4
sub_812A3D4: @ 812A3D4
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	bl sub_81279C4
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0812A430
	ldr r0, =gStringVar1
	ldr r1, =gUnknown_0203A172
	ldrb r2, [r1]
	ldr r1, =gUnknown_0203A14C
	ldr r1, [r1]
	adds r1, r2
	ldrb r1, [r1]
	lsls r1, 5
	ldr r2, =gUnknown_085A5C09
	adds r1, r2
	bl StringCopy
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EAA14
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_812A458
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
	b _0812A444
	.pool
_0812A430:
	ldr r4, =gStringVar4
	ldr r1, =gUnknown_085EA9E0
	adds r0, r4, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_8127A5C
	adds r0, r5, 0
	adds r1, r4, 0
	bl DisplayItemMessageOnField
_0812A444:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A3D4

	thumb_func_start sub_812A458
sub_812A458: @ 812A458
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	bl sub_8197930
	ldr r1, =gUnknown_085A741C
	adds r0, r4, 0
	bl sub_8121F68
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A458

	thumb_func_start sub_812A478
sub_812A478: @ 812A478
	push {r4,r5,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r0, =gUnknown_0203A172
	ldrb r1, [r0]
	ldr r0, =gUnknown_0203A14C
	ldr r0, [r0]
	adds r0, r1
	movs r1, 0
	strb r1, [r0]
	ldr r5, =gUnknown_0203A173
	ldrb r0, [r5]
	bl sub_8161AD0
	ldr r1, =gUnknown_0203A151
	strb r0, [r1]
	ldrb r0, [r5]
	bl sub_8161A38
	adds r0, r4, 0
	bl sub_8127814
	ldr r5, =gStringVar4
	ldr r1, =gUnknown_085EAA3D
	adds r0, r5, 0
	bl StringExpandPlaceholders
	ldr r2, =sub_8127A5C
	adds r0, r4, 0
	adds r1, r5, 0
	bl DisplayItemMessageOnField
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_812A478

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