diff options
Diffstat (limited to 'asm')
| -rw-r--r-- | asm/battle_tower.s | 2 | ||||
| -rw-r--r-- | asm/battle_transition.s | 6254 | 
2 files changed, 1 insertions, 6255 deletions
| diff --git a/asm/battle_tower.s b/asm/battle_tower.s index 15cb95854..3f019e1ea 100644 --- a/asm/battle_tower.s +++ b/asm/battle_tower.s @@ -2082,7 +2082,7 @@ sub_8135534: @ 8135534  	push {r4,lr}  	lsls r0, 24  	lsrs r4, r0, 24 -	bl sub_811AAE8 +	bl IsBattleTransitionDone  	lsls r0, 24  	lsrs r0, 24  	cmp r0, 0x1 diff --git a/asm/battle_transition.s b/asm/battle_transition.s deleted file mode 100644 index a4b4d1666..000000000 --- a/asm/battle_transition.s +++ /dev/null @@ -1,6254 +0,0 @@ -	.include "constants/gba_constants.inc" -	.include "constants/species_constants.inc" -	.include "asm/macros.inc" - -	.syntax unified - -	.text - -	thumb_func_start sub_811AABC -sub_811AABC: @ 811AABC -	push {lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r2, _0811AAD0 @ =gMain -	ldr r1, _0811AAD4 @ =sub_8054398 -	str r1, [r2, 0x4] -	bl sub_811AB20 -	pop {r0} -	bx r0 -	.align 2, 0 -_0811AAD0: .4byte gMain -_0811AAD4: .4byte sub_8054398 -	thumb_func_end sub_811AABC - -	thumb_func_start sub_811AAD8 -sub_811AAD8: @ 811AAD8 -	push {lr} -	lsls r0, 24 -	lsrs r0, 24 -	bl sub_811AB20 -	pop {r0} -	bx r0 -	thumb_func_end sub_811AAD8 - -	thumb_func_start sub_811AAE8 -sub_811AAE8: @ 811AAE8 -	push {lr} -	ldr r0, _0811AB0C @ =sub_811AB50 -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r2, r0, 24 -	ldr r1, _0811AB10 @ =gTasks -	lsls r0, r2, 2 -	adds r0, r2 -	lsls r0, 3 -	adds r0, r1 -	movs r1, 0x26 -	ldrsh r0, [r0, r1] -	cmp r0, 0 -	bne _0811AB14 -	movs r0, 0 -	b _0811AB1C -	.align 2, 0 -_0811AB0C: .4byte sub_811AB50 -_0811AB10: .4byte gTasks -_0811AB14: -	adds r0, r2, 0 -	bl DestroyTask -	movs r0, 0x1 -_0811AB1C: -	pop {r1} -	bx r1 -	thumb_func_end sub_811AAE8 - -	thumb_func_start sub_811AB20 -sub_811AB20: @ 811AB20 -	push {r4,lr} -	adds r4, r0, 0 -	lsls r4, 24 -	lsrs r4, 24 -	ldr r0, _0811AB48 @ =sub_811AB50 -	movs r1, 0x2 -	bl CreateTask -	lsls r0, 24 -	lsrs r0, 24 -	ldr r2, _0811AB4C @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r1, r2 -	strh r4, [r1, 0xA] -	pop {r4} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811AB48: .4byte sub_811AB50 -_0811AB4C: .4byte gTasks -	thumb_func_end sub_811AB20 - -	thumb_func_start sub_811AB50 -sub_811AB50: @ 811AB50 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811AB80 @ =gUnknown_083FD794 -	ldr r2, _0811AB84 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811AB62: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811AB62 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811AB80: .4byte gUnknown_083FD794 -_0811AB84: .4byte gTasks -	thumb_func_end sub_811AB50 - -	thumb_func_start sub_811AB88 -sub_811AB88: @ 811AB88 -	push {r4,lr} -	adds r4, r0, 0 -	bl sub_807DE10 -	ldr r0, _0811ABB4 @ =gPlttBufferFaded -	ldr r1, _0811ABB8 @ =gPlttBufferUnfaded -	ldr r2, _0811ABBC @ =0x04000100 -	bl CpuSet -	ldr r1, _0811ABC0 @ =gUnknown_083FD70C -	movs r2, 0xA -	ldrsh r0, [r4, r2] -	lsls r0, 2 -	adds r0, r1 -	ldr r0, [r0] -	cmp r0, 0 -	bne _0811ABC4 -	movs r0, 0x2 -	strh r0, [r4, 0x8] -	movs r0, 0x1 -	b _0811ABD2 -	.align 2, 0 -_0811ABB4: .4byte gPlttBufferFaded -_0811ABB8: .4byte gPlttBufferUnfaded -_0811ABBC: .4byte 0x04000100 -_0811ABC0: .4byte gUnknown_083FD70C -_0811ABC4: -	movs r1, 0x4 -	bl CreateTask -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	movs r0, 0 -_0811ABD2: -	pop {r4} -	pop {r1} -	bx r1 -	thumb_func_end sub_811AB88 - -	thumb_func_start sub_811ABD8 -sub_811ABD8: @ 811ABD8 -	push {r4,lr} -	adds r4, r0, 0 -	ldr r1, _0811ABF8 @ =gUnknown_083FD70C -	movs r2, 0xA -	ldrsh r0, [r4, r2] -	lsls r0, 2 -	adds r0, r1 -	ldr r0, [r0] -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0xFF -	beq _0811ABFC -	movs r0, 0 -	b _0811AC04 -	.align 2, 0 -_0811ABF8: .4byte gUnknown_083FD70C -_0811ABFC: -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	movs r0, 0x1 -_0811AC04: -	pop {r4} -	pop {r1} -	bx r1 -	thumb_func_end sub_811ABD8 - -	thumb_func_start sub_811AC0C -sub_811AC0C: @ 811AC0C -	push {r4,lr} -	adds r4, r0, 0 -	ldr r1, _0811AC30 @ =gBattleTransitionFuncs -	movs r2, 0xA -	ldrsh r0, [r4, r2] -	lsls r0, 2 -	adds r0, r1 -	ldr r0, [r0] -	movs r1, 0 -	bl CreateTask -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	movs r0, 0 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811AC30: .4byte gBattleTransitionFuncs -	thumb_func_end sub_811AC0C - -	thumb_func_start sub_811AC34 -sub_811AC34: @ 811AC34 -	push {r4,lr} -	adds r4, r0, 0 -	movs r0, 0 -	strh r0, [r4, 0x26] -	ldr r1, _0811AC60 @ =gBattleTransitionFuncs -	movs r2, 0xA -	ldrsh r0, [r4, r2] -	lsls r0, 2 -	adds r0, r1 -	ldr r0, [r0] -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0xFF -	bne _0811AC58 -	movs r0, 0x1 -	strh r0, [r4, 0x26] -_0811AC58: -	movs r0, 0 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811AC60: .4byte gBattleTransitionFuncs -	thumb_func_end sub_811AC34 - -	thumb_func_start sub_811AC64 -sub_811AC64: @ 811AC64 -	push {r4,lr} -	sub sp, 0x4 -	lsls r0, 24 -	lsrs r0, 24 -	adds r4, r0, 0 -	ldr r1, _0811AC98 @ =gTasks -	lsls r0, r4, 2 -	adds r0, r4 -	lsls r0, 3 -	adds r1, r0, r1 -	ldrh r2, [r1, 0x8] -	movs r3, 0x8 -	ldrsh r0, [r1, r3] -	cmp r0, 0 -	bne _0811AC9C -	adds r0, r2, 0x1 -	strh r0, [r1, 0x8] -	movs r0, 0x2 -	str r0, [sp] -	movs r0, 0 -	movs r1, 0 -	movs r2, 0x3 -	movs r3, 0x2 -	bl sub_811D4C8 -	b _0811ACAC -	.align 2, 0 -_0811AC98: .4byte gTasks -_0811AC9C: -	bl sub_811D52C -	lsls r0, 24 -	cmp r0, 0 -	beq _0811ACAC -	adds r0, r4, 0 -	bl DestroyTask -_0811ACAC: -	add sp, 0x4 -	pop {r4} -	pop {r0} -	bx r0 -	thumb_func_end sub_811AC64 - -	thumb_func_start sub_811ACB4 -sub_811ACB4: @ 811ACB4 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811ACE4 @ =gUnknown_083FD7A4 -	ldr r2, _0811ACE8 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811ACC6: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811ACC6 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811ACE4: .4byte gUnknown_083FD7A4 -_0811ACE8: .4byte gTasks -	thumb_func_end sub_811ACB4 - -	thumb_func_start sub_811ACEC -sub_811ACEC: @ 811ACEC -	ldr r2, _0811AD18 @ =REG_MOSAIC -	movs r1, 0 -	strh r1, [r2] -	subs r2, 0x42 -	ldrh r1, [r2] -	movs r3, 0x40 -	orrs r1, r3 -	strh r1, [r2] -	adds r2, 0x2 -	ldrh r1, [r2] -	orrs r1, r3 -	strh r1, [r2] -	adds r2, 0x2 -	ldrh r1, [r2] -	orrs r1, r3 -	strh r1, [r2] -	ldrh r1, [r0, 0x8] -	adds r1, 0x1 -	strh r1, [r0, 0x8] -	movs r0, 0x1 -	bx lr -	.align 2, 0 -_0811AD18: .4byte REG_MOSAIC -	thumb_func_end sub_811ACEC - -	thumb_func_start sub_811AD1C -sub_811AD1C: @ 811AD1C -	push {r4,lr} -	sub sp, 0x4 -	adds r4, r0, 0 -	ldrh r0, [r4, 0xA] -	movs r1, 0xA -	ldrsh r2, [r4, r1] -	cmp r2, 0 -	beq _0811AD32 -	subs r0, 0x1 -	strh r0, [r4, 0xA] -	b _0811AD70 -_0811AD32: -	movs r0, 0x4 -	strh r0, [r4, 0xA] -	ldrh r0, [r4, 0xC] -	adds r0, 0x1 -	strh r0, [r4, 0xC] -	lsls r0, 16 -	asrs r0, 16 -	cmp r0, 0xA -	bne _0811AD54 -	movs r1, 0x1 -	negs r1, r1 -	str r2, [sp] -	adds r0, r1, 0 -	movs r2, 0 -	movs r3, 0x10 -	bl BeginNormalPaletteFade -_0811AD54: -	ldr r2, _0811AD7C @ =REG_MOSAIC -	ldrh r0, [r4, 0xC] -	movs r1, 0xF -	ands r1, r0 -	lsls r0, r1, 4 -	adds r0, r1 -	strh r0, [r2] -	movs r1, 0xC -	ldrsh r0, [r4, r1] -	cmp r0, 0xE -	ble _0811AD70 -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -_0811AD70: -	movs r0, 0 -	add sp, 0x4 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811AD7C: .4byte REG_MOSAIC -	thumb_func_end sub_811AD1C - -	thumb_func_start sub_811AD80 -sub_811AD80: @ 811AD80 -	push {lr} -	ldr r0, _0811ADA4 @ =gPaletteFade -	ldrb r1, [r0, 0x7] -	movs r0, 0x80 -	ands r0, r1 -	cmp r0, 0 -	bne _0811AD9C -	ldr r0, _0811ADA8 @ =sub_811ACB4 -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -_0811AD9C: -	movs r0, 0 -	pop {r1} -	bx r1 -	.align 2, 0 -_0811ADA4: .4byte gPaletteFade -_0811ADA8: .4byte sub_811ACB4 -	thumb_func_end sub_811AD80 - -	thumb_func_start sub_811ADAC -sub_811ADAC: @ 811ADAC -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811ADDC @ =gUnknown_083FD7B0 -	ldr r2, _0811ADE0 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811ADBE: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811ADBE -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811ADDC: .4byte gUnknown_083FD7B0 -_0811ADE0: .4byte gTasks -	thumb_func_end sub_811ADAC - -	thumb_func_start sub_811ADE4 -sub_811ADE4: @ 811ADE4 -	push {r4,r5,lr} -	sub sp, 0x8 -	adds r5, r0, 0 -	bl sub_811D658 -	bl dp12_8087EA4 -	movs r0, 0x1 -	negs r0, r0 -	movs r4, 0 -	str r4, [sp] -	movs r1, 0x4 -	movs r2, 0 -	movs r3, 0x10 -	bl BeginNormalPaletteFade -	ldr r0, _0811AE54 @ =gUnknown_03005560 -	ldr r1, _0811AE58 @ =0x0200c000 -	movs r2, 0x14 -	ldrsh r1, [r1, r2] -	str r4, [sp] -	movs r2, 0xA0 -	str r2, [sp, 0x4] -	movs r2, 0 -	movs r3, 0x2 -	bl sub_811D6E8 -	ldr r0, _0811AE5C @ =sub_811AEE0 -	bl SetVBlankCallback -	ldr r0, _0811AE60 @ =sub_811AF18 -	bl SetHBlankCallback -	ldr r3, _0811AE64 @ =0x04000208 -	ldrh r2, [r3] -	strh r4, [r3] -	ldr r4, _0811AE68 @ =0x04000200 -	ldrh r0, [r4] -	movs r1, 0x3 -	orrs r0, r1 -	strh r0, [r4] -	strh r2, [r3] -	ldr r2, _0811AE6C @ =REG_DISPSTAT -	ldrh r0, [r2] -	movs r1, 0x18 -	orrs r0, r1 -	strh r0, [r2] -	ldrh r0, [r5, 0x8] -	adds r0, 0x1 -	strh r0, [r5, 0x8] -	movs r0, 0 -	add sp, 0x8 -	pop {r4,r5} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811AE54: .4byte gUnknown_03005560 -_0811AE58: .4byte 0x0200c000 -_0811AE5C: .4byte sub_811AEE0 -_0811AE60: .4byte sub_811AF18 -_0811AE64: .4byte 0x04000208 -_0811AE68: .4byte 0x04000200 -_0811AE6C: .4byte REG_DISPSTAT -	thumb_func_end sub_811ADE4 - -	thumb_func_start sub_811AE70 -sub_811AE70: @ 811AE70 -	push {r4,r5,lr} -	sub sp, 0x8 -	ldr r4, _0811AED0 @ =0x0200c000 -	ldrb r1, [r4] -	movs r1, 0 -	strb r1, [r4] -	ldrh r1, [r0, 0xA] -	adds r1, 0x4 -	strh r1, [r0, 0xA] -	ldrh r1, [r0, 0xC] -	adds r1, 0x8 -	strh r1, [r0, 0xC] -	ldr r3, _0811AED4 @ =gUnknown_03004DE0 -	movs r2, 0x14 -	ldrsh r1, [r4, r2] -	movs r5, 0xA -	ldrsh r2, [r0, r5] -	movs r5, 0xC -	ldrsh r0, [r0, r5] -	str r0, [sp] -	movs r0, 0xA0 -	str r0, [sp, 0x4] -	adds r0, r3, 0 -	movs r3, 0x2 -	bl sub_811D6E8 -	ldr r0, _0811AED8 @ =gPaletteFade -	ldrb r1, [r0, 0x7] -	movs r0, 0x80 -	ands r0, r1 -	cmp r0, 0 -	bne _0811AEBE -	ldr r0, _0811AEDC @ =sub_811ADAC -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -_0811AEBE: -	ldrb r0, [r4] -	adds r0, 0x1 -	ldrb r1, [r4] -	strb r0, [r4] -	movs r0, 0 -	add sp, 0x8 -	pop {r4,r5} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811AED0: .4byte 0x0200c000 -_0811AED4: .4byte gUnknown_03004DE0 -_0811AED8: .4byte gPaletteFade -_0811AEDC: .4byte sub_811ADAC -	thumb_func_end sub_811AE70 - -	thumb_func_start sub_811AEE0 -sub_811AEE0: @ 811AEE0 -	push {lr} -	bl sub_811D67C -	ldr r0, _0811AF08 @ =0x0200c000 -	ldrb r0, [r0] -	cmp r0, 0 -	beq _0811AF02 -	ldr r1, _0811AF0C @ =0x040000d4 -	ldr r0, _0811AF10 @ =gUnknown_03004DE0 -	str r0, [r1] -	movs r2, 0xF0 -	lsls r2, 3 -	adds r0, r2 -	str r0, [r1, 0x4] -	ldr r0, _0811AF14 @ =0x800000a0 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -_0811AF02: -	pop {r0} -	bx r0 -	.align 2, 0 -_0811AF08: .4byte 0x0200c000 -_0811AF0C: .4byte 0x040000d4 -_0811AF10: .4byte gUnknown_03004DE0 -_0811AF14: .4byte 0x800000a0 -	thumb_func_end sub_811AEE0 - -	thumb_func_start sub_811AF18 -sub_811AF18: @ 811AF18 -	ldr r1, _0811AF38 @ =gUnknown_03004DE0 -	ldr r0, _0811AF3C @ =REG_VCOUNT -	ldrh r0, [r0] -	lsls r0, 1 -	movs r2, 0xF0 -	lsls r2, 3 -	adds r1, r2 -	adds r0, r1 -	ldrh r1, [r0] -	ldr r0, _0811AF40 @ =REG_BG1HOFS -	strh r1, [r0] -	adds r0, 0x4 -	strh r1, [r0] -	adds r0, 0x4 -	strh r1, [r0] -	bx lr -	.align 2, 0 -_0811AF38: .4byte gUnknown_03004DE0 -_0811AF3C: .4byte REG_VCOUNT -_0811AF40: .4byte REG_BG1HOFS -	thumb_func_end sub_811AF18 - -	thumb_func_start sub_811AF44 -sub_811AF44: @ 811AF44 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811AF74 @ =gUnknown_083FD7B8 -	ldr r2, _0811AF78 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811AF56: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811AF56 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811AF74: .4byte gUnknown_083FD7B8 -_0811AF78: .4byte gTasks -	thumb_func_end sub_811AF44 - -	thumb_func_start sub_811AF7C -sub_811AF7C: @ 811AF7C -	push {r4,r5,lr} -	sub sp, 0x4 -	adds r5, r0, 0 -	bl sub_811D658 -	bl dp12_8087EA4 -	movs r0, 0x1 -	negs r0, r0 -	movs r4, 0 -	str r4, [sp] -	movs r1, 0x4 -	movs r2, 0 -	movs r3, 0x10 -	bl BeginNormalPaletteFade -	ldr r1, _0811AFE4 @ =0x0200c000 -	ldr r0, _0811AFE8 @ =gUnknown_03005560 -	movs r2, 0x16 -	ldrsh r1, [r1, r2] -	movs r2, 0xA0 -	lsls r2, 1 -	bl memset -	ldr r0, _0811AFEC @ =sub_811B08C -	bl SetVBlankCallback -	ldr r0, _0811AFF0 @ =sub_811B0C4 -	bl SetHBlankCallback -	ldr r3, _0811AFF4 @ =0x04000208 -	ldrh r2, [r3] -	strh r4, [r3] -	ldr r4, _0811AFF8 @ =0x04000200 -	ldrh r0, [r4] -	movs r1, 0x3 -	orrs r0, r1 -	strh r0, [r4] -	strh r2, [r3] -	ldr r2, _0811AFFC @ =REG_DISPSTAT -	ldrh r0, [r2] -	movs r1, 0x18 -	orrs r0, r1 -	strh r0, [r2] -	ldrh r0, [r5, 0x8] -	adds r0, 0x1 -	strh r0, [r5, 0x8] -	movs r0, 0 -	add sp, 0x4 -	pop {r4,r5} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811AFE4: .4byte 0x0200c000 -_0811AFE8: .4byte gUnknown_03005560 -_0811AFEC: .4byte sub_811B08C -_0811AFF0: .4byte sub_811B0C4 -_0811AFF4: .4byte 0x04000208 -_0811AFF8: .4byte 0x04000200 -_0811AFFC: .4byte REG_DISPSTAT -	thumb_func_end sub_811AF7C - -	thumb_func_start sub_811B000 -sub_811B000: @ 811B000 -	push {r4-r7,lr} -	ldr r2, _0811B07C @ =0x0200c000 -	ldrb r1, [r2] -	movs r1, 0 -	strb r1, [r2] -	ldrh r4, [r0, 0xA] -	ldrh r2, [r0, 0xC] -	lsls r3, r2, 16 -	asrs r3, 24 -	movs r5, 0x84 -	lsls r5, 5 -	adds r1, r4, r5 -	strh r1, [r0, 0xA] -	movs r1, 0xC0 -	lsls r1, 1 -	adds r2, r1 -	strh r2, [r0, 0xC] -	movs r5, 0 -	lsls r7, r3, 16 -_0811B026: -	lsrs r0, r4, 8 -	asrs r1, r7, 16 -	bl Sin -	ldr r2, _0811B080 @ =gUnknown_03004DE0 -	lsls r1, r5, 1 -	adds r1, r2 -	ldr r6, _0811B07C @ =0x0200c000 -	ldrh r2, [r6, 0x16] -	adds r0, r2 -	strh r0, [r1] -	adds r0, r5, 0x1 -	lsls r0, 24 -	lsrs r5, r0, 24 -	movs r1, 0x84 -	lsls r1, 5 -	adds r0, r4, r1 -	lsls r0, 16 -	lsrs r4, r0, 16 -	cmp r5, 0x9F -	bls _0811B026 -	ldr r0, _0811B084 @ =gPaletteFade -	ldrb r1, [r0, 0x7] -	movs r0, 0x80 -	ands r0, r1 -	cmp r0, 0 -	bne _0811B06A -	ldr r0, _0811B088 @ =sub_811AF44 -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -_0811B06A: -	ldrb r0, [r6] -	adds r0, 0x1 -	ldrb r1, [r6] -	strb r0, [r6] -	movs r0, 0 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B07C: .4byte 0x0200c000 -_0811B080: .4byte gUnknown_03004DE0 -_0811B084: .4byte gPaletteFade -_0811B088: .4byte sub_811AF44 -	thumb_func_end sub_811B000 - -	thumb_func_start sub_811B08C -sub_811B08C: @ 811B08C -	push {lr} -	bl sub_811D67C -	ldr r0, _0811B0B4 @ =0x0200c000 -	ldrb r0, [r0] -	cmp r0, 0 -	beq _0811B0AE -	ldr r1, _0811B0B8 @ =0x040000d4 -	ldr r0, _0811B0BC @ =gUnknown_03004DE0 -	str r0, [r1] -	movs r2, 0xF0 -	lsls r2, 3 -	adds r0, r2 -	str r0, [r1, 0x4] -	ldr r0, _0811B0C0 @ =0x800000a0 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -_0811B0AE: -	pop {r0} -	bx r0 -	.align 2, 0 -_0811B0B4: .4byte 0x0200c000 -_0811B0B8: .4byte 0x040000d4 -_0811B0BC: .4byte gUnknown_03004DE0 -_0811B0C0: .4byte 0x800000a0 -	thumb_func_end sub_811B08C - -	thumb_func_start sub_811B0C4 -sub_811B0C4: @ 811B0C4 -	ldr r1, _0811B0E4 @ =gUnknown_03004DE0 -	ldr r0, _0811B0E8 @ =REG_VCOUNT -	ldrh r0, [r0] -	lsls r0, 1 -	movs r2, 0xF0 -	lsls r2, 3 -	adds r1, r2 -	adds r0, r1 -	ldrh r1, [r0] -	ldr r0, _0811B0EC @ =REG_BG1VOFS -	strh r1, [r0] -	adds r0, 0x4 -	strh r1, [r0] -	adds r0, 0x4 -	strh r1, [r0] -	bx lr -	.align 2, 0 -_0811B0E4: .4byte gUnknown_03004DE0 -_0811B0E8: .4byte REG_VCOUNT -_0811B0EC: .4byte REG_BG1VOFS -	thumb_func_end sub_811B0C4 - -	thumb_func_start sub_811B0F0 -sub_811B0F0: @ 811B0F0 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811B120 @ =gUnknown_083FD7C0 -	ldr r2, _0811B124 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811B102: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811B102 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811B120: .4byte gUnknown_083FD7C0 -_0811B124: .4byte gTasks -	thumb_func_end sub_811B0F0 - -	thumb_func_start sub_811B128 -sub_811B128: @ 811B128 -	push {r4-r6,lr} -	sub sp, 0xC -	adds r4, r0, 0 -	bl sub_811D658 -	bl dp12_8087EA4 -	movs r2, 0 -	movs r3, 0x10 -	strh r3, [r4, 0xA] -	strh r2, [r4, 0xC] -	strh r2, [r4, 0x10] -	movs r0, 0x80 -	lsls r0, 7 -	strh r0, [r4, 0x12] -	ldr r1, _0811B1BC @ =0x0200c000 -	movs r0, 0x3F -	strh r0, [r1, 0x2] -	strh r2, [r1, 0x4] -	movs r0, 0xF0 -	strh r0, [r1, 0x6] -	movs r0, 0xA0 -	strh r0, [r1, 0x8] -	ldr r0, _0811B1C0 @ =0x00003f41 -	strh r0, [r1, 0xE] -	lsls r3, 8 -	strh r3, [r1, 0x10] -	movs r1, 0 -	add r5, sp, 0x4 -	add r6, sp, 0x8 -	ldr r3, _0811B1C4 @ =gUnknown_03005560 -	movs r2, 0xF0 -_0811B168: -	lsls r0, r1, 1 -	adds r0, r3 -	strh r2, [r0] -	adds r0, r1, 0x1 -	lsls r0, 16 -	lsrs r1, r0, 16 -	cmp r1, 0x9F -	bls _0811B168 -	ldr r0, _0811B1C8 @ =sub_811B520 -	bl SetVBlankCallback -	adds r0, r5, 0 -	adds r1, r6, 0 -	bl sub_811D6A8 -	mov r1, sp -	movs r0, 0 -	strh r0, [r1] -	ldr r1, [sp, 0x4] -	ldr r2, _0811B1CC @ =0x01000400 -	mov r0, sp -	bl CpuSet -	ldr r0, _0811B1D0 @ =gUnknown_083FBB88 -	ldr r1, [sp, 0x8] -	movs r2, 0xB0 -	lsls r2, 2 -	bl CpuSet -	ldr r0, _0811B1D4 @ =gFieldEffectObjectPalette10 -	movs r1, 0xF0 -	movs r2, 0x20 -	bl LoadPalette -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	movs r0, 0 -	add sp, 0xC -	pop {r4-r6} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B1BC: .4byte 0x0200c000 -_0811B1C0: .4byte 0x00003f41 -_0811B1C4: .4byte gUnknown_03005560 -_0811B1C8: .4byte sub_811B520 -_0811B1CC: .4byte 0x01000400 -_0811B1D0: .4byte gUnknown_083FBB88 -_0811B1D4: .4byte gFieldEffectObjectPalette10 -	thumb_func_end sub_811B128 - -	thumb_func_start sub_811B1D8 -sub_811B1D8: @ 811B1D8 -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	sub sp, 0x10 -	adds r7, r0, 0 -	ldr r5, _0811B260 @ =gUnknown_083FDB44 -	add r1, sp, 0xC -	add r0, sp, 0x8 -	bl sub_811D6A8 -	movs r1, 0 -	ldr r0, [sp, 0x8] -	mov r9, r0 -	ldr r6, _0811B264 @ =gUnknown_03004DE0 -	mov r8, r6 -	movs r0, 0xF0 -	lsls r0, 8 -	mov r12, r0 -_0811B1FE: -	movs r0, 0 -	lsls r3, r1, 16 -	asrs r4, r3, 11 -_0811B204: -	lsls r2, r0, 16 -	asrs r2, 16 -	adds r1, r4, r2 -	lsls r1, 1 -	add r1, r9 -	ldrh r0, [r5] -	mov r6, r12 -	orrs r0, r6 -	strh r0, [r1] -	adds r2, 0x1 -	lsls r2, 16 -	adds r5, 0x2 -	lsrs r0, r2, 16 -	asrs r2, 16 -	cmp r2, 0x1D -	ble _0811B204 -	movs r1, 0x80 -	lsls r1, 9 -	adds r0, r3, r1 -	lsrs r1, r0, 16 -	asrs r0, 16 -	cmp r0, 0x13 -	ble _0811B1FE -	movs r6, 0x10 -	ldrsh r2, [r7, r6] -	movs r1, 0x12 -	ldrsh r0, [r7, r1] -	str r0, [sp] -	movs r0, 0xA0 -	str r0, [sp, 0x4] -	mov r0, r8 -	movs r1, 0 -	movs r3, 0x84 -	bl sub_811D6E8 -	ldrh r0, [r7, 0x8] -	adds r0, 0x1 -	strh r0, [r7, 0x8] -	movs r0, 0x1 -	add sp, 0x10 -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B260: .4byte gUnknown_083FDB44 -_0811B264: .4byte gUnknown_03004DE0 -	thumb_func_end sub_811B1D8 - -	thumb_func_start sub_811B268 -sub_811B268: @ 811B268 -	push {r4,lr} -	sub sp, 0x8 -	adds r2, r0, 0 -	ldr r1, _0811B2E8 @ =0x0200c000 -	ldrb r0, [r1] -	movs r0, 0 -	strb r0, [r1] -	ldrh r3, [r2, 0xE] -	movs r4, 0xE -	ldrsh r0, [r2, r4] -	adds r4, r1, 0 -	cmp r0, 0 -	beq _0811B28C -	subs r0, r3, 0x1 -	strh r0, [r2, 0xE] -	lsls r0, 16 -	cmp r0, 0 -	bne _0811B296 -_0811B28C: -	ldrh r0, [r2, 0xC] -	adds r0, 0x1 -	strh r0, [r2, 0xC] -	movs r0, 0x2 -	strh r0, [r2, 0xE] -_0811B296: -	ldrh r0, [r2, 0xA] -	lsls r0, 8 -	ldrh r1, [r2, 0xC] -	orrs r0, r1 -	strh r0, [r4, 0x10] -	lsls r1, 16 -	asrs r1, 16 -	cmp r1, 0xF -	ble _0811B2AE -	ldrh r0, [r2, 0x8] -	adds r0, 0x1 -	strh r0, [r2, 0x8] -_0811B2AE: -	ldrh r0, [r2, 0x10] -	adds r0, 0x8 -	strh r0, [r2, 0x10] -	ldr r0, _0811B2EC @ =0xffffff00 -	adds r1, r0, 0 -	ldrh r3, [r2, 0x12] -	adds r1, r3 -	strh r1, [r2, 0x12] -	ldr r0, _0811B2F0 @ =gUnknown_03004DE0 -	movs r3, 0x10 -	ldrsh r2, [r2, r3] -	lsls r1, 16 -	asrs r1, 24 -	str r1, [sp] -	movs r1, 0xA0 -	str r1, [sp, 0x4] -	movs r1, 0 -	movs r3, 0x84 -	bl sub_811D6E8 -	ldrb r0, [r4] -	adds r0, 0x1 -	ldrb r1, [r4] -	strb r0, [r4] -	movs r0, 0 -	add sp, 0x8 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B2E8: .4byte 0x0200c000 -_0811B2EC: .4byte 0xffffff00 -_0811B2F0: .4byte gUnknown_03004DE0 -	thumb_func_end sub_811B268 - -	thumb_func_start sub_811B2F4 -sub_811B2F4: @ 811B2F4 -	push {r4,r5,lr} -	sub sp, 0x8 -	adds r3, r0, 0 -	ldr r1, _0811B374 @ =0x0200c000 -	ldrb r0, [r1] -	movs r0, 0 -	strb r0, [r1] -	ldrh r2, [r3, 0xE] -	movs r4, 0xE -	ldrsh r0, [r3, r4] -	adds r4, r1, 0 -	cmp r0, 0 -	beq _0811B318 -	subs r0, r2, 0x1 -	strh r0, [r3, 0xE] -	lsls r0, 16 -	cmp r0, 0 -	bne _0811B322 -_0811B318: -	ldrh r0, [r3, 0xA] -	subs r0, 0x1 -	strh r0, [r3, 0xA] -	movs r0, 0x2 -	strh r0, [r3, 0xE] -_0811B322: -	ldrh r0, [r3, 0xA] -	lsls r1, r0, 8 -	ldrh r2, [r3, 0xC] -	orrs r1, r2 -	strh r1, [r4, 0x10] -	lsls r0, 16 -	cmp r0, 0 -	bne _0811B338 -	ldrh r0, [r3, 0x8] -	adds r0, 0x1 -	strh r0, [r3, 0x8] -_0811B338: -	ldrh r0, [r3, 0x10] -	adds r0, 0x8 -	strh r0, [r3, 0x10] -	ldr r5, _0811B378 @ =0xffffff00 -	adds r1, r5, 0 -	ldrh r0, [r3, 0x12] -	adds r1, r0 -	strh r1, [r3, 0x12] -	ldr r0, _0811B37C @ =gUnknown_03004DE0 -	movs r5, 0x10 -	ldrsh r2, [r3, r5] -	lsls r1, 16 -	asrs r1, 24 -	str r1, [sp] -	movs r1, 0xA0 -	str r1, [sp, 0x4] -	movs r1, 0 -	movs r3, 0x84 -	bl sub_811D6E8 -	ldrb r0, [r4] -	adds r0, 0x1 -	ldrb r1, [r4] -	strb r0, [r4] -	movs r0, 0 -	add sp, 0x8 -	pop {r4,r5} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B374: .4byte 0x0200c000 -_0811B378: .4byte 0xffffff00 -_0811B37C: .4byte gUnknown_03004DE0 -	thumb_func_end sub_811B2F4 - -	thumb_func_start sub_811B380 -sub_811B380: @ 811B380 -	push {r4-r7,lr} -	sub sp, 0x8 -	adds r4, r0, 0 -	ldr r5, _0811B3E0 @ =0x0200c000 -	ldrb r0, [r5] -	movs r7, 0 -	strb r7, [r5] -	ldrh r0, [r4, 0x10] -	adds r0, 0x8 -	strh r0, [r4, 0x10] -	ldr r0, _0811B3E4 @ =0xffffff00 -	adds r1, r0, 0 -	ldrh r3, [r4, 0x12] -	adds r1, r3 -	strh r1, [r4, 0x12] -	ldr r0, _0811B3E8 @ =gUnknown_03004DE0 -	movs r3, 0x10 -	ldrsh r2, [r4, r3] -	lsls r1, 16 -	asrs r1, 24 -	str r1, [sp] -	movs r6, 0xA0 -	str r6, [sp, 0x4] -	movs r1, 0 -	movs r3, 0x84 -	bl sub_811D6E8 -	movs r1, 0x12 -	ldrsh r0, [r4, r1] -	cmp r0, 0 -	bgt _0811B3CE -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	strh r6, [r4, 0xA] -	movs r0, 0x80 -	lsls r0, 1 -	strh r0, [r4, 0xC] -	strh r7, [r4, 0xE] -_0811B3CE: -	ldrb r0, [r5] -	adds r0, 0x1 -	ldrb r1, [r5] -	strb r0, [r5] -	movs r0, 0 -	add sp, 0x8 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B3E0: .4byte 0x0200c000 -_0811B3E4: .4byte 0xffffff00 -_0811B3E8: .4byte gUnknown_03004DE0 -	thumb_func_end sub_811B380 - -	thumb_func_start sub_811B3EC -sub_811B3EC: @ 811B3EC -	push {r4,lr} -	adds r4, r0, 0 -	ldr r0, _0811B488 @ =0x0200c000 -	ldrb r1, [r0] -	movs r3, 0 -	strb r3, [r0] -	ldrh r2, [r4, 0xC] -	movs r0, 0xC -	ldrsh r1, [r4, r0] -	ldr r0, _0811B48C @ =0x000003ff -	cmp r1, r0 -	bgt _0811B40A -	adds r0, r2, 0 -	adds r0, 0x80 -	strh r0, [r4, 0xC] -_0811B40A: -	ldrh r1, [r4, 0xA] -	movs r2, 0xA -	ldrsh r0, [r4, r2] -	cmp r0, 0 -	beq _0811B426 -	ldrh r0, [r4, 0xC] -	lsls r0, 16 -	asrs r0, 24 -	subs r0, r1, r0 -	strh r0, [r4, 0xA] -	lsls r0, 16 -	cmp r0, 0 -	bge _0811B426 -	strh r3, [r4, 0xA] -_0811B426: -	ldr r0, _0811B490 @ =gUnknown_03004DE0 -	movs r1, 0xA -	ldrsh r3, [r4, r1] -	movs r1, 0x78 -	movs r2, 0x50 -	bl sub_811D764 -	movs r2, 0xA -	ldrsh r0, [r4, r2] -	cmp r0, 0 -	bne _0811B462 -	ldr r1, _0811B494 @ =0x040000b0 -	ldrh r2, [r1, 0xA] -	ldr r0, _0811B498 @ =0x0000c5ff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r2, [r1, 0xA] -	ldr r0, _0811B49C @ =0x00007fff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r0, [r1, 0xA] -	bl sub_811D6D4 -	ldr r0, _0811B4A0 @ =sub_811B0F0 -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -_0811B462: -	ldrh r1, [r4, 0xE] -	movs r2, 0xE -	ldrsh r0, [r4, r2] -	cmp r0, 0 -	bne _0811B476 -	adds r0, r1, 0x1 -	strh r0, [r4, 0xE] -	ldr r0, _0811B4A4 @ =sub_811B54C -	bl SetVBlankCallback -_0811B476: -	ldr r0, _0811B488 @ =0x0200c000 -	ldrb r1, [r0] -	adds r1, 0x1 -	ldrb r2, [r0] -	strb r1, [r0] -	movs r0, 0 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B488: .4byte 0x0200c000 -_0811B48C: .4byte 0x000003ff -_0811B490: .4byte gUnknown_03004DE0 -_0811B494: .4byte 0x040000b0 -_0811B498: .4byte 0x0000c5ff -_0811B49C: .4byte 0x00007fff -_0811B4A0: .4byte sub_811B0F0 -_0811B4A4: .4byte sub_811B54C -	thumb_func_end sub_811B3EC - -	thumb_func_start sub_811B4A8 -sub_811B4A8: @ 811B4A8 -	push {lr} -	ldr r1, _0811B500 @ =0x040000b0 -	ldrh r2, [r1, 0xA] -	ldr r0, _0811B504 @ =0x0000c5ff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r2, [r1, 0xA] -	ldr r0, _0811B508 @ =0x00007fff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r0, [r1, 0xA] -	bl sub_811D67C -	ldr r2, _0811B50C @ =0x0200c000 -	ldrb r0, [r2] -	cmp r0, 0 -	beq _0811B4DE -	ldr r1, _0811B510 @ =0x040000d4 -	ldr r0, _0811B514 @ =gUnknown_03004DE0 -	str r0, [r1] -	movs r3, 0xF0 -	lsls r3, 3 -	adds r0, r3 -	str r0, [r1, 0x4] -	ldr r0, _0811B518 @ =0x800000a0 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -_0811B4DE: -	ldr r1, _0811B51C @ =REG_WININ -	ldrh r0, [r2, 0x2] -	strh r0, [r1] -	adds r1, 0x2 -	ldrh r0, [r2, 0x4] -	strh r0, [r1] -	subs r1, 0x6 -	ldrh r0, [r2, 0x8] -	strh r0, [r1] -	adds r1, 0xC -	ldrh r0, [r2, 0xE] -	strh r0, [r1] -	adds r1, 0x2 -	ldrh r0, [r2, 0x10] -	strh r0, [r1] -	pop {r0} -	bx r0 -	.align 2, 0 -_0811B500: .4byte 0x040000b0 -_0811B504: .4byte 0x0000c5ff -_0811B508: .4byte 0x00007fff -_0811B50C: .4byte 0x0200c000 -_0811B510: .4byte 0x040000d4 -_0811B514: .4byte gUnknown_03004DE0 -_0811B518: .4byte 0x800000a0 -_0811B51C: .4byte REG_WININ -	thumb_func_end sub_811B4A8 - -	thumb_func_start sub_811B520 -sub_811B520: @ 811B520 -	push {lr} -	bl sub_811B4A8 -	ldr r1, _0811B53C @ =0x040000b0 -	ldr r0, _0811B540 @ =gUnknown_03005560 -	str r0, [r1] -	ldr r0, _0811B544 @ =REG_BG0HOFS -	str r0, [r1, 0x4] -	ldr r0, _0811B548 @ =0xa2400001 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -	pop {r0} -	bx r0 -	.align 2, 0 -_0811B53C: .4byte 0x040000b0 -_0811B540: .4byte gUnknown_03005560 -_0811B544: .4byte REG_BG0HOFS -_0811B548: .4byte 0xa2400001 -	thumb_func_end sub_811B520 - -	thumb_func_start sub_811B54C -sub_811B54C: @ 811B54C -	push {lr} -	bl sub_811B4A8 -	ldr r1, _0811B568 @ =0x040000b0 -	ldr r0, _0811B56C @ =gUnknown_03005560 -	str r0, [r1] -	ldr r0, _0811B570 @ =REG_WIN0H -	str r0, [r1, 0x4] -	ldr r0, _0811B574 @ =0xa2400001 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -	pop {r0} -	bx r0 -	.align 2, 0 -_0811B568: .4byte 0x040000b0 -_0811B56C: .4byte gUnknown_03005560 -_0811B570: .4byte REG_WIN0H -_0811B574: .4byte 0xa2400001 -	thumb_func_end sub_811B54C - -	thumb_func_start sub_811B578 -sub_811B578: @ 811B578 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811B5A8 @ =gUnknown_083FD7D8 -	ldr r2, _0811B5AC @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811B58A: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811B58A -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811B5A8: .4byte gUnknown_083FD7D8 -_0811B5AC: .4byte gTasks -	thumb_func_end sub_811B578 - -	thumb_func_start sub_811B5B0 -sub_811B5B0: @ 811B5B0 -	push {r4,lr} -	sub sp, 0xC -	adds r4, r0, 0 -	add r0, sp, 0x4 -	add r1, sp, 0x8 -	bl sub_811D6A8 -	ldr r0, _0811B5F0 @ =gUnknown_083FC108 -	ldr r1, [sp, 0x8] -	movs r2, 0x20 -	bl CpuSet -	movs r0, 0 -	str r0, [sp] -	ldr r1, [sp, 0x4] -	ldr r2, _0811B5F4 @ =0x05000200 -	mov r0, sp -	bl CpuSet -	ldr r0, _0811B5F8 @ =gFieldEffectObjectPalette10 -	movs r1, 0xF0 -	movs r2, 0x20 -	bl LoadPalette -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	movs r0, 0 -	add sp, 0xC -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B5F0: .4byte gUnknown_083FC108 -_0811B5F4: .4byte 0x05000200 -_0811B5F8: .4byte gFieldEffectObjectPalette10 -	thumb_func_end sub_811B5B0 - -	thumb_func_start sub_811B5FC -sub_811B5FC: @ 811B5FC -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	sub sp, 0x10 -	adds r7, r0, 0 -	ldr r1, _0811B67C @ =gUnknown_083FD7E4 -	mov r0, sp -	movs r2, 0x4 -	bl memcpy -	add r4, sp, 0x4 -	ldr r1, _0811B680 @ =gUnknown_083FD7E8 -	adds r0, r4, 0 -	movs r2, 0xA -	bl memcpy -	bl Random -	movs r5, 0x1 -	ands r5, r0 -	movs r1, 0 -	mov r8, r4 -	ldr r6, _0811B684 @ =gUnknown_0202FF84 -_0811B62A: -	lsls r5, 16 -	asrs r5, 16 -	lsls r0, r5, 1 -	add r0, sp -	movs r2, 0 -	ldrsh r0, [r0, r2] -	str r0, [r6] -	lsls r4, r1, 16 -	asrs r4, 16 -	lsls r0, r4, 5 -	adds r0, 0x10 -	str r0, [r6, 0x4] -	str r5, [r6, 0x8] -	lsls r0, r4, 1 -	add r0, r8 -	movs r1, 0 -	ldrsh r0, [r0, r1] -	str r0, [r6, 0xC] -	movs r0, 0x2D -	bl FieldEffectStart -	adds r4, 0x1 -	lsls r4, 16 -	movs r0, 0x1 -	eors r5, r0 -	lsls r5, 16 -	lsrs r5, 16 -	lsrs r1, r4, 16 -	asrs r4, 16 -	cmp r4, 0x4 -	ble _0811B62A -	ldrh r0, [r7, 0x8] -	adds r0, 0x1 -	strh r0, [r7, 0x8] -	movs r0, 0 -	add sp, 0x10 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B67C: .4byte gUnknown_083FD7E4 -_0811B680: .4byte gUnknown_083FD7E8 -_0811B684: .4byte gUnknown_0202FF84 -	thumb_func_end sub_811B5FC - -	thumb_func_start sub_811B688 -sub_811B688: @ 811B688 -	push {lr} -	movs r0, 0x2D -	bl FieldEffectActiveListContains -	lsls r0, 24 -	cmp r0, 0 -	bne _0811B6A8 -	bl sub_811D6D4 -	ldr r0, _0811B6B0 @ =sub_811B578 -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -_0811B6A8: -	movs r0, 0 -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B6B0: .4byte sub_811B578 -	thumb_func_end sub_811B688 - -	thumb_func_start FldEff_Pokeball -FldEff_Pokeball: @ 811B6B4 -	push {r4,r5,lr} -	ldr r0, _0811B710 @ =gSpriteTemplate_83FD98C -	ldr r5, _0811B714 @ =gUnknown_0202FF84 -	movs r2, 0 -	ldrsh r1, [r5, r2] -	movs r3, 0x4 -	ldrsh r2, [r5, r3] -	movs r3, 0 -	bl CreateSpriteAtEnd -	lsls r0, 24 -	lsrs r0, 24 -	ldr r1, _0811B718 @ =gSprites -	lsls r4, r0, 4 -	adds r4, r0 -	lsls r4, 2 -	adds r4, r1 -	ldrb r1, [r4, 0x5] -	movs r0, 0xD -	negs r0, r0 -	ands r0, r1 -	strb r0, [r4, 0x5] -	ldrb r1, [r4, 0x1] -	movs r0, 0x4 -	negs r0, r0 -	ands r0, r1 -	movs r1, 0x1 -	orrs r0, r1 -	strb r0, [r4, 0x1] -	ldr r0, [r5, 0x8] -	strh r0, [r4, 0x2E] -	ldr r0, [r5, 0xC] -	strh r0, [r4, 0x30] -	ldr r0, _0811B71C @ =0x0000ffff -	strh r0, [r4, 0x32] -	adds r0, r4, 0 -	bl InitSpriteAffineAnim -	ldrb r1, [r5, 0x8] -	adds r0, r4, 0 -	bl StartSpriteAffineAnim -	movs r0, 0 -	pop {r4,r5} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B710: .4byte gSpriteTemplate_83FD98C -_0811B714: .4byte gUnknown_0202FF84 -_0811B718: .4byte gSprites -_0811B71C: .4byte 0x0000ffff -	thumb_func_end FldEff_Pokeball - -	thumb_func_start sub_811B720 -sub_811B720: @ 811B720 -	push {r4-r6,lr} -	sub sp, 0x4 -	adds r4, r0, 0 -	ldr r1, _0811B740 @ =gUnknown_083FD7F2 -	mov r0, sp -	movs r2, 0x4 -	bl memcpy -	ldrh r1, [r4, 0x30] -	movs r2, 0x30 -	ldrsh r0, [r4, r2] -	cmp r0, 0 -	beq _0811B744 -	subs r0, r1, 0x1 -	strh r0, [r4, 0x30] -	b _0811B7D6 -	.align 2, 0 -_0811B740: .4byte gUnknown_083FD7F2 -_0811B744: -	ldrh r0, [r4, 0x20] -	lsls r1, r0, 16 -	lsrs r0, r1, 16 -	cmp r0, 0xF0 -	bhi _0811B7B2 -	asrs r0, r1, 19 -	lsls r0, 16 -	ldrh r1, [r4, 0x22] -	lsls r1, 16 -	asrs r1, 19 -	lsls r1, 16 -	lsrs r1, 16 -	lsrs r2, r0, 16 -	asrs r5, r0, 16 -	movs r3, 0x32 -	ldrsh r0, [r4, r3] -	cmp r5, r0 -	beq _0811B7B2 -	strh r2, [r4, 0x32] -	ldr r0, _0811B7E0 @ =REG_BG0CNT -	ldrh r2, [r0] -	lsrs r2, 8 -	movs r0, 0x1F -	ands r2, r0 -	lsls r2, 11 -	movs r0, 0xC0 -	lsls r0, 19 -	adds r2, r0 -	lsls r1, 16 -	asrs r1, 16 -	subs r0, r1, 0x2 -	lsls r0, 5 -	adds r0, r5 -	lsls r0, 1 -	adds r0, r2 -	ldr r6, _0811B7E4 @ =0x0000f001 -	adds r3, r6, 0 -	strh r3, [r0] -	subs r0, r1, 0x1 -	lsls r0, 5 -	adds r0, r5 -	lsls r0, 1 -	adds r0, r2 -	strh r3, [r0] -	lsls r0, r1, 5 -	adds r0, r5 -	lsls r0, 1 -	adds r0, r2 -	strh r3, [r0] -	adds r1, 0x1 -	lsls r1, 5 -	adds r1, r5 -	lsls r1, 1 -	adds r1, r2 -	strh r3, [r1] -_0811B7B2: -	movs r1, 0x2E -	ldrsh r0, [r4, r1] -	lsls r0, 1 -	add r0, sp -	ldrh r0, [r0] -	ldrh r2, [r4, 0x20] -	adds r0, r2 -	strh r0, [r4, 0x20] -	adds r0, 0xF -	lsls r0, 16 -	movs r1, 0x87 -	lsls r1, 17 -	cmp r0, r1 -	bls _0811B7D6 -	adds r0, r4, 0 -	movs r1, 0x2D -	bl FieldEffectStop -_0811B7D6: -	add sp, 0x4 -	pop {r4-r6} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811B7E0: .4byte REG_BG0CNT -_0811B7E4: .4byte 0x0000f001 -	thumb_func_end sub_811B720 - -	thumb_func_start sub_811B7E8 -sub_811B7E8: @ 811B7E8 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811B818 @ =gUnknown_083FD7F8 -	ldr r2, _0811B81C @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811B7FA: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811B7FA -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811B818: .4byte gUnknown_083FD7F8 -_0811B81C: .4byte gTasks -	thumb_func_end sub_811B7E8 - -	thumb_func_start sub_811B820 -sub_811B820: @ 811B820 -	push {r4,lr} -	adds r4, r0, 0 -	bl sub_811D658 -	bl dp12_8087EA4 -	ldr r1, _0811B870 @ =0x0200c000 -	movs r0, 0 -	strh r0, [r1, 0x2] -	movs r0, 0x3F -	strh r0, [r1, 0x4] -	ldr r0, _0811B874 @ =0x0000f0f1 -	strh r0, [r1, 0x6] -	movs r0, 0xA0 -	strh r0, [r1, 0x8] -	movs r1, 0 -	ldr r3, _0811B878 @ =gUnknown_03005560 -	ldr r2, _0811B87C @ =0x0000f3f4 -_0811B844: -	lsls r0, r1, 1 -	adds r0, r3 -	strh r2, [r0] -	adds r0, r1, 0x1 -	lsls r0, 16 -	lsrs r1, r0, 16 -	cmp r1, 0x9F -	bls _0811B844 -	ldr r0, _0811B880 @ =sub_811BC2C -	bl SetVBlankCallback -	ldr r1, _0811B870 @ =0x0200c000 -	movs r0, 0x78 -	strh r0, [r1, 0x2C] -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	movs r0, 0x1 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B870: .4byte 0x0200c000 -_0811B874: .4byte 0x0000f0f1 -_0811B878: .4byte gUnknown_03005560 -_0811B87C: .4byte 0x0000f3f4 -_0811B880: .4byte sub_811BC2C -	thumb_func_end sub_811B820 - -	thumb_func_start sub_811B884 -sub_811B884: @ 811B884 -	push {r4-r6,lr} -	sub sp, 0xC -	adds r6, r0, 0 -	ldr r4, _0811B904 @ =0x0200c000 -	ldrb r0, [r4] -	movs r0, 0 -	strb r0, [r4] -	adds r0, r4, 0 -	adds r0, 0x24 -	movs r1, 0x2C -	ldrsh r3, [r4, r1] -	movs r1, 0x1 -	negs r1, r1 -	str r1, [sp] -	movs r1, 0x1 -	str r1, [sp, 0x4] -	str r1, [sp, 0x8] -	movs r1, 0x78 -	movs r2, 0x50 -	bl sub_811D8FC -	ldr r5, _0811B908 @ =gUnknown_03004DE0 -_0811B8B0: -	movs r3, 0x2A -	ldrsh r2, [r4, r3] -	lsls r2, 1 -	adds r2, r5 -	ldrh r0, [r4, 0x28] -	adds r0, 0x1 -	movs r3, 0xF0 -	lsls r3, 7 -	adds r1, r3, 0 -	orrs r0, r1 -	strh r0, [r2] -	adds r0, r4, 0 -	adds r0, 0x24 -	movs r1, 0x1 -	movs r2, 0x1 -	bl sub_811D978 -	lsls r0, 24 -	cmp r0, 0 -	beq _0811B8B0 -	ldr r2, _0811B904 @ =0x0200c000 -	ldrh r0, [r2, 0x2C] -	adds r0, 0x10 -	strh r0, [r2, 0x2C] -	lsls r0, 16 -	asrs r0, 16 -	cmp r0, 0xEF -	ble _0811B8F2 -	movs r0, 0 -	strh r0, [r2, 0x2E] -	ldrh r0, [r6, 0x8] -	adds r0, 0x1 -	strh r0, [r6, 0x8] -_0811B8F2: -	ldrb r0, [r2] -	adds r0, 0x1 -	ldrb r1, [r2] -	strb r0, [r2] -	movs r0, 0 -	add sp, 0xC -	pop {r4-r6} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B904: .4byte 0x0200c000 -_0811B908: .4byte gUnknown_03004DE0 -	thumb_func_end sub_811B884 - -	thumb_func_start sub_811B90C -sub_811B90C: @ 811B90C -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	sub sp, 0x10 -	adds r7, r0, 0 -	add r1, sp, 0xC -	movs r0, 0 -	strb r0, [r1] -	ldr r4, _0811B988 @ =0x0200c000 -	ldrb r0, [r4] -	movs r0, 0 -	strb r0, [r4] -	adds r0, r4, 0 -	adds r0, 0x24 -	movs r2, 0x2E -	ldrsh r1, [r4, r2] -	str r1, [sp] -	movs r1, 0x1 -	str r1, [sp, 0x4] -	str r1, [sp, 0x8] -	movs r1, 0x78 -	movs r2, 0x50 -	movs r3, 0xF0 -	bl sub_811D8FC -	adds r6, r4, 0 -	ldr r5, _0811B98C @ =gUnknown_03004DE0 -	mov r8, r5 -	add r5, sp, 0xC -_0811B946: -	movs r1, 0x78 -	ldrh r0, [r4, 0x28] -	adds r0, 0x1 -	lsls r0, 16 -	lsrs r3, r0, 16 -	movs r2, 0x2E -	ldrsh r0, [r4, r2] -	cmp r0, 0x4F -	ble _0811B95C -	ldrh r1, [r4, 0x28] -	movs r3, 0xF0 -_0811B95C: -	movs r0, 0x2A -	ldrsh r2, [r4, r0] -	lsls r2, 1 -	add r2, r8 -	lsls r1, 16 -	asrs r1, 8 -	lsls r0, r3, 16 -	asrs r3, r0, 16 -	orrs r3, r1 -	strh r3, [r2] -	ldrb r0, [r5] -	cmp r0, 0 -	bne _0811B990 -	adds r0, r4, 0 -	adds r0, 0x24 -	movs r1, 0x1 -	movs r2, 0x1 -	bl sub_811D978 -	strb r0, [r5] -	b _0811B946 -	.align 2, 0 -_0811B988: .4byte 0x0200c000 -_0811B98C: .4byte gUnknown_03004DE0 -_0811B990: -	ldrh r0, [r4, 0x2E] -	adds r0, 0x8 -	strh r0, [r4, 0x2E] -	lsls r0, 16 -	asrs r1, r0, 16 -	cmp r1, 0x9F -	ble _0811B9AA -	movs r0, 0xF0 -	strh r0, [r4, 0x2C] -	ldrh r0, [r7, 0x8] -	adds r0, 0x1 -	strh r0, [r7, 0x8] -	b _0811B9D0 -_0811B9AA: -	movs r2, 0x2A -	ldrsh r0, [r4, r2] -	cmp r0, r1 -	bge _0811B9D0 -	ldr r4, _0811B9E8 @ =gUnknown_03004DE0 -	ldr r2, _0811B9EC @ =0x0200c000 -_0811B9B6: -	ldrh r0, [r2, 0x2A] -	adds r0, 0x1 -	strh r0, [r2, 0x2A] -	lsls r0, 16 -	asrs r0, 15 -	adds r0, r4 -	strh r3, [r0] -	movs r5, 0x2A -	ldrsh r1, [r2, r5] -	movs r5, 0x2E -	ldrsh r0, [r2, r5] -	cmp r1, r0 -	blt _0811B9B6 -_0811B9D0: -	ldrb r0, [r6] -	adds r0, 0x1 -	ldrb r1, [r6] -	strb r0, [r6] -	movs r0, 0 -	add sp, 0x10 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811B9E8: .4byte gUnknown_03004DE0 -_0811B9EC: .4byte 0x0200c000 -	thumb_func_end sub_811B90C - -	thumb_func_start sub_811B9F0 -sub_811B9F0: @ 811B9F0 -	push {r4-r6,lr} -	sub sp, 0xC -	adds r6, r0, 0 -	ldr r4, _0811BA68 @ =0x0200c000 -	ldrb r0, [r4] -	movs r0, 0 -	strb r0, [r4] -	adds r0, r4, 0 -	adds r0, 0x24 -	movs r1, 0x2C -	ldrsh r3, [r4, r1] -	movs r1, 0xA0 -	str r1, [sp] -	movs r1, 0x1 -	str r1, [sp, 0x4] -	str r1, [sp, 0x8] -	movs r1, 0x78 -	movs r2, 0x50 -	bl sub_811D8FC -	ldr r5, _0811BA6C @ =gUnknown_03004DE0 -_0811BA1A: -	movs r0, 0x2A -	ldrsh r2, [r4, r0] -	lsls r2, 1 -	adds r2, r5 -	ldrh r0, [r4, 0x28] -	lsls r0, 8 -	movs r1, 0xF0 -	orrs r0, r1 -	strh r0, [r2] -	adds r0, r4, 0 -	adds r0, 0x24 -	movs r1, 0x1 -	movs r2, 0x1 -	bl sub_811D978 -	lsls r0, 24 -	cmp r0, 0 -	beq _0811BA1A -	ldr r2, _0811BA68 @ =0x0200c000 -	ldrh r0, [r2, 0x2C] -	subs r0, 0x10 -	strh r0, [r2, 0x2C] -	lsls r0, 16 -	cmp r0, 0 -	bgt _0811BA56 -	movs r0, 0xA0 -	strh r0, [r2, 0x2E] -	ldrh r0, [r6, 0x8] -	adds r0, 0x1 -	strh r0, [r6, 0x8] -_0811BA56: -	ldrb r0, [r2] -	adds r0, 0x1 -	ldrb r1, [r2] -	strb r0, [r2] -	movs r0, 0 -	add sp, 0xC -	pop {r4-r6} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811BA68: .4byte 0x0200c000 -_0811BA6C: .4byte gUnknown_03004DE0 -	thumb_func_end sub_811B9F0 - -	thumb_func_start sub_811BA70 -sub_811BA70: @ 811BA70 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x10 -	mov r8, r0 -	add r1, sp, 0xC -	movs r0, 0 -	strb r0, [r1] -	ldr r4, _0811BAF0 @ =0x0200c000 -	ldrb r0, [r4] -	movs r0, 0 -	strb r0, [r4] -	adds r0, r4, 0 -	adds r0, 0x24 -	movs r2, 0x2E -	ldrsh r1, [r4, r2] -	str r1, [sp] -	movs r1, 0x1 -	str r1, [sp, 0x4] -	str r1, [sp, 0x8] -	movs r1, 0x78 -	movs r2, 0x50 -	movs r3, 0 -	bl sub_811D8FC -	ldr r3, _0811BAF4 @ =gUnknown_03004DE0 -	mov r9, r3 -	mov r10, r4 -	add r6, sp, 0xC -_0811BAAE: -	movs r5, 0x2A -	ldrsh r0, [r4, r5] -	lsls r0, 1 -	mov r7, r9 -	adds r5, r0, r7 -	ldrb r1, [r5] -	ldrh r2, [r4, 0x28] -	adds r3, r2, 0 -	movs r7, 0x2E -	ldrsh r0, [r4, r7] -	cmp r0, 0x50 -	bgt _0811BACA -	movs r2, 0x78 -	adds r1, r3, 0 -_0811BACA: -	lsls r0, r2, 16 -	asrs r0, 8 -	lsls r1, 16 -	asrs r1, 16 -	orrs r1, r0 -	movs r3, 0 -	strh r1, [r5] -	ldrb r0, [r6] -	cmp r0, 0 -	bne _0811BAF8 -	adds r0, r4, 0 -	adds r0, 0x24 -	movs r1, 0x1 -	movs r2, 0x1 -	bl sub_811D978 -	strb r0, [r6] -	b _0811BAAE -	.align 2, 0 -_0811BAF0: .4byte 0x0200c000 -_0811BAF4: .4byte gUnknown_03004DE0 -_0811BAF8: -	ldrh r0, [r4, 0x2E] -	subs r0, 0x8 -	strh r0, [r4, 0x2E] -	lsls r0, 16 -	asrs r2, r0, 16 -	cmp r2, 0 -	bgt _0811BB12 -	strh r3, [r4, 0x2C] -	mov r1, r8 -	ldrh r0, [r1, 0x8] -	adds r0, 0x1 -	strh r0, [r1, 0x8] -	b _0811BB3A -_0811BB12: -	movs r3, 0x2A -	ldrsh r0, [r4, r3] -	cmp r0, r2 -	ble _0811BB3A -	ldr r4, _0811BB58 @ =gUnknown_03004DE0 -	ldr r2, _0811BB5C @ =0x0200c000 -	adds r3, r1, 0 -_0811BB20: -	ldrh r0, [r2, 0x2A] -	subs r0, 0x1 -	strh r0, [r2, 0x2A] -	lsls r0, 16 -	asrs r0, 15 -	adds r0, r4 -	strh r3, [r0] -	movs r5, 0x2A -	ldrsh r1, [r2, r5] -	movs r7, 0x2E -	ldrsh r0, [r2, r7] -	cmp r1, r0 -	bgt _0811BB20 -_0811BB3A: -	mov r1, r10 -	ldrb r0, [r1] -	adds r0, 0x1 -	ldrb r1, [r1] -	mov r2, r10 -	strb r0, [r2] -	movs r0, 0 -	add sp, 0x10 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811BB58: .4byte gUnknown_03004DE0 -_0811BB5C: .4byte 0x0200c000 -	thumb_func_end sub_811BA70 - -	thumb_func_start sub_811BB60 -sub_811BB60: @ 811BB60 -	push {r4-r6,lr} -	sub sp, 0xC -	adds r6, r0, 0 -	ldr r4, _0811BBE4 @ =0x0200c000 -	ldrb r0, [r4] -	movs r1, 0 -	strb r1, [r4] -	adds r0, r4, 0 -	adds r0, 0x24 -	movs r2, 0x2C -	ldrsh r3, [r4, r2] -	str r1, [sp] -	movs r1, 0x1 -	str r1, [sp, 0x4] -	str r1, [sp, 0x8] -	movs r1, 0x78 -	movs r2, 0x50 -	bl sub_811D8FC -	ldr r5, _0811BBE8 @ =gUnknown_03004DE0 -_0811BB88: -	movs r2, 0x78 -	ldrh r3, [r4, 0x28] -	movs r1, 0x28 -	ldrsh r0, [r4, r1] -	cmp r0, 0x77 -	ble _0811BB98 -	movs r2, 0 -	movs r3, 0xF0 -_0811BB98: -	movs r0, 0x2A -	ldrsh r1, [r4, r0] -	lsls r1, 1 -	adds r1, r5 -	lsls r2, 8 -	lsls r0, r3, 16 -	asrs r0, 16 -	orrs r0, r2 -	strh r0, [r1] -	adds r0, r4, 0 -	adds r0, 0x24 -	movs r1, 0x1 -	movs r2, 0x1 -	bl sub_811D978 -	lsls r0, 24 -	cmp r0, 0 -	beq _0811BB88 -	ldr r2, _0811BBE4 @ =0x0200c000 -	ldrh r0, [r2, 0x2C] -	adds r0, 0x10 -	strh r0, [r2, 0x2C] -	movs r1, 0x28 -	ldrsh r0, [r2, r1] -	cmp r0, 0x78 -	ble _0811BBD2 -	ldrh r0, [r6, 0x8] -	adds r0, 0x1 -	strh r0, [r6, 0x8] -_0811BBD2: -	ldrb r0, [r2] -	adds r0, 0x1 -	ldrb r1, [r2] -	strb r0, [r2] -	movs r0, 0 -	add sp, 0xC -	pop {r4-r6} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811BBE4: .4byte 0x0200c000 -_0811BBE8: .4byte gUnknown_03004DE0 -	thumb_func_end sub_811BB60 - -	thumb_func_start sub_811BBEC -sub_811BBEC: @ 811BBEC -	push {lr} -	ldr r1, _0811BC1C @ =0x040000b0 -	ldrh r2, [r1, 0xA] -	ldr r0, _0811BC20 @ =0x0000c5ff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r2, [r1, 0xA] -	ldr r0, _0811BC24 @ =0x00007fff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r0, [r1, 0xA] -	bl sub_811D6D4 -	ldr r0, _0811BC28 @ =sub_811B7E8 -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -	movs r0, 0 -	pop {r1} -	bx r1 -	.align 2, 0 -_0811BC1C: .4byte 0x040000b0 -_0811BC20: .4byte 0x0000c5ff -_0811BC24: .4byte 0x00007fff -_0811BC28: .4byte sub_811B7E8 -	thumb_func_end sub_811BBEC - -	thumb_func_start sub_811BC2C -sub_811BC2C: @ 811BC2C -	push {r4,lr} -	ldr r4, _0811BC94 @ =0x040000b0 -	ldrh r1, [r4, 0xA] -	ldr r0, _0811BC98 @ =0x0000c5ff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r1, [r4, 0xA] -	ldr r0, _0811BC9C @ =0x00007fff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r0, [r4, 0xA] -	bl sub_811D67C -	ldr r2, _0811BCA0 @ =0x0200c000 -	ldrb r0, [r2] -	cmp r0, 0 -	beq _0811BC62 -	ldr r1, _0811BCA4 @ =0x040000d4 -	ldr r0, _0811BCA8 @ =gUnknown_03004DE0 -	str r0, [r1] -	movs r3, 0xF0 -	lsls r3, 3 -	adds r0, r3 -	str r0, [r1, 0x4] -	ldr r0, _0811BCAC @ =0x800000a0 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -_0811BC62: -	ldr r1, _0811BCB0 @ =REG_WININ -	ldrh r0, [r2, 0x2] -	strh r0, [r1] -	adds r1, 0x2 -	ldrh r0, [r2, 0x4] -	strh r0, [r1] -	subs r1, 0x6 -	ldrh r0, [r2, 0x8] -	strh r0, [r1] -	ldr r2, _0811BCB4 @ =REG_WIN0H -	ldr r0, _0811BCA8 @ =gUnknown_03004DE0 -	movs r1, 0xF0 -	lsls r1, 3 -	adds r0, r1 -	ldrh r1, [r0] -	strh r1, [r2] -	str r0, [r4] -	str r2, [r4, 0x4] -	ldr r0, _0811BCB8 @ =0xa2400001 -	str r0, [r4, 0x8] -	ldr r0, [r4, 0x8] -	pop {r4} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811BC94: .4byte 0x040000b0 -_0811BC98: .4byte 0x0000c5ff -_0811BC9C: .4byte 0x00007fff -_0811BCA0: .4byte 0x0200c000 -_0811BCA4: .4byte 0x040000d4 -_0811BCA8: .4byte gUnknown_03004DE0 -_0811BCAC: .4byte 0x800000a0 -_0811BCB0: .4byte REG_WININ -_0811BCB4: .4byte REG_WIN0H -_0811BCB8: .4byte 0xa2400001 -	thumb_func_end sub_811BC2C - -	thumb_func_start sub_811BCBC -sub_811BCBC: @ 811BCBC -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811BCEC @ =gUnknown_083FD814 -	ldr r2, _0811BCF0 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811BCCE: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811BCCE -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811BCEC: .4byte gUnknown_083FD814 -_0811BCF0: .4byte gTasks -	thumb_func_end sub_811BCBC - -	thumb_func_start sub_811BCF4 -sub_811BCF4: @ 811BCF4 -	push {r4,r5,lr} -	adds r5, r0, 0 -	bl sub_811D658 -	bl dp12_8087EA4 -	movs r2, 0 -	ldr r4, _0811BD48 @ =gUnknown_03005560 -	ldr r3, _0811BD4C @ =0x0200c000 -_0811BD06: -	lsls r0, r2, 1 -	adds r0, r4 -	ldrh r1, [r3, 0x16] -	strh r1, [r0] -	adds r0, r2, 0x1 -	lsls r0, 24 -	lsrs r2, r0, 24 -	cmp r2, 0x9F -	bls _0811BD06 -	ldr r0, _0811BD50 @ =sub_811BE3C -	bl SetVBlankCallback -	ldr r0, _0811BD54 @ =sub_811BE74 -	bl SetHBlankCallback -	ldr r2, _0811BD58 @ =0x04000200 -	ldrh r0, [r2] -	movs r1, 0x2 -	orrs r0, r1 -	strh r0, [r2] -	ldr r2, _0811BD5C @ =REG_DISPSTAT -	ldrh r0, [r2] -	movs r1, 0x10 -	orrs r0, r1 -	strh r0, [r2] -	ldrh r0, [r5, 0x8] -	adds r0, 0x1 -	strh r0, [r5, 0x8] -	movs r0, 0x1 -	pop {r4,r5} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811BD48: .4byte gUnknown_03005560 -_0811BD4C: .4byte 0x0200c000 -_0811BD50: .4byte sub_811BE3C -_0811BD54: .4byte sub_811BE74 -_0811BD58: .4byte 0x04000200 -_0811BD5C: .4byte REG_DISPSTAT -	thumb_func_end sub_811BCF4 - -	thumb_func_start sub_811BD60 -sub_811BD60: @ 811BD60 -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	sub sp, 0x4 -	adds r6, r0, 0 -	ldr r1, _0811BE28 @ =0x0200c000 -	ldrb r0, [r1] -	movs r0, 0 -	strb r0, [r1] -	ldrh r2, [r6, 0xC] -	lsls r1, r2, 16 -	asrs r0, r1, 24 -	lsls r0, 16 -	lsrs r3, r0, 16 -	ldrh r4, [r6, 0xA] -	movs r0, 0xC0 -	lsls r0, 1 -	mov r8, r0 -	movs r5, 0x80 -	lsls r5, 3 -	adds r0, r4, r5 -	strh r0, [r6, 0xA] -	ldr r0, _0811BE2C @ =0x1fff0000 -	cmp r1, r0 -	bgt _0811BD9A -	movs r1, 0xC0 -	lsls r1, 1 -	adds r0, r2, r1 -	strh r0, [r6, 0xC] -_0811BD9A: -	movs r5, 0 -	lsls r7, r3, 16 -_0811BD9E: -	lsrs r0, r4, 8 -	asrs r1, r7, 16 -	bl Sin -	ldr r1, _0811BE30 @ =gUnknown_03004DE0 -	lsls r2, r5, 1 -	adds r2, r1 -	ldr r1, _0811BE28 @ =0x0200c000 -	ldrh r1, [r1, 0x16] -	adds r0, r1 -	strh r0, [r2] -	adds r0, r5, 0x1 -	lsls r0, 24 -	lsrs r5, r0, 24 -	mov r1, r8 -	adds r0, r4, r1 -	lsls r0, 16 -	lsrs r4, r0, 16 -	cmp r5, 0x9F -	bls _0811BD9E -	ldrh r0, [r6, 0xE] -	adds r0, 0x1 -	strh r0, [r6, 0xE] -	lsls r0, 16 -	asrs r0, 16 -	cmp r0, 0x51 -	bne _0811BDEC -	ldrh r0, [r6, 0x10] -	adds r0, 0x1 -	strh r0, [r6, 0x10] -	movs r0, 0x1 -	negs r0, r0 -	movs r1, 0x2 -	negs r1, r1 -	movs r2, 0 -	str r2, [sp] -	movs r3, 0x10 -	bl BeginNormalPaletteFade -_0811BDEC: -	movs r5, 0x10 -	ldrsh r0, [r6, r5] -	cmp r0, 0 -	beq _0811BE0E -	ldr r0, _0811BE34 @ =gPaletteFade -	ldrb r1, [r0, 0x7] -	movs r0, 0x80 -	ands r0, r1 -	cmp r0, 0 -	bne _0811BE0E -	ldr r0, _0811BE38 @ =sub_811BCBC -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -_0811BE0E: -	ldr r0, _0811BE28 @ =0x0200c000 -	ldrb r1, [r0] -	adds r1, 0x1 -	ldrb r2, [r0] -	strb r1, [r0] -	movs r0, 0 -	add sp, 0x4 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811BE28: .4byte 0x0200c000 -_0811BE2C: .4byte 0x1fff0000 -_0811BE30: .4byte gUnknown_03004DE0 -_0811BE34: .4byte gPaletteFade -_0811BE38: .4byte sub_811BCBC -	thumb_func_end sub_811BD60 - -	thumb_func_start sub_811BE3C -sub_811BE3C: @ 811BE3C -	push {lr} -	bl sub_811D67C -	ldr r0, _0811BE64 @ =0x0200c000 -	ldrb r0, [r0] -	cmp r0, 0 -	beq _0811BE5E -	ldr r1, _0811BE68 @ =0x040000d4 -	ldr r0, _0811BE6C @ =gUnknown_03004DE0 -	str r0, [r1] -	movs r2, 0xF0 -	lsls r2, 3 -	adds r0, r2 -	str r0, [r1, 0x4] -	ldr r0, _0811BE70 @ =0x800000a0 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -_0811BE5E: -	pop {r0} -	bx r0 -	.align 2, 0 -_0811BE64: .4byte 0x0200c000 -_0811BE68: .4byte 0x040000d4 -_0811BE6C: .4byte gUnknown_03004DE0 -_0811BE70: .4byte 0x800000a0 -	thumb_func_end sub_811BE3C - -	thumb_func_start sub_811BE74 -sub_811BE74: @ 811BE74 -	ldr r1, _0811BE94 @ =gUnknown_03004DE0 -	ldr r0, _0811BE98 @ =REG_VCOUNT -	ldrh r0, [r0] -	lsls r0, 1 -	movs r2, 0xF0 -	lsls r2, 3 -	adds r1, r2 -	adds r0, r1 -	ldrh r1, [r0] -	ldr r0, _0811BE9C @ =REG_BG1VOFS -	strh r1, [r0] -	adds r0, 0x4 -	strh r1, [r0] -	adds r0, 0x4 -	strh r1, [r0] -	bx lr -	.align 2, 0 -_0811BE94: .4byte gUnknown_03004DE0 -_0811BE98: .4byte REG_VCOUNT -_0811BE9C: .4byte REG_BG1VOFS -	thumb_func_end sub_811BE74 - -	thumb_func_start sub_811BEA0 -sub_811BEA0: @ 811BEA0 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811BED0 @ =gUnknown_083FD81C -	ldr r2, _0811BED4 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811BEB2: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811BEB2 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811BED0: .4byte gUnknown_083FD81C -_0811BED4: .4byte gTasks -	thumb_func_end sub_811BEA0 - -	thumb_func_start sub_811BED8 -sub_811BED8: @ 811BED8 -	push {r4,lr} -	adds r4, r0, 0 -	bl sub_811D658 -	bl dp12_8087EA4 -	ldr r1, _0811BF20 @ =0x0200c000 -	movs r2, 0 -	movs r0, 0x3F -	strh r0, [r1, 0x2] -	strh r2, [r1, 0x4] -	movs r0, 0xF0 -	strh r0, [r1, 0x6] -	movs r0, 0xA0 -	strh r0, [r1, 0x8] -	movs r1, 0 -	ldr r3, _0811BF24 @ =gUnknown_03005560 -	movs r2, 0xF2 -_0811BEFC: -	lsls r0, r1, 1 -	adds r0, r3 -	strh r2, [r0] -	adds r0, r1, 0x1 -	lsls r0, 24 -	lsrs r1, r0, 24 -	cmp r1, 0x9F -	bls _0811BEFC -	ldr r0, _0811BF28 @ =sub_811C004 -	bl SetVBlankCallback -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	movs r0, 0x1 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811BF20: .4byte 0x0200c000 -_0811BF24: .4byte gUnknown_03005560 -_0811BF28: .4byte sub_811C004 -	thumb_func_end sub_811BED8 - -	thumb_func_start sub_811BF2C -sub_811BF2C: @ 811BF2C -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	adds r4, r0, 0 -	ldr r1, _0811BFBC @ =0x0200c000 -	ldrb r0, [r1] -	movs r0, 0 -	strb r0, [r1] -	ldr r7, _0811BFC0 @ =gUnknown_03004DE0 -	ldrh r0, [r4, 0xC] -	ldrb r5, [r4, 0xC] -	adds r0, 0x10 -	strh r0, [r4, 0xC] -	ldrh r0, [r4, 0xA] -	adds r0, 0x8 -	strh r0, [r4, 0xA] -	movs r6, 0 -	movs r0, 0x1 -	mov r8, r0 -_0811BF52: -	adds r0, r5, 0 -	movs r1, 0x28 -	bl Sin -	ldrh r1, [r4, 0xA] -	adds r0, r1 -	lsls r0, 16 -	lsrs r1, r0, 16 -	cmp r0, 0 -	bge _0811BF68 -	movs r1, 0 -_0811BF68: -	lsls r0, r1, 16 -	asrs r0, 16 -	cmp r0, 0xF0 -	ble _0811BF72 -	movs r1, 0xF0 -_0811BF72: -	lsls r0, r1, 16 -	asrs r0, 16 -	lsls r1, r0, 8 -	movs r2, 0xF1 -	orrs r1, r2 -	strh r1, [r7] -	cmp r0, 0xEF -	bgt _0811BF86 -	movs r0, 0 -	mov r8, r0 -_0811BF86: -	adds r0, r6, 0x1 -	lsls r0, 24 -	lsrs r6, r0, 24 -	adds r0, r5, 0x4 -	lsls r0, 24 -	lsrs r5, r0, 24 -	adds r7, 0x2 -	cmp r6, 0x9F -	bls _0811BF52 -	mov r1, r8 -	cmp r1, 0 -	beq _0811BFA4 -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -_0811BFA4: -	ldr r0, _0811BFBC @ =0x0200c000 -	ldrb r1, [r0] -	adds r1, 0x1 -	ldrb r2, [r0] -	strb r1, [r0] -	movs r0, 0 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811BFBC: .4byte 0x0200c000 -_0811BFC0: .4byte gUnknown_03004DE0 -	thumb_func_end sub_811BF2C - -	thumb_func_start sub_811BFC4 -sub_811BFC4: @ 811BFC4 -	push {lr} -	ldr r1, _0811BFF4 @ =0x040000b0 -	ldrh r2, [r1, 0xA] -	ldr r0, _0811BFF8 @ =0x0000c5ff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r2, [r1, 0xA] -	ldr r0, _0811BFFC @ =0x00007fff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r0, [r1, 0xA] -	bl sub_811D6D4 -	ldr r0, _0811C000 @ =sub_811BEA0 -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -	movs r0, 0 -	pop {r1} -	bx r1 -	.align 2, 0 -_0811BFF4: .4byte 0x040000b0 -_0811BFF8: .4byte 0x0000c5ff -_0811BFFC: .4byte 0x00007fff -_0811C000: .4byte sub_811BEA0 -	thumb_func_end sub_811BFC4 - -	thumb_func_start sub_811C004 -sub_811C004: @ 811C004 -	push {r4,lr} -	ldr r4, _0811C060 @ =0x040000b0 -	ldrh r1, [r4, 0xA] -	ldr r0, _0811C064 @ =0x0000c5ff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r1, [r4, 0xA] -	ldr r0, _0811C068 @ =0x00007fff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r0, [r4, 0xA] -	bl sub_811D67C -	ldr r2, _0811C06C @ =0x0200c000 -	ldrb r0, [r2] -	cmp r0, 0 -	beq _0811C03A -	ldr r1, _0811C070 @ =0x040000d4 -	ldr r0, _0811C074 @ =gUnknown_03004DE0 -	str r0, [r1] -	movs r3, 0xF0 -	lsls r3, 3 -	adds r0, r3 -	str r0, [r1, 0x4] -	ldr r0, _0811C078 @ =0x800000a0 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -_0811C03A: -	ldr r1, _0811C07C @ =REG_WININ -	ldrh r0, [r2, 0x2] -	strh r0, [r1] -	adds r1, 0x2 -	ldrh r0, [r2, 0x4] -	strh r0, [r1] -	subs r1, 0x6 -	ldrh r0, [r2, 0x8] -	strh r0, [r1] -	ldr r0, _0811C080 @ =gUnknown_03005560 -	str r0, [r4] -	ldr r0, _0811C084 @ =REG_WIN0H -	str r0, [r4, 0x4] -	ldr r0, _0811C088 @ =0xa2400001 -	str r0, [r4, 0x8] -	ldr r0, [r4, 0x8] -	pop {r4} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811C060: .4byte 0x040000b0 -_0811C064: .4byte 0x0000c5ff -_0811C068: .4byte 0x00007fff -_0811C06C: .4byte 0x0200c000 -_0811C070: .4byte 0x040000d4 -_0811C074: .4byte gUnknown_03004DE0 -_0811C078: .4byte 0x800000a0 -_0811C07C: .4byte REG_WININ -_0811C080: .4byte gUnknown_03005560 -_0811C084: .4byte REG_WIN0H -_0811C088: .4byte 0xa2400001 -	thumb_func_end sub_811C004 - -	thumb_func_start sub_811C08C -sub_811C08C: @ 811C08C -	push {lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r2, _0811C0A8 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r1, r2 -	movs r2, 0 -	strh r2, [r1, 0x26] -	bl sub_811C12C -	pop {r0} -	bx r0 -	.align 2, 0 -_0811C0A8: .4byte gTasks -	thumb_func_end sub_811C08C - -	thumb_func_start sub_811C0AC -sub_811C0AC: @ 811C0AC -	push {lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r2, _0811C0C8 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r1, r2 -	movs r2, 0x1 -	strh r2, [r1, 0x26] -	bl sub_811C12C -	pop {r0} -	bx r0 -	.align 2, 0 -_0811C0C8: .4byte gTasks -	thumb_func_end sub_811C0AC - -	thumb_func_start sub_811C0CC -sub_811C0CC: @ 811C0CC -	push {lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r2, _0811C0E8 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r1, r2 -	movs r2, 0x2 -	strh r2, [r1, 0x26] -	bl sub_811C12C -	pop {r0} -	bx r0 -	.align 2, 0 -_0811C0E8: .4byte gTasks -	thumb_func_end sub_811C0CC - -	thumb_func_start sub_811C0EC -sub_811C0EC: @ 811C0EC -	push {lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r2, _0811C108 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r1, r2 -	movs r2, 0x3 -	strh r2, [r1, 0x26] -	bl sub_811C12C -	pop {r0} -	bx r0 -	.align 2, 0 -_0811C108: .4byte gTasks -	thumb_func_end sub_811C0EC - -	thumb_func_start sub_811C10C -sub_811C10C: @ 811C10C -	push {lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r2, _0811C128 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r1, r2 -	movs r2, 0x4 -	strh r2, [r1, 0x26] -	bl sub_811C12C -	pop {r0} -	bx r0 -	.align 2, 0 -_0811C128: .4byte gTasks -	thumb_func_end sub_811C10C - -	thumb_func_start sub_811C12C -sub_811C12C: @ 811C12C -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811C15C @ =gUnknown_083FD828 -	ldr r2, _0811C160 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811C13E: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811C13E -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811C15C: .4byte gUnknown_083FD828 -_0811C160: .4byte gTasks -	thumb_func_end sub_811C12C - -	thumb_func_start sub_811C164 -sub_811C164: @ 811C164 -	push {r4,lr} -	adds r4, r0, 0 -	bl sub_811D658 -	bl dp12_8087EA4 -	adds r0, r4, 0 -	bl sub_811C7B0 -	movs r0, 0 -	strh r0, [r4, 0xA] -	movs r0, 0x1 -	strh r0, [r4, 0xC] -	movs r0, 0xEF -	strh r0, [r4, 0xE] -	ldr r1, _0811C1BC @ =0x0200c000 -	movs r0, 0x3F -	strh r0, [r1, 0x2] -	movs r0, 0x3E -	strh r0, [r1, 0x4] -	movs r0, 0xA0 -	strh r0, [r1, 0x8] -	movs r1, 0 -	ldr r3, _0811C1C0 @ =gUnknown_03005560 -	ldr r2, _0811C1C4 @ =0x0000f0f1 -_0811C196: -	lsls r0, r1, 1 -	adds r0, r3 -	strh r2, [r0] -	adds r0, r1, 0x1 -	lsls r0, 24 -	lsrs r1, r0, 24 -	cmp r1, 0x9F -	bls _0811C196 -	ldr r0, _0811C1C8 @ =sub_811C670 -	bl SetVBlankCallback -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	movs r0, 0 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811C1BC: .4byte 0x0200c000 -_0811C1C0: .4byte gUnknown_03005560 -_0811C1C4: .4byte 0x0000f0f1 -_0811C1C8: .4byte sub_811C670 -	thumb_func_end sub_811C164 - -	thumb_func_start sub_811C1CC -sub_811C1CC: @ 811C1CC -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	sub sp, 0x8 -	mov r8, r0 -	ldr r6, _0811C284 @ =gUnknown_083FDFF4 -	add r1, sp, 0x4 -	mov r0, sp -	bl sub_811D6A8 -	ldr r0, _0811C288 @ =gUnknown_083FC348 -	ldr r1, [sp, 0x4] -	movs r2, 0xF0 -	bl CpuSet -	ldr r1, _0811C28C @ =gUnknown_083FDB00 -	mov r2, r8 -	movs r3, 0x26 -	ldrsh r0, [r2, r3] -	lsls r0, 2 -	adds r0, r1 -	ldr r0, [r0] -	movs r1, 0xF0 -	movs r2, 0x20 -	bl LoadPalette -	ldr r1, _0811C290 @ =gUnknown_083FDB14 -	ldr r0, _0811C294 @ =gSaveBlock2 -	ldrb r0, [r0, 0x8] -	lsls r0, 2 -	adds r0, r1 -	ldr r0, [r0] -	movs r1, 0xFA -	movs r2, 0xC -	bl LoadPalette -	movs r1, 0 -	ldr r5, [sp] -	ldr r0, _0811C298 @ =sub_811C77C -	mov r12, r0 -	movs r2, 0xF0 -	lsls r2, 8 -	adds r7, r2, 0 -_0811C222: -	movs r0, 0 -	lsls r3, r1, 16 -	asrs r4, r3, 11 -_0811C228: -	lsls r2, r0, 16 -	asrs r2, 16 -	adds r1, r4, r2 -	lsls r1, 1 -	adds r1, r5 -	ldrh r0, [r6] -	orrs r0, r7 -	strh r0, [r1] -	adds r2, 0x1 -	lsls r2, 16 -	adds r6, 0x2 -	lsrs r0, r2, 16 -	asrs r2, 16 -	cmp r2, 0x1F -	ble _0811C228 -	movs r1, 0x80 -	lsls r1, 9 -	adds r0, r3, r1 -	lsrs r1, r0, 16 -	asrs r0, 16 -	cmp r0, 0x13 -	ble _0811C222 -	ldr r2, _0811C29C @ =0x04000200 -	ldrh r0, [r2] -	movs r1, 0x2 -	orrs r0, r1 -	strh r0, [r2] -	ldr r2, _0811C2A0 @ =REG_DISPSTAT -	ldrh r0, [r2] -	movs r1, 0x10 -	orrs r0, r1 -	strh r0, [r2] -	mov r0, r12 -	bl SetHBlankCallback -	mov r2, r8 -	ldrh r0, [r2, 0x8] -	adds r0, 0x1 -	strh r0, [r2, 0x8] -	movs r0, 0 -	add sp, 0x8 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811C284: .4byte gUnknown_083FDFF4 -_0811C288: .4byte gUnknown_083FC348 -_0811C28C: .4byte gUnknown_083FDB00 -_0811C290: .4byte gUnknown_083FDB14 -_0811C294: .4byte gSaveBlock2 -_0811C298: .4byte sub_811C77C -_0811C29C: .4byte 0x04000200 -_0811C2A0: .4byte REG_DISPSTAT -	thumb_func_end sub_811C1CC - -	thumb_func_start sub_811C2A4 -sub_811C2A4: @ 811C2A4 -	push {r4-r7,lr} -	adds r4, r0, 0 -	ldr r1, _0811C384 @ =0x0200c000 -	ldrb r0, [r1] -	movs r0, 0 -	strb r0, [r1] -	ldr r7, _0811C388 @ =gUnknown_03004DE0 -	ldrh r0, [r4, 0xA] -	ldrb r5, [r4, 0xA] -	adds r0, 0x10 -	strh r0, [r4, 0xA] -	movs r6, 0 -_0811C2BC: -	adds r0, r5, 0 -	movs r1, 0x10 -	bl Sin -	ldrh r1, [r4, 0xC] -	adds r0, r1 -	lsls r0, 16 -	lsrs r2, r0, 16 -	cmp r0, 0 -	bge _0811C2D2 -	movs r2, 0x1 -_0811C2D2: -	lsls r0, r2, 16 -	asrs r0, 16 -	cmp r0, 0xF0 -	ble _0811C2DC -	movs r2, 0xF0 -_0811C2DC: -	strh r2, [r7] -	adds r0, r6, 0x1 -	lsls r0, 24 -	lsrs r6, r0, 24 -	adds r7, 0x2 -	adds r0, r5, 0 -	adds r0, 0x10 -	lsls r0, 24 -	lsrs r5, r0, 24 -	cmp r6, 0x4F -	bls _0811C2BC -	cmp r6, 0x9F -	bhi _0811C334 -_0811C2F6: -	adds r0, r5, 0 -	movs r1, 0x10 -	bl Sin -	ldrh r1, [r4, 0xE] -	subs r1, r0 -	lsls r1, 16 -	lsrs r2, r1, 16 -	cmp r1, 0 -	bge _0811C30C -	movs r2, 0 -_0811C30C: -	lsls r0, r2, 16 -	asrs r0, 16 -	cmp r0, 0xEF -	ble _0811C316 -	movs r2, 0xEF -_0811C316: -	lsls r0, r2, 16 -	asrs r0, 8 -	movs r1, 0xF0 -	orrs r0, r1 -	strh r0, [r7] -	adds r0, r6, 0x1 -	lsls r0, 24 -	lsrs r6, r0, 24 -	adds r7, 0x2 -	adds r0, r5, 0 -	adds r0, 0x10 -	lsls r0, 24 -	lsrs r5, r0, 24 -	cmp r6, 0x9F -	bls _0811C2F6 -_0811C334: -	ldrh r1, [r4, 0xC] -	adds r1, 0x8 -	strh r1, [r4, 0xC] -	ldrh r0, [r4, 0xE] -	subs r0, 0x8 -	strh r0, [r4, 0xE] -	lsls r1, 16 -	asrs r1, 16 -	cmp r1, 0xF0 -	ble _0811C34C -	movs r0, 0xF0 -	strh r0, [r4, 0xC] -_0811C34C: -	movs r1, 0xE -	ldrsh r0, [r4, r1] -	cmp r0, 0 -	bge _0811C358 -	movs r0, 0 -	strh r0, [r4, 0xE] -_0811C358: -	ldr r0, [r4, 0xC] -	cmp r0, 0xF0 -	bne _0811C364 -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -_0811C364: -	ldr r1, _0811C384 @ =0x0200c000 -	ldrh r0, [r1, 0x18] -	subs r0, 0x8 -	strh r0, [r1, 0x18] -	ldrh r0, [r1, 0x1A] -	adds r0, 0x8 -	strh r0, [r1, 0x1A] -	ldrb r0, [r1] -	adds r0, 0x1 -	ldrb r2, [r1] -	strb r0, [r1] -	movs r0, 0 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811C384: .4byte 0x0200c000 -_0811C388: .4byte gUnknown_03004DE0 -	thumb_func_end sub_811C2A4 - -	thumb_func_start sub_811C38C -sub_811C38C: @ 811C38C -	push {r4,r5,lr} -	adds r4, r0, 0 -	ldr r0, _0811C3F8 @ =0x0200c000 -	ldrb r1, [r0] -	movs r1, 0 -	strb r1, [r0] -	ldr r2, _0811C3FC @ =gUnknown_03004DE0 -	adds r5, r0, 0 -	movs r3, 0xF0 -_0811C39E: -	strh r3, [r2] -	adds r0, r1, 0x1 -	lsls r0, 24 -	lsrs r1, r0, 24 -	adds r2, 0x2 -	cmp r1, 0x9F -	bls _0811C39E -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	movs r1, 0 -	strh r0, [r4, 0x8] -	strh r1, [r4, 0xA] -	strh r1, [r4, 0xC] -	strh r1, [r4, 0xE] -	ldrh r0, [r5, 0x18] -	subs r0, 0x8 -	strh r0, [r5, 0x18] -	ldrh r0, [r5, 0x1A] -	adds r0, 0x8 -	strh r0, [r5, 0x1A] -	movs r1, 0x22 -	ldrsh r0, [r4, r1] -	movs r1, 0 -	bl sub_811CA10 -	movs r1, 0x24 -	ldrsh r0, [r4, r1] -	movs r1, 0x1 -	bl sub_811CA10 -	movs r1, 0x22 -	ldrsh r0, [r4, r1] -	bl sub_811CA28 -	movs r0, 0x68 -	bl PlaySE -	ldrb r0, [r5] -	adds r0, 0x1 -	ldrb r1, [r5] -	strb r0, [r5] -	movs r0, 0 -	pop {r4,r5} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811C3F8: .4byte 0x0200c000 -_0811C3FC: .4byte gUnknown_03004DE0 -	thumb_func_end sub_811C38C - -	thumb_func_start sub_811C400 -sub_811C400: @ 811C400 -	push {r4,lr} -	adds r4, r0, 0 -	ldr r1, _0811C438 @ =0x0200c000 -	ldrh r0, [r1, 0x18] -	subs r0, 0x8 -	strh r0, [r1, 0x18] -	ldrh r0, [r1, 0x1A] -	adds r0, 0x8 -	strh r0, [r1, 0x1A] -	movs r1, 0x22 -	ldrsh r0, [r4, r1] -	bl sub_811CA44 -	lsls r0, 16 -	cmp r0, 0 -	beq _0811C42E -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	movs r1, 0x24 -	ldrsh r0, [r4, r1] -	bl sub_811CA28 -_0811C42E: -	movs r0, 0 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811C438: .4byte 0x0200c000 -	thumb_func_end sub_811C400 - -	thumb_func_start sub_811C43C -sub_811C43C: @ 811C43C -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	adds r6, r0, 0 -	ldr r7, _0811C4D0 @ =0x0200c000 -	ldrh r0, [r7, 0x18] -	subs r0, 0x8 -	movs r1, 0 -	mov r8, r1 -	strh r0, [r7, 0x18] -	ldrh r0, [r7, 0x1A] -	adds r0, 0x8 -	strh r0, [r7, 0x1A] -	movs r1, 0x24 -	ldrsh r0, [r6, r1] -	bl sub_811CA44 -	lsls r0, 16 -	cmp r0, 0 -	beq _0811C4C4 -	ldrb r0, [r7] -	movs r0, 0 -	strb r0, [r7] -	movs r0, 0 -	bl SetVBlankCallback -	ldr r1, _0811C4D4 @ =0x040000b0 -	ldrh r2, [r1, 0xA] -	ldr r0, _0811C4D8 @ =0x0000c5ff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r2, [r1, 0xA] -	ldr r0, _0811C4DC @ =0x00007fff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r0, [r1, 0xA] -	ldr r4, _0811C4E0 @ =gUnknown_03004DE0 -	movs r5, 0xA0 -	lsls r5, 1 -	adds r0, r4, 0 -	movs r1, 0 -	adds r2, r5, 0 -	bl memset -	movs r0, 0xF0 -	lsls r0, 3 -	adds r4, r0 -	adds r0, r4, 0 -	movs r1, 0 -	adds r2, r5, 0 -	bl memset -	ldr r1, _0811C4E4 @ =REG_WIN0H -	movs r0, 0xF0 -	strh r0, [r1] -	ldr r0, _0811C4E8 @ =REG_BLDY -	mov r1, r8 -	strh r1, [r0] -	ldrh r0, [r6, 0x8] -	adds r0, 0x1 -	strh r0, [r6, 0x8] -	strh r1, [r6, 0xE] -	strh r1, [r6, 0x10] -	movs r0, 0xBF -	strh r0, [r7, 0xE] -	ldr r0, _0811C4EC @ =sub_811C700 -	bl SetVBlankCallback -_0811C4C4: -	movs r0, 0 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811C4D0: .4byte 0x0200c000 -_0811C4D4: .4byte 0x040000b0 -_0811C4D8: .4byte 0x0000c5ff -_0811C4DC: .4byte 0x00007fff -_0811C4E0: .4byte gUnknown_03004DE0 -_0811C4E4: .4byte REG_WIN0H -_0811C4E8: .4byte REG_BLDY -_0811C4EC: .4byte sub_811C700 -	thumb_func_end sub_811C43C - -	thumb_func_start sub_811C4F0 -sub_811C4F0: @ 811C4F0 -	push {r4-r7,lr} -	adds r4, r0, 0 -	ldr r1, _0811C5AC @ =0x0200c000 -	ldrb r0, [r1] -	movs r0, 0 -	strb r0, [r1] -	movs r6, 0x1 -	ldrh r0, [r1, 0x18] -	subs r0, 0x8 -	strh r0, [r1, 0x18] -	ldrh r0, [r1, 0x1A] -	adds r0, 0x8 -	strh r0, [r1, 0x1A] -	ldrh r2, [r4, 0x10] -	movs r3, 0x10 -	ldrsh r0, [r4, r3] -	adds r7, r1, 0 -	cmp r0, 0x4F -	bgt _0811C51A -	adds r0, r2, 0x2 -	strh r0, [r4, 0x10] -_0811C51A: -	movs r1, 0x10 -	ldrsh r0, [r4, r1] -	cmp r0, 0x50 -	ble _0811C526 -	movs r0, 0x50 -	strh r0, [r4, 0x10] -_0811C526: -	ldrh r0, [r4, 0xE] -	adds r0, 0x1 -	strh r0, [r4, 0xE] -	movs r1, 0x1 -	ands r0, r1 -	ldrh r2, [r4, 0x10] -	cmp r0, 0 -	beq _0811C58C -	movs r3, 0 -	lsls r0, r2, 16 -	movs r6, 0 -	cmp r0, 0 -	blt _0811C58C -	movs r2, 0x50 -	mov r12, r2 -	ldr r5, _0811C5B0 @ =gUnknown_03004DE0 -_0811C546: -	lsls r0, r3, 16 -	asrs r2, r0, 16 -	mov r3, r12 -	subs r1, r3, r2 -	adds r0, r2, 0 -	adds r0, 0x50 -	lsls r0, 16 -	lsrs r3, r0, 16 -	lsls r1, 16 -	asrs r1, 15 -	adds r1, r5 -	ldrh r0, [r1] -	cmp r0, 0xF -	bhi _0811C568 -	movs r6, 0x1 -	adds r0, 0x1 -	strh r0, [r1] -_0811C568: -	lsls r0, r3, 16 -	asrs r0, 15 -	adds r1, r0, r5 -	ldrh r0, [r1] -	cmp r0, 0xF -	bhi _0811C57A -	movs r6, 0x1 -	adds r0, 0x1 -	strh r0, [r1] -_0811C57A: -	adds r0, r2, 0x1 -	lsls r0, 16 -	lsrs r3, r0, 16 -	asrs r0, 16 -	movs r2, 0x10 -	ldrsh r1, [r4, r2] -	ldrh r2, [r4, 0x10] -	cmp r0, r1 -	ble _0811C546 -_0811C58C: -	cmp r2, 0x50 -	bne _0811C59A -	cmp r6, 0 -	bne _0811C59A -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -_0811C59A: -	ldrb r0, [r7] -	adds r0, 0x1 -	ldrb r1, [r7] -	strb r0, [r7] -	movs r0, 0 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811C5AC: .4byte 0x0200c000 -_0811C5B0: .4byte gUnknown_03004DE0 -	thumb_func_end sub_811C4F0 - -	thumb_func_start sub_811C5B4 -sub_811C5B4: @ 811C5B4 -	push {r4-r6,lr} -	adds r5, r0, 0 -	ldr r4, _0811C5E0 @ =0x0200c000 -	ldrb r0, [r4] -	movs r6, 0 -	strb r6, [r4] -	movs r0, 0x1 -	negs r0, r0 -	ldr r2, _0811C5E4 @ =0x00007fff -	movs r1, 0x10 -	bl BlendPalettes -	movs r0, 0xFF -	strh r0, [r4, 0xE] -	strh r6, [r5, 0xE] -	ldrh r0, [r5, 0x8] -	adds r0, 0x1 -	strh r0, [r5, 0x8] -	movs r0, 0x1 -	pop {r4-r6} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811C5E0: .4byte 0x0200c000 -_0811C5E4: .4byte 0x00007fff -	thumb_func_end sub_811C5B4 - -	thumb_func_start sub_811C5E8 -sub_811C5E8: @ 811C5E8 -	push {r4,r5,lr} -	adds r4, r0, 0 -	ldr r5, _0811C628 @ =0x0200c000 -	ldrb r0, [r5] -	movs r0, 0 -	strb r0, [r5] -	ldrh r0, [r4, 0xE] -	adds r0, 0x1 -	strh r0, [r4, 0xE] -	ldr r0, _0811C62C @ =gUnknown_03004DE0 -	movs r2, 0xE -	ldrsh r1, [r4, r2] -	movs r2, 0xA0 -	lsls r2, 1 -	bl memset -	movs r1, 0xE -	ldrsh r0, [r4, r1] -	cmp r0, 0xF -	ble _0811C616 -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -_0811C616: -	ldrb r0, [r5] -	adds r0, 0x1 -	ldrb r1, [r5] -	strb r0, [r5] -	movs r0, 0 -	pop {r4,r5} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811C628: .4byte 0x0200c000 -_0811C62C: .4byte gUnknown_03004DE0 -	thumb_func_end sub_811C5E8 - -	thumb_func_start sub_811C630 -sub_811C630: @ 811C630 -	push {r4,lr} -	adds r4, r0, 0 -	ldr r1, _0811C664 @ =0x040000b0 -	ldrh r2, [r1, 0xA] -	ldr r0, _0811C668 @ =0x0000c5ff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r2, [r1, 0xA] -	ldr r0, _0811C66C @ =0x00007fff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r0, [r1, 0xA] -	bl sub_811D6D4 -	ldr r0, [r4] -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -	movs r0, 0 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811C664: .4byte 0x040000b0 -_0811C668: .4byte 0x0000c5ff -_0811C66C: .4byte 0x00007fff -	thumb_func_end sub_811C630 - -	thumb_func_start sub_811C670 -sub_811C670: @ 811C670 -	push {r4,lr} -	ldr r4, _0811C6D4 @ =0x040000b0 -	ldrh r1, [r4, 0xA] -	ldr r0, _0811C6D8 @ =0x0000c5ff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r1, [r4, 0xA] -	ldr r0, _0811C6DC @ =0x00007fff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r0, [r4, 0xA] -	bl sub_811D67C -	ldr r2, _0811C6E0 @ =0x0200c000 -	ldrb r0, [r2] -	cmp r0, 0 -	beq _0811C6A6 -	ldr r1, _0811C6E4 @ =0x040000d4 -	ldr r0, _0811C6E8 @ =gUnknown_03004DE0 -	str r0, [r1] -	movs r3, 0xF0 -	lsls r3, 3 -	adds r0, r3 -	str r0, [r1, 0x4] -	ldr r0, _0811C6EC @ =0x800000a0 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -_0811C6A6: -	ldr r1, _0811C6F0 @ =REG_BG0VOFS -	ldrh r0, [r2, 0x1C] -	strh r0, [r1] -	adds r1, 0x36 -	ldrh r0, [r2, 0x2] -	strh r0, [r1] -	adds r1, 0x2 -	ldrh r0, [r2, 0x4] -	strh r0, [r1] -	subs r1, 0x6 -	ldrh r0, [r2, 0x8] -	strh r0, [r1] -	ldr r0, _0811C6F4 @ =gUnknown_03005560 -	str r0, [r4] -	ldr r0, _0811C6F8 @ =REG_WIN0H -	str r0, [r4, 0x4] -	ldr r0, _0811C6FC @ =0xa2400001 -	str r0, [r4, 0x8] -	ldr r0, [r4, 0x8] -	pop {r4} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811C6D4: .4byte 0x040000b0 -_0811C6D8: .4byte 0x0000c5ff -_0811C6DC: .4byte 0x00007fff -_0811C6E0: .4byte 0x0200c000 -_0811C6E4: .4byte 0x040000d4 -_0811C6E8: .4byte gUnknown_03004DE0 -_0811C6EC: .4byte 0x800000a0 -_0811C6F0: .4byte REG_BG0VOFS -_0811C6F4: .4byte gUnknown_03005560 -_0811C6F8: .4byte REG_WIN0H -_0811C6FC: .4byte 0xa2400001 -	thumb_func_end sub_811C670 - -	thumb_func_start sub_811C700 -sub_811C700: @ 811C700 -	push {r4,lr} -	ldr r4, _0811C750 @ =0x040000b0 -	ldrh r1, [r4, 0xA] -	ldr r0, _0811C754 @ =0x0000c5ff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r1, [r4, 0xA] -	ldr r0, _0811C758 @ =0x00007fff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r0, [r4, 0xA] -	bl sub_811D67C -	ldr r2, _0811C75C @ =0x0200c000 -	ldrb r0, [r2] -	cmp r0, 0 -	beq _0811C736 -	ldr r1, _0811C760 @ =0x040000d4 -	ldr r0, _0811C764 @ =gUnknown_03004DE0 -	str r0, [r1] -	movs r3, 0xF0 -	lsls r3, 3 -	adds r0, r3 -	str r0, [r1, 0x4] -	ldr r0, _0811C768 @ =0x800000a0 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -_0811C736: -	ldr r1, _0811C76C @ =REG_BLDCNT -	ldrh r0, [r2, 0xE] -	strh r0, [r1] -	ldr r0, _0811C770 @ =gUnknown_03005560 -	str r0, [r4] -	ldr r0, _0811C774 @ =REG_BLDY -	str r0, [r4, 0x4] -	ldr r0, _0811C778 @ =0xa2400001 -	str r0, [r4, 0x8] -	ldr r0, [r4, 0x8] -	pop {r4} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811C750: .4byte 0x040000b0 -_0811C754: .4byte 0x0000c5ff -_0811C758: .4byte 0x00007fff -_0811C75C: .4byte 0x0200c000 -_0811C760: .4byte 0x040000d4 -_0811C764: .4byte gUnknown_03004DE0 -_0811C768: .4byte 0x800000a0 -_0811C76C: .4byte REG_BLDCNT -_0811C770: .4byte gUnknown_03005560 -_0811C774: .4byte REG_BLDY -_0811C778: .4byte 0xa2400001 -	thumb_func_end sub_811C700 - -	thumb_func_start sub_811C77C -sub_811C77C: @ 811C77C -	push {lr} -	ldr r0, _0811C790 @ =REG_VCOUNT -	ldrh r0, [r0] -	cmp r0, 0x4F -	bhi _0811C79C -	ldr r0, _0811C794 @ =REG_BG0HOFS -	ldr r1, _0811C798 @ =0x0200c000 -	ldrh r1, [r1, 0x18] -	b _0811C7A2 -	.align 2, 0 -_0811C790: .4byte REG_VCOUNT -_0811C794: .4byte REG_BG0HOFS -_0811C798: .4byte 0x0200c000 -_0811C79C: -	ldr r0, _0811C7A8 @ =REG_BG0HOFS -	ldr r1, _0811C7AC @ =0x0200c000 -	ldrh r1, [r1, 0x1A] -_0811C7A2: -	strh r1, [r0] -	pop {r0} -	bx r0 -	.align 2, 0 -_0811C7A8: .4byte REG_BG0HOFS -_0811C7AC: .4byte 0x0200c000 -	thumb_func_end sub_811C77C - -	thumb_func_start sub_811C7B0 -sub_811C7B0: @ 811C7B0 -	push {r4-r6,lr} -	mov r6, r9 -	mov r5, r8 -	push {r5,r6} -	sub sp, 0x4 -	adds r4, r0, 0 -	ldr r0, _0811C8EC @ =gUnknown_083FD850 -	movs r2, 0x26 -	ldrsh r1, [r4, r2] -	mov r8, r1 -	add r0, r8 -	ldrb r0, [r0] -	ldr r2, _0811C8F0 @ =gUnknown_083FD86A -	lsls r1, 2 -	mov r8, r1 -	adds r1, r2 -	ldrh r1, [r1] -	subs r1, 0x20 -	lsls r1, 16 -	asrs r1, 16 -	adds r2, 0x2 -	add r2, r8 -	ldrh r2, [r2] -	adds r2, 0x2A -	lsls r2, 16 -	asrs r2, 16 -	ldr r5, _0811C8F4 @ =0x0200c03c -	str r5, [sp] -	movs r3, 0 -	bl CreateTrainerSprite_BirchSpeech -	lsls r0, 24 -	lsrs r0, 24 -	strh r0, [r4, 0x22] -	ldr r0, _0811C8F8 @ =gSaveBlock2 -	ldrb r0, [r0, 0x8] -	movs r1, 0x88 -	lsls r1, 1 -	str r5, [sp] -	movs r2, 0x6A -	movs r3, 0 -	bl CreateTrainerSprite_BirchSpeech -	lsls r0, 24 -	lsrs r0, 24 -	strh r0, [r4, 0x24] -	movs r3, 0x22 -	ldrsh r0, [r4, r3] -	lsls r5, r0, 4 -	adds r5, r0 -	lsls r5, 2 -	ldr r1, _0811C8FC @ =gSprites -	adds r5, r1 -	movs r2, 0x24 -	ldrsh r0, [r4, r2] -	lsls r6, r0, 4 -	adds r6, r0 -	lsls r6, 2 -	adds r6, r1 -	ldr r0, _0811C900 @ =sub_811C90C -	str r0, [r5, 0x1C] -	str r0, [r6, 0x1C] -	ldrb r0, [r5, 0x1] -	movs r1, 0x3 -	orrs r0, r1 -	strb r0, [r5, 0x1] -	ldrb r0, [r6, 0x1] -	orrs r0, r1 -	strb r0, [r6, 0x1] -	bl AllocOamMatrix -	lsls r0, 24 -	lsrs r0, 24 -	movs r3, 0x1F -	mov r9, r3 -	mov r4, r9 -	ands r0, r4 -	lsls r0, 1 -	ldrb r2, [r5, 0x3] -	movs r4, 0x3F -	negs r4, r4 -	adds r1, r4, 0 -	ands r1, r2 -	orrs r1, r0 -	strb r1, [r5, 0x3] -	bl AllocOamMatrix -	lsls r0, 24 -	lsrs r0, 24 -	mov r1, r9 -	ands r0, r1 -	lsls r0, 1 -	ldrb r1, [r6, 0x3] -	ands r4, r1 -	orrs r4, r0 -	strb r4, [r6, 0x3] -	ldrb r2, [r5, 0x1] -	movs r1, 0x3F -	adds r0, r1, 0 -	ands r0, r2 -	movs r2, 0x40 -	orrs r0, r2 -	strb r0, [r5, 0x1] -	ldrb r0, [r6, 0x1] -	ands r1, r0 -	orrs r1, r2 -	strb r1, [r6, 0x1] -	ldrb r0, [r5, 0x3] -	movs r1, 0xC0 -	orrs r0, r1 -	strb r0, [r5, 0x3] -	ldrb r0, [r6, 0x3] -	orrs r0, r1 -	strb r0, [r6, 0x3] -	adds r0, r5, 0 -	movs r1, 0x1 -	movs r2, 0x3 -	movs r3, 0x3 -	bl CalcCenterToCornerVec -	adds r0, r6, 0 -	movs r1, 0x1 -	movs r2, 0x3 -	movs r3, 0x3 -	bl CalcCenterToCornerVec -	ldrb r0, [r5, 0x3] -	lsls r0, 26 -	lsrs r0, 27 -	ldr r2, _0811C904 @ =gUnknown_083FD856 -	mov r3, r8 -	adds r1, r3, r2 -	movs r4, 0 -	ldrsh r1, [r1, r4] -	adds r2, 0x2 -	add r8, r2 -	mov r3, r8 -	movs r4, 0 -	ldrsh r2, [r3, r4] -	movs r3, 0 -	bl SetOamMatrixRotationScaling -	ldrb r0, [r6, 0x3] -	lsls r0, 26 -	lsrs r0, 27 -	ldr r1, _0811C908 @ =0xfffffe00 -	movs r2, 0x80 -	lsls r2, 2 -	movs r3, 0 -	bl SetOamMatrixRotationScaling -	add sp, 0x4 -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r6} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811C8EC: .4byte gUnknown_083FD850 -_0811C8F0: .4byte gUnknown_083FD86A -_0811C8F4: .4byte 0x0200c03c -_0811C8F8: .4byte gSaveBlock2 -_0811C8FC: .4byte gSprites -_0811C900: .4byte sub_811C90C -_0811C904: .4byte gUnknown_083FD856 -_0811C908: .4byte 0xfffffe00 -	thumb_func_end sub_811C7B0 - -	thumb_func_start sub_811C90C -sub_811C90C: @ 811C90C -	push {r4,r5,lr} -	adds r4, r0, 0 -	ldr r5, _0811C930 @ =gUnknown_083FD880 -_0811C912: -	movs r1, 0x2E -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811C912 -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811C930: .4byte gUnknown_083FD880 -	thumb_func_end sub_811C90C - -	thumb_func_start sub_811C934 -sub_811C934: @ 811C934 -	movs r0, 0 -	bx lr -	thumb_func_end sub_811C934 - -	thumb_func_start sub_811C938 -sub_811C938: @ 811C938 -	push {r4,r5,lr} -	sub sp, 0x8 -	adds r5, r0, 0 -	ldr r1, _0811C97C @ =gUnknown_083FD89C -	mov r0, sp -	movs r2, 0x4 -	bl memcpy -	add r4, sp, 0x4 -	ldr r1, _0811C980 @ =gUnknown_083FD8A0 -	adds r0, r4, 0 -	movs r2, 0x4 -	bl memcpy -	ldrh r0, [r5, 0x2E] -	adds r0, 0x1 -	strh r0, [r5, 0x2E] -	movs r1, 0x3C -	ldrsh r0, [r5, r1] -	lsls r0, 1 -	add r0, sp -	ldrh r0, [r0] -	strh r0, [r5, 0x30] -	movs r1, 0x3C -	ldrsh r0, [r5, r1] -	lsls r0, 1 -	adds r4, r0 -	ldrh r0, [r4] -	strh r0, [r5, 0x32] -	movs r0, 0x1 -	add sp, 0x8 -	pop {r4,r5} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811C97C: .4byte gUnknown_083FD89C -_0811C980: .4byte gUnknown_083FD8A0 -	thumb_func_end sub_811C938 - -	thumb_func_start sub_811C984 -sub_811C984: @ 811C984 -	push {lr} -	adds r1, r0, 0 -	ldrh r0, [r1, 0x30] -	ldrh r3, [r1, 0x20] -	adds r2, r0, r3 -	strh r2, [r1, 0x20] -	movs r3, 0x3C -	ldrsh r0, [r1, r3] -	cmp r0, 0 -	beq _0811C9A2 -	lsls r0, r2, 16 -	asrs r0, 16 -	cmp r0, 0x84 -	bgt _0811C9B0 -	b _0811C9AA -_0811C9A2: -	lsls r0, r2, 16 -	asrs r0, 16 -	cmp r0, 0x67 -	ble _0811C9B0 -_0811C9AA: -	ldrh r0, [r1, 0x2E] -	adds r0, 0x1 -	strh r0, [r1, 0x2E] -_0811C9B0: -	movs r0, 0 -	pop {r1} -	bx r1 -	thumb_func_end sub_811C984 - -	thumb_func_start sub_811C9B8 -sub_811C9B8: @ 811C9B8 -	push {lr} -	adds r2, r0, 0 -	ldrh r3, [r2, 0x32] -	ldrh r0, [r2, 0x30] -	adds r1, r3, r0 -	strh r1, [r2, 0x30] -	ldrh r0, [r2, 0x20] -	adds r0, r1 -	strh r0, [r2, 0x20] -	lsls r1, 16 -	cmp r1, 0 -	bne _0811C9DE -	ldrh r0, [r2, 0x2E] -	adds r0, 0x1 -	strh r0, [r2, 0x2E] -	negs r0, r3 -	strh r0, [r2, 0x32] -	movs r0, 0x1 -	strh r0, [r2, 0x3A] -_0811C9DE: -	movs r0, 0 -	pop {r1} -	bx r1 -	thumb_func_end sub_811C9B8 - -	thumb_func_start sub_811C9E4 -sub_811C9E4: @ 811C9E4 -	push {lr} -	adds r2, r0, 0 -	ldrh r0, [r2, 0x32] -	ldrh r1, [r2, 0x30] -	adds r0, r1 -	strh r0, [r2, 0x30] -	ldrh r1, [r2, 0x20] -	adds r1, r0 -	strh r1, [r2, 0x20] -	adds r1, 0x1F -	lsls r1, 16 -	movs r0, 0x97 -	lsls r0, 17 -	cmp r1, r0 -	bls _0811CA08 -	ldrh r0, [r2, 0x2E] -	adds r0, 0x1 -	strh r0, [r2, 0x2E] -_0811CA08: -	movs r0, 0 -	pop {r1} -	bx r1 -	thumb_func_end sub_811C9E4 - -	thumb_func_start sub_811CA10 -sub_811CA10: @ 811CA10 -	ldr r3, _0811CA24 @ =gSprites -	lsls r0, 16 -	asrs r0, 16 -	lsls r2, r0, 4 -	adds r2, r0 -	lsls r2, 2 -	adds r2, r3 -	strh r1, [r2, 0x3C] -	bx lr -	.align 2, 0 -_0811CA24: .4byte gSprites -	thumb_func_end sub_811CA10 - -	thumb_func_start sub_811CA28 -sub_811CA28: @ 811CA28 -	ldr r2, _0811CA40 @ =gSprites -	lsls r0, 16 -	asrs r0, 16 -	lsls r1, r0, 4 -	adds r1, r0 -	lsls r1, 2 -	adds r1, r2 -	ldrh r0, [r1, 0x2E] -	adds r0, 0x1 -	strh r0, [r1, 0x2E] -	bx lr -	.align 2, 0 -_0811CA40: .4byte gSprites -	thumb_func_end sub_811CA28 - -	thumb_func_start sub_811CA44 -sub_811CA44: @ 811CA44 -	ldr r2, _0811CA58 @ =gSprites -	lsls r0, 16 -	asrs r0, 16 -	lsls r1, r0, 4 -	adds r1, r0 -	lsls r1, 2 -	adds r1, r2 -	movs r2, 0x3A -	ldrsh r0, [r1, r2] -	bx lr -	.align 2, 0 -_0811CA58: .4byte gSprites -	thumb_func_end sub_811CA44 - -	thumb_func_start sub_811CA5C -sub_811CA5C: @ 811CA5C -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811CA8C @ =gUnknown_083FD8A4 -	ldr r2, _0811CA90 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811CA6E: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811CA6E -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811CA8C: .4byte gUnknown_083FD8A4 -_0811CA90: .4byte gTasks -	thumb_func_end sub_811CA5C - -	thumb_func_start sub_811CA94 -sub_811CA94: @ 811CA94 -	push {r4-r6,lr} -	adds r4, r0, 0 -	bl sub_811D658 -	bl dp12_8087EA4 -	movs r2, 0 -	movs r0, 0x80 -	lsls r0, 1 -	strh r0, [r4, 0xC] -	movs r0, 0x1 -	strh r0, [r4, 0xE] -	ldr r1, _0811CB08 @ =0x0200c000 -	movs r0, 0x3F -	strh r0, [r1, 0x2] -	strh r2, [r1, 0x4] -	movs r0, 0xA0 -	strh r0, [r1, 0x8] -	ldr r3, _0811CB0C @ =gUnknown_03005560 -	adds r6, r1, 0 -	movs r5, 0xF0 -_0811CABE: -	lsls r0, r2, 1 -	adds r0, r3 -	ldrh r1, [r6, 0x14] -	strh r1, [r0] -	adds r0, r2, 0 -	adds r0, 0xA0 -	lsls r0, 1 -	adds r0, r3 -	strh r5, [r0] -	adds r0, r2, 0x1 -	lsls r0, 16 -	lsrs r2, r0, 16 -	cmp r2, 0x9F -	bls _0811CABE -	ldr r2, _0811CB10 @ =0x04000200 -	ldrh r0, [r2] -	movs r1, 0x2 -	orrs r0, r1 -	strh r0, [r2] -	ldr r2, _0811CB14 @ =REG_DISPSTAT -	ldrh r0, [r2] -	movs r1, 0x10 -	orrs r0, r1 -	strh r0, [r2] -	ldr r0, _0811CB18 @ =sub_811CC28 -	bl SetVBlankCallback -	ldr r0, _0811CB1C @ =sub_811CCB0 -	bl SetHBlankCallback -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	movs r0, 0x1 -	pop {r4-r6} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811CB08: .4byte 0x0200c000 -_0811CB0C: .4byte gUnknown_03005560 -_0811CB10: .4byte 0x04000200 -_0811CB14: .4byte REG_DISPSTAT -_0811CB18: .4byte sub_811CC28 -_0811CB1C: .4byte sub_811CCB0 -	thumb_func_end sub_811CA94 - -	thumb_func_start sub_811CB20 -sub_811CB20: @ 811CB20 -	push {r4-r7,lr} -	mov r7, r8 -	push {r7} -	adds r2, r0, 0 -	ldr r1, _0811CB98 @ =0x0200c000 -	ldrb r0, [r1] -	movs r0, 0 -	strb r0, [r1] -	ldrh r0, [r2, 0xC] -	lsls r0, 16 -	asrs r0, 24 -	ldrh r3, [r2, 0xA] -	adds r0, r3 -	strh r0, [r2, 0xA] -	lsls r0, 16 -	asrs r0, 16 -	mov r12, r1 -	cmp r0, 0xF0 -	ble _0811CB4A -	movs r0, 0xF0 -	strh r0, [r2, 0xA] -_0811CB4A: -	ldrh r4, [r2, 0xC] -	movs r0, 0xC -	ldrsh r1, [r2, r0] -	ldr r0, _0811CB9C @ =0x00000fff -	ldrh r3, [r2, 0xE] -	cmp r1, r0 -	bgt _0811CB5C -	adds r0, r4, r3 -	strh r0, [r2, 0xC] -_0811CB5C: -	lsls r0, r3, 16 -	asrs r0, 16 -	cmp r0, 0x7F -	bgt _0811CB68 -	lsls r0, r3, 1 -	strh r0, [r2, 0xE] -_0811CB68: -	movs r5, 0 -	ldr r7, _0811CBA0 @ =gUnknown_03004DE0 -	movs r1, 0xA0 -	lsls r1, 1 -	adds r1, r7 -	mov r8, r1 -	mov r6, r12 -_0811CB76: -	lsls r0, r5, 1 -	adds r3, r0, r7 -	mov r1, r8 -	adds r4, r0, r1 -	movs r0, 0x1 -	ands r0, r5 -	cmp r0, 0 -	beq _0811CBA4 -	ldrh r0, [r2, 0xA] -	ldrh r1, [r6, 0x14] -	adds r0, r1 -	strh r0, [r3] -	ldrh r1, [r2, 0xA] -	movs r0, 0xF0 -	subs r0, r1 -	b _0811CBB4 -	.align 2, 0 -_0811CB98: .4byte 0x0200c000 -_0811CB9C: .4byte 0x00000fff -_0811CBA0: .4byte gUnknown_03004DE0 -_0811CBA4: -	ldrh r0, [r6, 0x14] -	ldrh r1, [r2, 0xA] -	subs r0, r1 -	strh r0, [r3] -	ldrh r0, [r2, 0xA] -	lsls r0, 8 -	movs r1, 0xF1 -	orrs r0, r1 -_0811CBB4: -	strh r0, [r4] -	adds r0, r5, 0x1 -	lsls r0, 16 -	lsrs r5, r0, 16 -	cmp r5, 0x9F -	bls _0811CB76 -	movs r3, 0xA -	ldrsh r0, [r2, r3] -	cmp r0, 0xEF -	ble _0811CBCE -	ldrh r0, [r2, 0x8] -	adds r0, 0x1 -	strh r0, [r2, 0x8] -_0811CBCE: -	mov r1, r12 -	ldrb r0, [r1] -	adds r0, 0x1 -	ldrb r1, [r1] -	mov r2, r12 -	strb r0, [r2] -	movs r0, 0 -	pop {r3} -	mov r8, r3 -	pop {r4-r7} -	pop {r1} -	bx r1 -	thumb_func_end sub_811CB20 - -	thumb_func_start sub_811CBE8 -sub_811CBE8: @ 811CBE8 -	push {lr} -	ldr r1, _0811CC18 @ =0x040000b0 -	ldrh r2, [r1, 0xA] -	ldr r0, _0811CC1C @ =0x0000c5ff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r2, [r1, 0xA] -	ldr r0, _0811CC20 @ =0x00007fff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r0, [r1, 0xA] -	bl sub_811D6D4 -	ldr r0, _0811CC24 @ =sub_811CA5C -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -	movs r0, 0 -	pop {r1} -	bx r1 -	.align 2, 0 -_0811CC18: .4byte 0x040000b0 -_0811CC1C: .4byte 0x0000c5ff -_0811CC20: .4byte 0x00007fff -_0811CC24: .4byte sub_811CA5C -	thumb_func_end sub_811CBE8 - -	thumb_func_start sub_811CC28 -sub_811CC28: @ 811CC28 -	push {r4,lr} -	ldr r4, _0811CC84 @ =0x040000b0 -	ldrh r1, [r4, 0xA] -	ldr r0, _0811CC88 @ =0x0000c5ff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r1, [r4, 0xA] -	ldr r0, _0811CC8C @ =0x00007fff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r0, [r4, 0xA] -	bl sub_811D67C -	ldr r2, _0811CC90 @ =REG_WININ -	ldr r1, _0811CC94 @ =0x0200c000 -	ldrh r0, [r1, 0x2] -	strh r0, [r2] -	adds r2, 0x2 -	ldrh r0, [r1, 0x4] -	strh r0, [r2] -	subs r2, 0x6 -	ldrh r0, [r1, 0x8] -	strh r0, [r2] -	ldrb r0, [r1] -	cmp r0, 0 -	beq _0811CC70 -	ldr r1, _0811CC98 @ =0x040000d4 -	ldr r0, _0811CC9C @ =gUnknown_03004DE0 -	str r0, [r1] -	movs r2, 0xF0 -	lsls r2, 3 -	adds r0, r2 -	str r0, [r1, 0x4] -	ldr r0, _0811CCA0 @ =0x80000140 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -_0811CC70: -	ldr r0, _0811CCA4 @ =gUnknown_030056A0 -	str r0, [r4] -	ldr r0, _0811CCA8 @ =REG_WIN0H -	str r0, [r4, 0x4] -	ldr r0, _0811CCAC @ =0xa2400001 -	str r0, [r4, 0x8] -	ldr r0, [r4, 0x8] -	pop {r4} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811CC84: .4byte 0x040000b0 -_0811CC88: .4byte 0x0000c5ff -_0811CC8C: .4byte 0x00007fff -_0811CC90: .4byte REG_WININ -_0811CC94: .4byte 0x0200c000 -_0811CC98: .4byte 0x040000d4 -_0811CC9C: .4byte gUnknown_03004DE0 -_0811CCA0: .4byte 0x80000140 -_0811CCA4: .4byte gUnknown_030056A0 -_0811CCA8: .4byte REG_WIN0H -_0811CCAC: .4byte 0xa2400001 -	thumb_func_end sub_811CC28 - -	thumb_func_start sub_811CCB0 -sub_811CCB0: @ 811CCB0 -	ldr r1, _0811CCD0 @ =gUnknown_03004DE0 -	ldr r0, _0811CCD4 @ =REG_VCOUNT -	ldrh r0, [r0] -	lsls r0, 1 -	movs r2, 0xF0 -	lsls r2, 3 -	adds r1, r2 -	adds r0, r1 -	ldrh r1, [r0] -	ldr r0, _0811CCD8 @ =REG_BG1HOFS -	strh r1, [r0] -	adds r0, 0x4 -	strh r1, [r0] -	adds r0, 0x4 -	strh r1, [r0] -	bx lr -	.align 2, 0 -_0811CCD0: .4byte gUnknown_03004DE0 -_0811CCD4: .4byte REG_VCOUNT -_0811CCD8: .4byte REG_BG1HOFS -	thumb_func_end sub_811CCB0 - -	thumb_func_start sub_811CCDC -sub_811CCDC: @ 811CCDC -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811CD0C @ =gUnknown_083FD8B0 -	ldr r2, _0811CD10 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811CCEE: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811CCEE -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811CD0C: .4byte gUnknown_083FD8B0 -_0811CD10: .4byte gTasks -	thumb_func_end sub_811CCDC - -	thumb_func_start sub_811CD14 -sub_811CD14: @ 811CD14 -	push {r4,r5,lr} -	adds r5, r0, 0 -	bl sub_811D658 -	bl dp12_8087EA4 -	ldr r1, _0811CD88 @ =0x0200c000 -	movs r2, 0 -	movs r0, 0xBF -	strh r0, [r1, 0xE] -	strh r2, [r1, 0x12] -	movs r0, 0x1E -	strh r0, [r1, 0x2] -	movs r0, 0x3F -	strh r0, [r1, 0x4] -	movs r0, 0xA0 -	strh r0, [r1, 0x8] -	movs r1, 0 -	ldr r2, _0811CD8C @ =gUnknown_03005560 -	movs r4, 0 -	movs r3, 0xF0 -_0811CD3E: -	lsls r0, r1, 1 -	adds r0, r2 -	strh r4, [r0] -	adds r0, r1, 0 -	adds r0, 0xA0 -	lsls r0, 1 -	adds r0, r2 -	strh r3, [r0] -	adds r0, r1, 0x1 -	lsls r0, 16 -	lsrs r1, r0, 16 -	cmp r1, 0x9F -	bls _0811CD3E -	ldr r2, _0811CD90 @ =0x04000200 -	ldrh r0, [r2] -	movs r1, 0x2 -	orrs r0, r1 -	strh r0, [r2] -	ldr r2, _0811CD94 @ =REG_DISPSTAT -	ldrh r0, [r2] -	movs r1, 0x10 -	orrs r0, r1 -	strh r0, [r2] -	ldr r0, _0811CD98 @ =sub_811CFAC -	bl SetHBlankCallback -	ldr r0, _0811CD9C @ =sub_811CEE4 -	bl SetVBlankCallback -	ldrh r0, [r5, 0x8] -	adds r0, 0x1 -	strh r0, [r5, 0x8] -	movs r0, 0 -	pop {r4,r5} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811CD88: .4byte 0x0200c000 -_0811CD8C: .4byte gUnknown_03005560 -_0811CD90: .4byte 0x04000200 -_0811CD94: .4byte REG_DISPSTAT -_0811CD98: .4byte sub_811CFAC -_0811CD9C: .4byte sub_811CEE4 -	thumb_func_end sub_811CD14 - -	thumb_func_start sub_811CDA0 -sub_811CDA0: @ 811CDA0 -	push {r4-r6,lr} -	sub sp, 0x10 -	adds r6, r0, 0 -	ldr r1, _0811CE08 @ =gUnknown_083FD8C4 -	mov r0, sp -	movs r2, 0x10 -	bl memcpy -	movs r5, 0 -	movs r4, 0 -_0811CDB4: -	ldr r0, _0811CE0C @ =sub_811CFD0 -	bl CreateInvisibleSprite -	lsls r0, 24 -	lsrs r0, 24 -	lsls r1, r0, 4 -	adds r1, r0 -	lsls r1, 2 -	ldr r0, _0811CE10 @ =gSprites -	adds r2, r1, r0 -	movs r0, 0xF0 -	strh r0, [r2, 0x20] -	strh r4, [r2, 0x22] -	lsls r1, r5, 16 -	asrs r1, 16 -	lsls r0, r1, 1 -	add r0, sp -	ldrh r0, [r0] -	strh r0, [r2, 0x38] -	adds r1, 0x1 -	lsls r1, 16 -	lsls r0, r4, 16 -	movs r3, 0xA0 -	lsls r3, 13 -	adds r0, r3 -	lsrs r4, r0, 16 -	lsrs r5, r1, 16 -	asrs r1, 16 -	cmp r1, 0x7 -	ble _0811CDB4 -	ldrh r0, [r2, 0x3A] -	adds r0, 0x1 -	strh r0, [r2, 0x3A] -	ldrh r0, [r6, 0x8] -	adds r0, 0x1 -	strh r0, [r6, 0x8] -	movs r0, 0 -	add sp, 0x10 -	pop {r4-r6} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811CE08: .4byte gUnknown_083FD8C4 -_0811CE0C: .4byte sub_811CFD0 -_0811CE10: .4byte gSprites -	thumb_func_end sub_811CDA0 - -	thumb_func_start sub_811CE14 -sub_811CE14: @ 811CE14 -	push {r4,lr} -	adds r4, r0, 0 -	ldr r0, _0811CE44 @ =0x0200c000 -	ldrb r1, [r0] -	movs r1, 0 -	strb r1, [r0] -	movs r1, 0x20 -	ldrsh r0, [r0, r1] -	cmp r0, 0x7 -	ble _0811CE3A -	movs r0, 0x1 -	negs r0, r0 -	ldr r2, _0811CE48 @ =0x00007fff -	movs r1, 0x10 -	bl BlendPalettes -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -_0811CE3A: -	movs r0, 0 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811CE44: .4byte 0x0200c000 -_0811CE48: .4byte 0x00007fff -	thumb_func_end sub_811CE14 - -	thumb_func_start sub_811CE4C -sub_811CE4C: @ 811CE4C -	push {r4-r6,lr} -	adds r6, r0, 0 -	ldr r4, _0811CE9C @ =0x0200c000 -	ldrb r0, [r4] -	movs r5, 0 -	strb r5, [r4] -	ldr r1, _0811CEA0 @ =0x040000b0 -	ldrh r2, [r1, 0xA] -	ldr r0, _0811CEA4 @ =0x0000c5ff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r2, [r1, 0xA] -	ldr r0, _0811CEA8 @ =0x00007fff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r0, [r1, 0xA] -	movs r0, 0 -	bl SetVBlankCallback -	movs r0, 0 -	bl SetHBlankCallback -	movs r0, 0xF0 -	strh r0, [r4, 0x6] -	strh r5, [r4, 0x12] -	movs r0, 0xFF -	strh r0, [r4, 0xE] -	movs r0, 0x3F -	strh r0, [r4, 0x2] -	ldr r0, _0811CEAC @ =sub_811CF74 -	bl SetVBlankCallback -	ldrh r0, [r6, 0x8] -	adds r0, 0x1 -	strh r0, [r6, 0x8] -	movs r0, 0 -	pop {r4-r6} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811CE9C: .4byte 0x0200c000 -_0811CEA0: .4byte 0x040000b0 -_0811CEA4: .4byte 0x0000c5ff -_0811CEA8: .4byte 0x00007fff -_0811CEAC: .4byte sub_811CF74 -	thumb_func_end sub_811CE4C - -	thumb_func_start sub_811CEB0 -sub_811CEB0: @ 811CEB0 -	push {lr} -	ldr r1, _0811CEDC @ =0x0200c000 -	ldrh r0, [r1, 0x12] -	adds r0, 0x1 -	strh r0, [r1, 0x12] -	lsls r0, 16 -	lsrs r0, 16 -	cmp r0, 0x10 -	bls _0811CED4 -	bl sub_811D6D4 -	ldr r0, _0811CEE0 @ =sub_811CCDC -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -_0811CED4: -	movs r0, 0 -	pop {r1} -	bx r1 -	.align 2, 0 -_0811CEDC: .4byte 0x0200c000 -_0811CEE0: .4byte sub_811CCDC -	thumb_func_end sub_811CEB0 - -	thumb_func_start sub_811CEE4 -sub_811CEE4: @ 811CEE4 -	push {r4,lr} -	ldr r4, _0811CF48 @ =0x040000b0 -	ldrh r1, [r4, 0xA] -	ldr r0, _0811CF4C @ =0x0000c5ff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r1, [r4, 0xA] -	ldr r0, _0811CF50 @ =0x00007fff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r0, [r4, 0xA] -	bl sub_811D67C -	ldr r2, _0811CF54 @ =REG_BLDCNT -	ldr r1, _0811CF58 @ =0x0200c000 -	ldrh r0, [r1, 0xE] -	strh r0, [r2] -	subs r2, 0x8 -	ldrh r0, [r1, 0x2] -	strh r0, [r2] -	adds r2, 0x2 -	ldrh r0, [r1, 0x4] -	strh r0, [r2] -	subs r2, 0x6 -	ldrh r0, [r1, 0x6] -	strh r0, [r2] -	ldrb r0, [r1] -	cmp r0, 0 -	beq _0811CF32 -	ldr r1, _0811CF5C @ =0x040000d4 -	ldr r0, _0811CF60 @ =gUnknown_03004DE0 -	str r0, [r1] -	movs r2, 0xF0 -	lsls r2, 3 -	adds r0, r2 -	str r0, [r1, 0x4] -	ldr r0, _0811CF64 @ =0x80000140 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -_0811CF32: -	ldr r0, _0811CF68 @ =gUnknown_030056A0 -	str r0, [r4] -	ldr r0, _0811CF6C @ =REG_WIN0H -	str r0, [r4, 0x4] -	ldr r0, _0811CF70 @ =0xa2400001 -	str r0, [r4, 0x8] -	ldr r0, [r4, 0x8] -	pop {r4} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811CF48: .4byte 0x040000b0 -_0811CF4C: .4byte 0x0000c5ff -_0811CF50: .4byte 0x00007fff -_0811CF54: .4byte REG_BLDCNT -_0811CF58: .4byte 0x0200c000 -_0811CF5C: .4byte 0x040000d4 -_0811CF60: .4byte gUnknown_03004DE0 -_0811CF64: .4byte 0x80000140 -_0811CF68: .4byte gUnknown_030056A0 -_0811CF6C: .4byte REG_WIN0H -_0811CF70: .4byte 0xa2400001 -	thumb_func_end sub_811CEE4 - -	thumb_func_start sub_811CF74 -sub_811CF74: @ 811CF74 -	push {lr} -	bl sub_811D67C -	ldr r1, _0811CFA4 @ =REG_BLDY -	ldr r2, _0811CFA8 @ =0x0200c000 -	ldrh r0, [r2, 0x12] -	strh r0, [r1] -	subs r1, 0x4 -	ldrh r0, [r2, 0xE] -	strh r0, [r1] -	subs r1, 0x8 -	ldrh r0, [r2, 0x2] -	strh r0, [r1] -	adds r1, 0x2 -	ldrh r0, [r2, 0x4] -	strh r0, [r1] -	subs r1, 0xA -	ldrh r0, [r2, 0x6] -	strh r0, [r1] -	adds r1, 0x4 -	ldrh r0, [r2, 0x8] -	strh r0, [r1] -	pop {r0} -	bx r0 -	.align 2, 0 -_0811CFA4: .4byte REG_BLDY -_0811CFA8: .4byte 0x0200c000 -	thumb_func_end sub_811CF74 - -	thumb_func_start sub_811CFAC -sub_811CFAC: @ 811CFAC -	ldr r2, _0811CFC4 @ =REG_BLDY -	ldr r1, _0811CFC8 @ =gUnknown_03004DE0 -	ldr r0, _0811CFCC @ =REG_VCOUNT -	ldrh r0, [r0] -	lsls r0, 1 -	movs r3, 0xF0 -	lsls r3, 3 -	adds r1, r3 -	adds r0, r1 -	ldrh r0, [r0] -	strh r0, [r2] -	bx lr -	.align 2, 0 -_0811CFC4: .4byte REG_BLDY -_0811CFC8: .4byte gUnknown_03004DE0 -_0811CFCC: .4byte REG_VCOUNT -	thumb_func_end sub_811CFAC - -	thumb_func_start sub_811CFD0 -sub_811CFD0: @ 811CFD0 -	push {r4-r6,lr} -	adds r3, r0, 0 -	ldrh r1, [r3, 0x38] -	movs r2, 0x38 -	ldrsh r0, [r3, r2] -	cmp r0, 0 -	beq _0811CFF8 -	subs r0, r1, 0x1 -	strh r0, [r3, 0x38] -	movs r1, 0x3A -	ldrsh r0, [r3, r1] -	cmp r0, 0 -	beq _0811D0AA -	ldr r0, _0811CFF4 @ =0x0200c000 -	ldrb r1, [r0] -	movs r1, 0x1 -	strb r1, [r0] -	b _0811D0AA -	.align 2, 0 -_0811CFF4: .4byte 0x0200c000 -_0811CFF8: -	movs r2, 0x22 -	ldrsh r1, [r3, r2] -	lsls r1, 1 -	ldr r0, _0811D0B0 @ =gUnknown_03004DE0 -	adds r6, r1, r0 -	movs r2, 0xA0 -	lsls r2, 1 -	adds r0, r2 -	adds r5, r1, r0 -	movs r4, 0 -_0811D00C: -	lsls r1, r4, 1 -	adds r2, r1, r6 -	ldrh r0, [r3, 0x2E] -	lsls r0, 16 -	asrs r0, 24 -	strh r0, [r2] -	adds r1, r5 -	ldrh r0, [r3, 0x20] -	lsls r0, 24 -	lsrs r0, 24 -	strh r0, [r1] -	adds r0, r4, 0x1 -	lsls r0, 16 -	lsrs r4, r0, 16 -	cmp r4, 0x13 -	bls _0811D00C -	movs r1, 0x20 -	ldrsh r0, [r3, r1] -	ldrh r2, [r3, 0x20] -	cmp r0, 0 -	bne _0811D046 -	movs r0, 0x2E -	ldrsh r1, [r3, r0] -	movs r0, 0x80 -	lsls r0, 5 -	cmp r1, r0 -	bne _0811D046 -	movs r0, 0x1 -	strh r0, [r3, 0x30] -_0811D046: -	adds r1, r2, 0 -	subs r1, 0x10 -	strh r1, [r3, 0x20] -	ldrh r0, [r3, 0x2E] -	adds r0, 0x80 -	strh r0, [r3, 0x2E] -	lsls r1, 16 -	cmp r1, 0 -	bge _0811D05C -	movs r0, 0 -	strh r0, [r3, 0x20] -_0811D05C: -	movs r1, 0x2E -	ldrsh r0, [r3, r1] -	movs r1, 0x80 -	lsls r1, 5 -	cmp r0, r1 -	ble _0811D06A -	strh r1, [r3, 0x2E] -_0811D06A: -	movs r0, 0x3A -	ldrsh r2, [r3, r0] -	cmp r2, 0 -	beq _0811D07A -	ldr r0, _0811D0B4 @ =0x0200c000 -	ldrb r1, [r0] -	movs r1, 0x1 -	strb r1, [r0] -_0811D07A: -	movs r1, 0x30 -	ldrsh r0, [r3, r1] -	cmp r0, 0 -	beq _0811D0AA -	ldr r4, _0811D0B4 @ =0x0200c000 -	cmp r2, 0 -	beq _0811D09E -	movs r2, 0x20 -	ldrsh r0, [r4, r2] -	cmp r0, 0x6 -	ble _0811D0AA -	ldrh r0, [r3, 0x32] -	adds r1, r0, 0x1 -	strh r1, [r3, 0x32] -	lsls r0, 16 -	asrs r0, 16 -	cmp r0, 0x7 -	ble _0811D0AA -_0811D09E: -	ldrh r0, [r4, 0x20] -	adds r0, 0x1 -	strh r0, [r4, 0x20] -	adds r0, r3, 0 -	bl DestroySprite -_0811D0AA: -	pop {r4-r6} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811D0B0: .4byte gUnknown_03004DE0 -_0811D0B4: .4byte 0x0200c000 -	thumb_func_end sub_811CFD0 - -	thumb_func_start sub_811D0B8 -sub_811D0B8: @ 811D0B8 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811D0E8 @ =gUnknown_083FD8D4 -	ldr r2, _0811D0EC @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811D0CA: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811D0CA -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811D0E8: .4byte gUnknown_083FD8D4 -_0811D0EC: .4byte gTasks -	thumb_func_end sub_811D0B8 - -	thumb_func_start sub_811D0F0 -sub_811D0F0: @ 811D0F0 -	push {r4,lr} -	sub sp, 0xC -	adds r4, r0, 0 -	add r0, sp, 0x4 -	add r1, sp, 0x8 -	bl sub_811D6A8 -	ldr r0, _0811D138 @ =gUnknown_083FD528 -	ldr r1, [sp, 0x8] -	movs r2, 0x10 -	bl CpuSet -	mov r1, sp -	movs r2, 0xF0 -	lsls r2, 8 -	adds r0, r2, 0 -	strh r0, [r1] -	ldr r1, [sp, 0x4] -	ldr r2, _0811D13C @ =0x01000400 -	mov r0, sp -	bl CpuSet -	ldr r0, _0811D140 @ =gFieldEffectObjectPalette10 -	movs r1, 0xF0 -	movs r2, 0x20 -	bl LoadPalette -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	movs r0, 0 -	add sp, 0xC -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811D138: .4byte gUnknown_083FD528 -_0811D13C: .4byte 0x01000400 -_0811D140: .4byte gFieldEffectObjectPalette10 -	thumb_func_end sub_811D0F0 - -	thumb_func_start sub_811D144 -sub_811D144: @ 811D144 -	push {r4,lr} -	sub sp, 0x4 -	adds r4, r0, 0 -	movs r1, 0xA -	ldrsh r0, [r4, r1] -	cmp r0, 0 -	bne _0811D186 -	mov r0, sp -	bl sub_811D690 -	movs r0, 0x3 -	strh r0, [r4, 0xA] -	ldrh r0, [r4, 0xC] -	adds r0, 0x1 -	strh r0, [r4, 0xC] -	movs r1, 0xC -	ldrsh r0, [r4, r1] -	lsls r0, 5 -	ldr r1, _0811D198 @ =gUnknown_083FD528 -	adds r0, r1 -	ldr r1, [sp] -	movs r2, 0x10 -	bl CpuSet -	movs r1, 0xC -	ldrsh r0, [r4, r1] -	cmp r0, 0xD -	ble _0811D186 -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	movs r0, 0x10 -	strh r0, [r4, 0xA] -_0811D186: -	ldrh r0, [r4, 0xA] -	subs r0, 0x1 -	strh r0, [r4, 0xA] -	movs r0, 0 -	add sp, 0x4 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811D198: .4byte gUnknown_083FD528 -	thumb_func_end sub_811D144 - -	thumb_func_start sub_811D19C -sub_811D19C: @ 811D19C -	push {lr} -	ldrh r1, [r0, 0xA] -	subs r1, 0x1 -	strh r1, [r0, 0xA] -	lsls r1, 16 -	cmp r1, 0 -	bne _0811D1BC -	bl sub_811D6D4 -	ldr r0, _0811D1C4 @ =sub_811D0B8 -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -_0811D1BC: -	movs r0, 0 -	pop {r1} -	bx r1 -	.align 2, 0 -_0811D1C4: .4byte sub_811D0B8 -	thumb_func_end sub_811D19C - -	thumb_func_start sub_811D1C8 -sub_811D1C8: @ 811D1C8 -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811D1F8 @ =gUnknown_083FD8E0 -	ldr r2, _0811D1FC @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811D1DA: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811D1DA -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811D1F8: .4byte gUnknown_083FD8E0 -_0811D1FC: .4byte gTasks -	thumb_func_end sub_811D1C8 - -	thumb_func_start sub_811D200 -sub_811D200: @ 811D200 -	push {r4,r5,lr} -	adds r5, r0, 0 -	bl sub_811D658 -	bl dp12_8087EA4 -	ldr r1, _0811D254 @ =0x0200c000 -	movs r2, 0 -	movs r0, 0x3F -	strh r0, [r1, 0x2] -	strh r2, [r1, 0x4] -	movs r0, 0xA0 -	strh r0, [r1, 0x8] -	movs r1, 0 -	ldr r2, _0811D258 @ =gUnknown_03004DE0 -	movs r3, 0xF0 -	adds r4, r2, 0 -_0811D222: -	lsls r0, r1, 1 -	adds r0, r2 -	strh r3, [r0] -	adds r0, r1, 0x1 -	lsls r0, 16 -	lsrs r1, r0, 16 -	cmp r1, 0x9F -	bls _0811D222 -	movs r0, 0xF0 -	lsls r0, 3 -	adds r1, r4, r0 -	adds r0, r4, 0 -	movs r2, 0xA0 -	bl CpuSet -	ldr r0, _0811D25C @ =sub_811D438 -	bl SetVBlankCallback -	ldrh r0, [r5, 0x8] -	adds r0, 0x1 -	strh r0, [r5, 0x8] -	movs r0, 0x1 -	pop {r4,r5} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811D254: .4byte 0x0200c000 -_0811D258: .4byte gUnknown_03004DE0 -_0811D25C: .4byte sub_811D438 -	thumb_func_end sub_811D200 - -	thumb_func_start sub_811D260 -sub_811D260: @ 811D260 -	push {r4-r6,lr} -	mov r6, r8 -	push {r6} -	sub sp, 0xC -	mov r8, r0 -	ldr r0, _0811D2D0 @ =0x0200c024 -	ldr r6, _0811D2D4 @ =gUnknown_083FD8F4 -	mov r2, r8 -	movs r3, 0xA -	ldrsh r1, [r2, r3] -	lsls r4, r1, 2 -	adds r4, r1 -	lsls r4, 1 -	adds r1, r4, r6 -	movs r5, 0 -	ldrsh r1, [r1, r5] -	adds r2, r6, 0x2 -	adds r2, r4, r2 -	movs r3, 0 -	ldrsh r2, [r2, r3] -	adds r3, r6, 0x4 -	adds r3, r4, r3 -	movs r5, 0 -	ldrsh r3, [r3, r5] -	adds r5, r6, 0x6 -	adds r4, r5 -	movs r5, 0 -	ldrsh r4, [r4, r5] -	str r4, [sp] -	movs r4, 0x1 -	str r4, [sp, 0x4] -	str r4, [sp, 0x8] -	bl sub_811D8FC -	mov r0, r8 -	movs r2, 0xA -	ldrsh r1, [r0, r2] -	lsls r0, r1, 2 -	adds r0, r1 -	lsls r0, 1 -	adds r6, 0x8 -	adds r0, r6 -	ldrh r0, [r0] -	mov r3, r8 -	strh r0, [r3, 0xC] -	ldrh r0, [r3, 0x8] -	adds r0, 0x1 -	strh r0, [r3, 0x8] -	movs r0, 0x1 -	add sp, 0xC -	pop {r3} -	mov r8, r3 -	pop {r4-r6} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811D2D0: .4byte 0x0200c024 -_0811D2D4: .4byte gUnknown_083FD8F4 -	thumb_func_end sub_811D260 - -	thumb_func_start sub_811D2D8 -sub_811D2D8: @ 811D2D8 -	push {r4-r7,lr} -	mov r7, r9 -	mov r6, r8 -	push {r6,r7} -	adds r7, r0, 0 -	ldr r0, _0811D324 @ =0x0200c000 -	ldrb r1, [r0] -	movs r1, 0 -	strb r1, [r0] -	mov r8, r1 -	mov r12, r1 -	adds r6, r0, 0 -	ldr r0, _0811D328 @ =gUnknown_03004DE0 -	mov r9, r0 -_0811D2F4: -	ldr r1, _0811D328 @ =gUnknown_03004DE0 -	movs r2, 0x2A -	ldrsh r0, [r6, r2] -	lsls r0, 1 -	adds r0, r1 -	ldrh r0, [r0] -	lsrs r3, r0, 8 -	movs r4, 0xFF -	ands r4, r0 -	movs r1, 0xC -	ldrsh r0, [r7, r1] -	cmp r0, 0 -	bne _0811D32C -	movs r2, 0x28 -	ldrsh r0, [r6, r2] -	cmp r3, r0 -	bge _0811D318 -	ldrh r3, [r6, 0x28] -_0811D318: -	lsls r0, r3, 16 -	lsls r1, r4, 16 -	cmp r0, r1 -	ble _0811D344 -	lsrs r3, r1, 16 -	b _0811D344 -	.align 2, 0 -_0811D324: .4byte 0x0200c000 -_0811D328: .4byte gUnknown_03004DE0 -_0811D32C: -	lsls r0, r4, 16 -	asrs r0, 16 -	movs r2, 0x28 -	ldrsh r1, [r6, r2] -	cmp r0, r1 -	ble _0811D33A -	ldrh r4, [r6, 0x28] -_0811D33A: -	lsls r0, r4, 16 -	lsls r1, r3, 16 -	cmp r0, r1 -	bgt _0811D344 -	lsrs r4, r1, 16 -_0811D344: -	ldr r5, _0811D368 @ =0x0200c000 -	movs r0, 0x2A -	ldrsh r2, [r5, r0] -	lsls r2, 1 -	add r2, r9 -	lsls r1, r3, 16 -	asrs r1, 8 -	lsls r0, r4, 16 -	asrs r0, 16 -	orrs r0, r1 -	strh r0, [r2] -	mov r1, r12 -	cmp r1, 0 -	beq _0811D36C -	ldrh r0, [r7, 0x8] -	adds r0, 0x1 -	strh r0, [r7, 0x8] -	b _0811D392 -	.align 2, 0 -_0811D368: .4byte 0x0200c000 -_0811D36C: -	adds r0, r5, 0 -	adds r0, 0x24 -	movs r1, 0x1 -	movs r2, 0x1 -	bl sub_811D978 -	lsls r0, 24 -	lsrs r0, 24 -	mov r12, r0 -	mov r2, r8 -	lsls r0, r2, 16 -	movs r1, 0x80 -	lsls r1, 9 -	adds r0, r1 -	lsrs r2, r0, 16 -	mov r8, r2 -	asrs r0, 16 -	cmp r0, 0xF -	ble _0811D2F4 -_0811D392: -	ldr r0, _0811D3AC @ =0x0200c000 -	ldrb r1, [r0] -	adds r1, 0x1 -	ldrb r2, [r0] -	strb r1, [r0] -	movs r0, 0 -	pop {r3,r4} -	mov r8, r3 -	mov r9, r4 -	pop {r4-r7} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811D3AC: .4byte 0x0200c000 -	thumb_func_end sub_811D2D8 - -	thumb_func_start sub_811D3B0 -sub_811D3B0: @ 811D3B0 -	push {lr} -	adds r2, r0, 0 -	ldrh r0, [r2, 0xA] -	adds r0, 0x1 -	strh r0, [r2, 0xA] -	lsls r0, 16 -	asrs r0, 16 -	cmp r0, 0x6 -	ble _0811D3FC -	ldr r1, _0811D3EC @ =0x040000b0 -	ldrh r2, [r1, 0xA] -	ldr r0, _0811D3F0 @ =0x0000c5ff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r2, [r1, 0xA] -	ldr r0, _0811D3F4 @ =0x00007fff -	ands r0, r2 -	strh r0, [r1, 0xA] -	ldrh r0, [r1, 0xA] -	bl sub_811D6D4 -	ldr r0, _0811D3F8 @ =sub_811D1C8 -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -	movs r0, 0 -	b _0811D414 -	.align 2, 0 -_0811D3EC: .4byte 0x040000b0 -_0811D3F0: .4byte 0x0000c5ff -_0811D3F4: .4byte 0x00007fff -_0811D3F8: .4byte sub_811D1C8 -_0811D3FC: -	ldrh r0, [r2, 0x8] -	adds r0, 0x1 -	strh r0, [r2, 0x8] -	ldr r1, _0811D418 @ =gUnknown_083FD93A -	movs r3, 0xA -	ldrsh r0, [r2, r3] -	subs r0, 0x1 -	lsls r0, 1 -	adds r0, r1 -	ldrh r0, [r0] -	strh r0, [r2, 0xE] -	movs r0, 0x1 -_0811D414: -	pop {r1} -	bx r1 -	.align 2, 0 -_0811D418: .4byte gUnknown_083FD93A -	thumb_func_end sub_811D3B0 - -	thumb_func_start sub_811D41C -sub_811D41C: @ 811D41C -	push {lr} -	adds r1, r0, 0 -	ldrh r0, [r1, 0xE] -	subs r0, 0x1 -	strh r0, [r1, 0xE] -	lsls r0, 16 -	cmp r0, 0 -	beq _0811D430 -	movs r0, 0 -	b _0811D434 -_0811D430: -	movs r0, 0x1 -	strh r0, [r1, 0x8] -_0811D434: -	pop {r1} -	bx r1 -	thumb_func_end sub_811D41C - -	thumb_func_start sub_811D438 -sub_811D438: @ 811D438 -	push {r4,lr} -	ldr r4, _0811D4A0 @ =0x040000b0 -	ldrh r1, [r4, 0xA] -	ldr r0, _0811D4A4 @ =0x0000c5ff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r1, [r4, 0xA] -	ldr r0, _0811D4A8 @ =0x00007fff -	ands r0, r1 -	strh r0, [r4, 0xA] -	ldrh r0, [r4, 0xA] -	bl sub_811D67C -	ldr r2, _0811D4AC @ =0x0200c000 -	ldrb r0, [r2] -	cmp r0, 0 -	beq _0811D46E -	ldr r1, _0811D4B0 @ =0x040000d4 -	ldr r0, _0811D4B4 @ =gUnknown_03004DE0 -	str r0, [r1] -	movs r3, 0xF0 -	lsls r3, 3 -	adds r0, r3 -	str r0, [r1, 0x4] -	ldr r0, _0811D4B8 @ =0x800000a0 -	str r0, [r1, 0x8] -	ldr r0, [r1, 0x8] -_0811D46E: -	ldr r1, _0811D4BC @ =REG_WININ -	ldrh r0, [r2, 0x2] -	strh r0, [r1] -	adds r1, 0x2 -	ldrh r0, [r2, 0x4] -	strh r0, [r1] -	subs r1, 0x6 -	ldrh r0, [r2, 0x8] -	strh r0, [r1] -	ldr r2, _0811D4C0 @ =REG_WIN0H -	ldr r0, _0811D4B4 @ =gUnknown_03004DE0 -	movs r1, 0xF0 -	lsls r1, 3 -	adds r0, r1 -	ldrh r1, [r0] -	strh r1, [r2] -	str r0, [r4] -	str r2, [r4, 0x4] -	ldr r0, _0811D4C4 @ =0xa2400001 -	str r0, [r4, 0x8] -	ldr r0, [r4, 0x8] -	pop {r4} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811D4A0: .4byte 0x040000b0 -_0811D4A4: .4byte 0x0000c5ff -_0811D4A8: .4byte 0x00007fff -_0811D4AC: .4byte 0x0200c000 -_0811D4B0: .4byte 0x040000d4 -_0811D4B4: .4byte gUnknown_03004DE0 -_0811D4B8: .4byte 0x800000a0 -_0811D4BC: .4byte REG_WININ -_0811D4C0: .4byte REG_WIN0H -_0811D4C4: .4byte 0xa2400001 -	thumb_func_end sub_811D438 - -	thumb_func_start sub_811D4C8 -sub_811D4C8: @ 811D4C8 -	push {r4-r6,lr} -	mov r6, r8 -	push {r6} -	sub sp, 0x4 -	mov r8, r0 -	adds r4, r1, 0 -	adds r5, r2, 0 -	adds r6, r3, 0 -	ldr r3, [sp, 0x18] -	lsls r0, 16 -	lsrs r0, 16 -	mov r8, r0 -	lsls r4, 16 -	lsrs r4, 16 -	lsls r5, 16 -	lsrs r5, 16 -	lsls r6, 16 -	lsrs r6, 16 -	lsls r3, 16 -	lsrs r3, 16 -	ldr r0, _0811D524 @ =sub_811D54C -	movs r1, 0x3 -	str r3, [sp] -	bl CreateTask -	lsls r0, 24 -	lsrs r0, 24 -	ldr r2, _0811D528 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r1, r2 -	mov r0, r8 -	strh r0, [r1, 0xA] -	strh r4, [r1, 0xC] -	strh r5, [r1, 0xE] -	strh r6, [r1, 0x10] -	ldr r3, [sp] -	strh r3, [r1, 0x12] -	strh r0, [r1, 0x14] -	add sp, 0x4 -	pop {r3} -	mov r8, r3 -	pop {r4-r6} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811D524: .4byte sub_811D54C -_0811D528: .4byte gTasks -	thumb_func_end sub_811D4C8 - -	thumb_func_start sub_811D52C -sub_811D52C: @ 811D52C -	push {lr} -	ldr r0, _0811D540 @ =sub_811D54C -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	cmp r0, 0xFF -	beq _0811D544 -	movs r0, 0 -	b _0811D546 -	.align 2, 0 -_0811D540: .4byte sub_811D54C -_0811D544: -	movs r0, 0x1 -_0811D546: -	pop {r1} -	bx r1 -	thumb_func_end sub_811D52C - -	thumb_func_start sub_811D54C -sub_811D54C: @ 811D54C -	push {r4,r5,lr} -	lsls r0, 24 -	lsrs r0, 24 -	ldr r5, _0811D57C @ =gUnknown_083FD948 -	ldr r2, _0811D580 @ =gTasks -	lsls r1, r0, 2 -	adds r1, r0 -	lsls r1, 3 -	adds r4, r1, r2 -_0811D55E: -	movs r1, 0x8 -	ldrsh r0, [r4, r1] -	lsls r0, 2 -	adds r0, r5 -	ldr r1, [r0] -	adds r0, r4, 0 -	bl _call_via_r1 -	lsls r0, 24 -	cmp r0, 0 -	bne _0811D55E -	pop {r4,r5} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811D57C: .4byte gUnknown_083FD948 -_0811D580: .4byte gTasks -	thumb_func_end sub_811D54C - -	thumb_func_start sub_811D584 -sub_811D584: @ 811D584 -	push {r4,lr} -	adds r4, r0, 0 -	ldrh r1, [r4, 0x14] -	movs r2, 0x14 -	ldrsh r0, [r4, r2] -	cmp r0, 0 -	beq _0811D59C -	subs r0, r1, 0x1 -	strh r0, [r4, 0x14] -	lsls r0, 16 -	cmp r0, 0 -	bne _0811D5C0 -_0811D59C: -	ldrh r0, [r4, 0xA] -	strh r0, [r4, 0x14] -	ldrh r0, [r4, 0x10] -	ldrh r1, [r4, 0x16] -	adds r0, r1 -	strh r0, [r4, 0x16] -	lsls r0, 16 -	asrs r0, 16 -	cmp r0, 0x10 -	ble _0811D5B4 -	movs r0, 0x10 -	strh r0, [r4, 0x16] -_0811D5B4: -	movs r0, 0x1 -	negs r0, r0 -	ldrb r1, [r4, 0x16] -	ldr r2, _0811D5DC @ =0x00002d6b -	bl BlendPalettes -_0811D5C0: -	movs r2, 0x16 -	ldrsh r0, [r4, r2] -	cmp r0, 0xF -	ble _0811D5D2 -	ldrh r0, [r4, 0x8] -	adds r0, 0x1 -	strh r0, [r4, 0x8] -	ldrh r0, [r4, 0xC] -	strh r0, [r4, 0x14] -_0811D5D2: -	movs r0, 0 -	pop {r4} -	pop {r1} -	bx r1 -	.align 2, 0 -_0811D5DC: .4byte 0x00002d6b -	thumb_func_end sub_811D584 - -	thumb_func_start sub_811D5E0 -sub_811D5E0: @ 811D5E0 -	push {r4,lr} -	adds r4, r0, 0 -	ldrh r1, [r4, 0x14] -	movs r2, 0x14 -	ldrsh r0, [r4, r2] -	cmp r0, 0 -	beq _0811D5F8 -	subs r0, r1, 0x1 -	strh r0, [r4, 0x14] -	lsls r0, 16 -	cmp r0, 0 -	bne _0811D61A -_0811D5F8: -	ldrh r0, [r4, 0xC] -	strh r0, [r4, 0x14] -	ldrh r0, [r4, 0x16] -	ldrh r1, [r4, 0x12] -	subs r0, r1 -	strh r0, [r4, 0x16] -	lsls r0, 16 -	cmp r0, 0 -	bge _0811D60E -	movs r0, 0 -	strh r0, [r4, 0x16] -_0811D60E: -	movs r0, 0x1 -	negs r0, r0 -	ldrb r1, [r4, 0x16] -	ldr r2, _0811D640 @ =0x00002d6b -	bl BlendPalettes -_0811D61A: -	movs r0, 0x16 -	ldrsh r1, [r4, r0] -	cmp r1, 0 -	bne _0811D64E -	ldrh r0, [r4, 0xE] -	subs r0, 0x1 -	strh r0, [r4, 0xE] -	lsls r0, 16 -	cmp r0, 0 -	bne _0811D648 -	ldr r0, _0811D644 @ =sub_811D54C -	bl FindTaskIdByFunc -	lsls r0, 24 -	lsrs r0, 24 -	bl DestroyTask -	b _0811D64E -	.align 2, 0 -_0811D640: .4byte 0x00002d6b -_0811D644: .4byte sub_811D54C -_0811D648: -	ldrh r0, [r4, 0xA] -	strh r0, [r4, 0x14] -	strh r1, [r4, 0x8] -_0811D64E: -	movs r0, 0 -	pop {r4} -	pop {r1} -	bx r1 -	thumb_func_end sub_811D5E0 - -	thumb_func_start sub_811D658 -sub_811D658: @ 811D658 -	push {lr} -	ldr r0, _0811D674 @ =gUnknown_083FD708 -	ldr r0, [r0] -	movs r1, 0 -	movs r2, 0x3C -	bl memset -	ldr r0, _0811D678 @ =0x0200c014 -	adds r1, r0, 0x2 -	bl sub_8057B14 -	pop {r0} -	bx r0 -	.align 2, 0 -_0811D674: .4byte gUnknown_083FD708 -_0811D678: .4byte 0x0200c014 -	thumb_func_end sub_811D658 - -	thumb_func_start sub_811D67C -sub_811D67C: @ 811D67C -	push {lr} -	bl LoadOam -	bl ProcessSpriteCopyRequests -	bl TransferPlttBuffer -	pop {r0} -	bx r0 -	thumb_func_end sub_811D67C - -	thumb_func_start sub_811D690 -sub_811D690: @ 811D690 -	ldr r1, _0811D6A4 @ =REG_BG0CNT -	ldrh r1, [r1] -	lsrs r1, 2 -	lsls r1, 30 -	lsrs r1, 16 -	movs r2, 0xC0 -	lsls r2, 19 -	adds r1, r2 -	str r1, [r0] -	bx lr -	.align 2, 0 -_0811D6A4: .4byte REG_BG0CNT -	thumb_func_end sub_811D690 - -	thumb_func_start sub_811D6A8 -sub_811D6A8: @ 811D6A8 -	push {r4,lr} -	ldr r3, _0811D6D0 @ =REG_BG0CNT -	ldrh r2, [r3] -	lsrs r2, 8 -	ldrh r3, [r3] -	lsrs r3, 2 -	lsls r2, 27 -	lsrs r2, 16 -	lsls r3, 30 -	lsrs r3, 16 -	movs r4, 0xC0 -	lsls r4, 19 -	adds r2, r4 -	str r2, [r0] -	adds r3, r4 -	str r3, [r1] -	pop {r4} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811D6D0: .4byte REG_BG0CNT -	thumb_func_end sub_811D6A8 - -	thumb_func_start sub_811D6D4 -sub_811D6D4: @ 811D6D4 -	push {lr} -	movs r0, 0x1 -	negs r0, r0 -	movs r1, 0x10 -	movs r2, 0 -	bl BlendPalettes -	pop {r0} -	bx r0 -	thumb_func_end sub_811D6D4 - -	thumb_func_start sub_811D6E8 -sub_811D6E8: @ 811D6E8 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	mov r10, r0 -	ldr r0, [sp, 0x20] -	ldr r4, [sp, 0x24] -	lsls r1, 16 -	lsrs r7, r1, 16 -	lsls r2, 16 -	lsrs r2, 16 -	lsls r3, 16 -	lsrs r3, 16 -	lsls r0, 16 -	lsrs r1, r0, 16 -	lsls r4, 16 -	movs r6, 0 -	lsrs r5, r4, 16 -	cmp r4, 0 -	ble _0811D750 -	lsls r0, r7, 16 -	asrs r0, 16 -	mov r9, r0 -	lsls r1, 16 -	mov r8, r1 -	lsls r0, r3, 16 -	asrs r7, r0, 16 -_0811D720: -	lsls r4, r2, 16 -	asrs r4, 16 -	movs r0, 0xFF -	ands r0, r4 -	mov r2, r8 -	asrs r1, r2, 16 -	bl Sin -	lsls r1, r6, 1 -	add r1, r10 -	add r0, r9 -	strh r0, [r1] -	lsls r1, r5, 16 -	ldr r0, _0811D760 @ =0xffff0000 -	adds r1, r0 -	adds r0, r6, 0x1 -	lsls r0, 24 -	lsrs r6, r0, 24 -	adds r4, r7 -	lsls r4, 16 -	lsrs r2, r4, 16 -	lsrs r5, r1, 16 -	cmp r1, 0 -	bgt _0811D720 -_0811D750: -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811D760: .4byte 0xffff0000 -	thumb_func_end sub_811D6E8 - -	thumb_func_start sub_811D764 -sub_811D764: @ 811D764 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	sub sp, 0x14 -	mov r9, r0 -	adds r5, r2, 0 -	adds r4, r3, 0 -	lsls r1, 16 -	lsrs r1, 16 -	str r1, [sp] -	lsls r5, 16 -	lsrs r5, 16 -	lsls r4, 16 -	lsrs r4, 16 -	movs r2, 0xA0 -	lsls r2, 1 -	movs r1, 0xA -	bl memset -	movs r1, 0 -	lsls r4, 16 -	asrs r4, 16 -	str r4, [sp, 0x4] -	lsls r5, 16 -	asrs r5, 16 -	str r5, [sp, 0x8] -_0811D79C: -	lsls r5, r1, 16 -	asrs r0, r5, 16 -	mov r10, r0 -	ldr r1, [sp, 0x4] -	bl Sin -	adds r4, r0, 0 -	lsls r4, 16 -	lsrs r4, 16 -	mov r0, r10 -	ldr r1, [sp, 0x4] -	bl Cos -	ldr r2, [sp] -	lsls r1, r2, 16 -	asrs r1, 16 -	lsls r4, 16 -	asrs r4, 16 -	subs r2, r1, r4 -	lsls r2, 16 -	adds r1, r4 -	lsls r1, 16 -	lsrs r6, r1, 16 -	lsls r0, 16 -	asrs r0, 16 -	ldr r3, [sp, 0x8] -	subs r1, r3, r0 -	lsls r1, 16 -	lsrs r7, r1, 16 -	adds r0, r3, r0 -	lsls r0, 16 -	lsrs r0, 16 -	mov r8, r0 -	lsrs r1, r2, 16 -	str r5, [sp, 0x10] -	cmp r2, 0 -	bge _0811D7E8 -	movs r1, 0 -_0811D7E8: -	lsls r0, r6, 16 -	asrs r0, 16 -	cmp r0, 0xF0 -	ble _0811D7F2 -	movs r6, 0xF0 -_0811D7F2: -	lsls r0, r7, 16 -	cmp r0, 0 -	bge _0811D7FA -	movs r7, 0 -_0811D7FA: -	mov r2, r8 -	lsls r0, r2, 16 -	asrs r0, 16 -	cmp r0, 0x9F -	ble _0811D808 -	movs r3, 0x9F -	mov r8, r3 -_0811D808: -	lsls r0, r1, 24 -	lsrs r0, 16 -	orrs r6, r0 -	lsls r0, r7, 16 -	asrs r0, 16 -	str r0, [sp, 0xC] -	lsls r0, 1 -	add r0, r9 -	strh r6, [r0] -	mov r0, r8 -	lsls r4, r0, 16 -	asrs r0, r4, 15 -	add r0, r9 -	strh r6, [r0] -	mov r0, r10 -	adds r0, 0x1 -	lsls r0, 16 -	asrs r0, 16 -	ldr r1, [sp, 0x4] -	bl Cos -	lsls r0, 16 -	asrs r0, 16 -	ldr r2, [sp, 0x8] -	subs r1, r2, r0 -	lsls r1, 16 -	adds r0, r2, r0 -	lsls r0, 16 -	lsrs r2, r0, 16 -	lsrs r3, r1, 16 -	cmp r1, 0 -	bge _0811D84A -	movs r3, 0 -_0811D84A: -	lsls r0, r2, 16 -	asrs r0, 16 -	cmp r0, 0x9F -	ble _0811D854 -	movs r2, 0x9F -_0811D854: -	lsls r0, r3, 16 -	asrs r1, r0, 16 -	adds r3, r0, 0 -	lsls r5, r2, 16 -	ldr r0, [sp, 0xC] -	cmp r0, r1 -	ble _0811D878 -	adds r2, r1, 0 -_0811D864: -	lsls r1, r7, 16 -	ldr r0, _0811D8F8 @ =0xffff0000 -	adds r1, r0 -	asrs r0, r1, 15 -	add r0, r9 -	strh r6, [r0] -	lsrs r7, r1, 16 -	asrs r1, 16 -	cmp r1, r2 -	bgt _0811D864 -_0811D878: -	lsls r1, r7, 16 -	asrs r0, r3, 16 -	cmp r1, r3 -	bge _0811D896 -	adds r2, r0, 0 -_0811D882: -	movs r3, 0x80 -	lsls r3, 9 -	adds r0, r1, r3 -	asrs r1, r0, 15 -	add r1, r9 -	strh r6, [r1] -	adds r1, r0, 0 -	asrs r0, r1, 16 -	cmp r0, r2 -	blt _0811D882 -_0811D896: -	asrs r0, r5, 16 -	cmp r4, r5 -	ble _0811D8B4 -	adds r1, r0, 0 -_0811D89E: -	ldr r2, _0811D8F8 @ =0xffff0000 -	adds r0, r4, r2 -	lsrs r3, r0, 16 -	mov r8, r3 -	asrs r0, 15 -	add r0, r9 -	strh r6, [r0] -	lsls r4, r3, 16 -	asrs r0, r4, 16 -	cmp r0, r1 -	bgt _0811D89E -_0811D8B4: -	mov r0, r8 -	lsls r4, r0, 16 -	asrs r0, r5, 16 -	cmp r4, r5 -	bge _0811D8D4 -	adds r2, r0, 0 -_0811D8C0: -	movs r1, 0x80 -	lsls r1, 9 -	adds r0, r4, r1 -	asrs r1, r0, 15 -	add r1, r9 -	strh r6, [r1] -	adds r4, r0, 0 -	asrs r0, r4, 16 -	cmp r0, r2 -	blt _0811D8C0 -_0811D8D4: -	ldr r2, [sp, 0x10] -	movs r3, 0x80 -	lsls r3, 9 -	adds r0, r2, r3 -	lsrs r1, r0, 16 -	asrs r0, 16 -	cmp r0, 0x3F -	bgt _0811D8E6 -	b _0811D79C -_0811D8E6: -	add sp, 0x14 -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r0} -	bx r0 -	.align 2, 0 -_0811D8F8: .4byte 0xffff0000 -	thumb_func_end sub_811D764 - -	thumb_func_start sub_811D8FC -sub_811D8FC: @ 811D8FC -	push {r4-r7,lr} -	adds r6, r0, 0 -	ldr r0, [sp, 0x14] -	ldr r5, [sp, 0x18] -	ldr r4, [sp, 0x1C] -	lsls r1, 16 -	lsrs r1, 16 -	lsls r2, 16 -	lsrs r2, 16 -	lsls r3, 16 -	lsrs r3, 16 -	lsls r0, 16 -	lsrs r0, 16 -	adds r7, r0, 0 -	lsls r5, 16 -	lsrs r5, 16 -	lsls r4, 16 -	lsrs r4, 16 -	strh r1, [r6] -	strh r2, [r6, 0x2] -	strh r1, [r6, 0x4] -	strh r2, [r6, 0x6] -	strh r3, [r6, 0x8] -	strh r7, [r6, 0xA] -	strh r5, [r6, 0xC] -	strh r4, [r6, 0xE] -	lsls r3, 16 -	asrs r3, 16 -	lsls r1, 16 -	asrs r1, 16 -	subs r3, r1 -	strh r3, [r6, 0x10] -	lsls r0, r3, 16 -	cmp r0, 0 -	bge _0811D94E -	negs r0, r3 -	strh r0, [r6, 0x10] -	lsls r0, r5, 16 -	asrs r0, 16 -	negs r0, r0 -	strh r0, [r6, 0xC] -_0811D94E: -	lsls r0, r7, 16 -	asrs r0, 16 -	lsls r1, r2, 16 -	asrs r1, 16 -	subs r1, r0, r1 -	strh r1, [r6, 0x12] -	lsls r0, r1, 16 -	cmp r0, 0 -	bge _0811D96C -	negs r0, r1 -	strh r0, [r6, 0x12] -	lsls r0, r4, 16 -	asrs r0, 16 -	negs r0, r0 -	strh r0, [r6, 0xE] -_0811D96C: -	movs r0, 0 -	strh r0, [r6, 0x14] -	pop {r4-r7} -	pop {r0} -	bx r0 -	thumb_func_end sub_811D8FC - -	thumb_func_start sub_811D978 -sub_811D978: @ 811D978 -	push {r4-r7,lr} -	mov r7, r10 -	mov r6, r9 -	mov r5, r8 -	push {r5-r7} -	adds r3, r0, 0 -	lsls r1, 24 -	lsrs r1, 24 -	mov r9, r1 -	lsls r2, 24 -	lsrs r2, 24 -	mov r10, r2 -	ldrh r0, [r3, 0x10] -	mov r8, r0 -	movs r1, 0x10 -	ldrsh r6, [r3, r1] -	ldrh r2, [r3, 0x12] -	mov r12, r2 -	movs r4, 0x12 -	ldrsh r5, [r3, r4] -	cmp r6, r5 -	ble _0811D9C8 -	ldrh r0, [r3, 0xC] -	ldrh r2, [r3, 0x4] -	adds r1, r0, r2 -	strh r1, [r3, 0x4] -	ldrh r2, [r3, 0x14] -	add r2, r12 -	strh r2, [r3, 0x14] -	lsls r1, r2, 16 -	asrs r1, 16 -	adds r4, r0, 0 -	ldrh r7, [r3, 0xE] -	cmp r1, r6 -	ble _0811D9EE -	ldrh r1, [r3, 0x6] -	adds r0, r7, r1 -	strh r0, [r3, 0x6] -	mov r1, r8 -	b _0811D9EA -_0811D9C8: -	ldrh r0, [r3, 0xE] -	ldrh r2, [r3, 0x6] -	adds r1, r0, r2 -	strh r1, [r3, 0x6] -	ldrh r2, [r3, 0x14] -	add r2, r8 -	strh r2, [r3, 0x14] -	lsls r1, r2, 16 -	asrs r1, 16 -	ldrh r4, [r3, 0xC] -	adds r7, r0, 0 -	cmp r1, r5 -	ble _0811D9EE -	ldrh r1, [r3, 0x4] -	adds r0, r4, r1 -	strh r0, [r3, 0x4] -	mov r1, r12 -_0811D9EA: -	subs r0, r2, r1 -	strh r0, [r3, 0x14] -_0811D9EE: -	movs r5, 0 -	lsls r0, r4, 16 -	asrs r2, r0, 16 -	cmp r2, 0 -	ble _0811DA06 -	movs r4, 0x4 -	ldrsh r1, [r3, r4] -	movs r4, 0x8 -	ldrsh r0, [r3, r4] -	ldrh r4, [r3, 0x8] -	cmp r1, r0 -	bge _0811DA18 -_0811DA06: -	cmp r2, 0 -	bge _0811DA26 -	movs r0, 0x4 -	ldrsh r1, [r3, r0] -	movs r2, 0x8 -	ldrsh r0, [r3, r2] -	ldrh r4, [r3, 0x8] -	cmp r1, r0 -	bgt _0811DA26 -_0811DA18: -	adds r0, r5, 0x1 -	lsls r0, 24 -	lsrs r5, r0, 24 -	mov r0, r9 -	cmp r0, 0 -	beq _0811DA26 -	strh r4, [r3, 0x4] -_0811DA26: -	lsls r0, r7, 16 -	asrs r2, r0, 16 -	cmp r2, 0 -	ble _0811DA3C -	movs r4, 0x6 -	ldrsh r1, [r3, r4] -	movs r4, 0xA -	ldrsh r0, [r3, r4] -	ldrh r4, [r3, 0xA] -	cmp r1, r0 -	bge _0811DA4E -_0811DA3C: -	cmp r2, 0 -	bge _0811DA5C -	movs r0, 0x6 -	ldrsh r1, [r3, r0] -	movs r2, 0xA -	ldrsh r0, [r3, r2] -	ldrh r4, [r3, 0xA] -	cmp r1, r0 -	bgt _0811DA5C -_0811DA4E: -	adds r0, r5, 0x1 -	lsls r0, 24 -	lsrs r5, r0, 24 -	mov r0, r10 -	cmp r0, 0 -	beq _0811DA5C -	strh r4, [r3, 0x6] -_0811DA5C: -	cmp r5, 0x2 -	beq _0811DA64 -	movs r0, 0 -	b _0811DA66 -_0811DA64: -	movs r0, 0x1 -_0811DA66: -	pop {r3-r5} -	mov r8, r3 -	mov r9, r4 -	mov r10, r5 -	pop {r4-r7} -	pop {r1} -	bx r1 -	thumb_func_end sub_811D978 - -	.align 2, 0 @ Don't pad with nop. | 
