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

	.syntax unified

	.text

	thumb_func_start npc_before_player_of_type
npc_before_player_of_type: @ 8135424
	push {r4,r5,lr}
	adds r5, r0, 0
	lsls r5, 24
	lsrs r5, 24
	ldr r4, =gUnknown_0203AB40
	adds r1, r4, 0x2
	adds r0, r4, 0
	bl GetXYCoordsOneStepInFrontOfPlayer
	bl PlayerGetZCoord
	strb r0, [r4, 0x4]
	ldrh r0, [r4]
	ldrh r1, [r4, 0x2]
	ldrb r2, [r4, 0x4]
	bl GetFieldObjectIdByXYZ
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gMapObjects
	lsls r1, r0, 3
	adds r1, r0
	lsls r1, 2
	adds r2, r1, r2
	ldrb r0, [r2, 0x5]
	cmp r0, r5
	bne _08135470
	ldr r1, =gScriptLastTalked
	ldrb r0, [r2, 0x8]
	strh r0, [r1]
	movs r0, 0x1
	b _08135472
	.pool
_08135470:
	movs r0, 0
_08135472:
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end npc_before_player_of_type

	thumb_func_start oei_task_add
oei_task_add: @ 8135478
	push {lr}
	ldr r0, =gUnknown_0203AB40
	adds r1, r0, 0x2
	bl GetXYCoordsOneStepInFrontOfPlayer
	ldr r0, =task08_080C9820
	movs r1, 0x8
	bl CreateTask
	lsls r0, 24
	lsrs r0, 24
	pop {r1}
	bx r1
	.pool
	thumb_func_end oei_task_add

	thumb_func_start task08_080C9820
task08_080C9820: @ 813549C
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	adds r6, r5, 0
	bl ScriptContext2_Enable
	ldr r1, =gPlayerAvatar
	movs r0, 0x1
	strb r0, [r1, 0x6]
	ldrb r1, [r1, 0x5]
	lsls r0, r1, 3
	adds r0, r1
	lsls r0, 2
	ldr r1, =gMapObjects
	adds r4, r0, r1
	adds r0, r4, 0
	bl FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive
	lsls r0, 24
	cmp r0, 0
	beq _081354D2
	adds r0, r4, 0
	bl FieldObjectClearAnimIfSpecialAnimFinished
	lsls r0, 24
	cmp r0, 0
	beq _0813551E
_081354D2:
	ldr r0, =gMapHeader
	ldrb r0, [r0, 0x17]
	cmp r0, 0x5
	bne _08135504
	movs r0, 0x3B
	bl FieldEffectStart
	ldr r0, =gTasks
	lsls r1, r5, 2
	adds r1, r5
	lsls r1, 3
	adds r1, r0
	ldr r0, =sub_8135578
	b _0813551C
	.pool
_08135504:
	bl sub_808C114
	adds r0, r4, 0
	movs r1, 0x39
	bl FieldObjectSetSpecialAnim
	ldr r0, =gTasks
	lsls r1, r6, 2
	adds r1, r6
	lsls r1, 3
	adds r1, r0
	ldr r0, =sub_813552C
_0813551C:
	str r0, [r1]
_0813551E:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end task08_080C9820

	thumb_func_start sub_813552C
sub_813552C: @ 813552C
	push {r4,lr}
	lsls r0, 24
	lsrs r4, r0, 24
	ldr r0, =gPlayerAvatar
	ldrb r1, [r0, 0x5]
	lsls r0, r1, 3
	adds r0, r1
	lsls r0, 2
	ldr r1, =gMapObjects
	adds r0, r1
	bl FieldObjectCheckIfSpecialAnimFinishedOrInactive
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _08135560
	movs r0, 0x3B
	bl FieldEffectStart
	ldr r0, =gTasks
	lsls r1, r4, 2
	adds r1, r4
	lsls r1, 3
	adds r1, r0
	ldr r0, =sub_8135578
	str r0, [r1]
_08135560:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813552C

	thumb_func_start sub_8135578
sub_8135578: @ 8135578
	push {r4-r7,lr}
	lsls r0, 24
	lsrs r7, r0, 24
	movs r0, 0x6
	bl FieldEffectActiveListContains
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0
	bne _081355FC
	bl player_get_direction_lower_nybble
	ldr r6, =gFieldEffectArguments
	lsls r0, 24
	lsrs r0, 24
	str r0, [r6, 0x4]
	cmp r0, 0x1
	bne _0813559E
	str r4, [r6, 0x8]
_0813559E:
	ldr r1, [r6, 0x4]
	cmp r1, 0x2
	bne _081355A8
	movs r0, 0x1
	str r0, [r6, 0x8]
_081355A8:
	cmp r1, 0x3
	bne _081355B0
	movs r0, 0x2
	str r0, [r6, 0x8]
_081355B0:
	cmp r1, 0x4
	bne _081355B8
	movs r0, 0x3
	str r0, [r6, 0x8]
_081355B8:
	ldr r5, =gPlayerAvatar
	ldrb r0, [r5, 0x5]
	lsls r4, r0, 3
	adds r4, r0
	lsls r4, 2
	ldr r0, =gMapObjects
	adds r4, r0
	bl GetPlayerAvatarGraphicsIdByCurrentState
	adds r1, r0, 0
	lsls r1, 24
	lsrs r1, 24
	adds r0, r4, 0
	bl FieldObjectSetGraphicsId
	ldrb r1, [r5, 0x4]
	lsls r0, r1, 4
	adds r0, r1
	lsls r0, 2
	ldr r1, =gSprites
	adds r0, r1
	ldrb r1, [r6, 0x8]
	bl StartSpriteAnim
	movs r0, 0x6
	bl FieldEffectActiveListRemove
	ldr r1, =gTasks
	lsls r0, r7, 2
	adds r0, r7
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_813561C
	str r1, [r0]
_081355FC:
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8135578

	thumb_func_start sub_813561C
sub_813561C: @ 813561C
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldrh r1, [r0, 0x18]
	lsls r1, 16
	ldrh r0, [r0, 0x1A]
	orrs r1, r0
	bl _call_via_r1
	ldr r1, =gPlayerAvatar
	movs r0, 0
	strb r0, [r1, 0x6]
	adds r0, r4, 0
	bl DestroyTask
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813561C

	thumb_func_start sub_8135654
sub_8135654: @ 8135654
	push {r4,lr}
	bl ShouldDoBrailleStrengthEffect
	lsls r0, 24
	cmp r0, 0
	beq _0813568C
	ldr r4, =gScriptResult
	bl brm_get_pokemon_selection
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4]
	ldr r1, =gUnknown_03005DB0
	ldr r0, =hm_add_c3_launch_phase_2
	str r0, [r1]
	ldr r1, =gUnknown_0203CEEC
	ldr r0, =sub_8179834
	b _081356A8
	.pool
_0813568C:
	movs r0, 0x56
	bl npc_before_player_of_type
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _0813569E
	movs r0, 0
	b _081356AC
_0813569E:
	ldr r1, =gUnknown_03005DB0
	ldr r0, =hm_add_c3_launch_phase_2
	str r0, [r1]
	ldr r1, =gUnknown_0203CEEC
	ldr r0, =sub_81356C4
_081356A8:
	str r0, [r1]
	movs r0, 0x1
_081356AC:
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8135654

	thumb_func_start sub_81356C4
sub_81356C4: @ 81356C4
	push {lr}
	bl brm_get_pokemon_selection
	ldr r1, =gFieldEffectArguments
	lsls r0, 24
	lsrs r0, 24
	str r0, [r1]
	ldr r0, =gUnknown_082907F0
	bl ScriptContext1_SetupScript
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81356C4

	thumb_func_start oei_rocksmash
oei_rocksmash: @ 81356E4
	push {lr}
	bl oei_task_add
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	ldr r2, =sub_8135714
	lsrs r0, r2, 16
	strh r0, [r1, 0x18]
	strh r2, [r1, 0x1A]
	movs r0, 0x13
	bl IncrementGameStat
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end oei_rocksmash

	thumb_func_start sub_8135714
sub_8135714: @ 8135714
	push {lr}
	movs r0, 0x83
	bl PlaySE
	movs r0, 0x25
	bl FieldEffectActiveListRemove
	bl EnableBothScriptContexts
	pop {r0}
	bx r0
	thumb_func_end sub_8135714

	thumb_func_start sub_813572C
sub_813572C: @ 813572C
	push {lr}
	bl sub_80FE314
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _0813573E
	movs r0, 0
	b _0813574C
_0813573E:
	ldr r1, =gUnknown_03005DB0
	ldr r0, =hm_add_c3_launch_phase_2
	str r0, [r1]
	ldr r1, =gUnknown_0203CEEC
	ldr r0, =hm2_dig
	str r0, [r1]
	movs r0, 0x1
_0813574C:
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_813572C

	thumb_func_start hm2_dig
hm2_dig: @ 8135760
	push {lr}
	bl flagmods_08054D70
	movs r0, 0x26
	bl FieldEffectStart
	bl brm_get_pokemon_selection
	ldr r1, =gFieldEffectArguments
	lsls r0, 24
	lsrs r0, 24
	str r0, [r1]
	pop {r0}
	bx r0
	.pool
	thumb_func_end hm2_dig

	thumb_func_start sub_8135780
sub_8135780: @ 8135780
	push {lr}
	bl oei_task_add
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	ldr r2, =sub_81357BC
	lsrs r0, r2, 16
	strh r0, [r1, 0x18]
	strh r2, [r1, 0x1A]
	bl ShouldDoBrailleDigEffect
	lsls r0, 24
	cmp r0, 0
	bne _081357AC
	movs r0, 0x1
	bl SetPlayerAvatarTransitionFlags
_081357AC:
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8135780

	thumb_func_start sub_81357BC
sub_81357BC: @ 81357BC
	push {r4,lr}
	movs r0, 0x26
	bl FieldEffectActiveListRemove
	bl ShouldDoBrailleDigEffect
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0
	beq _081357D6
	bl DoBrailleDigEffect
	b _081357EE
_081357D6:
	ldr r0, =task08_080A1C44
	movs r1, 0x8
	bl CreateTask
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	strh r4, [r1, 0x8]
_081357EE:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81357BC

	thumb_func_start sub_81357FC
sub_81357FC: @ 81357FC
	push {r4-r6,lr}
	adds r4, r0, 0
	adds r6, r1, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r5, =gUnknown_0203AB50
	ldr r0, =0x00000e88
	bl Alloc
	str r0, [r5]
	ldr r2, =0x00000809
	adds r0, r2
	movs r3, 0
	strb r4, [r0]
	ldr r0, [r5]
	movs r4, 0x80
	lsls r4, 4
	adds r1, r0, r4
	str r3, [r1]
	ldr r1, =0x00000e7c
	adds r0, r1
	movs r1, 0xFF
	strb r1, [r0]
	ldr r0, [r5]
	ldr r4, =0x00000e7d
	adds r0, r4
	strb r3, [r0]
	ldr r0, =gUnknown_0203AB48
	str r6, [r0]
	ldr r5, [r5]
	adds r2, r5, r2
	ldrb r2, [r2]
	cmp r2, 0x2
	beq _08135888
	cmp r2, 0x2
	bgt _08135864
	cmp r2, 0x1
	beq _0813586A
	b _081358C0
	.pool
_08135864:
	cmp r2, 0x3
	beq _081358A4
	b _081358C0
_0813586A:
	ldr r0, =0x00000804
	adds r1, r5, r0
	ldr r0, =gUnknown_085B269B
	str r0, [r1]
	ldr r4, =0x00000808
	adds r1, r5, r4
	movs r0, 0x2
	b _081358D2
	.pool
_08135888:
	ldr r1, =0x00000804
	adds r0, r5, r1
	ldr r1, =gUnknown_085B269D
	str r1, [r0]
	ldr r4, =0x00000808
	adds r0, r5, r4
	strb r2, [r0]
	b _081358D4
	.pool
_081358A4:
	ldr r0, =0x00000804
	adds r1, r5, r0
	ldr r0, =gUnknown_085B269F
	str r0, [r1]
	ldr r4, =0x00000808
	adds r1, r5, r4
	movs r0, 0x2
	b _081358D2
	.pool
_081358C0:
	ldr r0, =gUnknown_0203AB50
	ldr r1, [r0]
	ldr r0, =0x00000804
	adds r2, r1, r0
	ldr r0, =gUnknown_085B2698
	str r0, [r2]
	ldr r4, =0x00000808
	adds r1, r4
	movs r0, 0x3
_081358D2:
	strb r0, [r1]
_081358D4:
	ldr r0, =sub_813594C
	bl SetMainCallback2
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81357FC

	thumb_func_start sub_81358F4
sub_81358F4: @ 81358F4
	push {lr}
	ldr r1, =sub_8059D50
	movs r0, 0x1
	bl sub_81357FC
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81358F4

	thumb_func_start sub_8135908
sub_8135908: @ 8135908
	push {lr}
	ldr r1, =c2_exit_to_overworld_2_switch
	movs r0, 0x2
	bl sub_81357FC
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8135908

	thumb_func_start sub_813591C
sub_813591C: @ 813591C
	push {lr}
	bl RunTasks
	bl AnimateSprites
	bl BuildOamBuffer
	bl do_scheduled_bg_tilemap_copies_to_vram
	bl UpdatePaletteFade
	pop {r0}
	bx r0
	thumb_func_end sub_813591C

	thumb_func_start sub_8135938
sub_8135938: @ 8135938
	push {lr}
	bl LoadOam
	bl ProcessSpriteCopyRequests
	bl TransferPlttBuffer
	pop {r0}
	bx r0
	thumb_func_end sub_8135938

	thumb_func_start sub_813594C
sub_813594C: @ 813594C
	push {lr}
_0813594E:
	bl sub_81221EC
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08135972
	bl sub_8135978
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08135972
	bl sub_81221AC
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0813594E
_08135972:
	pop {r0}
	bx r0
	thumb_func_end sub_813594C

	thumb_func_start sub_8135978
sub_8135978: @ 8135978
	push {r4,lr}
	sub sp, 0x4
	ldr r0, =gMain
	movs r1, 0x87
	lsls r1, 3
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0x12
	bls _0813598C
	b _08135BB8
_0813598C:
	lsls r0, 2
	ldr r1, =_081359A0
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_081359A0:
	.4byte _081359EC
	.4byte _081359F6
	.4byte _08135A08
	.4byte _08135A0E
	.4byte _08135A30
	.4byte _08135A36
	.4byte _08135A54
	.4byte _08135A70
	.4byte _08135A8C
	.4byte _08135A9A
	.4byte _08135AC4
	.4byte _08135ADC
	.4byte _08135AFC
	.4byte _08135B02
	.4byte _08135B14
	.4byte _08135B1A
	.4byte _08135B64
	.4byte _08135B6A
	.4byte _08135B84
_081359EC:
	bl SetVBlankHBlankCallbacksToNull
	bl clear_scheduled_bg_copies_to_vram
	b _08135B9E
_081359F6:
	bl remove_some_task
	ldr r1, =gMain
	movs r0, 0x87
	lsls r0, 3
	adds r1, r0
	b _08135BA6
	.pool
_08135A08:
	bl FreeAllSpritePalettes
	b _08135B9E
_08135A0E:
	bl ResetPaletteFade
	ldr r2, =gPaletteFade
	ldrb r0, [r2, 0x8]
	movs r1, 0x80
	orrs r0, r1
	strb r0, [r2, 0x8]
	ldr r1, =gMain
	movs r0, 0x87
	lsls r0, 3
	adds r1, r0
	b _08135BA6
	.pool
_08135A30:
	bl ResetSpriteData
	b _08135B9E
_08135A36:
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	ldr r1, =0x00000809
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0x1
	bne _08135A46
	b _08135B9E
_08135A46:
	bl ResetTasks
	b _08135B9E
	.pool
_08135A54:
	bl sub_8135BDC
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	ldr r1, =0x00000e7e
	adds r0, r1
	movs r1, 0
	strh r1, [r0]
	b _08135B9E
	.pool
_08135A70:
	bl sub_8135C38
	lsls r0, 24
	cmp r0, 0
	bne _08135A7C
	b _08135BD0
_08135A7C:
	ldr r1, =gMain
	movs r0, 0x87
	lsls r0, 3
	adds r1, r0
	b _08135BA6
	.pool
_08135A8C:
	bl sub_813625C
	bl sub_81362E0
	bl sub_8136344
	b _08135B9E
_08135A9A:
	movs r0, 0x38
	movs r1, 0x40
	movs r2, 0
	bl sub_8136444
	ldr r1, =gUnknown_0203AB50
	ldr r1, [r1]
	ldr r2, =0x00000e74
	adds r1, r2
	strb r0, [r1]
	ldr r1, =gMain
	movs r0, 0x87
	lsls r0, 3
	adds r1, r0
	b _08135BA6
	.pool
_08135AC4:
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	ldr r1, =0x00000e75
	adds r0, r1
	movs r1, 0x7
	bl sub_8122344
	b _08135B9E
	.pool
_08135ADC:
	ldr r0, =gUnknown_0203AB48
	ldrh r0, [r0, 0x4]
	ldr r1, =0x00001005
	bl sub_8136110
	ldr r1, =gMain
	movs r0, 0x87
	lsls r0, 3
	adds r1, r0
	b _08135BA6
	.pool
_08135AFC:
	bl sub_8135D24
	b _08135B9E
_08135B02:
	bl sub_8135E2C
	ldr r1, =gMain
	movs r0, 0x87
	lsls r0, 3
	adds r1, r0
	b _08135BA6
	.pool
_08135B14:
	bl sub_81363BC
	b _08135B9E
_08135B1A:
	ldr r0, =sub_81365C8
	movs r1, 0
	bl CreateTask
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r0, =gUnknown_03006310
	ldr r2, =gUnknown_0203AB48
	ldrh r1, [r2, 0x6]
	ldrh r2, [r2, 0x4]
	bl ListMenuInit
	ldr r2, =gTasks
	lsls r1, r4, 2
	adds r1, r4
	lsls r1, 3
	adds r1, r2
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r1, 0x8]
	ldr r1, =gMain
	movs r0, 0x87
	lsls r0, 3
	adds r1, r0
	b _08135BA6
	.pool
_08135B64:
	bl sub_8135DAC
	b _08135B9E
_08135B6A:
	movs r0, 0x1
	negs r0, r0
	movs r1, 0x10
	movs r2, 0
	bl BlendPalettes
	ldr r1, =gMain
	movs r0, 0x87
	lsls r0, 3
	adds r1, r0
	b _08135BA6
	.pool
_08135B84:
	movs r0, 0x1
	negs r0, r0
	movs r1, 0
	str r1, [sp]
	movs r2, 0x10
	movs r3, 0
	bl BeginNormalPaletteFade
	ldr r2, =gPaletteFade
	ldrb r1, [r2, 0x8]
	movs r0, 0x7F
	ands r0, r1
	strb r0, [r2, 0x8]
_08135B9E:
	ldr r1, =gMain
	movs r2, 0x87
	lsls r2, 3
	adds r1, r2
_08135BA6:
	ldrb r0, [r1]
	adds r0, 0x1
	strb r0, [r1]
	b _08135BD0
	.pool
_08135BB8:
	ldr r0, =sub_8135938
	bl SetVBlankCallback
	ldr r0, =sub_813591C
	bl SetMainCallback2
	movs r0, 0x1
	b _08135BD2
	.pool
_08135BD0:
	movs r0, 0
_08135BD2:
	add sp, 0x4
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_8135978

	thumb_func_start sub_8135BDC
sub_8135BDC: @ 8135BDC
	push {lr}
	bl sub_8121DA0
	movs r0, 0
	bl ResetBgsAndClearDma3BusyFlags
	ldr r1, =gUnknown_085B2620
	movs r0, 0
	movs r2, 0x3
	bl InitBgsFromTemplates
	ldr r0, =gUnknown_0203AB50
	ldr r1, [r0]
	movs r0, 0x2
	bl SetBgTilemapBuffer
	bl sub_8121E10
	movs r0, 0x2
	bl schedule_bg_copy_tilemap_to_vram
	movs r1, 0x82
	lsls r1, 5
	movs r0, 0
	bl SetGpuReg
	movs r0, 0
	bl ShowBg
	movs r0, 0x1
	bl ShowBg
	movs r0, 0x2
	bl ShowBg
	movs r0, 0x50
	movs r1, 0
	bl SetGpuReg
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8135BDC

	thumb_func_start sub_8135C38
sub_8135C38: @ 8135C38
	push {r4,lr}
	sub sp, 0x4
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	ldr r1, =0x00000e7e
	adds r0, r1
	movs r1, 0
	ldrsh r0, [r0, r1]
	cmp r0, 0x5
	bhi _08135D18
	lsls r0, 2
	ldr r1, =_08135C64
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_08135C64:
	.4byte _08135C7C
	.4byte _08135C98
	.4byte _08135CBC
	.4byte _08135CCC
	.4byte _08135CD8
	.4byte _08135CFC
_08135C7C:
	bl reset_temp_tile_data_buffers
	ldr r1, =gUnknown_08D9B2B4
	movs r0, 0
	str r0, [sp]
	movs r0, 0x2
	movs r2, 0
	movs r3, 0
	bl decompress_and_copy_tile_data_to_vram
	b _08135CDE
	.pool
_08135C98:
	bl free_temp_tile_data_buffers_if_possible
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08135D18
	ldr r0, =gUnknown_08D9B7C8
	ldr r4, =gUnknown_0203AB50
	ldr r1, [r4]
	bl LZDecompressWram
	ldr r1, [r4]
	b _08135CE2
	.pool
_08135CBC:
	ldr r0, =gUnknown_08D9B470
	movs r1, 0
	movs r2, 0xC0
	bl LoadCompressedPalette
	b _08135CDE
	.pool
_08135CCC:
	ldr r0, =gUnknown_085B26F4
	bl LoadCompressedObjectPic
	b _08135CDE
	.pool
_08135CD8:
	ldr r0, =gUnknown_085B26FC
	bl LoadCompressedObjectPalette
_08135CDE:
	ldr r0, =gUnknown_0203AB50
	ldr r1, [r0]
_08135CE2:
	ldr r0, =0x00000e7e
	adds r1, r0
	ldrh r0, [r1]
	adds r0, 0x1
	strh r0, [r1]
	b _08135D18
	.pool
_08135CFC:
	bl sub_8122328
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	ldr r1, =0x00000e7e
	adds r0, r1
	movs r1, 0
	strh r1, [r0]
	movs r0, 0x1
	b _08135D1A
	.pool
_08135D18:
	movs r0, 0
_08135D1A:
	add sp, 0x4
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_8135C38

	thumb_func_start sub_8135D24
sub_8135D24: @ 8135D24
	push {r4,lr}
	ldr r0, =gUnknown_085B2748
	bl InitWindows
	bl DeactivateAllTextPrinters
	movs r0, 0
	movs r1, 0x1
	movs r2, 0xE0
	bl sub_809882C
	movs r0, 0
	movs r1, 0xA
	movs r2, 0xD0
	bl copy_textbox_border_tile_patterns_to_vram
	ldr r0, =gUnknown_0860F074
	movs r1, 0xF0
	movs r2, 0x20
	bl LoadPalette
	movs r4, 0
_08135D50:
	adds r0, r4, 0
	movs r1, 0
	bl FillWindowPixelBuffer
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0xA
	bls _08135D50
	movs r0, 0
	bl schedule_bg_copy_tilemap_to_vram
	movs r0, 0x1
	bl schedule_bg_copy_tilemap_to_vram
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8135D24

	thumb_func_start sub_8135D7C
sub_8135D7C: @ 8135D7C
	push {r4,lr}
	sub sp, 0x14
	lsls r0, 24
	lsrs r0, 24
	lsls r2, 24
	lsrs r2, 24
	movs r4, 0
	str r4, [sp]
	str r4, [sp, 0x4]
	ldr r3, =gUnknown_085B271C
	str r3, [sp, 0x8]
	str r4, [sp, 0xC]
	str r1, [sp, 0x10]
	movs r1, 0x1
	movs r3, 0x1
	bl AddTextPrinterParametrized2
	add sp, 0x14
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8135D7C

	thumb_func_start sub_8135DAC
sub_8135DAC: @ 8135DAC
	push {r4,lr}
	ldr r0, =0x00000111
	bl ItemId_GetItem
	adds r4, r0, 0
	movs r0, 0x1
	adds r1, r4, 0
	movs r2, 0x48
	bl GetStringCenterAlignXOffset
	adds r2, r0, 0
	movs r0, 0
	adds r1, r4, 0
	bl sub_8135D7C
	ldr r1, =gText_Spicy
	movs r0, 0x2
	movs r2, 0
	bl sub_8135D7C
	ldr r1, =gText_Dry
	movs r0, 0x3
	movs r2, 0
	bl sub_8135D7C
	ldr r1, =gText_Sweet
	movs r0, 0x4
	movs r2, 0
	bl sub_8135D7C
	ldr r1, =gText_Bitter
	movs r0, 0x5
	movs r2, 0
	bl sub_8135D7C
	ldr r1, =gText_Sour
	movs r0, 0x6
	movs r2, 0
	bl sub_8135D7C
	movs r4, 0
_08135DFE:
	adds r0, r4, 0
	bl PutWindowTilemap
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x7
	bls _08135DFE
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8135DAC

	thumb_func_start sub_8135E2C
sub_8135E2C: @ 8135E2C
	push {r4-r7,lr}
	movs r6, 0
	ldr r1, =gUnknown_0203AB50
	ldr r0, [r1]
	ldr r2, =0x0000080a
	adds r0, r2
	ldrb r0, [r0]
	subs r0, 0x1
	cmp r6, r0
	bge _08135E7C
	adds r5, r1, 0
_08135E42:
	lsls r4, r6, 5
	ldr r3, =0x00000954
	adds r4, r3
	ldr r0, [r5]
	adds r0, r4
	adds r1, r6, 0
	bl sub_8135F04
	ldr r1, [r5]
	lsls r2, r6, 3
	ldr r7, =0x0000080c
	adds r0, r1, r7
	adds r0, r2
	adds r4, r1, r4
	str r4, [r0]
	movs r3, 0x81
	lsls r3, 4
	adds r0, r1, r3
	adds r0, r2
	str r6, [r0]
	adds r0, r6, 0x1
	lsls r0, 16
	lsrs r6, r0, 16
	ldr r4, =0x0000080a
	adds r1, r4
	ldrb r0, [r1]
	subs r0, 0x1
	cmp r6, r0
	blt _08135E42
_08135E7C:
	ldr r5, =gUnknown_0203AB50
	lsls r4, r6, 5
	ldr r7, =0x00000954
	adds r4, r7
	ldr r0, [r5]
	adds r0, r4
	ldr r1, =gText_StowCase
	bl StringCopy
	ldr r1, [r5]
	lsls r2, r6, 3
	ldr r3, =0x0000080c
	adds r0, r1, r3
	adds r0, r2
	adds r4, r1, r4
	str r4, [r0]
	movs r0, 0x81
	lsls r0, 4
	adds r1, r0
	adds r1, r2
	movs r0, 0x2
	negs r0, r0
	str r0, [r1]
	ldr r2, =gUnknown_03006310
	adds r1, r2, 0
	ldr r0, =gUnknown_085B27B0
	ldm r0!, {r4,r6,r7}
	stm r1!, {r4,r6,r7}
	ldm r0!, {r4,r6,r7}
	stm r1!, {r4,r6,r7}
	ldrb r1, [r2, 0x17]
	movs r0, 0x40
	negs r0, r0
	ands r0, r1
	movs r1, 0x7
	orrs r0, r1
	strb r0, [r2, 0x17]
	ldr r1, [r5]
	ldr r4, =0x0000080a
	adds r0, r1, r4
	ldrb r0, [r0]
	strh r0, [r2, 0xC]
	adds r3, r1, r3
	str r3, [r2]
	ldr r6, =0x0000080b
	adds r1, r6
	ldrb r0, [r1]
	strh r0, [r2, 0xE]
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8135E2C

	thumb_func_start sub_8135F04
sub_8135F04: @ 8135F04
	push {r4-r6,lr}
	lsls r1, 16
	ldr r2, =gSaveBlock1Ptr
	lsrs r1, 13
	ldr r3, =0x00000848
	adds r1, r3
	ldr r5, [r2]
	adds r5, r1
	ldr r2, =gPokeblockNames
	ldrb r1, [r5]
	lsls r1, 2
	adds r1, r2
	ldr r1, [r1]
	bl StringCopy
	adds r4, r0, 0
	movs r0, 0xFC
	strb r0, [r4]
	adds r4, 0x1
	movs r0, 0x12
	strb r0, [r4]
	adds r4, 0x1
	movs r0, 0x57
	strb r0, [r4]
	adds r4, 0x1
	ldr r6, =gStringVar1
	adds r0, r5, 0
	bl sub_8136EA4
	adds r1, r0, 0
	lsls r1, 24
	lsrs r1, 24
	adds r0, r6, 0
	movs r2, 0
	movs r3, 0x3
	bl ConvertIntToDecimalStringN
	ldr r1, =gText_LvVar1
	adds r0, r4, 0
	bl StringExpandPlaceholders
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8135F04

	thumb_func_start sub_8135F70
sub_8135F70: @ 8135F70
	push {r4,lr}
	adds r4, r0, 0
	lsls r1, 24
	lsrs r1, 24
	cmp r1, 0x1
	beq _08135F9C
	movs r0, 0x5
	bl PlaySE
	ldr r2, =gSprites
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	ldr r1, =0x00000e74
	adds r0, r1
	ldrb r1, [r0]
	lsls r0, r1, 4
	adds r0, r1
	lsls r0, 2
	adds r2, 0x1C
	adds r0, r2
	ldr r1, =sub_8136470
	str r1, [r0]
_08135F9C:
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	ldr r1, =0x00000e7d
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0
	bne _08135FB0
	adds r0, r4, 0
	bl sub_8135FCC
_08135FB0:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8135F70

	thumb_func_start sub_8135FCC
sub_8135FCC: @ 8135FCC
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	sub sp, 0xC
	adds r4, r0, 0
	movs r0, 0x7
	movs r1, 0
	bl FillWindowPixelBuffer
	movs r0, 0x2
	negs r0, r0
	cmp r4, r0
	beq _081360A0
	ldr r1, =gSaveBlock1Ptr
	lsls r0, r4, 3
	ldr r2, =0x00000848
	adds r0, r2
	ldr r1, [r1]
	adds r1, r0
	mov r8, r1
	add r1, sp, 0x8
	movs r0, 0x17
	strh r0, [r1]
	movs r0, 0x18
	strh r0, [r1, 0x2]
	movs r5, 0
	adds r6, r1, 0
_08136002:
	adds r4, r5, 0x1
	lsls r1, r4, 24
	lsrs r1, 24
	mov r0, r8
	bl sub_8136F9C
	lsls r0, 16
	adds r7, r4, 0
	cmp r0, 0
	ble _0813602C
	lsls r1, r5, 12
	adds r0, r1, 0
	adds r0, 0x17
	strh r0, [r6]
	adds r1, 0x18
	strh r1, [r6, 0x2]
	b _08136032
	.pool
_0813602C:
	movs r0, 0xF
	strh r0, [r6]
	strh r0, [r6, 0x2]
_08136032:
	adds r0, r5, 0
	movs r1, 0x3
	bl __udivsi3
	lsls r0, 24
	lsrs r0, 24
	lsls r4, r0, 1
	adds r4, r0
	lsls r4, 1
	adds r4, 0x1
	lsls r4, 24
	lsrs r4, 24
	adds r0, r5, 0
	movs r1, 0x3
	bl __umodsi3
	adds r3, r0, 0
	lsls r3, 25
	movs r0, 0xD0
	lsls r0, 20
	adds r3, r0
	lsrs r3, 24
	movs r0, 0x1
	str r0, [sp]
	movs r0, 0x2
	str r0, [sp, 0x4]
	add r1, sp, 0x8
	adds r2, r4, 0
	bl CopyToBgTilemapBufferRect
	lsls r0, r7, 24
	lsrs r5, r0, 24
	cmp r5, 0x4
	bls _08136002
	ldr r4, =gStringVar1
	mov r0, r8
	bl sub_8136EDC
	adds r1, r0, 0
	lsls r1, 24
	lsrs r1, 24
	adds r0, r4, 0
	movs r2, 0x1
	movs r3, 0x2
	bl ConvertIntToDecimalStringN
	movs r0, 0x7
	adds r1, r4, 0
	movs r2, 0x4
	bl sub_8135D7C
	b _081360F8
	.pool
_081360A0:
	add r0, sp, 0x8
	movs r1, 0xF
	strh r1, [r0]
	strh r1, [r0, 0x2]
	movs r5, 0
_081360AA:
	adds r0, r5, 0
	movs r1, 0x3
	bl __udivsi3
	lsls r0, 24
	lsrs r0, 24
	lsls r4, r0, 1
	adds r4, r0
	lsls r4, 1
	adds r4, 0x1
	lsls r4, 24
	lsrs r4, 24
	adds r0, r5, 0
	movs r1, 0x3
	bl __umodsi3
	adds r3, r0, 0
	lsls r3, 25
	movs r2, 0xD0
	lsls r2, 20
	adds r3, r2
	lsrs r3, 24
	movs r0, 0x1
	str r0, [sp]
	movs r0, 0x2
	str r0, [sp, 0x4]
	add r1, sp, 0x8
	adds r2, r4, 0
	bl CopyToBgTilemapBufferRect
	adds r0, r5, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
	cmp r5, 0x4
	bls _081360AA
	movs r0, 0x7
	movs r1, 0x2
	bl CopyWindowToVram
_081360F8:
	movs r0, 0
	bl schedule_bg_copy_tilemap_to_vram
	movs r0, 0x2
	bl schedule_bg_copy_tilemap_to_vram
	add sp, 0xC
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r0}
	bx r0
	thumb_func_end sub_8135FCC

	thumb_func_start sub_8136110
sub_8136110: @ 8136110
	push {lr}
	sub sp, 0x8
	adds r3, r0, 0
	lsls r3, 16
	lsls r1, 16
	lsrs r1, 16
	lsrs r3, 15
	adds r3, 0x1
	lsls r3, 24
	lsrs r3, 24
	movs r0, 0xE
	str r0, [sp]
	movs r0, 0x2
	str r0, [sp, 0x4]
	movs r2, 0xF
	bl FillBgTilemapBufferRect_Palette0
	movs r0, 0x2
	bl schedule_bg_copy_tilemap_to_vram
	add sp, 0x8
	pop {r0}
	bx r0
	thumb_func_end sub_8136110

	thumb_func_start sub_8136140
sub_8136140: @ 8136140
	push {r4-r7,lr}
	mov r7, r9
	mov r6, r8
	push {r6,r7}
	movs r2, 0
_0813614A:
	adds r1, r2, 0x1
	lsls r0, r1, 16
	lsrs r6, r0, 16
	mov r12, r1
	cmp r6, 0x27
	bhi _08136192
	ldr r0, =gSaveBlock1Ptr
	mov r9, r0
	lsls r7, r2, 3
	ldr r1, =0x00000848
	mov r8, r1
_08136160:
	mov r0, r9
	ldr r2, [r0]
	adds r0, r2, r7
	add r0, r8
	ldrb r0, [r0]
	cmp r0, 0
	bne _08136188
	ldr r1, =0x00000848
	adds r2, r1
	adds r3, r2, r7
	ldr r4, [r3]
	ldr r5, [r3, 0x4]
	lsls r0, r6, 3
	adds r2, r0
	ldr r0, [r2]
	ldr r1, [r2, 0x4]
	str r0, [r3]
	str r1, [r3, 0x4]
	str r4, [r2]
	str r5, [r2, 0x4]
_08136188:
	adds r0, r6, 0x1
	lsls r0, 16
	lsrs r6, r0, 16
	cmp r6, 0x27
	bls _08136160
_08136192:
	mov r1, r12
	lsls r0, r1, 16
	lsrs r2, r0, 16
	cmp r2, 0x26
	bls _0813614A
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136140

	thumb_func_start sub_81361B0
sub_81361B0: @ 81361B0
	push {r4-r7,lr}
	adds r4, r0, 0
	adds r5, r1, 0
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r1, =0x00000848
	adds r6, r0, r1
	cmp r4, r5
	beq _08136246
	movs r0, 0x8
	bl Alloc
	adds r7, r0, 0
	lsls r0, r4, 3
	adds r0, r6
	ldr r1, [r0, 0x4]
	ldr r0, [r0]
	str r0, [r7]
	str r1, [r7, 0x4]
	cmp r5, r4
	bls _0813620C
	subs r5, 0x1
	lsls r3, r4, 16
	lsls r0, r5, 16
	asrs r1, r0, 16
	cmp r3, r0
	bge _08136234
	adds r4, r1, 0
_081361E8:
	asrs r3, 16
	lsls r2, r3, 3
	adds r2, r6
	ldr r0, [r2, 0x8]
	ldr r1, [r2, 0xC]
	str r0, [r2]
	str r1, [r2, 0x4]
	adds r3, 0x1
	lsls r3, 16
	asrs r0, r3, 16
	cmp r0, r4
	blt _081361E8
	b _08136234
	.pool
_0813620C:
	lsls r3, r4, 16
	lsls r0, r5, 16
	asrs r1, r0, 16
	cmp r3, r0
	ble _08136234
	adds r4, r1, 0
_08136218:
	asrs r3, 16
	lsls r2, r3, 3
	adds r2, r6
	adds r0, r2, 0
	subs r0, 0x8
	ldr r1, [r0, 0x4]
	ldr r0, [r0]
	str r0, [r2]
	str r1, [r2, 0x4]
	subs r3, 0x1
	lsls r3, 16
	asrs r0, r3, 16
	cmp r0, r4
	bgt _08136218
_08136234:
	lsls r2, r5, 3
	adds r2, r6
	ldr r0, [r7]
	ldr r1, [r7, 0x4]
	str r0, [r2]
	str r1, [r2, 0x4]
	adds r0, r7, 0
	bl Free
_08136246:
	pop {r4-r7}
	pop {r0}
	bx r0
	thumb_func_end sub_81361B0

	thumb_func_start sub_813624C
sub_813624C: @ 813624C
	ldr r1, =gUnknown_0203AB48
	movs r0, 0
	strh r0, [r1, 0x4]
	strh r0, [r1, 0x6]
	bx lr
	.pool
	thumb_func_end sub_813624C

	thumb_func_start sub_813625C
sub_813625C: @ 813625C
	push {r4,r5,lr}
	bl sub_8136140
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	ldr r1, =0x0000080a
	adds r0, r1
	movs r1, 0
	strb r1, [r0]
	movs r2, 0
	ldr r5, =gSaveBlock1Ptr
	ldr r4, =0x00000848
_08136274:
	ldr r0, [r5]
	lsls r1, r2, 3
	adds r0, r1
	adds r0, r4
	ldrb r0, [r0]
	ldr r3, =gUnknown_0203AB50
	cmp r0, 0
	beq _08136290
	ldr r1, [r3]
	ldr r0, =0x0000080a
	adds r1, r0
	ldrb r0, [r1]
	adds r0, 0x1
	strb r0, [r1]
_08136290:
	adds r0, r2, 0x1
	lsls r0, 16
	lsrs r2, r0, 16
	cmp r2, 0x27
	bls _08136274
	ldr r0, [r3]
	ldr r2, =0x0000080a
	adds r0, r2
	ldrb r1, [r0]
	adds r1, 0x1
	strb r1, [r0]
	ldr r0, [r3]
	adds r2, r0, r2
	ldrb r2, [r2]
	cmp r2, 0x9
	bls _081362D0
	ldr r2, =0x0000080b
	adds r1, r0, r2
	movs r0, 0x9
	strb r0, [r1]
	b _081362D6
	.pool
_081362D0:
	ldr r1, =0x0000080b
	adds r0, r1
	strb r2, [r0]
_081362D6:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813625C

	thumb_func_start sub_81362E0
sub_81362E0: @ 81362E0
	push {r4,r5,lr}
	ldr r0, =gUnknown_0203AB48
	ldrh r1, [r0, 0x6]
	adds r3, r0, 0
	ldr r4, =gUnknown_0203AB50
	cmp r1, 0
	beq _08136308
	ldrh r0, [r3, 0x6]
	ldr r1, [r4]
	ldr r5, =0x0000080b
	adds r2, r1, r5
	ldrb r2, [r2]
	adds r0, r2
	subs r5, 0x1
	adds r1, r5
	ldrb r1, [r1]
	cmp r0, r1
	ble _08136308
	subs r0, r1, r2
	strh r0, [r3, 0x6]
_08136308:
	adds r2, r3, 0
	ldrh r1, [r2, 0x6]
	ldrh r0, [r2, 0x4]
	adds r1, r0
	ldr r0, [r4]
	ldr r4, =0x0000080a
	adds r0, r4
	ldrb r0, [r0]
	cmp r1, r0
	blt _0813633C
	adds r1, r0, 0
	cmp r1, 0
	bne _08136338
	strh r1, [r2, 0x4]
	b _0813633C
	.pool
_08136338:
	subs r0, 0x1
	strh r0, [r3, 0x4]
_0813633C:
	pop {r4,r5}
	pop {r0}
	bx r0
	thumb_func_end sub_81362E0

	thumb_func_start sub_8136344
sub_8136344: @ 8136344
	push {r4-r7,lr}
	ldr r0, =gUnknown_0203AB48
	ldrh r1, [r0, 0x4]
	adds r5, r0, 0
	cmp r1, 0x4
	bls _081363A4
	movs r4, 0
	ldrh r0, [r5, 0x4]
	subs r0, 0x4
	cmp r4, r0
	bge _081363A4
	ldrh r2, [r5, 0x6]
	ldr r6, =gUnknown_0203AB50
	ldr r0, [r6]
	ldr r3, =0x0000080b
	adds r1, r0, r3
	ldrb r1, [r1]
	adds r2, r1
	ldr r7, =0x0000080a
	adds r0, r7
	ldrb r0, [r0]
	cmp r2, r0
	beq _081363A4
	adds r3, r5, 0
_08136374:
	ldrh r0, [r3, 0x4]
	subs r0, 0x1
	strh r0, [r3, 0x4]
	ldrh r0, [r3, 0x6]
	adds r0, 0x1
	strh r0, [r3, 0x6]
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	ldrh r0, [r3, 0x4]
	subs r0, 0x4
	cmp r4, r0
	bge _081363A4
	ldrh r2, [r5, 0x6]
	ldr r1, [r6]
	ldr r7, =0x0000080b
	adds r0, r1, r7
	ldrb r0, [r0]
	adds r2, r0
	ldr r0, =0x0000080a
	adds r1, r0
	ldrb r1, [r1]
	cmp r2, r1
	bne _08136374
_081363A4:
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136344

	thumb_func_start sub_81363BC
sub_81363BC: @ 81363BC
	push {r4,lr}
	sub sp, 0x10
	ldr r4, =gUnknown_0203AB50
	ldr r1, [r4]
	ldr r2, =0x00000e7c
	adds r0, r1, r2
	ldrb r0, [r0]
	cmp r0, 0xFF
	bne _081363FC
	ldr r2, =0x0000080a
	adds r0, r1, r2
	ldrb r0, [r0]
	adds r2, 0x1
	adds r1, r2
	ldrb r1, [r1]
	subs r0, r1
	str r0, [sp]
	ldr r0, =0x00000456
	str r0, [sp, 0x4]
	str r0, [sp, 0x8]
	ldr r0, =gUnknown_0203AB4E
	str r0, [sp, 0xC]
	movs r0, 0x2
	movs r1, 0xB0
	movs r2, 0x8
	movs r3, 0x98
	bl AddScrollIndicatorArrowPairParametrized
	ldr r1, [r4]
	ldr r2, =0x00000e7c
	adds r1, r2
	strb r0, [r1]
_081363FC:
	add sp, 0x10
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81363BC

	thumb_func_start sub_8136418
sub_8136418: @ 8136418
	push {r4,lr}
	ldr r4, =gUnknown_0203AB50
	ldr r0, [r4]
	ldr r2, =0x00000e7c
	adds r1, r0, r2
	ldrb r0, [r1]
	cmp r0, 0xFF
	beq _08136436
	bl RemoveScrollIndicatorArrowPair
	ldr r0, [r4]
	ldr r1, =0x00000e7c
	adds r0, r1
	movs r1, 0xFF
	strb r1, [r0]
_08136436:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136418

	thumb_func_start sub_8136444
sub_8136444: @ 8136444
	push {r4,r5,lr}
	adds r4, r0, 0
	adds r5, r1, 0
	adds r3, r2, 0
	lsls r3, 24
	lsrs r3, 24
	ldr r0, =gUnknown_085B2704
	lsls r4, 16
	asrs r4, 16
	lsls r5, 16
	asrs r5, 16
	adds r1, r4, 0
	adds r2, r5, 0
	bl CreateSprite
	lsls r0, 24
	lsrs r0, 24
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8136444

	thumb_func_start sub_8136470
sub_8136470: @ 8136470
	push {r4,r5,lr}
	adds r4, r0, 0
	movs r1, 0x2E
	ldrsh r0, [r4, r1]
	cmp r0, 0x1
	ble _08136480
	movs r0, 0
	strh r0, [r4, 0x2E]
_08136480:
	movs r0, 0x2E
	ldrsh r5, [r4, r0]
	cmp r5, 0
	beq _0813648E
	cmp r5, 0x1
	beq _081364B4
	b _081364E0
_0813648E:
	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, =gUnknown_085B26F0
	str r0, [r4, 0x10]
	adds r0, r4, 0
	bl InitSpriteAffineAnim
	movs r0, 0x1
	strh r0, [r4, 0x2E]
	strh r5, [r4, 0x30]
	b _081364E0
	.pool
_081364B4:
	ldrh r0, [r4, 0x30]
	adds r0, 0x1
	movs r2, 0
	strh r0, [r4, 0x30]
	lsls r0, 16
	asrs r0, 16
	cmp r0, 0xB
	ble _081364E0
	ldrb r1, [r4, 0x1]
	movs r0, 0x4
	negs r0, r0
	ands r0, r1
	strb r0, [r4, 0x1]
	strh r2, [r4, 0x2E]
	strh r2, [r4, 0x30]
	ldrb r0, [r4, 0x3]
	lsls r0, 26
	lsrs r0, 27
	bl FreeOamMatrix
	ldr r0, =SpriteCallbackDummy
	str r0, [r4, 0x1C]
_081364E0:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136470

	thumb_func_start sub_81364EC
sub_81364EC: @ 81364EC
	push {r4,lr}
	sub sp, 0x4
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0x1
	negs r0, r0
	movs r1, 0
	str r1, [sp]
	movs r2, 0
	movs r3, 0x10
	bl BeginNormalPaletteFade
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_8136524
	str r1, [r0]
	add sp, 0x4
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81364EC

	thumb_func_start sub_8136524
sub_8136524: @ 8136524
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r2, r0, r1
	ldr r0, =gPaletteFade
	ldrb r1, [r0, 0x7]
	movs r0, 0x80
	ands r0, r1
	cmp r0, 0
	bne _081365BE
	ldr r6, =gUnknown_0203AB50
	ldr r0, [r6]
	ldr r1, =0x00000809
	adds r0, r1
	ldrb r0, [r0]
	subs r0, 0x2
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bhi _0813655A
	ldr r1, =gFieldCallback
	ldr r0, =sub_80AF168
	str r0, [r1]
_0813655A:
	ldrb r0, [r2]
	ldr r4, =gUnknown_0203AB4E
	subs r2, r4, 0x2
	adds r1, r4, 0
	bl sub_81AE6C8
	bl sub_8136418
	bl ResetSpriteData
	bl FreeAllSpritePalettes
	ldr r0, [r6]
	movs r1, 0x80
	lsls r1, 4
	adds r0, r1
	ldr r0, [r0]
	cmp r0, 0
	beq _081365A4
	bl SetMainCallback2
	b _081365AC
	.pool
_081365A4:
	subs r0, r4, 0x6
	ldr r0, [r0]
	bl SetMainCallback2
_081365AC:
	bl FreeAllWindowBuffers
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	bl Free
	adds r0, r5, 0
	bl DestroyTask
_081365BE:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136524

	thumb_func_start sub_81365C8
sub_81365C8: @ 81365C8
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	lsls r0, 24
	lsrs r7, r0, 24
	lsls r0, r7, 2
	adds r0, r7
	lsls r0, 3
	mov r8, r0
	ldr r0, =gTasks + 0x8
	mov r10, r0
	mov r6, r8
	add r6, r10
	ldr r0, =gPaletteFade
	ldrb r1, [r0, 0x7]
	movs r0, 0x80
	ands r0, r1
	cmp r0, 0
	beq _081365F4
	b _08136708
_081365F4:
	bl sub_81221EC
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _08136602
	b _08136708
_08136602:
	ldr r0, =gMain
	ldrh r1, [r0, 0x2E]
	movs r0, 0x4
	ands r0, r1
	lsls r0, 16
	lsrs r0, 16
	mov r9, r0
	cmp r0, 0
	beq _08136688
	ldrb r0, [r6]
	ldr r4, =gUnknown_0203AB4E
	subs r2, r4, 0x2
	adds r1, r4, 0
	bl get_coro_args_x18_x1A
	subs r4, 0x6
	ldrh r1, [r4, 0x6]
	ldrh r0, [r4, 0x4]
	adds r1, r0
	ldr r5, =gUnknown_0203AB50
	ldr r0, [r5]
	ldr r2, =0x0000080a
	adds r0, r2
	ldrb r0, [r0]
	subs r0, 0x1
	cmp r1, r0
	beq _08136708
	movs r0, 0x5
	bl PlaySE
	ldrh r0, [r4, 0x4]
	ldr r1, =0x00002005
	bl sub_8136110
	ldrh r0, [r4, 0x4]
	ldrh r4, [r4, 0x6]
	adds r0, r4
	strh r0, [r6, 0x4]
	ldr r0, [r5]
	ldr r1, =0x00000e7d
	adds r0, r1
	movs r1, 0x1
	strb r1, [r0]
	mov r0, r10
	subs r0, 0x8
	add r0, r8
	ldr r1, =sub_813671C
	str r1, [r0]
	b _08136708
	.pool
_08136688:
	ldr r5, =gUnknown_0203AB48
	ldrh r2, [r5, 0x4]
	mov r8, r2
	ldrb r0, [r6]
	bl ListMenuHandleInput
	adds r4, r0, 0
	ldrb r0, [r6]
	adds r1, r5, 0x6
	adds r2, r5, 0x4
	bl get_coro_args_x18_x1A
	ldrh r0, [r5, 0x4]
	cmp r8, r0
	beq _081366B6
	mov r0, r8
	movs r1, 0x5
	bl sub_8136110
	ldrh r0, [r5, 0x4]
	ldr r1, =0x00001005
	bl sub_8136110
_081366B6:
	movs r0, 0x2
	negs r0, r0
	cmp r4, r0
	beq _081366D0
	adds r0, 0x1
	cmp r4, r0
	bne _081366F8
	b _08136708
	.pool
_081366D0:
	movs r0, 0x5
	bl PlaySE
	ldr r0, =gScriptResult
	ldr r2, =0x0000ffff
	adds r1, r2, 0
	strh r1, [r0]
	ldr r0, =gScriptItemId
	mov r1, r9
	strh r1, [r0]
	adds r0, r7, 0
	bl sub_81364EC
	b _08136708
	.pool
_081366F8:
	movs r0, 0x5
	bl PlaySE
	ldr r0, =gScriptItemId
	strh r4, [r0]
	adds r0, r7, 0
	bl sub_8136938
_08136708:
	pop {r3-r5}
	mov r8, r3
	mov r9, r4
	mov r10, r5
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81365C8

	thumb_func_start sub_813671C
sub_813671C: @ 813671C
	push {r4-r7,lr}
	mov r7, r9
	mov r6, r8
	push {r6,r7}
	lsls r0, 24
	lsrs r0, 24
	mov r8, r0
	lsls r0, 2
	add r0, r8
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r7, r0, r1
	bl sub_81221EC
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _08136742
	b _08136848
_08136742:
	ldr r0, =gMain
	ldrh r1, [r0, 0x2E]
	movs r0, 0x4
	ands r0, r1
	cmp r0, 0
	beq _0813676C
	movs r0, 0x5
	bl PlaySE
	ldrb r0, [r7]
	ldr r1, =gUnknown_0203AB4E
	subs r2, r1, 0x2
	bl get_coro_args_x18_x1A
	b _08136822
	.pool
_0813676C:
	ldr r6, =gUnknown_0203AB48
	ldrh r4, [r6, 0x6]
	ldrh r5, [r6, 0x4]
	ldrb r0, [r7]
	bl ListMenuHandleInput
	mov r9, r0
	ldrb r0, [r7]
	adds r1, r6, 0x6
	adds r2, r6, 0x4
	bl get_coro_args_x18_x1A
	ldrh r0, [r6, 0x6]
	cmp r4, r0
	bne _08136790
	ldrh r6, [r6, 0x4]
	cmp r5, r6
	beq _081367CA
_08136790:
	movs r4, 0
_08136792:
	ldr r0, =gUnknown_0203AB48
	ldrh r0, [r0, 0x6]
	adds r0, r4, r0
	lsls r0, 16
	lsrs r5, r0, 16
	movs r1, 0x4
	ldrsh r0, [r7, r1]
	cmp r5, r0
	bne _081367B8
	adds r0, r4, 0
	ldr r1, =0x00002005
	bl sub_8136110
	b _081367C0
	.pool
_081367B8:
	adds r0, r4, 0
	movs r1, 0x5
	bl sub_8136110
_081367C0:
	adds r0, r4, 0x1
	lsls r0, 16
	lsrs r4, r0, 16
	cmp r4, 0x8
	bls _08136792
_081367CA:
	ldr r5, =gUnknown_0203AB50
	ldr r0, [r5]
	ldr r4, =0x00000e75
	adds r0, r4
	movs r1, 0x7
	movs r2, 0
	bl sub_81223FC
	ldr r0, [r5]
	adds r0, r4
	ldr r1, =gUnknown_0203AB48
	ldrh r3, [r1, 0x4]
	lsls r3, 4
	adds r3, 0x8
	lsls r3, 16
	lsrs r3, 16
	movs r1, 0x7
	movs r2, 0x80
	bl sub_8122448
	movs r0, 0x2
	negs r0, r0
	cmp r9, r0
	beq _08136810
	adds r0, 0x1
	cmp r9, r0
	bne _0813683A
	b _08136848
	.pool
_08136810:
	movs r0, 0x5
	bl PlaySE
	ldr r0, =gMain
	ldrh r1, [r0, 0x2E]
	movs r0, 0x1
	ands r0, r1
	cmp r0, 0
	beq _08136830
_08136822:
	mov r0, r8
	movs r1, 0
	bl sub_8136854
	b _08136848
	.pool
_08136830:
	mov r0, r8
	movs r1, 0x1
	bl sub_8136854
	b _08136848
_0813683A:
	movs r0, 0x5
	bl PlaySE
	mov r0, r8
	movs r1, 0
	bl sub_8136854
_08136848:
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r7}
	pop {r0}
	bx r0
	thumb_func_end sub_813671C

	thumb_func_start sub_8136854
sub_8136854: @ 8136854
	push {r4-r7,lr}
	adds r4, r1, 0
	lsls r0, 24
	lsrs r7, r0, 24
	lsls r4, 24
	lsrs r4, 24
	lsls r0, r7, 2
	adds r0, r7
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r6, r0, r1
	ldr r2, =gUnknown_0203AB48
	ldrh r0, [r2, 0x4]
	ldrh r1, [r2, 0x6]
	adds r0, r1
	lsls r0, 16
	lsrs r5, r0, 16
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	ldr r1, =0x00000e7d
	adds r0, r1
	movs r1, 0
	strb r1, [r0]
	ldrb r0, [r6]
	adds r1, r2, 0x6
	adds r2, 0x4
	bl sub_81AE6C8
	cmp r4, 0
	bne _081368AA
	movs r0, 0x4
	ldrsh r1, [r6, r0]
	cmp r1, r5
	beq _081368BA
	subs r0, r5, 0x1
	cmp r1, r0
	beq _081368AA
	adds r0, r1, 0
	adds r1, r5, 0
	bl sub_81361B0
	bl sub_8135E2C
_081368AA:
	movs r1, 0x4
	ldrsh r0, [r6, r1]
	cmp r0, r5
	bge _081368BA
	ldr r1, =gUnknown_0203AB48
	ldrh r0, [r1, 0x4]
	subs r0, 0x1
	strh r0, [r1, 0x4]
_081368BA:
	ldr r0, =gUnknown_03006310
	ldr r2, =gUnknown_0203AB48
	ldrh r1, [r2, 0x6]
	ldrh r2, [r2, 0x4]
	bl ListMenuInit
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r6]
	movs r0, 0
	bl schedule_bg_copy_tilemap_to_vram
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	ldr r1, =0x00000e75
	adds r0, r1
	movs r1, 0x7
	movs r2, 0x1
	bl sub_81223FC
	movs r4, 0
	lsls r5, r7, 2
_081368E6:
	adds r0, r4, 0
	movs r1, 0x5
	bl sub_8136110
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x8
	bls _081368E6
	ldr r0, =gUnknown_0203AB48
	ldrh r0, [r0, 0x4]
	ldr r1, =0x00001005
	bl sub_8136110
	ldr r1, =gTasks
	adds r0, r5, r7
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_81365C8
	str r1, [r0]
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136854

	thumb_func_start sub_8136938
sub_8136938: @ 8136938
	push {r4-r7,lr}
	lsls r0, 24
	lsrs r7, r0, 24
	lsls r0, r7, 2
	adds r0, r7
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r6, r0, r1
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	ldr r1, =0x00000808
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0x3
	bne _08136968
	movs r0, 0x8
	b _0813696A
	.pool
_08136968:
	movs r0, 0x9
_0813696A:
	strh r0, [r6, 0x2]
	bl sub_8136418
	ldrb r0, [r6, 0x2]
	movs r1, 0
	movs r2, 0x1
	movs r3, 0xE
	bl SetWindowBorderStyle
	ldrb r0, [r6, 0x2]
	ldr r5, =gUnknown_0203AB50
	ldr r3, [r5]
	ldr r4, =0x00000808
	adds r1, r3, r4
	ldrb r1, [r1]
	ldr r2, =gUnknown_085B2668
	mov r12, r2
	ldr r2, =0x00000804
	adds r3, r2
	ldr r3, [r3]
	mov r2, r12
	bl sub_81995E4
	ldrb r0, [r6, 0x2]
	ldr r1, [r5]
	adds r1, r4
	ldrb r1, [r1]
	movs r2, 0
	bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed
	ldrb r0, [r6, 0x2]
	bl PutWindowTilemap
	movs r0, 0x1
	bl schedule_bg_copy_tilemap_to_vram
	ldr r1, =gTasks
	lsls r0, r7, 2
	adds r0, r7
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_81369E0
	str r1, [r0]
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136938

	thumb_func_start sub_81369E0
sub_81369E0: @ 81369E0
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	adds r6, r5, 0
	bl sub_81221EC
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08136A3C
	bl ProcessMenuInputNoWrapAround
	lsls r0, 24
	asrs r4, r0, 24
	movs r0, 0x2
	negs r0, r0
	cmp r4, r0
	beq _08136A3C
	adds r0, 0x1
	cmp r4, r0
	bne _08136A18
	movs r0, 0x5
	bl PlaySE
	adds r0, r5, 0
	bl sub_8136DE8
	b _08136A3C
_08136A18:
	movs r0, 0x5
	bl PlaySE
	ldr r1, =gUnknown_085B2668
	ldr r0, =gUnknown_0203AB50
	ldr r0, [r0]
	ldr r2, =0x00000804
	adds r0, r2
	ldr r0, [r0]
	adds r0, r4
	ldrb r0, [r0]
	lsls r0, 3
	adds r1, 0x4
	adds r0, r1
	ldr r1, [r0]
	adds r0, r6, 0
	bl _call_via_r1
_08136A3C:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81369E0

	thumb_func_start sub_8136A50
sub_8136A50: @ 8136A50
	push {lr}
	lsls r0, 24
	lsrs r0, 24
	ldr r1, =gUnknown_0203AB50
	ldr r1, [r1]
	movs r2, 0x80
	lsls r2, 4
	adds r1, r2
	ldr r2, =sub_8136A74
	str r2, [r1]
	bl sub_81364EC
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136A50

	thumb_func_start sub_8136A74
sub_8136A74: @ 8136A74
	push {lr}
	ldr r2, =gSaveBlock1Ptr
	ldr r0, =gScriptItemId
	ldrh r1, [r0]
	lsls r1, 3
	ldr r0, =0x00000848
	adds r1, r0
	ldr r0, [r2]
	adds r0, r1
	ldr r1, =sub_8136AA0
	bl sub_8166204
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136A74

	thumb_func_start sub_8136AA0
sub_8136AA0: @ 8136AA0
	push {lr}
	ldr r0, =gUnknown_0203AB48
	ldr r1, [r0]
	movs r0, 0
	bl sub_81357FC
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136AA0

	thumb_func_start sub_8136AB4
sub_8136AB4: @ 8136AB4
	push {r4,r5,lr}
	sub sp, 0x10
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r0, r1
	ldrb r0, [r0, 0x2]
	movs r1, 0
	bl sub_8198070
	ldr r0, =gStringVar1
	ldr r3, =gPokeblockNames
	ldr r1, =gSaveBlock1Ptr
	ldr r2, [r1]
	ldr r1, =gScriptItemId
	ldrh r1, [r1]
	lsls r1, 3
	adds r2, r1
	ldr r1, =0x00000848
	adds r2, r1
	ldrb r1, [r2]
	lsls r1, 2
	adds r1, r3
	ldr r1, [r1]
	bl StringCopy
	ldr r5, =gStringVar4
	ldr r1, =gText_ThrowAwayVar1
	adds r0, r5, 0
	bl StringExpandPlaceholders
	bl sav2_get_text_speed
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x1
	str r1, [sp]
	str r0, [sp, 0x4]
	str r5, [sp, 0x8]
	ldr r0, =sub_8136B48
	str r0, [sp, 0xC]
	adds r0, r4, 0
	movs r1, 0xA
	movs r2, 0xA
	movs r3, 0xD
	bl DisplayMessageAndContinueTask
	add sp, 0x10
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136AB4

	thumb_func_start sub_8136B48
sub_8136B48: @ 8136B48
	push {lr}
	sub sp, 0x10
	lsls r0, 24
	lsrs r0, 24
	ldr r1, =gUnknown_085B27A8
	movs r2, 0x2
	str r2, [sp]
	movs r2, 0x1
	str r2, [sp, 0x4]
	movs r2, 0xE
	str r2, [sp, 0x8]
	ldr r2, =gUnknown_085B26A4
	str r2, [sp, 0xC]
	movs r2, 0x1
	movs r3, 0
	bl CreateYesNoMenuWithCallbacks
	add sp, 0x10
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136B48

	thumb_func_start sub_8136B78
sub_8136B78: @ 8136B78
	push {r4,r5,lr}
	sub sp, 0x10
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r5, =gStringVar4
	ldr r1, =gText_Var1ThrownAway
	adds r0, r5, 0
	bl StringExpandPlaceholders
	bl sav2_get_text_speed
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x1
	str r1, [sp]
	str r0, [sp, 0x4]
	str r5, [sp, 0x8]
	ldr r0, =sub_8136BC0
	str r0, [sp, 0xC]
	adds r0, r4, 0
	movs r1, 0xA
	movs r2, 0xA
	movs r3, 0xD
	bl DisplayMessageAndContinueTask
	add sp, 0x10
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136B78

	thumb_func_start sub_8136BC0
sub_8136BC0: @ 8136BC0
	push {r4-r7,lr}
	lsls r0, 24
	lsrs r7, r0, 24
	ldr r0, =gMain
	ldrh r1, [r0, 0x2E]
	movs r0, 0x3
	ands r0, r1
	cmp r0, 0
	beq _08136C36
	ldr r0, =gScriptItemId
	ldrb r0, [r0]
	bl sub_8136F68
	movs r0, 0x5
	bl PlaySE
	ldr r5, =gUnknown_0203AB4E
	subs r6, r5, 0x2
	lsls r4, r7, 2
	adds r4, r7
	lsls r4, 3
	ldr r0, =gTasks + 0x8
	adds r4, r0
	ldrb r0, [r4]
	adds r1, r5, 0
	adds r2, r6, 0
	bl sub_81AE6C8
	ldrh r0, [r6]
	movs r1, 0x5
	bl sub_8136110
	bl sub_813625C
	bl sub_81362E0
	bl sub_8135E2C
	ldr r0, =gUnknown_03006310
	ldrh r1, [r5]
	ldrh r2, [r6]
	bl ListMenuInit
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4]
	ldrh r0, [r6]
	ldr r1, =0x00001005
	bl sub_8136110
	movs r0, 0
	bl schedule_bg_copy_tilemap_to_vram
	movs r0, 0x1
	bl schedule_bg_copy_tilemap_to_vram
	adds r0, r7, 0
	bl sub_8136C54
_08136C36:
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136BC0

	thumb_func_start sub_8136C54
sub_8136C54: @ 8136C54
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0xA
	movs r1, 0
	bl sub_8197DF8
	movs r0, 0x1
	bl schedule_bg_copy_tilemap_to_vram
	bl sub_81363BC
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_81365C8
	str r1, [r0]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136C54

	thumb_func_start sub_8136C8C
sub_8136C8C: @ 8136C8C
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	lsls r0, 24
	lsrs r0, 24
	mov r8, r0
	ldr r0, =gEnemyParty
	bl GetNature
	lsls r0, 24
	lsrs r0, 24
	ldr r5, =gSaveBlock1Ptr
	ldr r7, =gScriptItemId
	ldrh r2, [r7]
	lsls r2, 3
	ldr r6, =0x00000848
	adds r2, r6
	ldr r1, [r5]
	adds r1, r2
	bl sub_8136FE4
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	ldr r0, =gBattleTextBuff1
	ldr r3, =gPokeblockNames
	ldr r2, [r5]
	ldrh r1, [r7]
	lsls r1, 3
	adds r2, r1
	adds r2, r6
	ldrb r1, [r2]
	lsls r1, 2
	adds r1, r3
	ldr r1, [r1]
	bl StringCopy
	ldrb r0, [r7]
	bl sub_8136F68
	ldr r1, [r5]
	ldrh r0, [r7]
	lsls r0, 3
	adds r1, r0
	adds r1, r6
	ldrb r0, [r1]
	lsls r0, 8
	strh r0, [r7]
	lsls r4, 16
	asrs r4, 16
	cmp r4, 0
	bne _08136D10
	adds r0, 0x1
	b _08136D1A
	.pool
_08136D10:
	cmp r4, 0
	ble _08136D18
	adds r0, 0x2
	b _08136D1A
_08136D18:
	adds r0, 0x3
_08136D1A:
	strh r0, [r7]
	mov r0, r8
	bl sub_81364EC
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r0}
	bx r0
	thumb_func_end sub_8136C8C

	thumb_func_start sub_8136D2C
sub_8136D2C: @ 8136D2C
	push {r4,r5,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r5, =gScriptItemId
	ldrb r0, [r5]
	bl SafariZoneActivatePokeblockFeeder
	ldr r0, =gStringVar1
	ldr r3, =gPokeblockNames
	ldr r1, =gSaveBlock1Ptr
	ldr r2, [r1]
	ldrh r1, [r5]
	lsls r1, 3
	adds r2, r1
	ldr r1, =0x00000848
	adds r2, r1
	ldrb r1, [r2]
	lsls r1, 2
	adds r1, r3
	ldr r1, [r1]
	bl StringCopy
	ldr r1, =gScriptResult
	ldrh r0, [r5]
	strh r0, [r1]
	lsls r0, 24
	lsrs r0, 24
	bl sub_8136F68
	movs r0, 0
	strh r0, [r5]
	adds r0, r4, 0
	bl sub_81364EC
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136D2C

	thumb_func_start sub_8136D90
sub_8136D90: @ 8136D90
	push {r4-r6,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r6, =gSpecialVar_0x8004
	ldr r0, =gSaveBlock1Ptr
	ldr r5, =gScriptItemId
	ldrh r1, [r5]
	lsls r1, 3
	ldr r2, =0x00000848
	adds r1, r2
	ldr r0, [r0]
	adds r0, r1
	bl sub_818E704
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r6]
	ldr r1, =gScriptResult
	ldrh r0, [r5]
	strh r0, [r1]
	lsls r0, 24
	lsrs r0, 24
	bl sub_8136F68
	movs r0, 0
	strh r0, [r5]
	adds r0, r4, 0
	bl sub_81364EC
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136D90

	thumb_func_start sub_8136DE8
sub_8136DE8: @ 8136DE8
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r4, r0, 2
	adds r4, r0
	lsls r4, 3
	ldr r5, =gTasks + 0x8
	adds r0, r4, r5
	ldrb r0, [r0, 0x2]
	movs r1, 0
	bl sub_8198070
	movs r0, 0x1
	bl schedule_bg_copy_tilemap_to_vram
	bl sub_81363BC
	subs r5, 0x8
	adds r4, r5
	ldr r0, =sub_81365C8
	str r0, [r4]
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136DE8

	thumb_func_start sub_8136E20
sub_8136E20: @ 8136E20
	push {r4,lr}
	lsls r0, 24
	ldr r3, =gSaveBlock1Ptr
	ldr r1, [r3]
	lsrs r0, 21
	adds r1, r0
	ldr r2, =0x00000848
	adds r1, r2
	movs r2, 0
	strb r2, [r1]
	ldr r1, [r3]
	adds r1, r0
	ldr r4, =0x00000849
	adds r1, r4
	strb r2, [r1]
	ldr r1, [r3]
	adds r1, r0
	adds r4, 0x1
	adds r1, r4
	strb r2, [r1]
	ldr r1, [r3]
	adds r1, r0
	adds r4, 0x1
	adds r1, r4
	strb r2, [r1]
	ldr r1, [r3]
	adds r1, r0
	adds r4, 0x1
	adds r1, r4
	strb r2, [r1]
	ldr r1, [r3]
	adds r1, r0
	adds r4, 0x1
	adds r1, r4
	strb r2, [r1]
	ldr r1, [r3]
	adds r1, r0
	ldr r0, =0x0000084e
	adds r1, r0
	strb r2, [r1]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8136E20

	thumb_func_start ClearPokeblocks
ClearPokeblocks: @ 8136E88
	push {r4,lr}
	movs r4, 0
_08136E8C:
	adds r0, r4, 0
	bl sub_8136E20
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x27
	bls _08136E8C
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end ClearPokeblocks

	thumb_func_start sub_8136EA4
sub_8136EA4: @ 8136EA4
	push {r4-r6,lr}
	adds r6, r0, 0
	movs r1, 0x1
	bl sub_8136F9C
	lsls r0, 24
	lsrs r5, r0, 24
	movs r1, 0x1
_08136EB4:
	adds r0, r1, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	adds r0, r6, 0
	adds r1, r4, 0
	bl sub_8136F9C
	lsls r0, 24
	lsrs r0, 24
	cmp r5, r0
	bcs _08136ECC
	adds r5, r0, 0
_08136ECC:
	adds r1, r4, 0
	cmp r1, 0x4
	bls _08136EB4
	adds r0, r5, 0
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_8136EA4

	thumb_func_start sub_8136EDC
sub_8136EDC: @ 8136EDC
	push {lr}
	movs r1, 0x6
	bl sub_8136F9C
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x63
	bls _08136EEE
	movs r0, 0x63
_08136EEE:
	pop {r1}
	bx r1
	thumb_func_end sub_8136EDC

	thumb_func_start sub_8136EF4
sub_8136EF4: @ 8136EF4
	push {lr}
	movs r1, 0
	ldr r0, =gSaveBlock1Ptr
	ldr r2, [r0]
	ldr r3, =0x00000848
_08136EFE:
	lsls r0, r1, 3
	adds r0, r2, r0
	adds r0, r3
	ldrb r0, [r0]
	cmp r0, 0
	bne _08136F18
	lsls r0, r1, 24
	asrs r0, 24
	b _08136F26
	.pool
_08136F18:
	adds r0, r1, 0x1
	lsls r0, 24
	lsrs r1, r0, 24
	cmp r1, 0x27
	bls _08136EFE
	movs r0, 0x1
	negs r0, r0
_08136F26:
	pop {r1}
	bx r1
	thumb_func_end sub_8136EF4

	thumb_func_start sub_8136F2C
sub_8136F2C: @ 8136F2C
	push {r4,lr}
	adds r4, r0, 0
	bl sub_8136EF4
	lsls r0, 24
	asrs r1, r0, 24
	movs r0, 0x1
	negs r0, r0
	cmp r1, r0
	beq _08136F60
	ldr r0, =gSaveBlock1Ptr
	ldr r2, [r0]
	lsls r0, r1, 3
	ldr r1, =0x00000848
	adds r2, r1
	adds r2, r0
	ldr r0, [r4]
	ldr r1, [r4, 0x4]
	str r0, [r2]
	str r1, [r2, 0x4]
	movs r0, 0x1
	b _08136F62
	.pool
_08136F60:
	movs r0, 0
_08136F62:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_8136F2C

	thumb_func_start sub_8136F68
sub_8136F68: @ 8136F68
	push {lr}
	lsls r0, 24
	lsrs r2, r0, 24
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	lsls r1, r2, 3
	adds r0, r1
	ldr r1, =0x00000848
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0
	beq _08136F94
	adds r0, r2, 0
	bl sub_8136E20
	movs r0, 0x1
	b _08136F96
	.pool
_08136F94:
	movs r0, 0
_08136F96:
	pop {r1}
	bx r1
	thumb_func_end sub_8136F68

	thumb_func_start sub_8136F9C
sub_8136F9C: @ 8136F9C
	push {lr}
	lsls r1, 24
	lsrs r1, 24
	adds r2, r1, 0
	cmp r1, 0
	bne _08136FAC
	ldrb r0, [r0]
	b _08136FDE
_08136FAC:
	cmp r1, 0x1
	bne _08136FB4
	ldrb r0, [r0, 0x1]
	b _08136FDE
_08136FB4:
	cmp r1, 0x2
	bne _08136FBC
	ldrb r0, [r0, 0x2]
	b _08136FDE
_08136FBC:
	cmp r1, 0x3
	bne _08136FC4
	ldrb r0, [r0, 0x3]
	b _08136FDE
_08136FC4:
	cmp r1, 0x4
	bne _08136FCC
	ldrb r0, [r0, 0x4]
	b _08136FDE
_08136FCC:
	cmp r1, 0x5
	bne _08136FD4
	ldrb r0, [r0, 0x5]
	b _08136FDE
_08136FD4:
	cmp r2, 0x6
	beq _08136FDC
	movs r0, 0
	b _08136FDE
_08136FDC:
	ldrb r0, [r0, 0x6]
_08136FDE:
	pop {r1}
	bx r1
	thumb_func_end sub_8136F9C

	thumb_func_start sub_8136FE4
sub_8136FE4: @ 8136FE4
	push {r4-r7,lr}
	mov r7, r9
	mov r6, r8
	push {r6,r7}
	mov r8, r1
	lsls r0, 24
	lsrs r0, 24
	movs r6, 0
	movs r4, 0
	ldr r1, =gPokeblockFlavorCompatibilityTable
	mov r9, r1
	lsls r1, r0, 2
	adds r7, r1, r0
_08136FFE:
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
	mov r0, r8
	adds r1, r5, 0
	bl sub_8136F9C
	lsls r0, 16
	asrs r1, r0, 16
	cmp r1, 0
	ble _0813702A
	adds r0, r7, r4
	add r0, r9
	ldrb r0, [r0]
	lsls r0, 24
	asrs r0, 24
	muls r1, r0
	lsls r0, r6, 16
	asrs r0, 16
	adds r0, r1
	lsls r0, 16
	lsrs r6, r0, 16
_0813702A:
	adds r4, r5, 0
	cmp r4, 0x4
	bls _08136FFE
	lsls r0, r6, 16
	asrs r0, 16
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r7}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8136FE4

	thumb_func_start sub_8137044
sub_8137044: @ 8137044
	push {r4,lr}
	adds r4, r1, 0
	movs r1, 0
	bl sub_8136F9C
	lsls r0, 24
	ldr r1, =gPokeblockNames
	lsrs r0, 22
	adds r0, r1
	ldr r1, [r0]
	adds r0, r4, 0
	bl StringCopy
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137044

	thumb_func_start sub_8137068
sub_8137068: @ 8137068
	push {r4-r7,lr}
	adds r6, r1, 0
	lsls r0, 24
	lsrs r5, r0, 24
	movs r4, 0
	ldr r7, =gPokeblockNames
_08137074:
	lsls r1, r4, 3
	ldr r0, =gUnknown_085B2720
	adds r1, r0
	adds r0, r5, 0
	bl sub_8136FE4
	lsls r0, 16
	cmp r0, 0
	ble _081370A0
	adds r0, r4, 0x1
	lsls r0, 2
	adds r0, r7
	ldr r1, [r0]
	adds r0, r6, 0
	bl StringCopy
	movs r0, 0x1
	b _081370AC
	.pool
_081370A0:
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x4
	bls _08137074
	movs r0, 0
_081370AC:
	pop {r4-r7}
	pop {r1}
	bx r1
	thumb_func_end sub_8137068

	thumb_func_start sub_81370B4
sub_81370B4: @ 81370B4
	push {r4-r7,lr}
	adds r5, r0, 0
	movs r7, 0
	movs r6, 0
_081370BC:
	adds r1, r7, 0x1
	lsls r1, 24
	lsrs r1, 24
	adds r0, r5, 0
	bl sub_8136F9C
	adds r4, r0, 0
	adds r1, r6, 0x1
	lsls r1, 24
	lsrs r1, 24
	adds r0, r5, 0
	bl sub_8136F9C
	lsls r4, 16
	lsls r0, 16
	lsls r1, r6, 16
	cmp r4, r0
	bge _081370E2
	lsrs r7, r1, 16
_081370E2:
	movs r2, 0x80
	lsls r2, 9
	adds r0, r1, r2
	lsrs r6, r0, 16
	asrs r0, 16
	cmp r0, 0x4
	ble _081370BC
	lsls r0, r7, 24
	lsrs r0, 24
	pop {r4-r7}
	pop {r1}
	bx r1
	thumb_func_end sub_81370B4

	thumb_func_start sub_81370FC
sub_81370FC: @ 81370FC
	push {r4,lr}
	bl ShouldDoBrailleFlyEffect
	lsls r0, 24
	cmp r0, 0
	beq _08137134
	ldr r4, =gScriptResult
	bl brm_get_pokemon_selection
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4]
	ldr r1, =gUnknown_03005DB0
	ldr r0, =hm_add_c3_launch_phase_2
	str r0, [r1]
	ldr r1, =gUnknown_0203CEEC
	ldr r0, =sub_8179918
	b _08137152
	.pool
_08137134:
	ldr r0, =gMapHeader
	ldrb r0, [r0, 0x15]
	cmp r0, 0x1
	bne _08137170
	ldr r0, =0x00000888
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	bne _08137170
	ldr r1, =gUnknown_03005DB0
	ldr r0, =hm_add_c3_launch_phase_2
	str r0, [r1]
	ldr r1, =gUnknown_0203CEEC
	ldr r0, =hm2_flash
_08137152:
	str r0, [r1]
	movs r0, 0x1
	b _08137172
	.pool
_08137170:
	movs r0, 0
_08137172:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_81370FC

	thumb_func_start hm2_flash
hm2_flash: @ 8137178
	push {r4,lr}
	bl oei_task_add
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	bl brm_get_pokemon_selection
	ldr r1, =gFieldEffectArguments
	lsls r0, 24
	lsrs r0, 24
	str r0, [r1]
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r2, =sub_81371B4
	lsrs r1, r2, 16
	strh r1, [r0, 0x18]
	strh r2, [r0, 0x1A]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end hm2_flash

	thumb_func_start sub_81371B4
sub_81371B4: @ 81371B4
	push {lr}
	movs r0, 0xCF
	bl PlaySE
	ldr r0, =0x00000888
	bl FlagSet
	ldr r0, =gUnknown_082926F8
	bl ScriptContext1_SetupScript
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81371B4

	thumb_func_start sub_81371D4
sub_81371D4: @ 81371D4
	push {lr}
	bl RunTasks
	bl AnimateSprites
	bl BuildOamBuffer
	bl UpdatePaletteFade
	pop {r0}
	bx r0
	thumb_func_end sub_81371D4

	thumb_func_start sub_81371EC
sub_81371EC: @ 81371EC
	push {lr}
	bl LoadOam
	bl ProcessSpriteCopyRequests
	bl TransferPlttBuffer
	pop {r0}
	bx r0
	thumb_func_end sub_81371EC

	thumb_func_start c2_change_map
c2_change_map: @ 8137200
	push {r4,lr}
	sub sp, 0x8
	movs r0, 0
	bl SetVBlankCallback
	movs r0, 0
	movs r1, 0
	bl SetGpuReg
	movs r0, 0xC
	movs r1, 0
	bl SetGpuReg
	movs r0, 0xA
	movs r1, 0
	bl SetGpuReg
	movs r0, 0x8
	movs r1, 0
	bl SetGpuReg
	movs r0, 0x18
	movs r1, 0
	bl SetGpuReg
	movs r0, 0x1A
	movs r1, 0
	bl SetGpuReg
	movs r0, 0x14
	movs r1, 0
	bl SetGpuReg
	movs r0, 0x16
	movs r1, 0
	bl SetGpuReg
	movs r0, 0x10
	movs r1, 0
	bl SetGpuReg
	movs r0, 0x12
	movs r1, 0
	bl SetGpuReg
	mov r1, sp
	movs r0, 0
	strh r0, [r1]
	ldr r1, =0x040000d4
	mov r0, sp
	str r0, [r1]
	movs r0, 0xC0
	lsls r0, 19
	str r0, [r1, 0x4]
	ldr r0, =0x8100c000
	str r0, [r1, 0x8]
	ldr r0, [r1, 0x8]
	movs r4, 0
	str r4, [sp, 0x4]
	add r0, sp, 0x4
	str r0, [r1]
	movs r0, 0xE0
	lsls r0, 19
	str r0, [r1, 0x4]
	ldr r0, =0x85000100
	str r0, [r1, 0x8]
	ldr r0, [r1, 0x8]
	mov r0, sp
	strh r4, [r0]
	str r0, [r1]
	ldr r0, =0x05000002
	str r0, [r1, 0x4]
	ldr r0, =0x810001ff
	str r0, [r1, 0x8]
	ldr r0, [r1, 0x8]
	bl ResetPaletteFade
	bl ResetTasks
	bl ResetSpriteData
	ldr r3, =0x04000208
	ldrh r2, [r3]
	strh r4, [r3]
	ldr r4, =0x04000200
	ldrh r0, [r4]
	movs r1, 0x1
	orrs r0, r1
	strh r0, [r4]
	strh r2, [r3]
	ldr r0, =sub_81371EC
	bl SetVBlankCallback
	ldr r0, =sub_81371D4
	bl SetMainCallback2
	bl sub_8137304
	lsls r0, 24
	cmp r0, 0
	bne _081372D2
	ldr r0, =gMain
	ldr r0, [r0, 0x8]
	bl SetMainCallback2
_081372D2:
	add sp, 0x8
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end c2_change_map

	thumb_func_start sub_8137304
sub_8137304: @ 8137304
	push {r4-r7,lr}
	bl get_map_light_from_warp0
	lsls r0, 24
	lsrs r6, r0, 24
	bl sav1_map_get_light_level
	lsls r0, 24
	lsrs r5, r0, 24
	movs r3, 0
	ldr r4, =gUnknown_085B27C8
	ldrb r0, [r4]
	cmp r0, 0
	beq _08137358
	adds r7, r4, 0
	adds r0, r4, 0x4
	mov r12, r0
_08137326:
	lsls r2, r3, 3
	adds r1, r2, r7
	ldrb r0, [r1]
	cmp r0, r6
	bne _08137348
	ldrb r0, [r1, 0x1]
	cmp r0, r5
	bne _08137348
	mov r1, r12
	adds r0, r2, r1
	ldr r0, [r0]
	bl _call_via_r0
	movs r0, 0x1
	b _0813735A
	.pool
_08137348:
	adds r0, r3, 0x1
	lsls r0, 24
	lsrs r3, r0, 24
	lsls r0, r3, 3
	adds r0, r4
	ldrb r0, [r0]
	cmp r0, 0
	bne _08137326
_08137358:
	movs r0, 0
_0813735A:
	pop {r4-r7}
	pop {r1}
	bx r1
	thumb_func_end sub_8137304

	thumb_func_start sub_8137360
sub_8137360: @ 8137360
	push {r4-r6,lr}
	lsls r0, 24
	lsls r1, 24
	lsrs r5, r0, 24
	lsrs r4, r1, 24
	movs r3, 0
	ldr r1, =gUnknown_085B27C8
	ldrb r0, [r1]
	cmp r0, 0
	beq _081373A0
	adds r6, r1, 0
_08137376:
	lsls r0, r3, 3
	adds r2, r0, r6
	ldrb r0, [r2]
	cmp r0, r5
	bne _08137390
	ldrb r0, [r2, 0x1]
	cmp r0, r4
	bne _08137390
	ldrb r0, [r2, 0x2]
	b _081373A2
	.pool
_08137390:
	adds r0, r3, 0x1
	lsls r0, 24
	lsrs r3, r0, 24
	lsls r0, r3, 3
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0
	bne _08137376
_081373A0:
	movs r0, 0
_081373A2:
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_8137360

	thumb_func_start fade_type_for_given_maplight_pair
fade_type_for_given_maplight_pair: @ 81373A8
	push {r4-r6,lr}
	lsls r0, 24
	lsls r1, 24
	lsrs r5, r0, 24
	lsrs r4, r1, 24
	movs r3, 0
	ldr r1, =gUnknown_085B27C8
	ldrb r0, [r1]
	cmp r0, 0
	beq _081373E8
	adds r6, r1, 0
_081373BE:
	lsls r0, r3, 3
	adds r2, r0, r6
	ldrb r0, [r2]
	cmp r0, r5
	bne _081373D8
	ldrb r0, [r2, 0x1]
	cmp r0, r4
	bne _081373D8
	ldrb r0, [r2, 0x3]
	b _081373EA
	.pool
_081373D8:
	adds r0, r3, 0x1
	lsls r0, 24
	lsrs r3, r0, 24
	lsls r0, r3, 3
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0
	bne _081373BE
_081373E8:
	movs r0, 0
_081373EA:
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end fade_type_for_given_maplight_pair

	thumb_func_start sub_81373F0
sub_81373F0: @ 81373F0
	push {lr}
	ldr r0, =sub_8137404
	movs r1, 0
	bl CreateTask
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81373F0

	thumb_func_start sub_8137404
sub_8137404: @ 8137404
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	ldr r0, =sub_8137420
	str r0, [r1]
	bx lr
	.pool
	thumb_func_end sub_8137404

	thumb_func_start sub_8137420
sub_8137420: @ 8137420
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0
	movs r1, 0
	bl SetGpuReg
	ldr r0, =gUnknown_085B2A90
	ldr r1, =0x0600c000
	bl LZ77UnCompVram
	ldr r0, =gUnknown_085B28B0
	ldr r1, =0x0600f800
	bl LZ77UnCompVram
	ldr r0, =gUnknown_085B2850
	movs r1, 0xE0
	movs r2, 0x20
	bl LoadPalette
	ldr r0, =gUnknown_085B28A0
	movs r1, 0xE0
	movs r2, 0x10
	bl LoadPalette
	ldr r1, =0x00003e41
	movs r0, 0x50
	bl SetGpuReg
	movs r0, 0x52
	movs r1, 0
	bl SetGpuReg
	movs r0, 0x54
	movs r1, 0
	bl SetGpuReg
	ldr r1, =0x00001f0c
	movs r0, 0x8
	bl SetGpuReg
	movs r1, 0x8A
	lsls r1, 5
	movs r0, 0
	bl SetGpuReg
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_81374C4
	str r1, [r0]
	movs r2, 0
	movs r1, 0x10
	strh r1, [r0, 0x8]
	strh r2, [r0, 0xA]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137420

	thumb_func_start sub_81374C4
sub_81374C4: @ 81374C4
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r5, r1, r2
	ldrh r4, [r5, 0xA]
	movs r0, 0x80
	lsls r0, 5
	adds r1, r4, r0
	lsls r1, 16
	lsrs r1, 16
	movs r0, 0x52
	bl SetGpuReg
	cmp r4, 0x10
	bhi _081374F8
	ldrh r0, [r5, 0xA]
	adds r0, 0x1
	strh r0, [r5, 0xA]
	b _08137500
	.pool
_081374F8:
	movs r0, 0
	strh r0, [r5, 0xC]
	ldr r0, =sub_813750C
	str r0, [r5]
_08137500:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81374C4

	thumb_func_start sub_813750C
sub_813750C: @ 813750C
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r1, =0x00001010
	movs r0, 0x52
	bl SetGpuReg
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r4, r0, r1
	ldrh r1, [r4, 0xC]
	cmp r1, 0x7
	bhi _08137554
	adds r0, r1, 0x1
	strh r0, [r4, 0xC]
	lsls r1, 1
	ldr r0, =gUnknown_085B28A0
	adds r0, r1, r0
	movs r2, 0x10
	subs r2, r1
	lsls r2, 16
	lsrs r2, 16
	movs r1, 0xE0
	bl LoadPalette
	b _08137566
	.pool
_08137554:
	ldr r0, =gUnknown_085B2850
	movs r1, 0
	movs r2, 0x20
	bl LoadPalette
	ldr r0, =sub_8137574
	str r0, [r4]
	movs r0, 0x8
	strh r0, [r4, 0xC]
_08137566:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813750C

	thumb_func_start sub_8137574
sub_8137574: @ 8137574
	push {lr}
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	ldrh r2, [r1, 0xC]
	movs r3, 0xC
	ldrsh r0, [r1, r3]
	cmp r0, 0
	beq _08137598
	subs r0, r2, 0x1
	strh r0, [r1, 0xC]
	b _081375A0
	.pool
_08137598:
	ldr r0, =gMain
	ldr r0, [r0, 0x8]
	bl SetMainCallback2
_081375A0:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137574

	thumb_func_start sub_81375A8
sub_81375A8: @ 81375A8
	push {lr}
	ldr r0, =sub_81375BC
	movs r1, 0
	bl CreateTask
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81375A8

	thumb_func_start sub_81375BC
sub_81375BC: @ 81375BC
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	ldr r0, =sub_81375D8
	str r0, [r1]
	bx lr
	.pool
	thumb_func_end sub_81375BC

	thumb_func_start sub_81375D8
sub_81375D8: @ 81375D8
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	movs r0, 0
	movs r1, 0
	bl SetGpuReg
	ldr r0, =gUnknown_085B2A90
	ldr r1, =0x0600c000
	bl LZ77UnCompVram
	ldr r0, =gUnknown_085B28B0
	ldr r1, =0x0600f800
	bl LZ77UnCompVram
	movs r0, 0x50
	movs r1, 0
	bl SetGpuReg
	movs r0, 0x52
	movs r1, 0
	bl SetGpuReg
	movs r0, 0x54
	movs r1, 0
	bl SetGpuReg
	ldr r1, =0x00001f0c
	movs r0, 0x8
	bl SetGpuReg
	movs r1, 0x8A
	lsls r1, 5
	movs r0, 0
	bl SetGpuReg
	ldr r0, =gUnknown_085B2850
	movs r1, 0xE0
	movs r2, 0x20
	bl LoadPalette
	ldr r0, =gUnknown_085B2870
	movs r1, 0
	movs r2, 0x20
	bl LoadPalette
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_8137678
	str r1, [r0]
	movs r2, 0
	movs r1, 0x10
	strh r1, [r0, 0x8]
	strh r2, [r0, 0xA]
	strh r2, [r0, 0xC]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81375D8

	thumb_func_start sub_8137678
sub_8137678: @ 8137678
	push {r4,lr}
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r4, r1, r2
	ldrh r1, [r4, 0xC]
	cmp r1, 0xF
	bhi _081376B4
	adds r2, r1, 0x1
	adds r0, r2, 0x1
	strh r0, [r4, 0xC]
	movs r0, 0xF
	subs r0, r1
	lsls r0, 1
	ldr r1, =gUnknown_085B2890
	adds r0, r1
	lsls r2, 17
	lsrs r2, 16
	movs r1, 0xE0
	bl LoadPalette
	b _081376C8
	.pool
_081376B4:
	ldr r1, =0x00001010
	movs r0, 0x52
	bl SetGpuReg
	ldr r1, =0x00003e41
	movs r0, 0x50
	bl SetGpuReg
	ldr r0, =sub_81376DC
	str r0, [r4]
_081376C8:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137678

	thumb_func_start sub_81376DC
sub_81376DC: @ 81376DC
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r5, r1, r2
	ldrh r0, [r5, 0xA]
	movs r1, 0x10
	subs r1, r0
	lsls r1, 16
	lsrs r4, r1, 16
	movs r0, 0x80
	lsls r0, 21
	adds r1, r0
	lsrs r1, 16
	movs r0, 0x52
	bl SetGpuReg
	cmp r4, 0
	beq _08137714
	ldrh r0, [r5, 0xA]
	adds r0, 0x1
	strh r0, [r5, 0xA]
	b _08137726
	.pool
_08137714:
	ldr r0, =gUnknown_085B2870
	movs r1, 0
	movs r2, 0x20
	bl LoadPalette
	ldr r0, =gMain
	ldr r0, [r0, 0x8]
	bl SetMainCallback2
_08137726:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81376DC

	thumb_func_start sub_8137734
sub_8137734: @ 8137734
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	sub sp, 0x1C
	bl sp000_heal_pokemon
	ldr r4, =0x00000864
	adds r0, r4, 0
	bl FlagGet
	lsls r0, 24
	lsrs r1, r0, 24
	cmp r1, 0x1
	bne _08137760
	ldr r0, =gUnknown_0203BCE4
	strb r1, [r0]
	b _0813776C
	.pool
_08137760:
	ldr r1, =gUnknown_0203BCE4
	movs r0, 0
	strb r0, [r1]
	adds r0, r4, 0
	bl FlagSet
_0813776C:
	movs r0, 0x1
	bl GetGameStat
	cmp r0, 0
	bne _0813778E
	ldr r0, =gSaveBlock2Ptr
	ldr r2, [r0]
	ldrh r1, [r2, 0xE]
	lsls r1, 16
	ldrb r0, [r2, 0x10]
	lsls r0, 8
	orrs r1, r0
	ldrb r0, [r2, 0x11]
	orrs r1, r0
	movs r0, 0x1
	bl sav12_xor_set
_0813778E:
	bl sub_8076D48
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldrb r0, [r0, 0x8]
	cmp r0, 0
	bne _081377AC
	movs r0, 0x1
	bl sub_8084F6C
	b _081377B2
	.pool
_081377AC:
	movs r0, 0x2
	bl sub_8084F6C
_081377B2:
	movs r7, 0
	movs r6, 0
	add r0, sp, 0x18
	mov r8, r0
	mov r5, sp
_081377BC:
	movs r0, 0x64
	adds r1, r6, 0
	muls r1, r0
	ldr r0, =gPlayerParty
	adds r4, r1, r0
	movs r0, 0
	strb r6, [r5]
	strb r0, [r5, 0x1]
	adds r0, r4, 0
	movs r1, 0x5
	bl GetMonData
	cmp r0, 0
	beq _0813780A
	adds r0, r4, 0
	movs r1, 0x6
	bl GetMonData
	cmp r0, 0
	bne _0813780A
	adds r0, r4, 0
	movs r1, 0x43
	bl GetMonData
	cmp r0, 0
	bne _0813780A
	movs r0, 0x1
	mov r1, r8
	strb r0, [r1]
	adds r0, r4, 0
	movs r1, 0x43
	add r2, sp, 0x18
	bl SetMonData
	adds r0, r4, 0
	bl GetRibbonCount
	strb r0, [r5, 0x1]
	movs r7, 0x1
_0813780A:
	adds r5, 0x4
	adds r6, 0x1
	cmp r6, 0x5
	ble _081377BC
	cmp r7, 0x1
	bne _0813785A
	movs r0, 0x2A
	bl IncrementGameStat
	ldr r0, =0x0000089b
	bl FlagSet
	mov r3, sp
	add r2, sp, 0x4
	movs r6, 0x4
_08137828:
	ldrb r1, [r3, 0x1]
	ldrb r0, [r2, 0x1]
	cmp r0, r1
	bls _08137838
	ldr r1, [sp]
	ldr r0, [r2]
	str r0, [sp]
	str r1, [r2]
_08137838:
	adds r2, 0x4
	subs r6, 0x1
	cmp r6, 0
	bge _08137828
	mov r0, sp
	ldrb r0, [r0, 0x1]
	cmp r0, 0x4
	bls _0813785A
	mov r0, sp
	ldrb r1, [r0]
	movs r0, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x43
	bl sub_80EE4DC
_0813785A:
	ldr r0, =sub_8173694
	bl SetMainCallback2
	movs r0, 0
	add sp, 0x1C
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8137734

	thumb_func_start sp0C8_whiteout_maybe
sp0C8_whiteout_maybe: @ 813787C
	push {lr}
	ldr r0, =c2_whiteout
	bl SetMainCallback2
	movs r0, 0
	pop {r1}
	bx r1
	.pool
	thumb_func_end sp0C8_whiteout_maybe

	thumb_func_start sub_8137890
sub_8137890: @ 8137890
	push {r4,lr}
	ldr r0, =0x00004024
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	ldr r0, =0x00004025
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	lsls r4, 16
	orrs r4, r0
	adds r0, r4, 0
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8137890

	thumb_func_start sub_81378BC
sub_81378BC: @ 81378BC
	push {r4,lr}
	adds r4, r0, 0
	ldr r0, =0x00004024
	lsrs r1, r4, 16
	bl VarSet
	ldr r0, =0x00004025
	lsls r4, 16
	lsrs r4, 16
	adds r1, r4, 0
	bl VarSet
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81378BC

	thumb_func_start sub_81378E4
sub_81378E4: @ 81378E4
	push {r4,lr}
	bl Random
	adds r4, r0, 0
	bl Random
	lsls r4, 16
	lsls r0, 16
	lsrs r0, 16
	orrs r4, r0
	adds r0, r4, 0
	bl sub_81378BC
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_81378E4

	thumb_func_start sub_8137904
sub_8137904: @ 8137904
	push {r4,lr}
	lsls r0, 16
	lsrs r4, r0, 16
	bl sub_8137890
	adds r1, r0, 0
	cmp r4, 0
	beq _08137928
	ldr r3, =0x41c64e6d
	ldr r2, =0x00003039
_08137918:
	adds r0, r1, 0
	muls r0, r3
	adds r1, r0, r2
	subs r0, r4, 0x1
	lsls r0, 16
	lsrs r4, r0, 16
	cmp r4, 0
	bne _08137918
_08137928:
	adds r0, r1, 0
	bl sub_81378BC
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137904

	thumb_func_start sub_813793C
sub_813793C: @ 813793C
	push {r4-r6,lr}
	bl sub_8137890
	lsrs r6, r0, 16
	movs r5, 0
_08137946:
	movs r0, 0x64
	adds r1, r5, 0
	muls r1, r0
	ldr r0, =gPlayerParty
	adds r4, r1, r0
	adds r0, r4, 0
	movs r1, 0xB
	bl GetMonData
	cmp r0, 0
	beq _08137978
	adds r0, r4, 0
	movs r1, 0
	bl GetMonData
	ldr r1, =0x0000ffff
	ands r1, r0
	cmp r1, r6
	bne _08137978
	movs r0, 0x1
	b _08137980
	.pool
_08137978:
	adds r5, 0x1
	cmp r5, 0x5
	ble _08137946
	movs r0, 0
_08137980:
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_813793C

	thumb_func_start sub_8137988
sub_8137988: @ 8137988
	push {lr}
	bl get_map_light_from_warp0
	lsls r0, 24
	lsrs r0, 24
	bl is_light_level_1_2_3_5_or_6
	lsls r0, 24
	cmp r0, 0
	beq _081379CE
	bl RtcCalcLocalTime
	ldr r1, =gUnknown_085B2B44
	ldr r0, =gLocalTime
	ldrb r0, [r0, 0x2]
	lsls r0, 24
	asrs r0, 24
	adds r0, r1
	ldrb r0, [r0]
	cmp r0, 0
	beq _081379C8
	ldr r0, =0x0000089a
	bl FlagSet
	b _081379CE
	.pool
_081379C8:
	ldr r0, =0x0000089a
	bl FlagClear
_081379CE:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137988

	thumb_func_start sub_81379D8
sub_81379D8: @ 81379D8
	push {r4,lr}
	lsls r0, 24
	lsrs r4, r0, 24
	bl sub_80AC3BC
	lsls r0, 24
	cmp r0, 0
	beq _081379F2
	bl EnableBothScriptContexts
	adds r0, r4, 0
	bl DestroyTask
_081379F2:
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_81379D8

	thumb_func_start sub_81379F8
sub_81379F8: @ 81379F8
	push {lr}
	ldr r0, =sub_81379D8
	movs r1, 0x50
	bl CreateTask
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81379F8

	thumb_func_start sub_8137A0C
sub_8137A0C: @ 8137A0C
	push {lr}
	ldr r0, =0x00004049
	bl GetVarPointer
	movs r1, 0
	strh r1, [r0]
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137A0C

	thumb_func_start sub_8137A20
sub_8137A20: @ 8137A20
	push {r4,r5,lr}
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	ldr r0, =0x00004049
	bl GetVarPointer
	adds r5, r0, 0
	ldrh r0, [r5]
	adds r4, r0
	strh r4, [r5]
	ldrh r0, [r5]
	movs r1, 0x7
	bl __umodsi3
	strh r0, [r5]
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137A20

	thumb_func_start sub_8137A4C
sub_8137A4C: @ 8137A4C
	push {lr}
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	cmp r0, 0
	bne _08137A70
	movs r0, 0
	bl sub_80C0844
	ldr r1, =gSpecialVar_0x8005
	strh r0, [r1]
	movs r0, 0x1
	bl sub_80C0844
	b _08137A80
	.pool
_08137A70:
	movs r0, 0
	bl pokedex_count
	ldr r1, =gSpecialVar_0x8005
	strh r0, [r1]
	movs r0, 0x1
	bl pokedex_count
_08137A80:
	ldr r1, =gSpecialVar_0x8006
	strh r0, [r1]
	bl IsNationalPokedexEnabled
	lsls r0, 16
	lsrs r0, 16
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8137A4C

	thumb_func_start sub_8137A98
sub_8137A98: @ 8137A98
	push {lr}
	lsls r0, 16
	lsrs r0, 16
	cmp r0, 0x9
	bhi _08137AA4
	b _08137BFC
_08137AA4:
	cmp r0, 0x13
	bhi _08137AB0
	ldr r0, =gUnknown_082A5DAB
	b _08137C06
	.pool
_08137AB0:
	cmp r0, 0x1D
	bhi _08137ABC
	ldr r0, =gUnknown_082A5DF1
	b _08137C06
	.pool
_08137ABC:
	cmp r0, 0x27
	bhi _08137AC8
	ldr r0, =gUnknown_082A5E34
	b _08137C06
	.pool
_08137AC8:
	cmp r0, 0x31
	bhi _08137AD4
	ldr r0, =gUnknown_082A5E83
	b _08137C06
	.pool
_08137AD4:
	cmp r0, 0x3B
	bhi _08137AE0
	ldr r0, =gUnknown_082A5EB9
	b _08137C06
	.pool
_08137AE0:
	cmp r0, 0x45
	bhi _08137AEC
	ldr r0, =gUnknown_082A5EF4
	b _08137C06
	.pool
_08137AEC:
	cmp r0, 0x4F
	bhi _08137AF8
	ldr r0, =gUnknown_082A5F39
	b _08137C06
	.pool
_08137AF8:
	cmp r0, 0x59
	bhi _08137B04
	ldr r0, =gUnknown_082A5F82
	b _08137C06
	.pool
_08137B04:
	cmp r0, 0x63
	bhi _08137B10
	ldr r0, =gUnknown_082A5FB9
	b _08137C06
	.pool
_08137B10:
	cmp r0, 0x6D
	bhi _08137B1C
	ldr r0, =gUnknown_082A6018
	b _08137C06
	.pool
_08137B1C:
	cmp r0, 0x77
	bhi _08137B28
	ldr r0, =gUnknown_082A6061
	b _08137C06
	.pool
_08137B28:
	cmp r0, 0x81
	bhi _08137B34
	ldr r0, =gUnknown_082A609C
	b _08137C06
	.pool
_08137B34:
	cmp r0, 0x8B
	bhi _08137B40
	ldr r0, =gUnknown_082A60D5
	b _08137C06
	.pool
_08137B40:
	cmp r0, 0x95
	bhi _08137B4C
	ldr r0, =gUnknown_082A6124
	b _08137C06
	.pool
_08137B4C:
	cmp r0, 0x9F
	bhi _08137B58
	ldr r0, =gUnknown_082A616F
	b _08137C06
	.pool
_08137B58:
	cmp r0, 0xA9
	bhi _08137B64
	ldr r0, =gUnknown_082A61D6
	b _08137C06
	.pool
_08137B64:
	cmp r0, 0xB3
	bhi _08137B70
	ldr r0, =gUnknown_082A623A
	b _08137C06
	.pool
_08137B70:
	cmp r0, 0xBD
	bhi _08137B7C
	ldr r0, =gUnknown_082A6287
	b _08137C06
	.pool
_08137B7C:
	cmp r0, 0xC7
	bls _08137BEA
	cmp r0, 0xC8
	bne _08137BB8
	ldr r0, =0x00000199
	bl SpeciesToNationalPokedexNum
	lsls r0, 16
	lsrs r0, 16
	movs r1, 0x1
	bl GetSetPokedexFlag
	lsls r0, 24
	cmp r0, 0
	bne _08137BEA
	movs r0, 0xCD
	lsls r0, 1
	bl SpeciesToNationalPokedexNum
	lsls r0, 16
	lsrs r0, 16
	movs r1, 0x1
	bl GetSetPokedexFlag
	lsls r0, 24
	cmp r0, 0
	bne _08137BEA
	b _08137C04
	.pool
_08137BB8:
	cmp r0, 0xC9
	bne _08137BF8
	ldr r0, =0x00000199
	bl SpeciesToNationalPokedexNum
	lsls r0, 16
	lsrs r0, 16
	movs r1, 0x1
	bl GetSetPokedexFlag
	lsls r0, 24
	cmp r0, 0
	beq _08137C04
	movs r0, 0xCD
	lsls r0, 1
	bl SpeciesToNationalPokedexNum
	lsls r0, 16
	lsrs r0, 16
	movs r1, 0x1
	bl GetSetPokedexFlag
	lsls r0, 24
	cmp r0, 0
	beq _08137C04
_08137BEA:
	ldr r0, =gUnknown_082A62C9
	b _08137C06
	.pool
_08137BF8:
	cmp r0, 0xCA
	beq _08137C04
_08137BFC:
	ldr r0, =gUnknown_082A5D6C
	b _08137C06
	.pool
_08137C04:
	ldr r0, =gUnknown_082A6312
_08137C06:
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8137A98

	thumb_func_start sub_8137C10
sub_8137C10: @ 8137C10
	push {lr}
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	bl sub_8137A98
	bl ShowFieldMessage
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137C10

	thumb_func_start sub_8137C28
sub_8137C28: @ 8137C28
	push {lr}
	ldr r0, =sub_8174194
	bl SetMainCallback2
	bl ScriptContext2_Enable
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137C28

	thumb_func_start sub_8137C3C
sub_8137C3C: @ 8137C3C
	push {lr}
	ldr r0, =c2_exit_to_overworld_2_switch
	bl SetMainCallback2
	ldr r1, =gFieldCallback
	ldr r0, =mapldr_080CA5C0
	str r0, [r1]
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137C3C

	thumb_func_start mapldr_080CA5C0
mapldr_080CA5C0: @ 8137C5C
	push {lr}
	sub sp, 0x4
	bl ScriptContext2_Enable
	bl sub_8085784
	bl sp109_CreatePCMenu
	bl sub_80E2514
	movs r0, 0x1
	negs r0, r0
	movs r1, 0
	str r1, [sp]
	movs r2, 0x10
	movs r3, 0
	bl BeginNormalPaletteFade
	ldr r0, =sub_8137C94
	movs r1, 0xA
	bl CreateTask
	add sp, 0x4
	pop {r0}
	bx r0
	.pool
	thumb_func_end mapldr_080CA5C0

	thumb_func_start sub_8137C94
sub_8137C94: @ 8137C94
	push {lr}
	lsls r0, 24
	lsrs r2, r0, 24
	ldr r0, =gPaletteFade
	ldrb r1, [r0, 0x7]
	movs r0, 0x80
	ands r0, r1
	cmp r0, 0
	bne _08137CAC
	adds r0, r2, 0
	bl DestroyTask
_08137CAC:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137C94

	thumb_func_start sub_8137CB4
sub_8137CB4: @ 8137CB4
	push {lr}
	ldr r0, =CB2_ShowDiploma
	bl SetMainCallback2
	bl ScriptContext2_Enable
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137CB4

	thumb_func_start Special_ViewWallClock
Special_ViewWallClock: @ 8137CC8
	push {lr}
	ldr r0, =gMain
	ldr r1, =c2_exit_to_overworld_2_switch
	str r1, [r0, 0x8]
	ldr r0, =Cb2_ViewWallClock
	bl SetMainCallback2
	bl ScriptContext2_Enable
	pop {r0}
	bx r0
	.pool
	thumb_func_end Special_ViewWallClock

	thumb_func_start wild_pokemon_reroll
wild_pokemon_reroll: @ 8137CEC
	ldr r0, =gUnknown_0203AB54
	movs r1, 0
	strb r1, [r0]
	ldr r0, =gUnknown_0203AB55
	strb r1, [r0]
	ldr r1, =gUnknown_0203AB58
	movs r0, 0
	str r0, [r1]
	bx lr
	.pool
	thumb_func_end wild_pokemon_reroll

	thumb_func_start sub_8137D0C
sub_8137D0C: @ 8137D0C
	ldr r1, =gUnknown_0203AB54
	movs r0, 0x1
	strb r0, [r1]
	ldr r1, =gUnknown_0203AB55
	movs r0, 0
	strb r0, [r1]
	ldr r1, =gUnknown_0203AB58
	ldr r0, =gMain
	ldr r0, [r0, 0x20]
	str r0, [r1]
	bx lr
	.pool
	thumb_func_end sub_8137D0C

	thumb_func_start sp0E3_walkrun_bitfield_interpretation
sp0E3_walkrun_bitfield_interpretation: @ 8137D34
	push {lr}
	movs r0, 0x4
	bl TestPlayerAvatarFlags
	lsls r0, 24
	cmp r0, 0
	beq _08137D46
	movs r0, 0x1
	b _08137D58
_08137D46:
	movs r0, 0x2
	bl TestPlayerAvatarFlags
	lsls r0, 24
	cmp r0, 0
	bne _08137D56
	movs r0, 0
	b _08137D58
_08137D56:
	movs r0, 0x2
_08137D58:
	pop {r1}
	bx r1
	thumb_func_end sp0E3_walkrun_bitfield_interpretation

	thumb_func_start sub_8137D5C
sub_8137D5C: @ 8137D5C
	push {r4-r7,lr}
	adds r7, r0, 0
	lsls r1, 24
	lsrs r6, r1, 24
	cmp r6, 0x63
	bhi _08137D88
	ldr r4, =gStringVar1
	adds r0, r4, 0
	adds r1, r6, 0
	movs r2, 0
	movs r3, 0x2
	bl ConvertIntToDecimalStringN
	ldr r1, =gText_SpaceTimes
	adds r0, r4, 0
	bl StringAppend
	b _08137D90
	.pool
_08137D88:
	ldr r0, =gStringVar1
	ldr r1, =gText_99TimesPlus
	bl StringCopy
_08137D90:
	ldr r0, =0x00000e0f
	cmp r7, r0
	bhi _08137DF0
	ldr r4, =gStringVar2
	adds r0, r7, 0
	movs r1, 0x3C
	bl __udivsi3
	adds r1, r0, 0
	adds r0, r4, 0
	movs r2, 0x1
	movs r3, 0x2
	bl ConvertIntToDecimalStringN
	movs r0, 0xAD
	strb r0, [r4, 0x2]
	adds r5, r4, 0x3
	adds r0, r7, 0
	movs r1, 0x3C
	bl __umodsi3
	movs r1, 0x64
	muls r0, r1
	movs r1, 0x3C
	bl __udivsi3
	adds r1, r0, 0
	adds r0, r5, 0
	movs r2, 0x2
	movs r3, 0x2
	bl ConvertIntToDecimalStringN
	ldr r1, =gText_SpaceSeconds
	adds r0, r4, 0
	bl StringAppend
	b _08137DF8
	.pool
_08137DF0:
	ldr r0, =gStringVar2
	ldr r1, =gText_1MinutePlus
	bl StringCopy
_08137DF8:
	movs r4, 0
	cmp r6, 0
	bne _08137E0C
	movs r4, 0x5
	b _08137E2A
	.pool
_08137E0C:
	cmp r6, 0x3
	bhi _08137E14
	movs r4, 0x4
	b _08137E2A
_08137E14:
	cmp r6, 0x9
	bhi _08137E1C
	movs r4, 0x3
	b _08137E2A
_08137E1C:
	cmp r6, 0x13
	bhi _08137E24
	movs r4, 0x2
	b _08137E2A
_08137E24:
	cmp r6, 0x63
	bhi _08137E2A
	movs r4, 0x1
_08137E2A:
	adds r0, r7, 0
	movs r1, 0x3C
	bl __udivsi3
	cmp r0, 0xA
	bhi _08137E3A
	adds r0, r4, 0x5
	b _08137E58
_08137E3A:
	cmp r0, 0xF
	bhi _08137E42
	adds r0, r4, 0x4
	b _08137E58
_08137E42:
	cmp r0, 0x14
	bhi _08137E4A
	adds r0, r4, 0x3
	b _08137E58
_08137E4A:
	cmp r0, 0x28
	bhi _08137E52
	adds r0, r4, 0x2
	b _08137E58
_08137E52:
	cmp r0, 0x3B
	bhi _08137E5C
	adds r0, r4, 0x1
_08137E58:
	lsls r0, 24
	lsrs r4, r0, 24
_08137E5C:
	ldr r0, =gScriptResult
	strh r4, [r0]
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137D5C

	thumb_func_start sub_8137E6C
sub_8137E6C: @ 8137E6C
	push {r4,r5,lr}
	ldr r0, =gMain
	ldr r1, =gUnknown_0203AB58
	ldr r4, [r0, 0x20]
	ldr r0, [r1]
	subs r4, r0
	ldr r5, =gUnknown_0203AB55
	ldrb r1, [r5]
	adds r0, r4, 0
	bl sub_8137D5C
	ldrb r1, [r5]
	adds r0, r4, 0
	bl sub_8137E9C
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137E6C

	thumb_func_start sub_8137E9C
sub_8137E9C: @ 8137E9C
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	adds r5, r0, 0
	lsls r1, 24
	lsrs r1, 24
	mov r8, r1
	ldr r6, =0x00004028
	adds r0, r6, 0
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	ldr r7, =0x00004029
	adds r0, r7, 0
	bl VarGet
	lsls r0, 16
	adds r4, r0
	cmp r4, r5
	bhi _08137ECC
	cmp r4, 0
	bne _08137EE6
_08137ECC:
	lsls r1, r5, 16
	lsrs r1, 16
	adds r0, r6, 0
	bl VarSet
	lsrs r1, r5, 16
	adds r0, r7, 0
	bl VarSet
	ldr r0, =0x00004027
	mov r1, r8
	bl VarSet
_08137EE6:
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137E9C

	thumb_func_start sub_8137EFC
sub_8137EFC: @ 8137EFC
	push {r4,lr}
	ldr r0, =0x00004028
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	ldr r0, =0x00004029
	bl VarGet
	lsls r0, 16
	adds r4, r0
	cmp r4, 0
	beq _08137F3C
	ldr r0, =0x00004027
	bl VarGet
	adds r1, r0, 0
	lsls r1, 24
	lsrs r1, 24
	adds r0, r4, 0
	bl sub_8137D5C
	movs r0, 0x1
	b _08137F3E
	.pool
_08137F3C:
	movs r0, 0
_08137F3E:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_8137EFC

	thumb_func_start sub_8137F44
sub_8137F44: @ 8137F44
	push {r4,lr}
	ldr r0, =gUnknown_020322DC
	ldrh r1, [r0]
	ldr r0, =0x00000c1d
	cmp r1, r0
	beq _08137F7C
	ldr r4, =0x000040a9
	adds r0, r4, 0
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	cmp r0, 0x2
	beq _08137F6E
	adds r0, r4, 0
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	cmp r0, 0x3
	bne _08137F7C
_08137F6E:
	adds r0, r4, 0
	movs r1, 0
	bl VarSet
	movs r0, 0
	bl Overworld_SetSavedMusic
_08137F7C:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137F44

	thumb_func_start sub_8137F90
sub_8137F90: @ 8137F90
	push {lr}
	ldr r0, =0x0000088d
	bl FlagSet
	ldr r0, =0x0000404a
	bl GetVarPointer
	movs r1, 0
	strh r1, [r0]
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137F90

	thumb_func_start sub_8137FB0
sub_8137FB0: @ 8137FB0
	push {lr}
	ldr r0, =0x0000088d
	bl FlagClear
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8137FB0

	thumb_func_start CountSSTidalStep
CountSSTidalStep: @ 8137FC0
	push {r4,lr}
	lsls r0, 16
	lsrs r4, r0, 16
	ldr r0, =0x0000088d
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	beq _08137FE6
	ldr r0, =0x0000404a
	bl GetVarPointer
	ldrh r1, [r0]
	adds r1, r4, r1
	strh r1, [r0]
	lsls r1, 16
	lsrs r1, 16
	cmp r1, 0xCC
	bhi _08137FF4
_08137FE6:
	movs r0, 0
	b _08137FF6
	.pool
_08137FF4:
	movs r0, 0x1
_08137FF6:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end CountSSTidalStep

	thumb_func_start GetSSTidalLocation
GetSSTidalLocation: @ 8137FFC
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	mov r8, r0
	adds r5, r1, 0
	adds r6, r2, 0
	adds r7, r3, 0
	ldr r0, =0x0000404a
	bl GetVarPointer
	adds r4, r0, 0
	ldr r0, =0x000040b4
	bl GetVarPointer
	ldrh r0, [r0]
	subs r0, 0x1
	cmp r0, 0x9
	bhi _081380C2
	lsls r0, 2
	ldr r1, =_08138038
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_08138038:
	.4byte _08138060
	.4byte _08138070
	.4byte _08138064
	.4byte _08138068
	.4byte _08138068
	.4byte _0813806C
	.4byte _08138098
	.4byte _08138060
	.4byte _08138064
	.4byte _0813806C
_08138060:
	movs r0, 0x1
	b _081380CE
_08138064:
	movs r0, 0x4
	b _081380CE
_08138068:
	movs r0, 0x2
	b _081380CE
_0813806C:
	movs r0, 0x3
	b _081380CE
_08138070:
	ldrh r0, [r4]
	cmp r0, 0x3B
	bhi _08138080
	movs r0, 0x31
	strb r0, [r5]
	ldrh r0, [r4]
	adds r0, 0x13
	b _081380C0
_08138080:
	cmp r0, 0x8B
	bhi _0813808E
	movs r0, 0x30
	strb r0, [r5]
	ldrh r0, [r4]
	subs r0, 0x3C
	b _081380C0
_0813808E:
	movs r0, 0x2F
	strb r0, [r5]
	ldrh r0, [r4]
	subs r0, 0x8C
	b _081380C0
_08138098:
	ldrh r0, [r4]
	cmp r0, 0x41
	bhi _081380A8
	movs r0, 0x2F
	strb r0, [r5]
	ldrh r1, [r4]
	movs r0, 0x41
	b _081380BE
_081380A8:
	cmp r0, 0x91
	bhi _081380B6
	movs r0, 0x30
	strb r0, [r5]
	ldrh r1, [r4]
	movs r0, 0x91
	b _081380BE
_081380B6:
	movs r0, 0x31
	strb r0, [r5]
	ldrh r1, [r4]
	movs r0, 0xE0
_081380BE:
	subs r0, r1
_081380C0:
	strh r0, [r6]
_081380C2:
	movs r0, 0
	mov r1, r8
	strb r0, [r1]
	movs r0, 0x14
	strh r0, [r7]
	movs r0, 0
_081380CE:
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r1}
	bx r1
	thumb_func_end GetSSTidalLocation

	thumb_func_start is_tile_that_overrides_player_control
is_tile_that_overrides_player_control: @ 81380D8
	push {lr}
	movs r0, 0x88
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	beq _0813810A
	ldr r0, =gMapHeader
	ldrb r0, [r0, 0x17]
	cmp r0, 0x1
	blt _0813810A
	cmp r0, 0x3
	ble _081380F6
	cmp r0, 0x6
	bne _0813810A
_081380F6:
	ldr r0, =0x000040f2
	bl GetVarPointer
	ldrh r1, [r0]
	adds r1, 0x1
	strh r1, [r0]
	lsls r1, 16
	lsrs r1, 16
	cmp r1, 0xF9
	bhi _08138118
_0813810A:
	movs r0, 0
	b _0813811A
	.pool
_08138118:
	movs r0, 0x1
_0813811A:
	pop {r1}
	bx r1
	thumb_func_end is_tile_that_overrides_player_control

	thumb_func_start sub_8138120
sub_8138120: @ 8138120
	push {lr}
	movs r0, 0x8A
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	beq _08138152
	ldr r0, =gMapHeader
	ldrb r0, [r0, 0x17]
	cmp r0, 0x1
	blt _08138152
	cmp r0, 0x3
	ble _0813813E
	cmp r0, 0x6
	bne _08138152
_0813813E:
	ldr r0, =0x000040f3
	bl GetVarPointer
	ldrh r1, [r0]
	adds r1, 0x1
	strh r1, [r0]
	lsls r1, 16
	lsrs r1, 16
	cmp r1, 0x9
	bhi _08138160
_08138152:
	movs r0, 0
	b _08138162
	.pool
_08138160:
	movs r0, 0x1
_08138162:
	pop {r1}
	bx r1
	thumb_func_end sub_8138120

	thumb_func_start sub_8138168
sub_8138168: @ 8138168
	push {lr}
	movs r0, 0x72
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	beq _0813819A
	ldr r0, =gMapHeader
	ldrb r0, [r0, 0x17]
	cmp r0, 0x1
	blt _0813819A
	cmp r0, 0x3
	ble _08138186
	cmp r0, 0x6
	bne _0813819A
_08138186:
	ldr r0, =0x000040f5
	bl GetVarPointer
	ldrh r1, [r0]
	adds r1, 0x1
	strh r1, [r0]
	lsls r1, 16
	lsrs r1, 16
	cmp r1, 0x9
	bhi _081381A8
_0813819A:
	movs r0, 0
	b _081381AA
	.pool
_081381A8:
	movs r0, 0x1
_081381AA:
	pop {r1}
	bx r1
	thumb_func_end sub_8138168

	thumb_func_start sub_81381B0
sub_81381B0: @ 81381B0
	push {lr}
	movs r0, 0x80
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	beq _081381E2
	ldr r0, =gMapHeader
	ldrb r0, [r0, 0x17]
	cmp r0, 0x1
	blt _081381E2
	cmp r0, 0x3
	ble _081381CE
	cmp r0, 0x6
	bne _081381E2
_081381CE:
	ldr r0, =0x000040f4
	bl GetVarPointer
	ldrh r1, [r0]
	adds r1, 0x1
	strh r1, [r0]
	lsls r1, 16
	lsrs r1, 16
	cmp r1, 0xF9
	bhi _081381F0
_081381E2:
	movs r0, 0
	b _081381F2
	.pool
_081381F0:
	movs r0, 0x1
_081381F2:
	pop {r1}
	bx r1
	thumb_func_end sub_81381B0

	thumb_func_start sub_81381F8
sub_81381F8: @ 81381F8
	push {lr}
	movs r0, 0x75
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	beq _0813822A
	ldr r0, =gMapHeader
	ldrb r0, [r0, 0x17]
	cmp r0, 0x1
	blt _0813822A
	cmp r0, 0x3
	ble _08138216
	cmp r0, 0x6
	bne _0813822A
_08138216:
	ldr r0, =0x000040f6
	bl GetVarPointer
	ldrh r1, [r0]
	adds r1, 0x1
	strh r1, [r0]
	lsls r1, 16
	lsrs r1, 16
	cmp r1, 0xF9
	bhi _08138238
_0813822A:
	movs r0, 0
	b _0813823A
	.pool
_08138238:
	movs r0, 0x1
_0813823A:
	pop {r1}
	bx r1
	thumb_func_end sub_81381F8

	thumb_func_start sub_8138240
sub_8138240: @ 8138240
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	movs r6, 0
	bl GetMultiplayerId
	lsls r0, 24
	lsrs r7, r0, 24
	bl GetLinkPlayerCount
	lsls r0, 24
	lsrs r5, r0, 24
	movs r4, 0
	cmp r4, r5
	bcs _0813828A
	ldr r0, =gTVStringVarPtrs
	mov r8, r0
_08138262:
	cmp r7, r4
	beq _08138280
	lsls r0, r6, 2
	add r0, r8
	ldr r0, [r0]
	lsls r1, r4, 3
	subs r1, r4
	lsls r1, 2
	ldr r2, =gLinkPlayers + 8
	adds r1, r2
	bl StringCopy
	adds r0, r6, 0x1
	lsls r0, 24
	lsrs r6, r0, 24
_08138280:
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, r5
	bcc _08138262
_0813828A:
	adds r0, r5, 0
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8138240

	thumb_func_start SpawnLinkPartnerFieldObject
SpawnLinkPartnerFieldObject: @ 81382A0
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	sub sp, 0x14
	movs r7, 0
	movs r0, 0
	mov r9, r0
	mov r8, r0
	ldr r1, =gUnknown_085B2B5C
	add r0, sp, 0x8
	movs r2, 0x4
	bl memcpy
	add r4, sp, 0xC
	ldr r1, =gUnknown_085B2B60
	adds r0, r4, 0
	movs r2, 0x8
	bl memcpy
	bl GetMultiplayerId
	lsls r0, 24
	lsrs r0, 24
	mov r10, r0
	bl player_get_direction_lower_nybble
	lsls r0, 24
	lsrs r0, 24
	adds r1, r0, 0
	cmp r0, 0x2
	beq _08138310
	cmp r0, 0x2
	bgt _081382F4
	cmp r0, 0x1
	beq _0813833C
	b _08138350
	.pool
_081382F4:
	cmp r1, 0x3
	beq _081382FE
	cmp r1, 0x4
	beq _08138324
	b _08138350
_081382FE:
	movs r7, 0x2
	ldr r0, =gSaveBlock1Ptr
	ldr r1, [r0]
	ldrh r0, [r1]
	subs r0, 0x1
	b _0813832C
	.pool
_08138310:
	movs r7, 0x1
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldrh r1, [r0]
	mov r9, r1
	ldrh r0, [r0, 0x2]
	subs r0, 0x1
	b _0813834A
	.pool
_08138324:
	ldr r0, =gSaveBlock1Ptr
	ldr r1, [r0]
	ldrh r0, [r1]
	adds r0, 0x1
_0813832C:
	lsls r0, 16
	lsrs r0, 16
	mov r9, r0
	ldrh r1, [r1, 0x2]
	mov r8, r1
	b _08138350
	.pool
_0813833C:
	movs r7, 0x3
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldrh r3, [r0]
	mov r9, r3
	ldrh r0, [r0, 0x2]
	adds r0, 0x1
_0813834A:
	lsls r0, 16
	lsrs r0, 16
	mov r8, r0
_08138350:
	movs r6, 0
	b _08138410
	.pool
_08138358:
	cmp r10, r6
	beq _0813840A
	ldr r0, =gLinkPlayers
	lsls r2, r6, 3
	subs r1, r2, r6
	lsls r1, 2
	adds r1, r0
	ldrb r3, [r1]
	adds r4, r0, 0
	cmp r3, 0x1
	blt _0813838C
	cmp r3, 0x2
	ble _0813837C
	cmp r3, 0x3
	beq _08138388
	b _0813838C
	.pool
_0813837C:
	ldrb r0, [r1, 0x13]
	movs r5, 0xEC
	cmp r0, 0
	bne _0813839C
	movs r5, 0xEB
	b _0813839C
_08138388:
	ldrb r0, [r1, 0x13]
	b _08138394
_0813838C:
	subs r0, r2, r6
	lsls r0, 2
	adds r0, r4
	ldrb r0, [r0, 0x13]
_08138394:
	movs r5, 0x69
	cmp r0, 0
	bne _0813839C
	movs r5, 0x64
_0813839C:
	mov r0, sp
	adds r0, r7
	adds r0, 0x8
	ldrb r1, [r0]
	movs r4, 0xF0
	subs r4, r6
	lsls r4, 24
	lsrs r4, 24
	lsls r2, r7, 1
	mov r0, sp
	adds r0, r2
	adds r0, 0xC
	ldrb r0, [r0]
	lsls r0, 24
	asrs r0, 24
	mov r3, r9
	lsls r3, 16
	asrs r3, 16
	mov r12, r3
	add r0, r12
	adds r3, r0, 0x7
	lsls r3, 16
	asrs r3, 16
	mov r12, r3
	mov r0, sp
	adds r0, 0xD
	adds r0, r2
	movs r2, 0
	ldrsb r2, [r0, r2]
	mov r3, r8
	lsls r0, r3, 16
	asrs r0, 16
	adds r0, r2
	adds r0, 0x7
	lsls r0, 16
	asrs r0, 16
	str r0, [sp]
	movs r0, 0
	str r0, [sp, 0x4]
	adds r0, r5, 0
	adds r2, r4, 0
	mov r3, r12
	bl SpawnSpecialFieldObjectParametrized
	adds r0, r5, 0
	adds r1, r4, 0
	adds r2, r6, 0
	bl sub_813842C
	adds r0, r7, 0x1
	lsls r0, 24
	lsrs r7, r0, 24
	cmp r7, 0x4
	bne _0813840A
	movs r7, 0
_0813840A:
	adds r0, r6, 0x1
	lsls r0, 24
	lsrs r6, r0, 24
_08138410:
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	cmp r6, r0
	bcc _08138358
	add sp, 0x14
	pop {r3-r5}
	mov r8, r3
	mov r9, r4
	mov r10, r5
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end SpawnLinkPartnerFieldObject

	thumb_func_start sub_813842C
sub_813842C: @ 813842C
	push {r4,r5,lr}
	lsls r0, 24
	lsls r1, 24
	lsrs r3, r1, 24
	lsls r2, 24
	movs r1, 0xC0
	lsls r1, 19
	adds r2, r1
	lsrs r5, r2, 24
	lsrs r4, r0, 24
	movs r2, 0xA8
	lsls r2, 21
	adds r0, r2
	lsrs r0, 24
	cmp r0, 0x1
	bls _08138454
	cmp r4, 0x64
	beq _08138454
	cmp r4, 0x69
	bne _081384E6
_08138454:
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldrb r1, [r0, 0x5]
	ldrb r2, [r0, 0x4]
	adds r0, r3, 0
	bl GetFieldObjectIdByLocalIdAndMap
	lsls r0, 24
	lsrs r2, r0, 24
	cmp r2, 0x10
	beq _081384E6
	ldr r1, =gMapObjects
	lsls r0, r2, 3
	adds r0, r2
	lsls r0, 2
	adds r0, r1
	ldrb r0, [r0, 0x4]
	lsls r1, r0, 4
	adds r1, r0
	lsls r1, 2
	ldr r0, =gSprites
	adds r1, r0
	lsls r3, r5, 4
	ldrb r2, [r1, 0x5]
	movs r0, 0xF
	ands r0, r2
	orrs r0, r3
	strb r0, [r1, 0x5]
	cmp r4, 0x69
	beq _081384D8
	cmp r4, 0x69
	bgt _081384A8
	cmp r4, 0x64
	beq _081384C4
	b _081384E6
	.pool
_081384A8:
	cmp r4, 0xEB
	beq _081384B2
	cmp r4, 0xEC
	beq _081384BC
	b _081384E6
_081384B2:
	ldr r0, =gFieldObjectPalette33
	b _081384C6
	.pool
_081384BC:
	ldr r0, =gFieldObjectPalette34
	b _081384C6
	.pool
_081384C4:
	ldr r0, =gFieldObjectPalette8
_081384C6:
	movs r2, 0x80
	lsls r2, 1
	adds r1, r3, r2
	movs r2, 0x20
	bl LoadPalette
	b _081384E6
	.pool
_081384D8:
	ldr r0, =gFieldObjectPalette17
	movs r2, 0x80
	lsls r2, 1
	adds r1, r3, r2
	movs r2, 0x20
	bl LoadPalette
_081384E6:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813842C

	thumb_func_start sub_81384F0
sub_81384F0: @ 81384F0
	push {r4,r5,lr}
	movs r4, 0
	ldr r5, =gUnknown_085B2B68
_081384F6:
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	cmp r4, r0
	bne _0813851C
	lsls r1, r4, 2
	adds r1, r5
	ldrb r0, [r1]
	ldrb r1, [r1, 0x1]
	ldr r2, =0x00000206
	bl MapGridSetMetatileIdAt
	b _0813852A
	.pool
_0813851C:
	lsls r1, r4, 2
	adds r1, r5
	ldrb r0, [r1]
	ldrb r1, [r1, 0x1]
	ldr r2, =0x00000205
	bl MapGridSetMetatileIdAt
_0813852A:
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x3
	bls _081384F6
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81384F0

	thumb_func_start sub_8138540
sub_8138540: @ 8138540
	push {r4-r6,lr}
	movs r5, 0xC
_08138544:
	movs r4, 0x7
	adds r6, r5, 0x1
_08138548:
	adds r0, r4, 0
	adds r1, r5, 0
	bl MapGridGetMetatileIdAt
	ldr r1, =0xfffffde6
	adds r0, r1
	cmp r0, 0x37
	bls _0813855A
	b _08138734
_0813855A:
	lsls r0, 2
	ldr r1, =_0813856C
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_0813856C:
	.4byte _081386F2
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _0813864C
	.4byte _08138652
	.4byte _0813868C
	.4byte _08138694
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _0813865C
	.4byte _08138662
	.4byte _0813869C
	.4byte _081386A4
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _0813866C
	.4byte _08138672
	.4byte _081386AC
	.4byte _081386B4
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _0813867C
	.4byte _08138684
	.4byte _081386BC
	.4byte _081386C4
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _081386CC
	.4byte _081386DC
	.4byte _081386EC
	.4byte _08138714
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _081386D4
	.4byte _081386E4
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _08138734
	.4byte _0813872A
	.4byte _0813871C
_0813864C:
	movs r2, 0x8C
	lsls r2, 2
	b _08138720
_08138652:
	ldr r2, =0x00000231
	b _08138720
	.pool
_0813865C:
	movs r2, 0x8E
	lsls r2, 2
	b _08138720
_08138662:
	ldr r2, =0x00000239
	b _08138720
	.pool
_0813866C:
	movs r2, 0x88
	lsls r2, 2
	b _08138720
_08138672:
	ldr r2, =0x00000221
	b _08138720
	.pool
_0813867C:
	ldr r2, =0x00000e28
	b _08138720
	.pool
_08138684:
	ldr r2, =0x00000e29
	b _08138720
	.pool
_0813868C:
	ldr r2, =0x00000232
	b _08138720
	.pool
_08138694:
	ldr r2, =0x00000233
	b _08138720
	.pool
_0813869C:
	ldr r2, =0x0000023a
	b _08138720
	.pool
_081386A4:
	ldr r2, =0x0000023b
	b _08138720
	.pool
_081386AC:
	ldr r2, =0x00000222
	b _08138720
	.pool
_081386B4:
	ldr r2, =0x00000223
	b _08138720
	.pool
_081386BC:
	ldr r2, =0x00000e2a
	b _08138720
	.pool
_081386C4:
	ldr r2, =0x00000e2b
	b _08138720
	.pool
_081386CC:
	ldr r2, =0x00000e42
	b _08138720
	.pool
_081386D4:
	ldr r2, =0x0000021a
	b _08138720
	.pool
_081386DC:
	ldr r2, =0x00000e43
	b _08138720
	.pool
_081386E4:
	ldr r2, =0x0000021a
	b _08138720
	.pool
_081386EC:
	movs r2, 0xE4
	lsls r2, 4
	b _08138720
_081386F2:
	subs r1, r5, 0x1
	adds r0, r4, 0
	bl MapGridGetMetatileIdAt
	movs r1, 0x90
	lsls r1, 2
	cmp r0, r1
	bne _0813870C
	ldr r2, =0x00000e48
	b _08138720
	.pool
_0813870C:
	ldr r2, =0x00000e49
	b _08138720
	.pool
_08138714:
	ldr r2, =0x00000e41
	b _08138720
	.pool
_0813871C:
	movs r2, 0xE5
	lsls r2, 4
_08138720:
	adds r0, r4, 0
	adds r1, r5, 0
	bl MapGridSetMetatileIdAt
	b _08138734
_0813872A:
	ldr r2, =0x00000251
	adds r0, r4, 0
	adds r1, r5, 0
	bl MapGridSetMetatileIdAt
_08138734:
	adds r4, 0x1
	cmp r4, 0xF
	bgt _0813873C
	b _08138548
_0813873C:
	adds r5, r6, 0
	cmp r5, 0x17
	bgt _08138744
	b _08138544
_08138744:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138540

	thumb_func_start sub_8138750
sub_8138750: @ 8138750
	push {r4-r6,lr}
	ldr r4, =gUnknown_085B2B68
	movs r5, 0x3
_08138756:
	ldrb r0, [r4]
	ldrb r1, [r4, 0x1]
	ldr r2, =0x00000206
	bl MapGridSetMetatileIdAt
	adds r4, 0x4
	subs r5, 0x1
	cmp r5, 0
	bge _08138756
	movs r5, 0xC
_0813876A:
	movs r4, 0x7
	adds r6, r5, 0x1
_0813876E:
	adds r0, r4, 0
	adds r1, r5, 0
	bl MapGridGetMetatileIdAt
	ldr r1, =0xfffffde0
	adds r0, r1
	cmp r0, 0x30
	bls _08138780
	b _081388CA
_08138780:
	lsls r0, 2
	ldr r1, =_0813879C
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_0813879C:
	.4byte _08138860
	.4byte _08138866
	.4byte _08138880
	.4byte _08138888
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _08138870
	.4byte _08138876
	.4byte _08138890
	.4byte _08138898
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388A0
	.4byte _081388A8
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388B0
	.4byte _081388B0
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388CA
	.4byte _081388C0
_08138860:
	movs r2, 0x8C
	lsls r2, 2
	b _081388B2
_08138866:
	ldr r2, =0x00000231
	b _081388B2
	.pool
_08138870:
	movs r2, 0x8E
	lsls r2, 2
	b _081388B2
_08138876:
	ldr r2, =0x00000239
	b _081388B2
	.pool
_08138880:
	ldr r2, =0x00000232
	b _081388B2
	.pool
_08138888:
	ldr r2, =0x00000233
	b _081388B2
	.pool
_08138890:
	ldr r2, =0x0000023a
	b _081388B2
	.pool
_08138898:
	ldr r2, =0x0000023b
	b _081388B2
	.pool
_081388A0:
	ldr r2, =0x00000e42
	b _081388B2
	.pool
_081388A8:
	ldr r2, =0x00000e43
	b _081388B2
	.pool
_081388B0:
	ldr r2, =0x0000021a
_081388B2:
	adds r0, r4, 0
	adds r1, r5, 0
	bl MapGridSetMetatileIdAt
	b _081388CA
	.pool
_081388C0:
	ldr r2, =0x00000251
	adds r0, r4, 0
	adds r1, r5, 0
	bl MapGridSetMetatileIdAt
_081388CA:
	adds r4, 0x1
	cmp r4, 0xF
	bgt _081388D2
	b _0813876E
_081388D2:
	adds r5, r6, 0
	cmp r5, 0x17
	bgt _081388DA
	b _0813876A
_081388DA:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138750

	thumb_func_start sub_81388E4
sub_81388E4: @ 81388E4
	push {lr}
	ldr r0, =gUnknown_0203AB5C
	movs r1, 0
	strb r1, [r0]
	ldr r0, =gUnknown_0203AB5D
	strb r1, [r0]
	movs r0, 0x2C
	bl PlaySE
	ldr r0, =sub_8138910
	movs r1, 0x8
	bl CreateTask
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81388E4

	thumb_func_start sub_8138910
sub_8138910: @ 8138910
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r6, r0, 24
	ldr r0, =gUnknown_085B2B78
	ldr r5, =gUnknown_0203AB5D
	ldrb r1, [r5]
	adds r0, r1, r0
	ldr r4, =gUnknown_0203AB5C
	ldrb r2, [r4]
	ldrb r0, [r0]
	cmp r0, r2
	bne _0813896C
	ldr r0, =gSpecialVar_0x8004
	ldrb r0, [r0]
	ldr r2, =gUnknown_085B2B7E
	lsls r1, 1
	adds r1, r2
	ldrh r1, [r1]
	bl sub_8138978
	movs r0, 0
	strb r0, [r4]
	ldrb r0, [r5]
	adds r0, 0x1
	strb r0, [r5]
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x5
	bne _08138970
	adds r0, r6, 0
	bl DestroyTask
	bl EnableBothScriptContexts
	b _08138970
	.pool
_0813896C:
	adds r0, r2, 0x1
	strb r0, [r4]
_08138970:
	pop {r4-r6}
	pop {r0}
	bx r0
	thumb_func_end sub_8138910

	thumb_func_start sub_8138978
sub_8138978: @ 8138978
	push {r4-r7,lr}
	mov r7, r9
	mov r6, r8
	push {r6,r7}
	sub sp, 0x10
	lsls r0, 24
	lsrs r0, 24
	lsls r1, 16
	lsrs r2, r1, 16
	movs r7, 0
	subs r0, 0x1
	cmp r0, 0x7
	bhi _08138A40
	lsls r0, 2
	ldr r1, =_081389A0
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_081389A0:
	.4byte _081389C0
	.4byte _081389D2
	.4byte _081389E4
	.4byte _081389F6
	.4byte _08138A04
	.4byte _08138A1A
	.4byte _08138A26
	.4byte _08138A34
_081389C0:
	movs r7, 0x2
	mov r1, sp
	movs r0, 0x1
	strh r0, [r1]
	movs r0, 0x7
	strh r0, [r1, 0x2]
	add r1, sp, 0x8
	movs r0, 0x68
	b _08138A14
_081389D2:
	movs r7, 0x2
	mov r1, sp
	movs r0, 0x1
	strh r0, [r1]
	movs r0, 0x7
	strh r0, [r1, 0x2]
	add r1, sp, 0x8
	movs r0, 0x4E
	b _08138A14
_081389E4:
	movs r7, 0x2
	mov r1, sp
	movs r0, 0x1
	strh r0, [r1]
	movs r0, 0x7
	strh r0, [r1, 0x2]
	add r1, sp, 0x8
	movs r0, 0x5B
	b _08138A14
_081389F6:
	movs r7, 0x1
	mov r1, sp
	movs r0, 0x7
	strh r0, [r1]
	add r1, sp, 0x8
	movs r0, 0x27
	b _08138A3E
_08138A04:
	movs r7, 0x2
	mov r1, sp
	movs r0, 0x1
	strh r0, [r1]
	movs r0, 0x7
	strh r0, [r1, 0x2]
	add r1, sp, 0x8
	movs r0, 0x34
_08138A14:
	strh r0, [r1]
	strh r0, [r1, 0x2]
	b _08138A40
_08138A1A:
	movs r7, 0x1
	mov r0, sp
	strh r7, [r0]
	add r1, sp, 0x8
	movs r0, 0x41
	b _08138A3E
_08138A26:
	movs r7, 0x1
	mov r1, sp
	movs r0, 0x7
	strh r0, [r1]
	add r1, sp, 0x8
	movs r0, 0xD
	b _08138A3E
_08138A34:
	movs r7, 0x1
	mov r0, sp
	strh r7, [r0]
	add r1, sp, 0x8
	movs r0, 0x1A
_08138A3E:
	strh r0, [r1]
_08138A40:
	movs r6, 0
	cmp r6, r7
	bcs _08138A92
	movs r1, 0xC0
	lsls r1, 4
	adds r0, r1, 0
	adds r1, r2, 0
	orrs r1, r0
	lsls r1, 16
	mov r9, r1
	adds r1, r2, 0
	adds r1, 0x8
	orrs r1, r0
	lsls r1, 16
	mov r8, r1
_08138A5E:
	lsls r1, r6, 1
	mov r3, sp
	adds r5, r3, r1
	ldrh r0, [r5]
	adds r0, 0x7
	add r4, sp, 0x8
	adds r4, r1
	ldrh r1, [r4]
	adds r1, 0x7
	mov r3, r9
	lsrs r2, r3, 16
	bl MapGridSetMetatileIdAt
	ldrh r0, [r5]
	adds r0, 0x7
	ldrh r1, [r4]
	adds r1, 0x8
	mov r3, r8
	lsrs r2, r3, 16
	bl MapGridSetMetatileIdAt
	adds r0, r6, 0x1
	lsls r0, 24
	lsrs r6, r0, 24
	cmp r6, r7
	bcc _08138A5E
_08138A92:
	bl DrawWholeMapView
	add sp, 0x10
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r7}
	pop {r0}
	bx r0
	thumb_func_end sub_8138978

	thumb_func_start sub_8138AA4
sub_8138AA4: @ 8138AA4
	push {lr}
	ldr r0, =gSpecialVar_0x8004
	ldrb r0, [r0]
	ldr r1, =gUnknown_085B2B7E
	ldrh r1, [r1, 0x8]
	bl sub_8138978
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138AA4

	thumb_func_start sub_8138AC0
sub_8138AC0: @ 8138AC0
	push {lr}
	ldr r0, =gStringVar4
	bl ShowFieldMessage
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138AC0

	thumb_func_start sub_8138AD0
sub_8138AD0: @ 8138AD0
	ldr r1, =gSpecialVar_0x8004
	ldr r0, =gSaveBlock1Ptr
	ldr r2, [r0]
	ldrh r0, [r2]
	strh r0, [r1]
	ldr r1, =gSpecialVar_0x8005
	ldrh r0, [r2, 0x2]
	strh r0, [r1]
	bx lr
	.pool
	thumb_func_end sub_8138AD0

	thumb_func_start sub_8138AF0
sub_8138AF0: @ 8138AF0
	push {lr}
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldrb r1, [r0, 0xB]
	lsls r1, 8
	ldrb r0, [r0, 0xA]
	orrs r0, r1
	movs r1, 0xA
	bl __umodsi3
	lsls r0, 24
	lsrs r0, 24
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8138AF0

	thumb_func_start sub_8138B10
sub_8138B10: @ 8138B10
	push {lr}
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldrb r0, [r0, 0x8]
	cmp r0, 0
	bne _08138B34
	ldr r0, =gStringVar1
	ldr r1, =gText_BigGuy
	bl StringCopy
	b _08138B3C
	.pool
_08138B34:
	ldr r0, =gStringVar1
	ldr r1, =gText_BigGirl
	bl StringCopy
_08138B3C:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138B10

	thumb_func_start sub_8138B48
sub_8138B48: @ 8138B48
	push {lr}
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldrb r0, [r0, 0x8]
	cmp r0, 0
	bne _08138B6C
	ldr r0, =gStringVar1
	ldr r1, =gText_Daughter
	bl StringCopy
	b _08138B74
	.pool
_08138B6C:
	ldr r0, =gStringVar1
	ldr r1, =gText_Son
	bl StringCopy
_08138B74:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138B48

	thumb_func_start sub_8138B80
sub_8138B80: @ 8138B80
	ldr r0, =gBattleOutcome
	ldrb r0, [r0]
	bx lr
	.pool
	thumb_func_end sub_8138B80

	thumb_func_start sub_8138B8C
sub_8138B8C: @ 8138B8C
	push {lr}
	sub sp, 0x4
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	cmp r0, 0
	beq _08138BB0
	movs r2, 0x1
	negs r2, r2
	movs r0, 0x4
	str r0, [sp]
	movs r0, 0x13
	movs r1, 0
	movs r3, 0x6
	bl Overworld_SetWarpDestination
	b _08138BC2
	.pool
_08138BB0:
	movs r2, 0x1
	negs r2, r2
	movs r0, 0x4
	str r0, [sp]
	movs r0, 0x13
	movs r1, 0x1
	movs r3, 0x6
	bl Overworld_SetWarpDestination
_08138BC2:
	add sp, 0x4
	pop {r0}
	bx r0
	thumb_func_end sub_8138B8C

	thumb_func_start sub_8138BC8
sub_8138BC8: @ 8138BC8
	push {lr}
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	bl FlagSet
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138BC8

	thumb_func_start sub_8138BDC
sub_8138BDC: @ 8138BDC
	push {lr}
	ldr r0, =gLocalTime
	movs r1, 0
	ldrsh r0, [r0, r1]
	movs r1, 0x7
	bl __divsi3
	lsls r0, 16
	lsrs r0, 16
	ldr r1, =0x0000270f
	cmp r0, r1
	bls _08138BF6
	adds r0, r1, 0
_08138BF6:
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8138BDC

	thumb_func_start sub_8138C04
sub_8138C04: @ 8138C04
	push {r4,lr}
	bl GetLeadMonIndex
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x64
	muls r1, r0
	ldr r0, =gPlayerParty
	adds r4, r1, r0
	adds r0, r4, 0
	movs r1, 0x20
	bl GetMonData
	cmp r0, 0xFF
	bne _08138C2C
	movs r0, 0x6
	b _08138C7E
	.pool
_08138C2C:
	adds r0, r4, 0
	movs r1, 0x20
	bl GetMonData
	cmp r0, 0xC7
	bls _08138C3C
	movs r0, 0x5
	b _08138C7E
_08138C3C:
	adds r0, r4, 0
	movs r1, 0x20
	bl GetMonData
	cmp r0, 0x95
	bls _08138C4C
	movs r0, 0x4
	b _08138C7E
_08138C4C:
	adds r0, r4, 0
	movs r1, 0x20
	bl GetMonData
	cmp r0, 0x63
	bls _08138C5C
	movs r0, 0x3
	b _08138C7E
_08138C5C:
	adds r0, r4, 0
	movs r1, 0x20
	bl GetMonData
	cmp r0, 0x31
	bls _08138C6C
	movs r0, 0x2
	b _08138C7E
_08138C6C:
	adds r0, r4, 0
	movs r1, 0x20
	bl GetMonData
	cmp r0, 0
	bne _08138C7C
	movs r0, 0
	b _08138C7E
_08138C7C:
	movs r0, 0x1
_08138C7E:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_8138C04

	thumb_func_start sub_8138C84
sub_8138C84: @ 8138C84
	push {lr}
	ldr r0, =c2_exit_to_overworld_1_continue_scripts_restart_music
	bl sub_817018C
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138C84

	thumb_func_start sub_8138C94
sub_8138C94: @ 8138C94
	push {lr}
	ldr r0, =sub_8138C84
	bl SetMainCallback2
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138C94

	thumb_func_start sp0D9_ComputerRelated
sp0D9_ComputerRelated: @ 8138CA4
	push {r4,lr}
	ldr r4, =sub_8138CE8
	adds r0, r4, 0
	bl FuncIsActiveTask
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08138CD8
	adds r0, r4, 0
	movs r1, 0x8
	bl CreateTask
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	movs r2, 0
	strh r2, [r1, 0x8]
	strh r0, [r1, 0xA]
	strh r2, [r1, 0xC]
	strh r2, [r1, 0xE]
	strh r2, [r1, 0x10]
_08138CD8:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sp0D9_ComputerRelated

	thumb_func_start sub_8138CE8
sub_8138CE8: @ 8138CE8
	push {lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	ldr r0, =gTasks
	adds r1, r0
	movs r2, 0x8
	ldrsh r0, [r1, r2]
	cmp r0, 0
	bne _08138D06
	adds r0, r1, 0
	bl sub_8138D10
_08138D06:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138CE8

	thumb_func_start sub_8138D10
sub_8138D10: @ 8138D10
	push {r4-r6,lr}
	adds r4, r0, 0
	movs r6, 0
	movs r5, 0
	movs r1, 0xE
	ldrsh r0, [r4, r1]
	cmp r0, 0x6
	bne _08138D7C
	strh r5, [r4, 0xE]
	bl player_get_direction_lower_nybble
	lsls r0, 24
	lsrs r0, 24
	adds r1, r0, 0
	cmp r0, 0x3
	beq _08138D44
	cmp r0, 0x3
	bgt _08138D3A
	cmp r0, 0x2
	beq _08138D40
	b _08138D4C
_08138D3A:
	cmp r1, 0x4
	beq _08138D48
	b _08138D4C
_08138D40:
	movs r6, 0
	b _08138D4A
_08138D44:
	movs r6, 0xFF
	b _08138D4A
_08138D48:
	movs r6, 0x1
_08138D4A:
	movs r5, 0xFF
_08138D4C:
	movs r1, 0x10
	ldrsh r0, [r4, r1]
	lsls r1, r6, 24
	asrs r1, 24
	lsls r2, r5, 24
	asrs r2, 24
	bl sub_8138D88
	bl DrawWholeMapView
	ldrh r0, [r4, 0x10]
	movs r1, 0x1
	eors r0, r1
	strh r0, [r4, 0x10]
	ldrh r0, [r4, 0xC]
	adds r0, 0x1
	strh r0, [r4, 0xC]
	lsls r0, 16
	asrs r0, 16
	cmp r0, 0x5
	bne _08138D7C
	ldrb r0, [r4, 0xA]
	bl DestroyTask
_08138D7C:
	ldrh r0, [r4, 0xE]
	adds r0, 0x1
	strh r0, [r4, 0xE]
	pop {r4-r6}
	pop {r0}
	bx r0
	thumb_func_end sub_8138D10

	thumb_func_start sub_8138D88
sub_8138D88: @ 8138D88
	push {r4,r5,lr}
	lsls r1, 24
	lsrs r1, 24
	lsls r2, 24
	lsrs r4, r2, 24
	movs r3, 0
	lsls r0, 16
	cmp r0, 0
	beq _08138DC4
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	cmp r0, 0
	bne _08138DAC
	movs r3, 0x4
	b _08138DE6
	.pool
_08138DAC:
	cmp r0, 0x1
	bne _08138DB8
	ldr r3, =0x0000025a
	b _08138DE6
	.pool
_08138DB8:
	cmp r0, 0x2
	bne _08138DE6
	ldr r3, =0x00000259
	b _08138DE6
	.pool
_08138DC4:
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	cmp r0, 0
	bne _08138DD4
	movs r3, 0x5
	b _08138DE6
	.pool
_08138DD4:
	cmp r0, 0x1
	bne _08138DE0
	ldr r3, =0x0000027f
	b _08138DE6
	.pool
_08138DE0:
	cmp r0, 0x2
	bne _08138DE6
	ldr r3, =0x0000027e
_08138DE6:
	ldr r0, =gSaveBlock1Ptr
	ldr r2, [r0]
	movs r5, 0
	ldrsh r0, [r2, r5]
	lsls r1, 24
	asrs r1, 24
	adds r0, r1
	adds r0, 0x7
	movs r5, 0x2
	ldrsh r1, [r2, r5]
	lsls r2, r4, 24
	asrs r2, 24
	adds r1, r2
	adds r1, 0x7
	movs r4, 0xC0
	lsls r4, 4
	adds r2, r4, 0
	orrs r3, r2
	adds r2, r3, 0
	bl MapGridSetMetatileIdAt
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138D88

	thumb_func_start sub_8138E20
sub_8138E20: @ 8138E20
	push {lr}
	bl sub_8138E2C
	pop {r0}
	bx r0
	thumb_func_end sub_8138E20

	thumb_func_start sub_8138E2C
sub_8138E2C: @ 8138E2C
	push {r4-r6,lr}
	movs r6, 0
	movs r5, 0
	movs r4, 0
	bl player_get_direction_lower_nybble
	lsls r0, 24
	lsrs r0, 24
	adds r1, r0, 0
	cmp r0, 0x3
	beq _08138E56
	cmp r0, 0x3
	bgt _08138E4C
	cmp r0, 0x2
	beq _08138E52
	b _08138E5E
_08138E4C:
	cmp r1, 0x4
	beq _08138E5A
	b _08138E5E
_08138E52:
	movs r6, 0
	b _08138E5C
_08138E56:
	movs r6, 0xFF
	b _08138E5C
_08138E5A:
	movs r6, 0x1
_08138E5C:
	movs r5, 0xFF
_08138E5E:
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	cmp r0, 0
	bne _08138E70
	movs r4, 0x4
	b _08138E82
	.pool
_08138E70:
	cmp r0, 0x1
	bne _08138E7C
	ldr r4, =0x0000025a
	b _08138E82
	.pool
_08138E7C:
	cmp r0, 0x2
	bne _08138E82
	ldr r4, =0x00000259
_08138E82:
	ldr r0, =gSaveBlock1Ptr
	ldr r2, [r0]
	movs r1, 0
	ldrsh r0, [r2, r1]
	lsls r1, r6, 24
	asrs r1, 24
	adds r0, r1
	adds r0, 0x7
	movs r3, 0x2
	ldrsh r1, [r2, r3]
	lsls r2, r5, 24
	asrs r2, 24
	adds r1, r2
	adds r1, 0x7
	movs r3, 0xC0
	lsls r3, 4
	adds r2, r3, 0
	orrs r4, r2
	adds r2, r4, 0
	bl MapGridSetMetatileIdAt
	bl DrawWholeMapView
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138E2C

	thumb_func_start sub_8138EC0
sub_8138EC0: @ 8138EC0
	push {r4,lr}
	ldr r4, =sub_8138F04
	adds r0, r4, 0
	bl FuncIsActiveTask
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08138EF4
	adds r0, r4, 0
	movs r1, 0x8
	bl CreateTask
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	movs r2, 0
	strh r2, [r1, 0x8]
	strh r0, [r1, 0xA]
	strh r2, [r1, 0xC]
	strh r2, [r1, 0xE]
	strh r2, [r1, 0x10]
_08138EF4:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138EC0

	thumb_func_start sub_8138F04
sub_8138F04: @ 8138F04
	push {lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	ldr r0, =gTasks
	adds r1, r0
	movs r2, 0x8
	ldrsh r0, [r1, r2]
	cmp r0, 0
	bne _08138F22
	adds r0, r1, 0
	bl sub_8138F2C
_08138F22:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138F04

	thumb_func_start sub_8138F2C
sub_8138F2C: @ 8138F2C
	push {r4,lr}
	adds r4, r0, 0
	movs r1, 0xE
	ldrsh r0, [r4, r1]
	cmp r0, 0x6
	bne _08138F9A
	movs r0, 0
	strh r0, [r4, 0xE]
	movs r1, 0x10
	ldrsh r0, [r4, r1]
	cmp r0, 0
	beq _08138F64
	ldr r2, =0x00000e9d
	movs r0, 0x12
	movs r1, 0x8
	bl MapGridSetMetatileIdAt
	ldr r2, =0x00000ea5
	movs r0, 0x12
	movs r1, 0x9
	bl MapGridSetMetatileIdAt
	b _08138F7A
	.pool
_08138F64:
	ldr r2, =0x00000e58
	movs r0, 0x12
	movs r1, 0x8
	bl MapGridSetMetatileIdAt
	movs r2, 0xE6
	lsls r2, 4
	movs r0, 0x12
	movs r1, 0x9
	bl MapGridSetMetatileIdAt
_08138F7A:
	bl DrawWholeMapView
	ldrh r0, [r4, 0x10]
	movs r1, 0x1
	eors r0, r1
	strh r0, [r4, 0x10]
	ldrh r0, [r4, 0xC]
	adds r0, 0x1
	strh r0, [r4, 0xC]
	lsls r0, 16
	asrs r0, 16
	cmp r0, 0x5
	bne _08138F9A
	ldrb r0, [r4, 0xA]
	bl DestroyTask
_08138F9A:
	ldrh r0, [r4, 0xE]
	adds r0, 0x1
	strh r0, [r4, 0xE]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138F2C

	thumb_func_start sub_8138FAC
sub_8138FAC: @ 8138FAC
	push {lr}
	ldr r2, =0x00000e9d
	movs r0, 0x12
	movs r1, 0x8
	bl MapGridSetMetatileIdAt
	ldr r2, =0x00000ea5
	movs r0, 0x12
	movs r1, 0x9
	bl MapGridSetMetatileIdAt
	bl DrawWholeMapView
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138FAC

	thumb_func_start sub_8138FD4
sub_8138FD4: @ 8138FD4
	push {lr}
	ldr r1, =gSpecialVar_0x8004
	ldr r0, =0x000001f5
	strh r0, [r1]
	bl FlagSet
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138FD4

	thumb_func_start sub_8138FEC
sub_8138FEC: @ 8138FEC
	push {lr}
	ldr r1, =gSpecialVar_0x8004
	ldr r0, =0x000001f5
	strh r0, [r1]
	bl FlagClear
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8138FEC

	thumb_func_start sub_8139004
sub_8139004: @ 8139004
	push {lr}
	bl GetLeadMonIndex
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x16
	bl GetMonData
	cmp r0, 0xC7
	bls _08139028
	movs r0, 0x1
	b _0813902A
	.pool
_08139028:
	movs r0, 0
_0813902A:
	pop {r1}
	bx r1
	thumb_func_end sub_8139004

	thumb_func_start sub_8139030
sub_8139030: @ 8139030
	push {lr}
	bl GetLeadMonIndex
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x17
	bl GetMonData
	cmp r0, 0xC7
	bls _08139054
	movs r0, 0x1
	b _08139056
	.pool
_08139054:
	movs r0, 0
_08139056:
	pop {r1}
	bx r1
	thumb_func_end sub_8139030

	thumb_func_start sub_813905C
sub_813905C: @ 813905C
	push {lr}
	bl GetLeadMonIndex
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x18
	bl GetMonData
	cmp r0, 0xC7
	bls _08139080
	movs r0, 0x1
	b _08139082
	.pool
_08139080:
	movs r0, 0
_08139082:
	pop {r1}
	bx r1
	thumb_func_end sub_813905C

	thumb_func_start sub_8139088
sub_8139088: @ 8139088
	push {lr}
	bl GetLeadMonIndex
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x21
	bl GetMonData
	cmp r0, 0xC7
	bls _081390AC
	movs r0, 0x1
	b _081390AE
	.pool
_081390AC:
	movs r0, 0
_081390AE:
	pop {r1}
	bx r1
	thumb_func_end sub_8139088

	thumb_func_start sub_81390B4
sub_81390B4: @ 81390B4
	push {lr}
	bl GetLeadMonIndex
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x2F
	bl GetMonData
	cmp r0, 0xC7
	bls _081390D8
	movs r0, 0x1
	b _081390DA
	.pool
_081390D8:
	movs r0, 0
_081390DA:
	pop {r1}
	bx r1
	thumb_func_end sub_81390B4

	thumb_func_start sub_81390E0
sub_81390E0: @ 81390E0
	push {r4-r6,lr}
	movs r5, 0
	ldr r6, =gBaseStats
_081390E6:
	movs r0, 0x64
	adds r1, r5, 0
	muls r1, r0
	ldr r0, =gPlayerParty
	adds r4, r1, r0
	adds r0, r4, 0
	movs r1, 0x5
	bl GetMonData
	cmp r0, 0
	beq _0813913C
	adds r0, r4, 0
	movs r1, 0x2D
	bl GetMonData
	cmp r0, 0
	bne _0813913C
	adds r0, r4, 0
	movs r1, 0xB
	bl GetMonData
	lsls r0, 16
	lsrs r0, 16
	lsls r1, r0, 3
	subs r1, r0
	lsls r1, 2
	adds r1, r6
	ldrb r0, [r1, 0x6]
	cmp r0, 0xC
	beq _08139128
	ldrb r0, [r1, 0x7]
	cmp r0, 0xC
	bne _0813913C
_08139128:
	ldr r1, =gScriptResult
	movs r0, 0x1
	b _0813914A
	.pool
_0813913C:
	adds r0, r5, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
	cmp r5, 0x5
	bls _081390E6
	ldr r1, =gScriptResult
	movs r0, 0
_0813914A:
	strh r0, [r1]
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81390E0

	thumb_func_start SpawnScriptFieldObject
SpawnScriptFieldObject: @ 8139158
	push {lr}
	sub sp, 0x8
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldrh r3, [r0]
	adds r3, 0x7
	lsls r3, 16
	asrs r3, 16
	ldrh r0, [r0, 0x2]
	adds r0, 0x7
	lsls r0, 16
	asrs r0, 16
	str r0, [sp]
	movs r0, 0x3
	str r0, [sp, 0x4]
	movs r0, 0x7
	movs r1, 0x8
	movs r2, 0x7F
	bl SpawnSpecialFieldObjectParametrized
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gMapObjects
	lsls r1, r0, 3
	adds r1, r0
	lsls r1, 2
	adds r1, r2
	ldrb r0, [r1, 0x1]
	movs r2, 0x20
	orrs r0, r2
	strb r0, [r1, 0x1]
	ldrb r0, [r1, 0x4]
	bl CameraObjectSetFollowedObjectId
	add sp, 0x8
	pop {r0}
	bx r0
	.pool
	thumb_func_end SpawnScriptFieldObject

	thumb_func_start RemoveScriptFieldObject
RemoveScriptFieldObject: @ 81391AC
	push {lr}
	bl GetPlayerAvatarObjectId
	lsls r0, 24
	lsrs r0, 24
	bl CameraObjectSetFollowedObjectId
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldrb r1, [r0, 0x5]
	ldrb r2, [r0, 0x4]
	movs r0, 0x7F
	bl RemoveFieldObjectByLocalIdAndMap
	pop {r0}
	bx r0
	.pool
	thumb_func_end RemoveScriptFieldObject

	thumb_func_start sub_81391D0
sub_81391D0: @ 81391D0
	push {lr}
	bl GetLeadMonIndex
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	bl GetNature
	lsls r0, 24
	lsrs r0, 24
	ldr r1, =gStringVar1
	bl sub_8137068
	lsls r0, 24
	lsrs r0, 24
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_81391D0

	thumb_func_start sub_8139200
sub_8139200: @ 8139200
	push {r4,lr}
	ldr r4, =gStringVar1
	ldr r0, =0x00004026
	bl VarGet
	adds r1, r0, 0
	lsls r1, 16
	lsrs r1, 16
	adds r0, r4, 0
	movs r2, 0
	bl GetMapName
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139200

	thumb_func_start sub_8139228
sub_8139228: @ 8139228
	push {lr}
	movs r0, 0x20
	bl GetGameStat
	lsls r0, 16
	lsrs r0, 16
	pop {r1}
	bx r1
	thumb_func_end sub_8139228

	thumb_func_start sub_8139238
sub_8139238: @ 8139238
	push {lr}
	ldr r0, =gStringVar1
	bl GetEreaderTrainerName
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139238

	thumb_func_start sub_8139248
sub_8139248: @ 8139248
	push {r4,r5,lr}
	ldr r0, =gSaveBlock1Ptr
	ldr r2, [r0]
	ldr r1, =0x00002e68
	adds r0, r2, r1
	ldrb r1, [r0]
	lsls r1, 25
	ldr r0, =0x00002e6a
	adds r2, r0
	lsrs r1, 25
	ldrh r2, [r2]
	adds r1, r2
	ldr r2, =gUnknown_085B2B88
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	adds r0, r2
	ldrb r0, [r0]
	adds r5, r1, r0
	movs r0, 0x2
	bl GetPriceReduction
	lsls r0, 24
	cmp r0, 0
	bne _08139294
	ldr r4, =gUnknown_085B2B94
	b _08139296
	.pool
_08139294:
	ldr r4, =gUnknown_085B2BA0
_08139296:
	adds r0, r5, 0
	movs r1, 0xC
	bl __umodsi3
	adds r0, r4
	ldrb r0, [r0]
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8139248

	thumb_func_start sub_81392AC
sub_81392AC: @ 81392AC
	push {lr}
	ldr r1, =gSpecialVar_0x8004
	ldr r0, =0x00000213
	strh r0, [r1]
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	beq _081392CC
	movs r0, 0x1
	b _081392CE
	.pool
_081392CC:
	movs r0, 0
_081392CE:
	pop {r1}
	bx r1
	thumb_func_end sub_81392AC

	thumb_func_start sub_81392D4
sub_81392D4: @ 81392D4
	push {lr}
	ldr r1, =gSpecialVar_0x8004
	movs r0, 0x85
	lsls r0, 2
	strh r0, [r1]
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	beq _081392F0
	movs r0, 0x1
	b _081392F2
	.pool
_081392F0:
	movs r0, 0
_081392F2:
	pop {r1}
	bx r1
	thumb_func_end sub_81392D4

	thumb_func_start sub_81392F8
sub_81392F8: @ 81392F8
	push {lr}
	ldr r1, =gSpecialVar_0x8004
	ldr r0, =0x00000215
	strh r0, [r1]
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	beq _08139318
	movs r0, 0x1
	b _0813931A
	.pool
_08139318:
	movs r0, 0
_0813931A:
	pop {r1}
	bx r1
	thumb_func_end sub_81392F8

	thumb_func_start sub_8139320
sub_8139320: @ 8139320
	push {lr}
	ldr r1, =gSpecialVar_0x8004
	ldr r0, =0x00000216
	strh r0, [r1]
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	beq _08139340
	movs r0, 0x1
	b _08139342
	.pool
_08139340:
	movs r0, 0
_08139342:
	pop {r1}
	bx r1
	thumb_func_end sub_8139320

	thumb_func_start sub_8139348
sub_8139348: @ 8139348
	push {lr}
	bl GetLeadMonIndex
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x47
	movs r2, 0
	bl GetMonData
	lsls r0, 24
	lsrs r0, 24
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8139348

	thumb_func_start sub_8139370
sub_8139370: @ 8139370
	push {r4,lr}
	sub sp, 0x4
	movs r0, 0x2A
	bl IncrementGameStat
	ldr r0, =0x0000089b
	bl FlagSet
	movs r1, 0x1
	mov r0, sp
	strb r1, [r0]
	bl GetLeadMonIndex
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x64
	muls r1, r0
	ldr r0, =gPlayerParty
	adds r4, r1, r0
	adds r0, r4, 0
	movs r1, 0x47
	mov r2, sp
	bl SetMonData
	adds r0, r4, 0
	bl GetRibbonCount
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x4
	bls _081393B6
	adds r0, r4, 0
	movs r1, 0x47
	bl sub_80EE4DC
_081393B6:
	add sp, 0x4
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139370

	thumb_func_start sub_81393C8
sub_81393C8: @ 81393C8
	push {lr}
	bl GetLeadMonIndex
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	bl GetMonEVCount
	lsls r0, 16
	ldr r1, =0x01fd0000
	cmp r0, r1
	bhi _081393F4
	movs r0, 0
	b _081393F6
	.pool
_081393F4:
	movs r0, 0x1
_081393F6:
	pop {r1}
	bx r1
	thumb_func_end sub_81393C8

	thumb_func_start sub_81393FC
sub_81393FC: @ 81393FC
	push {lr}
	movs r0, 0xC7
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	bne _08139454
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldrh r1, [r0, 0x4]
	movs r0, 0x83
	lsls r0, 3
	cmp r1, r0
	bne _08139454
	subs r0, 0x75
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	beq _08139434
	ldr r0, =0x0000409a
	movs r1, 0x4
	b _08139446
	.pool
_08139434:
	movs r0, 0xE9
	lsls r0, 2
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	beq _08139454
	ldr r0, =0x0000409a
	movs r1, 0x5
_08139446:
	bl VarSet
	movs r0, 0x1
	b _08139456
	.pool
_08139454:
	movs r0, 0
_08139456:
	pop {r1}
	bx r1
	thumb_func_end sub_81393FC

	thumb_func_start sub_813945C
sub_813945C: @ 813945C
	push {lr}
	ldr r0, =0x000008bf
	bl FlagSet
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813945C

	thumb_func_start sub_813946C
sub_813946C: @ 813946C
	push {r4,r5,lr}
	sub sp, 0x14
	ldr r5, =gPlayerParty
	movs r1, 0x90
	lsls r1, 1
	movs r4, 0
	str r4, [sp]
	str r4, [sp, 0x4]
	str r4, [sp, 0x8]
	str r4, [sp, 0xC]
	adds r0, r5, 0
	movs r2, 0x7
	movs r3, 0x20
	bl CreateMon
	movs r1, 0x1
	add r0, sp, 0x10
	strh r1, [r0]
	adds r0, r5, 0
	movs r1, 0x2E
	add r2, sp, 0x10
	bl SetMonData
	add r1, sp, 0x10
	movs r0, 0x21
	strh r0, [r1]
	adds r0, r5, 0
	movs r1, 0xD
	add r2, sp, 0x10
	bl SetMonData
	add r0, sp, 0x10
	strh r4, [r0]
	adds r0, r5, 0
	movs r1, 0xE
	add r2, sp, 0x10
	bl SetMonData
	adds r0, r5, 0
	movs r1, 0xF
	add r2, sp, 0x10
	bl SetMonData
	adds r0, r5, 0
	movs r1, 0x10
	add r2, sp, 0x10
	bl SetMonData
	add sp, 0x14
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813946C

	thumb_func_start sub_81394D8
sub_81394D8: @ 81394D8
	push {r4-r6,lr}
	ldr r0, =0x00004023
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	bl sub_8133EDC
	lsls r0, 16
	lsrs r6, r0, 16
	bl CalculatePlayerPartyCount
	lsls r0, 24
	lsrs r5, r0, 24
	movs r4, 0
	cmp r4, r5
	bcs _08139526
_081394FA:
	movs r0, 0x64
	muls r0, r4
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x41
	movs r2, 0
	bl GetMonData
	cmp r0, r6
	bne _0813951C
	movs r0, 0x1
	b _08139528
	.pool
_0813951C:
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, r5
	bcc _081394FA
_08139526:
	movs r0, 0
_08139528:
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_81394D8

	thumb_func_start sub_8139530
sub_8139530: @ 8139530
	push {lr}
	bl sub_80D2218
	lsls r0, 24
	lsrs r0, 24
	pop {r1}
	bx r1
	thumb_func_end sub_8139530

	thumb_func_start sub_8139540
sub_8139540: @ 8139540
	push {lr}
	ldr r0, =gPlayerParty
	movs r1, 0x3F
	bl CheckPartyPokerus
	lsls r0, 24
	cmp r0, 0
	beq _08139558
	movs r0, 0x1
	b _0813955A
	.pool
_08139558:
	movs r0, 0
_0813955A:
	pop {r1}
	bx r1
	thumb_func_end sub_8139540

	thumb_func_start sub_8139560
sub_8139560: @ 8139560
	push {lr}
	ldr r0, =sub_81395BC
	movs r1, 0x9
	bl CreateTask
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	ldr r0, =gSpecialVar_0x8005
	ldrh r0, [r0]
	movs r2, 0
	strh r0, [r1, 0x8]
	strh r2, [r1, 0xA]
	ldr r0, =gSpecialVar_0x8006
	ldrh r0, [r0]
	strh r0, [r1, 0xC]
	ldr r0, =gSpecialVar_0x8007
	ldrh r0, [r0]
	strh r0, [r1, 0xE]
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	strh r0, [r1, 0x10]
	movs r0, 0
	bl SetCameraPanningCallback
	movs r0, 0xD6
	bl PlaySE
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139560

	thumb_func_start sub_81395BC
sub_81395BC: @ 81395BC
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r4, r0, r1
	ldrh r0, [r4, 0x2]
	adds r0, 0x1
	strh r0, [r4, 0x2]
	movs r1, 0x2
	ldrsh r0, [r4, r1]
	movs r2, 0x6
	ldrsh r1, [r4, r2]
	bl __modsi3
	cmp r0, 0
	bne _08139614
	strh r0, [r4, 0x2]
	ldrh r0, [r4, 0x4]
	subs r0, 0x1
	strh r0, [r4, 0x4]
	ldrh r0, [r4]
	negs r0, r0
	strh r0, [r4]
	ldrh r0, [r4, 0x8]
	negs r0, r0
	strh r0, [r4, 0x8]
	movs r1, 0
	ldrsh r0, [r4, r1]
	movs r2, 0x8
	ldrsh r1, [r4, r2]
	bl SetCameraPanning
	movs r1, 0x4
	ldrsh r0, [r4, r1]
	cmp r0, 0
	bne _08139614
	adds r0, r5, 0
	bl sub_8139620
	bl InstallCameraPanAheadCallback
_08139614:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81395BC

	thumb_func_start sub_8139620
sub_8139620: @ 8139620
	push {lr}
	lsls r0, 24
	lsrs r0, 24
	bl DestroyTask
	bl EnableBothScriptContexts
	pop {r0}
	bx r0
	thumb_func_end sub_8139620

	thumb_func_start sub_8139634
sub_8139634: @ 8139634
	push {lr}
	movs r0, 0x95
	lsls r0, 2
	bl FlagGet
	lsls r0, 24
	lsrs r0, 24
	pop {r1}
	bx r1
	thumb_func_end sub_8139634

	thumb_func_start sub_8139648
sub_8139648: @ 8139648
	push {lr}
	bl get_map_light_from_warp0
	lsls r0, 24
	lsrs r0, 24
	bl is_light_level_1_2_3_5_or_6
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08139664
	movs r0, 0x14
	bl SetSav1Weather
_08139664:
	pop {r0}
	bx r0
	thumb_func_end sub_8139648

	thumb_func_start sub_8139668
sub_8139668: @ 8139668
	push {lr}
	bl get_map_light_from_warp0
	lsls r0, 24
	lsrs r0, 24
	bl is_light_level_1_2_3_5_or_6
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08139684
	movs r0, 0x15
	bl SetSav1Weather
_08139684:
	pop {r0}
	bx r0
	thumb_func_end sub_8139668

	thumb_func_start GetLeadMonIndex
GetLeadMonIndex: @ 8139688
	push {r4-r6,lr}
	bl CalculatePlayerPartyCount
	lsls r0, 24
	lsrs r6, r0, 24
	movs r5, 0
	cmp r5, r6
	bcs _081396D6
_08139698:
	movs r0, 0x64
	adds r1, r5, 0
	muls r1, r0
	ldr r0, =gPlayerParty
	adds r4, r1, r0
	adds r0, r4, 0
	movs r1, 0x41
	movs r2, 0
	bl GetMonData
	movs r1, 0xCE
	lsls r1, 1
	cmp r0, r1
	beq _081396CC
	adds r0, r4, 0
	movs r1, 0x41
	movs r2, 0
	bl GetMonData
	cmp r0, 0
	beq _081396CC
	adds r0, r5, 0
	b _081396D8
	.pool
_081396CC:
	adds r0, r5, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
	cmp r5, r6
	bcc _08139698
_081396D6:
	movs r0, 0
_081396D8:
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end GetLeadMonIndex

	thumb_func_start sub_81396E0
sub_81396E0: @ 81396E0
	push {lr}
	ldr r0, =gSpecialVar_0x8004
	ldrh r1, [r0]
	movs r0, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x41
	movs r2, 0
	bl GetMonData
	lsls r0, 16
	lsrs r0, 16
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_81396E0

	thumb_func_start nullsub_54
nullsub_54: @ 8139708
	bx lr
	thumb_func_end nullsub_54

	thumb_func_start sub_813970C
sub_813970C: @ 813970C
	push {r4,lr}
	ldr r0, =0x000040c2
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	adds r3, r0, 0
	ldr r2, =gLocalTime
	movs r1, 0
	ldrsh r0, [r2, r1]
	subs r0, r3
	cmp r0, 0x6
	ble _08139734
	movs r0, 0
	b _0813974C
	.pool
_08139734:
	ldrh r1, [r2]
	movs r4, 0
	ldrsh r0, [r2, r4]
	cmp r0, 0
	blt _0813974A
	subs r1, r3
	movs r0, 0x7
	subs r0, r1
	lsls r0, 16
	lsrs r0, 16
	b _0813974C
_0813974A:
	movs r0, 0x8
_0813974C:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_813970C

	thumb_func_start sub_8139754
sub_8139754: @ 8139754
	push {r4,lr}
	ldr r0, =0x000040c2
	ldr r4, =gLocalTime
	ldrh r1, [r4]
	bl VarSet
	ldrh r0, [r4]
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_8139754

	thumb_func_start sub_8139770
sub_8139770: @ 8139770
	push {r4-r6,lr}
	ldr r6, =gSpecialVar_0x8004
	ldrh r0, [r6]
	movs r5, 0x64
	muls r0, r5
	ldr r4, =gPlayerParty
	adds r0, r4
	movs r1, 0x3
	bl GetMonData
	cmp r0, 0x2
	bne _081397A6
	ldrh r0, [r6]
	muls r0, r5
	adds r0, r4
	ldr r4, =gStringVar1
	movs r1, 0x7
	adds r2, r4, 0
	bl GetMonData
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	adds r1, r4, 0
	bl StringCompare
	cmp r0, 0
	beq _081397BC
_081397A6:
	movs r0, 0x1
	b _081397BE
	.pool
_081397BC:
	movs r0, 0
_081397BE:
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_8139770

	thumb_func_start sub_81397C4
sub_81397C4: @ 81397C4
	push {r4,r5,lr}
	ldr r2, =gScriptResult
	ldrh r1, [r2]
	ldr r0, =0x0000270f
	cmp r1, r0
	bls _081397E0
	movs r0, 0
	bl TV_PrintIntToStringVar
	b _08139862
	.pool
_081397E0:
	ldr r0, =0x000003e7
	cmp r1, r0
	bls _081397F8
	ldr r4, =gStringVar1
	movs r0, 0xA1
	strb r0, [r4]
	adds r4, 0x1
	b _0813981C
	.pool
_081397F8:
	cmp r1, 0x63
	bls _0813980C
	ldr r4, =gStringVar1
	movs r0, 0xA1
	strb r0, [r4]
	strb r0, [r4, 0x1]
	adds r4, 0x2
	b _0813981C
	.pool
_0813980C:
	cmp r1, 0x9
	bls _0813983C
	ldr r4, =gStringVar1
	movs r0, 0xA1
	strb r0, [r4]
	strb r0, [r4, 0x1]
	strb r0, [r4, 0x2]
	adds r4, 0x3
_0813981C:
	ldrh r5, [r2]
	adds r0, r5, 0
	bl sub_80EF370
	adds r3, r0, 0
	lsls r3, 24
	lsrs r3, 24
	adds r0, r4, 0
	adds r1, r5, 0
	movs r2, 0
	bl ConvertIntToDecimalStringN
	b _08139862
	.pool
_0813983C:
	ldr r4, =gStringVar1
	movs r0, 0xA1
	strb r0, [r4]
	strb r0, [r4, 0x1]
	strb r0, [r4, 0x2]
	strb r0, [r4, 0x3]
	adds r4, 0x4
	ldrh r5, [r2]
	adds r0, r5, 0
	bl sub_80EF370
	adds r3, r0, 0
	lsls r3, 24
	lsrs r3, 24
	adds r0, r4, 0
	adds r1, r5, 0
	movs r2, 0
	bl ConvertIntToDecimalStringN
_08139862:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_81397C4

	thumb_func_start sub_813986C
sub_813986C: @ 813986C
	push {lr}
	ldr r0, =gScriptResult
	ldrh r0, [r0]
	cmp r0, 0x4
	bhi _081398B8
	lsls r0, 2
	ldr r1, =_08139888
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_08139888:
	.4byte _0813989C
	.4byte _081398A0
	.4byte _081398A4
	.4byte _081398A8
	.4byte _081398AC
_0813989C:
	movs r0, 0x3
	b _081398AE
_081398A0:
	movs r0, 0x4
	b _081398AE
_081398A4:
	movs r0, 0
	b _081398AE
_081398A8:
	movs r0, 0x1
	b _081398AE
_081398AC:
	movs r0, 0x2
_081398AE:
	bl mevent_081445C0
	lsls r0, 16
	lsrs r0, 16
	b _081398BA
_081398B8:
	movs r0, 0
_081398BA:
	pop {r1}
	bx r1
	thumb_func_end sub_813986C

	thumb_func_start sub_81398C0
sub_81398C0: @ 81398C0
	push {r4,lr}
	ldr r1, =gSpecialVar_0x8004
	ldr r2, =0xfffffedf
	adds r0, r2, 0
	ldrh r2, [r1]
	adds r0, r2
	lsls r0, 16
	lsrs r0, 16
	cmp r0, 0x39
	bls _081398E0
	movs r0, 0
	b _081398FC
	.pool
_081398E0:
	ldr r4, =gStringVar2
	ldrh r0, [r1]
	bl ItemIdToBattleMoveId
	lsls r0, 16
	lsrs r0, 16
	movs r1, 0xD
	muls r1, r0
	ldr r0, =gMoveNames
	adds r1, r0
	adds r0, r4, 0
	bl StringCopy
	movs r0, 0x1
_081398FC:
	pop {r4}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_81398C0

	thumb_func_start sub_813990C
sub_813990C: @ 813990C
	push {r4,r5,lr}
	bl CalculatePlayerPartyCount
	lsls r0, 24
	lsrs r5, r0, 24
	movs r4, 0
	cmp r4, r5
	bcs _08139942
_0813991C:
	movs r0, 0x64
	muls r0, r4
	ldr r1, =gPlayerParty
	adds r0, r1
	movs r1, 0x4
	bl GetMonData
	cmp r0, 0x1
	bne _08139938
	movs r0, 0x1
	b _08139944
	.pool
_08139938:
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, r5
	bcc _0813991C
_08139942:
	movs r0, 0
_08139944:
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end sub_813990C

	thumb_func_start InMultiBattleRoom
InMultiBattleRoom: @ 813994C
	push {lr}
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldrh r1, [r0, 0x4]
	ldr r0, =0x00000f1a
	cmp r1, r0
	bne _08139978
	ldr r0, =0x000040ce
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	cmp r0, 0x2
	bne _08139978
	movs r0, 0x1
	b _0813997A
	.pool
_08139978:
	movs r0, 0
_0813997A:
	pop {r1}
	bx r1
	thumb_func_end InMultiBattleRoom

	thumb_func_start sub_8139980
sub_8139980: @ 8139980
	push {lr}
	movs r0, 0
	bl SetCameraPanningCallback
	movs r0, 0x8
	movs r1, 0
	bl SetCameraPanning
	pop {r0}
	bx r0
	thumb_func_end sub_8139980

	thumb_func_start sub_8139994
sub_8139994: @ 8139994
	push {lr}
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldrb r0, [r0, 0x15]
	subs r0, 0x10
	lsls r0, 24
	asrs r0, 24
	cmp r0, 0x5
	bhi _081399E4
	lsls r0, 2
	ldr r1, =_081399B8
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_081399B8:
	.4byte _081399E4
	.4byte _081399D0
	.4byte _081399D4
	.4byte _081399D8
	.4byte _081399DC
	.4byte _081399E0
_081399D0:
	movs r1, 0x5
	b _081399E6
_081399D4:
	movs r1, 0x6
	b _081399E6
_081399D8:
	movs r1, 0x7
	b _081399E6
_081399DC:
	movs r1, 0x8
	b _081399E6
_081399E0:
	movs r1, 0xF
	b _081399E6
_081399E4:
	movs r1, 0x4
_081399E6:
	ldr r0, =0x00004043
	bl VarSet
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139994

	thumb_func_start sub_81399F4
sub_81399F4: @ 81399F4
	push {r4,lr}
	ldr r2, =gUnknown_0203AB60
	movs r0, 0
	strh r0, [r2]
	ldr r1, =gUnknown_0203AB62
	strh r0, [r1]
	ldr r0, =gSaveBlock1Ptr
	ldr r3, [r0]
	movs r0, 0x14
	ldrsb r0, [r3, r0]
	adds r4, r1, 0
	cmp r0, 0xD
	bne _08139A6E
	ldrb r0, [r3, 0x15]
	subs r0, 0x10
	lsls r0, 24
	asrs r0, 24
	cmp r0, 0x4
	bhi _08139A6E
	lsls r0, 2
	ldr r1, =_08139A34
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_08139A34:
	.4byte _08139A66
	.4byte _08139A5E
	.4byte _08139A56
	.4byte _08139A4E
	.4byte _08139A48
_08139A48:
	movs r0, 0
	strh r0, [r2]
	b _08139A6C
_08139A4E:
	movs r0, 0
	strh r0, [r2]
	movs r0, 0x1
	b _08139A6C
_08139A56:
	movs r0, 0
	strh r0, [r2]
	movs r0, 0x2
	b _08139A6C
_08139A5E:
	movs r0, 0
	strh r0, [r2]
	movs r0, 0x3
	b _08139A6C
_08139A66:
	movs r0, 0
	strh r0, [r2]
	movs r0, 0x4
_08139A6C:
	strh r0, [r4]
_08139A6E:
	ldrh r0, [r4]
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_81399F4

	thumb_func_start sub_8139A78
sub_8139A78: @ 8139A78
	push {r4-r6,lr}
	ldr r0, =sub_8139AF4
	movs r1, 0x9
	bl CreateTask
	lsls r0, 24
	lsrs r0, 24
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	ldr r0, =gTasks + 0x8
	adds r4, r1, r0
	movs r3, 0
	strh r3, [r4, 0x2]
	strh r3, [r4, 0x4]
	movs r6, 0x1
	strh r6, [r4, 0x8]
	ldr r0, =gSpecialVar_0x8005
	ldr r1, =gSpecialVar_0x8006
	ldrh r2, [r0]
	ldrh r0, [r1]
	cmp r2, r0
	bls _08139AC0
	subs r0, r2, r0
	lsls r0, 16
	lsrs r5, r0, 16
	strh r6, [r4, 0xC]
	b _08139AC8
	.pool
_08139AC0:
	subs r0, r2
	lsls r0, 16
	lsrs r5, r0, 16
	strh r3, [r4, 0xC]
_08139AC8:
	cmp r5, 0x8
	bls _08139ACE
	movs r5, 0x8
_08139ACE:
	ldr r0, =gUnknown_085B2C18
	adds r0, r5, r0
	ldrb r0, [r0]
	strh r0, [r4, 0xA]
	movs r0, 0
	bl SetCameraPanningCallback
	ldrb r1, [r4, 0xC]
	adds r0, r5, 0
	bl sub_8139C2C
	movs r0, 0x59
	bl PlaySE
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139A78

	thumb_func_start sub_8139AF4
sub_8139AF4: @ 8139AF4
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r4, r0, r1
	ldrh r0, [r4, 0x2]
	adds r0, 0x1
	strh r0, [r4, 0x2]
	movs r1, 0x2
	ldrsh r0, [r4, r1]
	movs r1, 0x3
	bl __modsi3
	lsls r0, 16
	asrs r0, 16
	cmp r0, 0
	bne _08139B54
	strh r0, [r4, 0x2]
	ldrh r0, [r4, 0x4]
	adds r0, 0x1
	strh r0, [r4, 0x4]
	ldrh r0, [r4, 0x8]
	negs r0, r0
	strh r0, [r4, 0x8]
	movs r2, 0x8
	ldrsh r1, [r4, r2]
	movs r0, 0
	bl SetCameraPanning
	movs r0, 0x4
	ldrsh r1, [r4, r0]
	movs r2, 0xA
	ldrsh r0, [r4, r2]
	cmp r1, r0
	bne _08139B54
	movs r0, 0x49
	bl PlaySE
	adds r0, r5, 0
	bl DestroyTask
	bl EnableBothScriptContexts
	bl InstallCameraPanAheadCallback
_08139B54:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139AF4

	thumb_func_start sub_8139B60
sub_8139B60: @ 8139B60
	push {r4-r6,lr}
	mov r6, r9
	mov r5, r8
	push {r5,r6}
	sub sp, 0xC
	ldr r5, =gUnknown_0203AB5E
	ldr r0, =gUnknown_085B2BAC
	bl AddWindow
	strb r0, [r5]
	ldrb r0, [r5]
	movs r1, 0
	bl SetStandardWindowBorderStyle
	ldr r4, =gText_ElevatorNowOn
	movs r0, 0x1
	adds r1, r4, 0
	movs r2, 0x40
	bl GetStringCenterAlignXOffset
	adds r3, r0, 0
	ldrb r0, [r5]
	lsls r3, 24
	lsrs r3, 24
	movs r1, 0x1
	str r1, [sp]
	movs r1, 0xFF
	mov r9, r1
	str r1, [sp, 0x4]
	movs r1, 0
	mov r8, r1
	str r1, [sp, 0x8]
	movs r1, 0x1
	adds r2, r4, 0
	bl PrintTextOnWindow
	ldr r6, =gUnknown_085B2BB4
	ldr r4, =gSpecialVar_0x8005
	ldrh r0, [r4]
	lsls r0, 2
	adds r0, r6
	ldr r1, [r0]
	movs r0, 0x1
	movs r2, 0x40
	bl GetStringCenterAlignXOffset
	adds r3, r0, 0
	ldrb r0, [r5]
	ldrh r1, [r4]
	lsls r1, 2
	adds r1, r6
	ldr r2, [r1]
	lsls r3, 24
	lsrs r3, 24
	movs r1, 0x11
	str r1, [sp]
	mov r1, r9
	str r1, [sp, 0x4]
	mov r1, r8
	str r1, [sp, 0x8]
	movs r1, 0x1
	bl PrintTextOnWindow
	ldrb r0, [r5]
	bl PutWindowTilemap
	ldrb r0, [r5]
	movs r1, 0x3
	bl CopyWindowToVram
	add sp, 0xC
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139B60

	thumb_func_start sub_8139C10
sub_8139C10: @ 8139C10
	push {r4,lr}
	ldr r4, =gUnknown_0203AB5E
	ldrb r0, [r4]
	movs r1, 0x1
	bl sub_8198070
	ldrb r0, [r4]
	bl RemoveWindow
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139C10

	thumb_func_start sub_8139C2C
sub_8139C2C: @ 8139C2C
	push {r4-r6,lr}
	lsls r0, 16
	lsrs r6, r0, 16
	lsls r1, 24
	lsrs r5, r1, 24
	ldr r4, =sub_8139C80
	adds r0, r4, 0
	bl FuncIsActiveTask
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _08139C6C
	adds r0, r4, 0
	movs r1, 0x8
	bl CreateTask
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	movs r0, 0
	strh r0, [r1, 0x8]
	strh r0, [r1, 0xA]
	strh r5, [r1, 0xC]
	ldr r0, =gUnknown_085B2C21
	adds r0, r6, r0
	ldrb r0, [r0]
	strh r0, [r1, 0xE]
_08139C6C:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139C2C

	thumb_func_start sub_8139C80
sub_8139C80: @ 8139C80
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	sub sp, 0x4
	lsls r0, 24
	lsrs r0, 24
	str r0, [sp]
	lsls r0, 2
	ldr r1, [sp]
	adds r0, r1
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r6, r0, r1
	movs r2, 0x2
	ldrsh r0, [r6, r2]
	cmp r0, 0x6
	bne _08139D7C
	ldrh r0, [r6]
	adds r0, 0x1
	strh r0, [r6]
	movs r1, 0x4
	ldrsh r0, [r6, r1]
	cmp r0, 0
	bne _08139D10
	movs r1, 0
	ldr r2, =gUnknown_085B2BF4
	mov r10, r2
_08139CBA:
	movs r5, 0
	adds r7, r1, 0x7
	lsls r0, r1, 1
	adds r2, r1, 0x1
	mov r8, r2
	adds r0, r1
	lsls r0, 1
	mov r9, r0
_08139CCA:
	adds r4, r5, 0
	adds r4, 0x8
	movs r1, 0
	ldrsh r0, [r6, r1]
	movs r1, 0x3
	bl __modsi3
	lsls r0, 16
	asrs r0, 15
	add r0, r9
	add r0, r10
	ldrh r0, [r0]
	movs r1, 0xC0
	lsls r1, 4
	adds r2, r1, 0
	orrs r2, r0
	adds r0, r4, 0
	adds r1, r7, 0
	bl MapGridSetMetatileIdAt
	adds r0, r5, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
	cmp r5, 0x2
	bls _08139CCA
	mov r2, r8
	lsls r0, r2, 24
	lsrs r1, r0, 24
	cmp r1, 0x2
	bls _08139CBA
	b _08139D62
	.pool
_08139D10:
	movs r1, 0
	ldr r0, =gUnknown_085B2C06
	mov r10, r0
_08139D16:
	movs r5, 0
	adds r7, r1, 0x7
	lsls r0, r1, 1
	adds r2, r1, 0x1
	mov r8, r2
	adds r0, r1
	lsls r0, 1
	mov r9, r0
_08139D26:
	adds r4, r5, 0
	adds r4, 0x8
	movs r1, 0
	ldrsh r0, [r6, r1]
	movs r1, 0x3
	bl __modsi3
	lsls r0, 16
	asrs r0, 15
	add r0, r9
	add r0, r10
	ldrh r0, [r0]
	movs r1, 0xC0
	lsls r1, 4
	adds r2, r1, 0
	orrs r2, r0
	adds r0, r4, 0
	adds r1, r7, 0
	bl MapGridSetMetatileIdAt
	adds r0, r5, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
	cmp r5, 0x2
	bls _08139D26
	mov r2, r8
	lsls r0, r2, 24
	lsrs r1, r0, 24
	cmp r1, 0x2
	bls _08139D16
_08139D62:
	bl DrawWholeMapView
	movs r0, 0
	strh r0, [r6, 0x2]
	movs r0, 0
	ldrsh r1, [r6, r0]
	movs r2, 0x6
	ldrsh r0, [r6, r2]
	cmp r1, r0
	bne _08139D7C
	ldr r0, [sp]
	bl DestroyTask
_08139D7C:
	ldrh r0, [r6, 0x2]
	adds r0, 0x1
	strh r0, [r6, 0x2]
	add sp, 0x4
	pop {r3-r5}
	mov r8, r3
	mov r9, r4
	mov r10, r5
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139C80

	thumb_func_start sub_8139D98
sub_8139D98: @ 8139D98
	push {r4-r7,lr}
	sub sp, 0x18
	ldr r6, =gSpecialVar_0x8004
	ldrh r0, [r6]
	movs r5, 0x64
	muls r0, r5
	ldr r4, =gPlayerParty
	adds r0, r4
	movs r1, 0x27
	bl GetMonData
	str r0, [sp]
	ldrh r0, [r6]
	muls r0, r5
	adds r0, r4
	movs r1, 0x28
	bl GetMonData
	str r0, [sp, 0x4]
	ldrh r0, [r6]
	muls r0, r5
	adds r0, r4
	movs r1, 0x29
	bl GetMonData
	str r0, [sp, 0x8]
	ldrh r0, [r6]
	muls r0, r5
	adds r0, r4
	movs r1, 0x2A
	bl GetMonData
	str r0, [sp, 0xC]
	ldrh r0, [r6]
	muls r0, r5
	adds r0, r4
	movs r1, 0x2B
	bl GetMonData
	str r0, [sp, 0x10]
	ldrh r0, [r6]
	muls r0, r5
	adds r0, r4
	movs r1, 0x2C
	bl GetMonData
	str r0, [sp, 0x14]
	ldr r1, =gSpecialVar_0x8005
	movs r0, 0
	strh r0, [r1]
	movs r4, 0
	adds r2, r1, 0
_08139E00:
	lsls r0, r4, 2
	add r0, sp
	ldr r1, [r0]
	ldrh r0, [r2]
	adds r0, r1
	strh r0, [r2]
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x5
	bls _08139E00
	ldr r2, =gSpecialVar_0x8006
	movs r0, 0
	strh r0, [r2]
	ldr r1, =gSpecialVar_0x8007
	ldr r0, [sp]
	strh r0, [r1]
	movs r4, 0x1
	adds r6, r2, 0
	adds r7, r1, 0
_08139E28:
	ldrh r0, [r6]
	lsls r0, 2
	mov r2, sp
	adds r1, r2, r0
	lsls r0, r4, 2
	adds r5, r2, r0
	ldr r1, [r1]
	ldr r0, [r5]
	cmp r1, r0
	bcs _08139E54
	strh r4, [r6]
	b _08139E6C
	.pool
_08139E54:
	cmp r1, r0
	bne _08139E6E
	bl Random
	lsls r0, 16
	lsrs r0, 16
	movs r1, 0x1
	ands r0, r1
	cmp r0, 0
	beq _08139E6E
	strh r4, [r6]
	ldr r0, [r5]
_08139E6C:
	strh r0, [r7]
_08139E6E:
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x5
	bls _08139E28
	add sp, 0x18
	pop {r4-r7}
	pop {r0}
	bx r0
	thumb_func_end sub_8139D98

	thumb_func_start warp0_in_pokecenter
warp0_in_pokecenter: @ 8139E80
	push {r4,lr}
	ldr r0, =gUnknown_020322DC
	movs r1, 0
	ldrsb r1, [r0, r1]
	lsls r1, 8
	ldrb r0, [r0, 0x1]
	lsls r0, 24
	asrs r0, 24
	adds r0, r1
	lsls r0, 16
	lsrs r3, r0, 16
	ldr r2, =gUnknown_085B2C2A
	ldrh r0, [r2]
	ldr r1, =0x0000ffff
	cmp r0, r1
	beq _08139EC6
	adds r4, r1, 0
	adds r1, r2, 0
_08139EA4:
	ldrh r0, [r2]
	cmp r0, r3
	bne _08139EBC
	movs r0, 0x1
	b _08139EC8
	.pool
_08139EBC:
	adds r1, 0x2
	adds r2, 0x2
	ldrh r0, [r1]
	cmp r0, r4
	bne _08139EA4
_08139EC6:
	movs r0, 0
_08139EC8:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end warp0_in_pokecenter

	thumb_func_start sub_8139ED0
sub_8139ED0: @ 8139ED0
	push {lr}
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldrh r1, [r0, 0x4]
	ldr r0, =0x00003c1a
	cmp r1, r0
	beq _08139EEC
	movs r0, 0x1
	b _08139EEE
	.pool
_08139EEC:
	movs r0, 0
_08139EEE:
	pop {r1}
	bx r1
	thumb_func_end sub_8139ED0

	thumb_func_start sub_8139EF4
sub_8139EF4: @ 8139EF4
	push {r4,r5,lr}
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	ldr r0, =0x0000402f
	bl GetVarPointer
	adds r5, r0, 0
	ldrh r0, [r5]
	adds r4, r0
	strh r4, [r5]
	ldrh r0, [r5]
	movs r1, 0xA
	bl __umodsi3
	strh r0, [r5]
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139EF4

	thumb_func_start sub_8139F20
sub_8139F20: @ 8139F20
	push {r4-r7,lr}
	movs r4, 0
	ldr r0, =0x0000402f
	bl VarGet
	lsls r0, 16
	lsrs r6, r0, 16
	cmp r6, 0x9
	bls _08139F34
	b _0813A03A
_08139F34:
	lsls r0, r6, 2
	ldr r1, =_08139F48
	adds r1, r0, r1
	ldr r1, [r1]
	adds r2, r0, 0
	mov pc, r1
	.pool
	.align 2, 0
_08139F48:
	.4byte _08139F70
	.4byte _08139F70
	.4byte _08139F70
	.4byte _08139F70
	.4byte _08139F94
	.4byte _08139FB4
	.4byte _08139FCC
	.4byte _08139FE4
	.4byte _08139FFC
	.4byte _0813A014
_08139F70:
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	movs r3, 0xCE
	lsls r3, 4
	adds r1, r0, r3
	adds r3, r1, r2
	ldr r1, =0x00000ce2
	adds r0, r1
	adds r1, r0, r2
	ldrh r0, [r3]
	ldrh r2, [r1]
	cmp r0, r2
	bcs _0813A028
	b _0813A038
	.pool
_08139F94:
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldr r3, =0x00000d0c
	adds r2, r0, r3
	adds r3, 0x2
_08139F9E:
	adds r1, r0, r3
	ldrh r0, [r2]
	ldrh r3, [r1]
	cmp r0, r3
	bcs _0813A028
	b _0813A038
	.pool
_08139FB4:
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldr r1, =0x00000de2
	adds r2, r0, r1
	ldr r3, =0x00000de4
	b _08139F9E
	.pool
_08139FCC:
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldr r1, =0x00000dc8
	adds r2, r0, r1
	ldr r3, =0x00000dca
	b _08139F9E
	.pool
_08139FE4:
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldr r1, =0x00000dda
	adds r2, r0, r1
	ldr r3, =0x00000ddc
	b _08139F9E
	.pool
_08139FFC:
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldr r1, =0x00000e04
	adds r2, r0, r1
	ldr r3, =0x00000e06
	b _08139F9E
	.pool
_0813A014:
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldr r1, =0x00000e1a
	adds r2, r0, r1
	ldr r3, =0x00000e1c
	adds r1, r0, r3
	ldrh r0, [r2]
	ldrh r3, [r1]
	cmp r0, r3
	bcc _0813A038
_0813A028:
	adds r4, r0, 0
	b _0813A03A
	.pool
_0813A038:
	ldrh r4, [r1]
_0813A03A:
	movs r2, 0
	ldr r5, =gUnknown_085B2CC8
	lsls r0, r6, 1
	adds r1, r0, r5
	ldrb r1, [r1]
	adds r3, r0, 0
	ldr r7, =gUnknown_085B2C50
	cmp r1, r4
	bcs _0813A062
	adds r1, r3, 0
_0813A04E:
	adds r0, r2, 0x1
	lsls r0, 24
	lsrs r2, r0, 24
	cmp r2, 0x1
	bhi _0813A062
	adds r0, r2, r1
	adds r0, r5
	ldrb r0, [r0]
	cmp r0, r4
	bcc _0813A04E
_0813A062:
	adds r0, r3, r6
	adds r0, r2
	lsls r0, 2
	adds r0, r7
	ldr r0, [r0]
	bl ShowFieldMessage
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_8139F20

	thumb_func_start sub_813A080
sub_813A080: @ 813A080
	push {r4-r7,lr}
	ldr r0, =0x000040ce
	bl VarGet
	lsls r0, 16
	lsrs r5, r0, 16
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldr r1, =0x00000ca9
	adds r0, r1
	ldrb r0, [r0]
	lsls r0, 30
	lsrs r4, r0, 30
	cmp r5, 0x2
	bne _0813A0D8
	movs r0, 0xA9
	lsls r0, 1
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	bne _0813A0D8
	ldr r1, =gSpecialVar_0x8005
	movs r0, 0x5
	strh r0, [r1]
	ldr r1, =gSpecialVar_0x8006
	movs r0, 0x4
	strh r0, [r1]
	b _0813A110
	.pool
_0813A0D0:
	movs r0, 0x4
	strh r0, [r6]
	adds r0, r3, 0x5
	b _0813A10E
_0813A0D8:
	movs r3, 0
	ldr r6, =gSpecialVar_0x8005
	ldr r7, =gSpecialVar_0x8006
	lsls r1, r4, 1
	lsls r2, r5, 2
	ldr r4, =gUnknown_085B2CDC
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	adds r1, r2
	movs r2, 0xCE
	lsls r2, 4
	adds r0, r2
	adds r0, r1
	ldrh r1, [r0]
_0813A0F4:
	lsls r0, r3, 1
	adds r0, r4
	ldrh r0, [r0]
	cmp r0, r1
	bhi _0813A0D0
	adds r0, r3, 0x1
	lsls r0, 24
	lsrs r3, r0, 24
	cmp r3, 0x8
	bls _0813A0F4
	movs r0, 0x4
	strh r0, [r6]
	movs r0, 0xC
_0813A10E:
	strh r0, [r7]
_0813A110:
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A080

	thumb_func_start sub_813A128
sub_813A128: @ 813A128
	push {r4,lr}
	ldr r0, =sub_813A2DC
	movs r1, 0x8
	bl CreateTask
	lsls r0, 24
	lsrs r4, r0, 24
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	ldr r1, =gTasks
	adds r3, r0, r1
	ldr r1, =gSpecialVar_0x8004
	ldrh r0, [r1]
	strh r0, [r3, 0x1E]
	ldrh r0, [r1]
	cmp r0, 0xC
	bls _0813A14E
	b _0813A2C6
_0813A14E:
	lsls r0, 2
	ldr r1, =_0813A168
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_0813A168:
	.4byte _0813A19C
	.4byte _0813A1AA
	.4byte _0813A1C2
	.4byte _0813A1D6
	.4byte _0813A1F0
	.4byte _0813A208
	.4byte _0813A222
	.4byte _0813A23C
	.4byte _0813A25A
	.4byte _0813A274
	.4byte _0813A274
	.4byte _0813A28E
	.4byte _0813A2A8
_0813A19C:
	movs r1, 0
	movs r0, 0x1
	strh r0, [r3, 0x8]
	strh r0, [r3, 0xA]
	strh r0, [r3, 0xC]
	strh r0, [r3, 0xE]
	b _0813A2BC
_0813A1AA:
	movs r1, 0
	movs r0, 0x5
	strh r0, [r3, 0x8]
	movs r0, 0x8
	strh r0, [r3, 0xA]
	movs r0, 0x1
	strh r0, [r3, 0xC]
	strh r0, [r3, 0xE]
	movs r0, 0x9
	strh r0, [r3, 0x10]
	movs r0, 0xA
	b _0813A2BE
_0813A1C2:
	movs r2, 0
	movs r0, 0x6
	strh r0, [r3, 0x8]
	movs r1, 0xC
	strh r1, [r3, 0xA]
	movs r0, 0x1
	strh r0, [r3, 0xC]
	strh r0, [r3, 0xE]
	movs r0, 0x7
	b _0813A250
_0813A1D6:
	movs r1, 0
	movs r0, 0x6
	strh r0, [r3, 0x8]
	movs r0, 0xB
	strh r0, [r3, 0xA]
	movs r0, 0xE
	strh r0, [r3, 0xC]
	movs r0, 0x1
	strh r0, [r3, 0xE]
	movs r0, 0xF
	strh r0, [r3, 0x10]
	movs r0, 0xC
	b _0813A2BE
_0813A1F0:
	movs r1, 0
	movs r0, 0x6
	strh r0, [r3, 0x8]
	strh r0, [r3, 0xA]
	movs r0, 0xE
	strh r0, [r3, 0xC]
	movs r0, 0x1
	strh r0, [r3, 0xE]
	movs r0, 0xF
	strh r0, [r3, 0x10]
	movs r0, 0xC
	b _0813A2BE
_0813A208:
	movs r1, 0
	movs r0, 0x6
	strh r0, [r3, 0x8]
	movs r0, 0x7
	strh r0, [r3, 0xA]
	movs r0, 0xE
	strh r0, [r3, 0xC]
	movs r0, 0x1
	strh r0, [r3, 0xE]
	movs r0, 0xF
	strh r0, [r3, 0x10]
	movs r0, 0xC
	b _0813A2BE
_0813A222:
	movs r1, 0
	movs r0, 0x6
	strh r0, [r3, 0x8]
	movs r0, 0xA
	strh r0, [r3, 0xA]
	movs r0, 0xE
	strh r0, [r3, 0xC]
	movs r0, 0x1
	strh r0, [r3, 0xE]
	movs r0, 0xF
	strh r0, [r3, 0x10]
	movs r0, 0xC
	b _0813A2BE
_0813A23C:
	movs r2, 0
	movs r0, 0x6
	strh r0, [r3, 0x8]
	movs r1, 0xC
	strh r1, [r3, 0xA]
	movs r0, 0xF
	strh r0, [r3, 0xC]
	movs r0, 0x1
	strh r0, [r3, 0xE]
	movs r0, 0xE
_0813A250:
	strh r0, [r3, 0x10]
	strh r1, [r3, 0x12]
	strh r2, [r3, 0x14]
	strh r4, [r3, 0x26]
	b _0813A2D2
_0813A25A:
	movs r1, 0
	movs r0, 0x6
	strh r0, [r3, 0x8]
	movs r0, 0xA
	strh r0, [r3, 0xA]
	movs r0, 0x11
	strh r0, [r3, 0xC]
	movs r0, 0x1
	strh r0, [r3, 0xE]
	movs r0, 0xB
	strh r0, [r3, 0x10]
	movs r0, 0xC
	b _0813A2BE
_0813A274:
	movs r1, 0
	movs r0, 0x6
	strh r0, [r3, 0x8]
	movs r0, 0xB
	strh r0, [r3, 0xA]
	movs r0, 0xF
	strh r0, [r3, 0xC]
	movs r0, 0x1
	strh r0, [r3, 0xE]
	movs r0, 0xE
	strh r0, [r3, 0x10]
	movs r0, 0xC
	b _0813A2BE
_0813A28E:
	movs r1, 0
	movs r0, 0x6
	strh r0, [r3, 0x8]
	movs r0, 0x7
	strh r0, [r3, 0xA]
	movs r0, 0x13
	strh r0, [r3, 0xC]
	movs r0, 0x1
	strh r0, [r3, 0xE]
	movs r0, 0xA
	strh r0, [r3, 0x10]
	movs r0, 0xC
	b _0813A2BE
_0813A2A8:
	movs r1, 0
	movs r0, 0x6
	strh r0, [r3, 0x8]
	movs r0, 0x7
	strh r0, [r3, 0xA]
	movs r0, 0x11
	strh r0, [r3, 0xC]
	movs r0, 0x1
	strh r0, [r3, 0xE]
	movs r0, 0xC
_0813A2BC:
	strh r0, [r3, 0x10]
_0813A2BE:
	strh r0, [r3, 0x12]
	strh r1, [r3, 0x14]
	strh r4, [r3, 0x26]
	b _0813A2D2
_0813A2C6:
	ldr r1, =gScriptResult
	movs r0, 0x7F
	strh r0, [r1]
	adds r0, r4, 0
	bl DestroyTask
_0813A2D2:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A128

	thumb_func_start sub_813A2DC
sub_813A2DC: @ 813A2DC
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	sub sp, 0x20
	lsls r0, 24
	lsrs r7, r0, 24
	lsls r0, r7, 2
	adds r0, r7
	lsls r0, 3
	ldr r1, =gTasks
	adds r6, r0, r1
	bl ScriptContext2_Enable
	ldr r0, =gUnknown_0203AB68
	movs r5, 0
	strh r5, [r0]
	ldr r1, =gUnknown_0203AB6C
	movs r0, 0x40
	strb r0, [r1]
	ldrh r0, [r6, 0x1E]
	movs r1, 0
	bl sub_813AA60
	ldrb r0, [r6, 0x1E]
	movs r1, 0
	bl sub_813ACE8
	ldr r4, =gUnknown_0203AB64
	movs r1, 0xA
	ldrsh r0, [r6, r1]
	lsls r0, 3
	bl AllocZeroed
	str r0, [r4]
	ldr r0, =gUnknown_0203AB6A
	strh r5, [r0]
	bl sub_813A42C
	movs r3, 0
	movs r4, 0
	movs r2, 0xA
	ldrsh r0, [r6, r2]
	add r1, sp, 0x18
	mov r8, r1
	cmp r3, r0
	bge _0813A36A
	ldr r5, =gUnknown_085B2CF0
_0813A33A:
	lsls r1, r4, 2
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	lsls r0, 6
	adds r1, r0
	adds r1, r5
	ldr r0, [r1]
	ldr r1, =gUnknown_0203AB64
	ldr r2, [r1]
	lsls r1, r4, 3
	adds r1, r2
	str r0, [r1]
	str r4, [r1, 0x4]
	adds r1, r3, 0
	bl display_text_and_get_width
	adds r3, r0, 0
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	movs r2, 0xA
	ldrsh r0, [r6, r2]
	cmp r4, r0
	blt _0813A33A
_0813A36A:
	adds r0, r3, 0
	bl convert_pixel_width_to_tile_width
	strh r0, [r6, 0x10]
	movs r1, 0xC
	ldrsh r0, [r6, r1]
	movs r2, 0x10
	ldrsh r1, [r6, r2]
	adds r0, r1
	cmp r0, 0x1D
	ble _0813A38C
	movs r0, 0x1D
	subs r0, r1
	cmp r0, 0
	bge _0813A38A
	movs r0, 0
_0813A38A:
	strh r0, [r6, 0xC]
_0813A38C:
	ldrb r2, [r6, 0xC]
	ldrb r3, [r6, 0xE]
	ldrb r0, [r6, 0x10]
	str r0, [sp]
	ldrb r0, [r6, 0x12]
	str r0, [sp, 0x4]
	movs r0, 0xF
	str r0, [sp, 0x8]
	movs r0, 0x64
	str r0, [sp, 0xC]
	add r0, sp, 0x10
	movs r1, 0
	bl sub_8198A50
	ldr r0, [sp, 0x10]
	ldr r1, [sp, 0x14]
	str r0, [sp, 0x18]
	str r1, [sp, 0x1C]
	mov r0, r8
	bl AddWindow
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r6, 0x22]
	movs r1, 0
	bl SetStandardWindowBorderStyle
	ldr r4, =gUnknown_030061D0
	ldrh r0, [r6, 0xA]
	strh r0, [r4, 0xC]
	ldrh r0, [r6, 0x8]
	strh r0, [r4, 0xE]
	ldrh r0, [r6, 0x22]
	strb r0, [r4, 0x10]
	adds r0, r7, 0
	bl sub_813A694
	ldrh r1, [r6, 0x16]
	ldrh r2, [r6, 0x18]
	adds r0, r4, 0
	bl ListMenuInit
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r6, 0x24]
	movs r0, 0
	bl schedule_bg_copy_tilemap_to_vram
	ldr r1, =gTasks
	lsls r0, r7, 2
	adds r0, r7
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_813A4EC
	str r1, [r0]
	add sp, 0x20
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A2DC

	thumb_func_start sub_813A42C
sub_813A42C: @ 813A42C
	ldr r1, =gUnknown_030061D0
	ldr r0, =gUnknown_0203AB64
	ldr r0, [r0]
	str r0, [r1]
	ldr r0, =sub_813A46C
	str r0, [r1, 0x4]
	movs r0, 0
	str r0, [r1, 0x8]
	movs r2, 0
	movs r0, 0x1
	strh r0, [r1, 0xC]
	strh r0, [r1, 0xE]
	strb r2, [r1, 0x10]
	strb r2, [r1, 0x11]
	movs r0, 0x8
	strb r0, [r1, 0x12]
	strb r2, [r1, 0x13]
	movs r0, 0x21
	strb r0, [r1, 0x14]
	movs r0, 0x31
	strb r0, [r1, 0x15]
	movs r0, 0
	strb r0, [r1, 0x16]
	movs r0, 0x1
	strb r0, [r1, 0x17]
	bx lr
	.pool
	thumb_func_end sub_813A42C

	thumb_func_start sub_813A46C
sub_813A46C: @ 813A46C
	push {r4,r5,lr}
	sub sp, 0x4
	movs r0, 0x5
	bl PlaySE
	ldr r0, =sub_813A4EC
	bl FindTaskIdByFunc
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0xFF
	beq _0813A4D4
	lsls r4, r0, 2
	adds r4, r0
	lsls r4, 3
	ldr r0, =gTasks
	adds r4, r0
	ldrh r0, [r4, 0x24]
	lsls r0, 24
	lsrs r0, 24
	mov r1, sp
	movs r2, 0
	bl get_coro_args_x18_x1A
	ldr r1, =gUnknown_0203AB68
	mov r0, sp
	ldrh r0, [r0]
	strh r0, [r1]
	ldrh r0, [r4, 0x24]
	lsls r0, 24
	lsrs r0, 24
	mov r1, sp
	bl sub_81AE838
	ldrh r0, [r4, 0x1E]
	ldr r5, =gUnknown_0203AB6A
	ldrh r1, [r5]
	bl sub_813AC44
	ldrh r0, [r4, 0x1E]
	mov r1, sp
	ldrh r1, [r1]
	bl sub_813AA60
	ldrb r0, [r4, 0x1E]
	mov r1, sp
	ldrh r1, [r1]
	bl sub_813AD34
	mov r0, sp
	ldrh r0, [r0]
	strh r0, [r5]
_0813A4D4:
	add sp, 0x4
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A46C

	thumb_func_start sub_813A4EC
sub_813A4EC: @ 813A4EC
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r5, r0, 24
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	ldr r1, =gTasks
	adds r6, r0, r1
	ldrh r0, [r6, 0x24]
	lsls r0, 24
	lsrs r0, 24
	bl ListMenuHandleInput
	adds r4, r0, 0
	movs r0, 0x2
	negs r0, r0
	cmp r4, r0
	beq _0813A51C
	adds r0, 0x1
	cmp r4, r0
	bne _0813A530
	b _0813A566
	.pool
_0813A51C:
	ldr r1, =gScriptResult
	movs r0, 0x7F
	strh r0, [r1]
	movs r0, 0x5
	bl PlaySE
	b _0813A54C
	.pool
_0813A530:
	ldr r0, =gScriptResult
	strh r4, [r0]
	movs r0, 0x5
	bl PlaySE
	movs r1, 0x14
	ldrsh r0, [r6, r1]
	cmp r0, 0
	beq _0813A54C
	movs r1, 0xA
	ldrsh r0, [r6, r1]
	subs r0, 0x1
	cmp r4, r0
	bne _0813A558
_0813A54C:
	adds r0, r5, 0
	bl sub_813A570
	b _0813A566
	.pool
_0813A558:
	adds r0, r5, 0
	bl sub_813A738
	ldr r0, =sub_813A600
	str r0, [r6]
	bl EnableBothScriptContexts
_0813A566:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A4EC

	thumb_func_start sub_813A570
sub_813A570: @ 813A570
	push {r4,r5,lr}
	sub sp, 0x4
	adds r5, r0, 0
	lsls r5, 24
	lsrs r5, 24
	lsls r4, r5, 2
	adds r4, r5
	lsls r4, 3
	ldr r0, =gTasks
	adds r4, r0
	ldrh r0, [r4, 0x24]
	lsls r0, 24
	lsrs r0, 24
	mov r1, sp
	bl sub_81AE838
	ldrh r0, [r4, 0x1E]
	mov r1, sp
	ldrh r1, [r1]
	bl sub_813AC44
	adds r0, r5, 0
	bl sub_813A738
	ldrh r0, [r4, 0x24]
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0
	movs r2, 0
	bl sub_81AE6C8
	ldr r0, =gUnknown_0203AB64
	ldr r0, [r0]
	bl Free
	ldrh r0, [r4, 0x22]
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x1
	bl sub_8198070
	ldrh r0, [r4, 0x22]
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0
	bl FillWindowPixelBuffer
	ldrh r0, [r4, 0x22]
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x2
	bl CopyWindowToVram
	ldrh r0, [r4, 0x22]
	lsls r0, 24
	lsrs r0, 24
	bl RemoveWindow
	adds r0, r5, 0
	bl DestroyTask
	bl EnableBothScriptContexts
	add sp, 0x4
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A570

	thumb_func_start sub_813A600
sub_813A600: @ 813A600
	push {lr}
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	movs r2, 0x14
	ldrsh r0, [r1, r2]
	cmp r0, 0x1
	beq _0813A624
	cmp r0, 0x2
	bne _0813A624
	movs r0, 0x1
	strh r0, [r1, 0x14]
	ldr r0, =sub_813A664
	str r0, [r1]
_0813A624:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A600

	thumb_func_start sub_813A630
sub_813A630: @ 813A630
	push {lr}
	ldr r0, =sub_813A600
	bl FindTaskIdByFunc
	lsls r0, 24
	lsrs r2, r0, 24
	cmp r2, 0xFF
	bne _0813A64C
	bl EnableBothScriptContexts
	b _0813A65C
	.pool
_0813A64C:
	ldr r0, =gTasks
	lsls r1, r2, 2
	adds r1, r2
	lsls r1, 3
	adds r1, r0
	ldrh r0, [r1, 0x14]
	adds r0, 0x1
	strh r0, [r1, 0x14]
_0813A65C:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A630

	thumb_func_start sub_813A664
sub_813A664: @ 813A664
	push {r4,lr}
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	bl ScriptContext2_Enable
	adds r0, r4, 0
	bl sub_813A694
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldr r1, =sub_813A4EC
	str r1, [r0]
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A664

	thumb_func_start sub_813A694
sub_813A694: @ 813A694
	push {r4,r5,lr}
	sub sp, 0x10
	lsls r0, 24
	lsrs r0, 24
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	ldr r0, =gTasks
	adds r4, r1, r0
	mov r1, sp
	ldr r0, =gUnknown_085B3030
	ldm r0!, {r2,r3,r5}
	stm r1!, {r2,r3,r5}
	ldr r0, [r0]
	str r0, [r1]
	movs r0, 0x8
	ldrsh r1, [r4, r0]
	movs r2, 0xA
	ldrsh r0, [r4, r2]
	cmp r1, r0
	beq _0813A724
	mov r2, sp
	movs r3, 0x10
	ldrsh r1, [r4, r3]
	lsrs r0, r1, 31
	adds r1, r0
	asrs r1, 1
	lsls r1, 3
	adds r1, 0xC
	movs r5, 0xC
	ldrsh r0, [r4, r5]
	subs r0, 0x1
	lsls r0, 3
	adds r1, r0
	movs r3, 0
	strb r1, [r2, 0x1]
	mov r1, sp
	movs r0, 0x8
	strb r0, [r1, 0x2]
	movs r0, 0x10
	ldrsh r1, [r4, r0]
	lsrs r0, r1, 31
	adds r1, r0
	asrs r1, 1
	lsls r1, 3
	adds r1, 0xC
	movs r5, 0xC
	ldrsh r0, [r4, r5]
	subs r0, 0x1
	lsls r0, 3
	adds r1, r0
	strb r1, [r2, 0x4]
	mov r1, sp
	movs r2, 0x12
	ldrsh r0, [r4, r2]
	lsls r0, 3
	adds r0, 0xA
	strb r0, [r1, 0x5]
	mov r0, sp
	strh r3, [r0, 0x6]
	mov r2, sp
	ldrh r0, [r4, 0xA]
	ldrh r1, [r4, 0x8]
	subs r0, r1
	strh r0, [r2, 0x8]
	ldr r1, =gUnknown_0203AB68
	mov r0, sp
	bl AddScrollIndicatorArrowPair
	lsls r0, 24
	lsrs r0, 24
	strh r0, [r4, 0x20]
_0813A724:
	add sp, 0x10
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A694

	thumb_func_start sub_813A738
sub_813A738: @ 813A738
	push {lr}
	lsls r0, 24
	lsrs r0, 24
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	ldr r0, =gTasks
	adds r2, r1, r0
	movs r0, 0x8
	ldrsh r1, [r2, r0]
	movs r3, 0xA
	ldrsh r0, [r2, r3]
	cmp r1, r0
	beq _0813A75E
	ldrh r0, [r2, 0x20]
	lsls r0, 24
	lsrs r0, 24
	bl RemoveScrollIndicatorArrowPair
_0813A75E:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A738

	thumb_func_start nullsub_55
nullsub_55: @ 813A768
	bx lr
	thumb_func_end nullsub_55

	thumb_func_start sub_813A76C
sub_813A76C: @ 813A76C
	push {r4-r6,lr}
	movs r4, 0
	ldr r6, =gLinkPlayers
	ldr r0, =0x0000401f
	adds r5, r0, 0
_0813A776:
	lsls r0, r4, 3
	subs r0, r4
	lsls r0, 2
	adds r0, r6
	ldrb r0, [r0, 0x13]
	cmp r0, 0
	bne _0813A79C
	subs r0, r5, r4
	lsls r0, 16
	lsrs r0, 16
	movs r1, 0
	bl VarSet
	b _0813A7A8
	.pool
_0813A79C:
	subs r0, r5, r4
	lsls r0, 16
	lsrs r0, 16
	movs r1, 0x69
	bl VarSet
_0813A7A8:
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x1
	bls _0813A776
	pop {r4-r6}
	pop {r0}
	bx r0
	thumb_func_end sub_813A76C

	thumb_func_start sub_813A7B8
sub_813A7B8: @ 813A7B8
	push {lr}
	ldr r1, =gSpecialVar_0x8004
	ldrh r0, [r1]
	cmp r0, 0x5
	bls _0813A7C6
	movs r0, 0
	strh r0, [r1]
_0813A7C6:
	ldrh r1, [r1]
	movs r0, 0x64
	muls r0, r1
	ldr r1, =gPlayerParty
	adds r0, r1
	bl GetNature
	lsls r0, 24
	ldr r1, =gUnknown_085B3040
	lsrs r0, 22
	adds r0, r1
	ldr r0, [r0]
	bl ShowFieldMessage
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A7B8

	thumb_func_start sub_813A7F4
sub_813A7F4: @ 813A7F4
	push {r4,r5,lr}
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	ldr r0, =0x00004030
	bl GetVarPointer
	adds r5, r0, 0
	ldrh r0, [r5]
	adds r4, r0
	strh r4, [r5]
	ldrh r0, [r5]
	movs r1, 0xC
	bl __umodsi3
	strh r0, [r5]
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A7F4

	thumb_func_start sub_813A820
sub_813A820: @ 813A820
	push {r4,lr}
	ldr r0, =0x00004030
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	ldr r1, =gUnknown_085B30A4
	lsls r0, r4, 2
	adds r0, r1
	ldr r0, [r0]
	bl ShowFieldMessage
	ldr r0, =0x00004031
	adds r1, r4, 0
	bl VarSet
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A820

	thumb_func_start sub_813A854
sub_813A854: @ 813A854
	push {r4,lr}
	ldr r4, =gUnknown_085B30D4
	ldr r0, =0x00004031
	bl VarGet
	lsls r0, 16
	lsrs r0, 14
	adds r0, r4
	ldr r0, [r0]
	bl ShowFieldMessage
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A854

	thumb_func_start sub_813A878
sub_813A878: @ 813A878
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	lsls r0, 24
	lsrs r0, 24
	mov r8, r0
	ldr r0, =0x000040ce
	bl VarGet
	lsls r0, 16
	lsrs r7, r0, 16
	ldr r0, =0x00004031
	bl VarGet
	lsls r0, 16
	lsrs r6, r0, 16
	ldr r0, =0x000040cf
	bl VarGet
	lsls r0, 16
	lsrs r5, r0, 16
	ldr r4, =0x00004033
	adds r0, r4, 0
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	cmp r0, 0x1
	bne _0813A8F0
	ldr r1, =gUnknown_085B3104
	lsls r0, r6, 1
	adds r0, r1
	ldrh r1, [r0]
	lsls r0, r5, 8
	adds r0, r7
	cmp r1, r0
	bne _0813A8F0
	mov r0, r8
	cmp r0, 0
	beq _0813A8E8
	adds r0, r4, 0
	movs r1, 0x2
	bl VarSet
	b _0813A8F0
	.pool
_0813A8E8:
	adds r0, r4, 0
	movs r1, 0x3
	bl VarSet
_0813A8F0:
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r0}
	bx r0
	thumb_func_end sub_813A878

	thumb_func_start sub_813A8FC
sub_813A8FC: @ 813A8FC
	push {lr}
	sub sp, 0x2C
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldr r1, =0x00000eb8
	adds r0, r1
	ldrh r1, [r0]
	add r0, sp, 0xC
	movs r2, 0x1
	movs r3, 0x4
	bl ConvertIntToDecimalStringN
	ldr r1, =gText_BP
	bl StringCopy
	movs r0, 0x1
	add r1, sp, 0xC
	movs r2, 0x30
	bl GetStringRightAlignXOffset
	adds r3, r0, 0
	ldr r0, =gUnknown_0203AB6D
	ldrb r0, [r0]
	lsls r3, 24
	lsrs r3, 24
	movs r1, 0x1
	str r1, [sp]
	movs r1, 0
	str r1, [sp, 0x4]
	str r1, [sp, 0x8]
	movs r1, 0x1
	add r2, sp, 0xC
	bl PrintTextOnWindow
	add sp, 0x2C
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A8FC

	thumb_func_start sub_813A958
sub_813A958: @ 813A958
	push {r4,lr}
	ldr r4, =gUnknown_0203AB6D
	ldr r0, =gUnknown_085B311C
	bl AddWindow
	strb r0, [r4]
	ldrb r0, [r4]
	movs r1, 0
	bl SetStandardWindowBorderStyle
	bl sub_813A8FC
	ldrb r0, [r4]
	movs r1, 0x2
	bl CopyWindowToVram
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A958

	thumb_func_start sub_813A988
sub_813A988: @ 813A988
	push {r4,lr}
	ldr r4, =gUnknown_0203AB6D
	ldrb r0, [r4]
	movs r1, 0x1
	bl sub_8198070
	ldrb r0, [r4]
	bl RemoveWindow
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813A988

	thumb_func_start sub_813A9A4
sub_813A9A4: @ 813A9A4
	push {lr}
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldr r2, =0x00000eb8
	adds r1, r0, r2
	ldr r0, =gSpecialVar_0x8004
	ldrh r2, [r1]
	ldrh r0, [r0]
	cmp r2, r0
	bcs _0813A9C8
	movs r0, 0
	b _0813A9CA
	.pool
_0813A9C8:
	subs r0, r2, r0
_0813A9CA:
	strh r0, [r1]
	pop {r0}
	bx r0
	thumb_func_end sub_813A9A4

	thumb_func_start sub_813A9D0
sub_813A9D0: @ 813A9D0
	push {lr}
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldr r1, =0x00000eb8
	adds r2, r0, r1
	ldrh r1, [r2]
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	adds r1, r0
	ldr r0, =0x0000270f
	cmp r1, r0
	ble _0813A9FC
	strh r0, [r2]
	b _0813A9FE
	.pool
_0813A9FC:
	strh r1, [r2]
_0813A9FE:
	pop {r0}
	bx r0
	thumb_func_end sub_813A9D0

	thumb_func_start sub_813AA04
sub_813AA04: @ 813AA04
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldr r1, =0x00000eb8
	adds r0, r1
	ldrh r0, [r0]
	bx lr
	.pool
	thumb_func_end sub_813AA04

	thumb_func_start sub_813AA18
sub_813AA18: @ 813AA18
	push {r4,lr}
	ldr r4, =gUnknown_0203AB6E
	ldr r0, =gUnknown_085B3124
	bl AddWindow
	strb r0, [r4]
	ldrb r0, [r4]
	movs r1, 0
	bl SetStandardWindowBorderStyle
	ldrb r0, [r4]
	movs r1, 0x2
	bl CopyWindowToVram
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813AA18

	thumb_func_start sub_813AA44
sub_813AA44: @ 813AA44
	push {r4,lr}
	ldr r4, =gUnknown_0203AB6E
	ldrb r0, [r4]
	movs r1, 0x1
	bl sub_8198070
	ldrb r0, [r4]
	bl RemoveWindow
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813AA44

	thumb_func_start sub_813AA60
sub_813AA60: @ 813AA60
	push {r4,r5,lr}
	sub sp, 0x10
	lsls r0, 16
	lsls r1, 16
	lsrs r5, r1, 16
	lsrs r4, r0, 16
	ldr r1, =0xfffd0000
	adds r0, r1
	lsrs r0, 16
	cmp r0, 0x3
	bls _0813AA78
	b _0813ABC2
_0813AA78:
	movs r0, 0xD8
	str r0, [sp]
	movs r0, 0x20
	str r0, [sp, 0x4]
	movs r0, 0
	movs r1, 0x11
	movs r2, 0
	movs r3, 0
	bl FillWindowPixelRect
	cmp r4, 0x4
	beq _0813AAE8
	cmp r4, 0x4
	bgt _0813AAA0
	cmp r4, 0x3
	beq _0813AAAA
	b _0813ABC2
	.pool
_0813AAA0:
	cmp r4, 0x5
	beq _0813AB5C
	cmp r4, 0x6
	beq _0813AB94
	b _0813ABC2
_0813AAAA:
	ldr r1, =gUnknown_085B3170
	lsls r0, r5, 2
	adds r0, r1
	ldr r2, [r0]
	movs r0, 0
	str r0, [sp]
	movs r0, 0x2
	str r0, [sp, 0x4]
	movs r0, 0x1
	str r0, [sp, 0x8]
	str r4, [sp, 0xC]
	movs r0, 0
	movs r1, 0x1
	movs r3, 0
	bl AddTextPrinterParametrized
	ldr r1, =gUnknown_085B312C
	lsls r0, r5, 1
	adds r1, r0, r1
	ldrh r5, [r1]
	ldr r0, =0x0000ffff
	cmp r5, r0
	beq _0813AB18
	b _0813AB2C
	.pool
_0813AAE8:
	ldr r1, =gUnknown_085B319C
	lsls r0, r5, 2
	adds r0, r1
	ldr r2, [r0]
	movs r0, 0
	str r0, [sp]
	movs r0, 0x2
	str r0, [sp, 0x4]
	movs r0, 0x1
	str r0, [sp, 0x8]
	movs r0, 0x3
	str r0, [sp, 0xC]
	movs r0, 0
	movs r1, 0x1
	movs r3, 0
	bl AddTextPrinterParametrized
	ldr r1, =gUnknown_085B3142
	lsls r0, r5, 1
	adds r1, r0, r1
	ldrh r5, [r1]
	ldr r0, =0x0000ffff
	cmp r5, r0
	bne _0813AB2C
_0813AB18:
	ldrh r0, [r1]
	bl sub_813ABD4
	b _0813ABC2
	.pool
_0813AB2C:
	ldr r4, =0x0000157c
	adds r0, r4, 0
	bl FreeSpriteTilesByTag
	adds r0, r4, 0
	bl FreeSpritePaletteByTag
	lsls r0, r5, 24
	lsrs r0, 24
	str r4, [sp]
	str r4, [sp, 0x4]
	movs r1, 0x21
	movs r2, 0x58
	movs r3, 0
	bl AddDecorationIconObject
	ldr r1, =gUnknown_0203AB6C
	strb r0, [r1]
	b _0813ABC2
	.pool
_0813AB5C:
	ldr r1, =gUnknown_085B31B4
	lsls r0, r5, 2
	adds r0, r1
	ldr r2, [r0]
	movs r0, 0
	str r0, [sp]
	movs r0, 0x2
	str r0, [sp, 0x4]
	movs r0, 0x1
	str r0, [sp, 0x8]
	movs r0, 0x3
	str r0, [sp, 0xC]
	movs r0, 0
	movs r1, 0x1
	movs r3, 0
	bl AddTextPrinterParametrized
	ldr r1, =gUnknown_085B314E
	lsls r0, r5, 1
	adds r0, r1
	ldrh r0, [r0]
	bl sub_813ABD4
	b _0813ABC2
	.pool
_0813AB94:
	ldr r1, =gUnknown_085B31D0
	lsls r0, r5, 2
	adds r0, r1
	ldr r2, [r0]
	movs r0, 0
	str r0, [sp]
	movs r0, 0x2
	str r0, [sp, 0x4]
	movs r0, 0x1
	str r0, [sp, 0x8]
	movs r0, 0x3
	str r0, [sp, 0xC]
	movs r0, 0
	movs r1, 0x1
	movs r3, 0
	bl AddTextPrinterParametrized
	ldr r1, =gUnknown_085B315C
	lsls r0, r5, 1
	adds r0, r1
	ldrh r0, [r0]
	bl sub_813ABD4
_0813ABC2:
	add sp, 0x10
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813AA60

	thumb_func_start sub_813ABD4
sub_813ABD4: @ 813ABD4
	push {r4,r5,lr}
	adds r5, r0, 0
	lsls r5, 16
	lsrs r5, 16
	ldr r4, =0x0000157c
	adds r0, r4, 0
	bl FreeSpriteTilesByTag
	adds r0, r4, 0
	bl FreeSpritePaletteByTag
	adds r0, r4, 0
	adds r1, r4, 0
	adds r2, r5, 0
	bl AddItemIconObject
	ldr r4, =gUnknown_0203AB6C
	strb r0, [r4]
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x40
	beq _0813AC32
	ldr r3, =gSprites
	ldrb r0, [r4]
	lsls r1, r0, 4
	adds r1, r0
	lsls r1, 2
	adds r1, r3
	ldrb r2, [r1, 0x5]
	movs r0, 0xD
	negs r0, r0
	ands r0, r2
	strb r0, [r1, 0x5]
	ldrb r1, [r4]
	lsls r0, r1, 4
	adds r0, r1
	lsls r0, 2
	adds r0, r3
	movs r1, 0x24
	strh r1, [r0, 0x20]
	ldrb r1, [r4]
	lsls r0, r1, 4
	adds r0, r1
	lsls r0, 2
	adds r0, r3
	movs r1, 0x5C
	strh r1, [r0, 0x22]
_0813AC32:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813ABD4

	thumb_func_start sub_813AC44
sub_813AC44: @ 813AC44
	push {lr}
	lsls r0, 16
	lsrs r1, r0, 16
	ldr r2, =gUnknown_0203AB6C
	ldrb r0, [r2]
	cmp r0, 0x40
	beq _0813AC70
	cmp r1, 0x6
	bgt _0813AC6A
	cmp r1, 0x3
	blt _0813AC6A
	adds r1, r0, 0
	lsls r0, r1, 4
	adds r0, r1
	lsls r0, 2
	ldr r1, =gSprites
	adds r0, r1
	bl DestroySpriteAndFreeResources
_0813AC6A:
	ldr r1, =gUnknown_0203AB6C
	movs r0, 0x40
	strb r0, [r1]
_0813AC70:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813AC44

	thumb_func_start sub_813AC7C
sub_813AC7C: @ 813AC7C
	push {lr}
	ldr r0, =gSpecialVar_0x8005
	ldrh r0, [r0]
	cmp r0, 0
	beq _0813ACB8
	ldr r0, =gStringVar1
	ldr r2, =gUnknown_085B320C
	ldr r1, =gSpecialVar_0x8004
	ldrh r1, [r1]
	lsls r1, 1
	adds r1, r2
	ldrh r2, [r1]
	movs r1, 0xD
	muls r1, r2
	ldr r2, =gMoveNames
	adds r1, r2
	bl StringCopy
	b _0813ACD2
	.pool
_0813ACB8:
	ldr r0, =gStringVar1
	ldr r2, =gUnknown_085B31F8
	ldr r1, =gSpecialVar_0x8004
	ldrh r1, [r1]
	lsls r1, 1
	adds r1, r2
	ldrh r2, [r1]
	movs r1, 0xD
	muls r1, r2
	ldr r2, =gMoveNames
	adds r1, r2
	bl StringCopy
_0813ACD2:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813AC7C

	thumb_func_start sub_813ACE8
sub_813ACE8: @ 813ACE8
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r0, 24
	adds r5, r0, 0
	lsls r1, 16
	lsrs r6, r1, 16
	subs r0, 0x9
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bhi _0813AD20
	ldr r0, =gSpecialVar_0x8006
	ldrh r0, [r0]
	cmp r0, 0
	bne _0813AD18
	ldr r4, =gUnknown_0203AB5E
	ldr r0, =gUnknown_085B3220
	bl AddWindow
	strb r0, [r4]
	ldrb r0, [r4]
	movs r1, 0
	bl SetStandardWindowBorderStyle
_0813AD18:
	adds r0, r5, 0
	adds r1, r6, 0
	bl sub_813AD34
_0813AD20:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813ACE8

	thumb_func_start sub_813AD34
sub_813AD34: @ 813AD34
	push {r4-r7,lr}
	sub sp, 0xC
	lsls r0, 24
	lsls r1, 16
	lsrs r5, r1, 16
	adds r7, r5, 0
	lsrs r6, r0, 24
	movs r1, 0xF7
	lsls r1, 24
	adds r0, r1
	lsrs r0, 24
	cmp r0, 0x1
	bhi _0813ADAC
	ldr r4, =gUnknown_0203AB5E
	ldrb r0, [r4]
	movs r1, 0x60
	str r1, [sp]
	movs r1, 0x30
	str r1, [sp, 0x4]
	movs r1, 0x11
	movs r2, 0
	movs r3, 0
	bl FillWindowPixelRect
	cmp r6, 0xA
	bne _0813AD90
	ldrb r0, [r4]
	ldr r2, =gUnknown_085B3254
	lsls r1, r5, 2
	adds r1, r2
	ldr r2, [r1]
	movs r1, 0x1
	str r1, [sp]
	movs r1, 0
	str r1, [sp, 0x4]
	str r1, [sp, 0x8]
	movs r1, 0x1
	movs r3, 0
	bl PrintTextOnWindow
	b _0813ADAC
	.pool
_0813AD90:
	ldrb r0, [r4]
	ldr r2, =gUnknown_085B3228
	lsls r1, r7, 2
	adds r1, r2
	ldr r2, [r1]
	movs r1, 0x1
	str r1, [sp]
	movs r1, 0
	str r1, [sp, 0x4]
	str r1, [sp, 0x8]
	movs r1, 0x1
	movs r3, 0
	bl PrintTextOnWindow
_0813ADAC:
	add sp, 0xC
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813AD34

	thumb_func_start sub_813ADB8
sub_813ADB8: @ 813ADB8
	push {r4,lr}
	ldr r4, =gUnknown_0203AB5E
	ldrb r0, [r4]
	movs r1, 0x1
	bl sub_8198070
	ldrb r0, [r4]
	bl RemoveWindow
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813ADB8

	thumb_func_start sub_813ADD4
sub_813ADD4: @ 813ADD4
	push {r4-r7,lr}
	mov r7, r9
	mov r6, r8
	push {r6,r7}
	sub sp, 0x18
	ldr r0, =sub_813A600
	bl FindTaskIdByFunc
	lsls r0, 24
	lsrs r1, r0, 24
	cmp r1, 0xFF
	beq _0813AE90
	lsls r0, r1, 2
	adds r0, r1
	lsls r0, 3
	ldr r1, =gTasks
	adds r6, r0, r1
	ldrh r0, [r6, 0x24]
	lsls r0, 24
	lsrs r0, 24
	mov r4, sp
	adds r4, 0x16
	add r1, sp, 0x14
	adds r2, r4, 0
	bl get_coro_args_x18_x1A
	ldrh r0, [r6, 0x22]
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0
	bl SetStandardWindowBorderStyle
	movs r5, 0
	mov r9, r4
	ldr r0, =gUnknown_085B2CF0
	mov r8, r0
	movs r4, 0
_0813AE1E:
	ldrh r0, [r6, 0x22]
	lsls r0, 24
	lsrs r0, 24
	add r1, sp, 0x14
	ldrh r2, [r1]
	adds r2, r5
	lsls r2, 2
	ldr r1, =gSpecialVar_0x8004
	ldrh r1, [r1]
	lsls r1, 6
	adds r2, r1
	add r2, r8
	ldr r2, [r2]
	lsls r1, r5, 28
	lsrs r1, 24
	str r1, [sp]
	movs r7, 0xFF
	str r7, [sp, 0x4]
	str r4, [sp, 0x8]
	str r4, [sp, 0xC]
	str r4, [sp, 0x10]
	movs r1, 0x1
	movs r3, 0xA
	bl sub_8199F74
	adds r0, r5, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
	cmp r5, 0x5
	bls _0813AE1E
	ldrh r0, [r6, 0x22]
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gText_SelectorArrow
	mov r3, r9
	ldrh r1, [r3]
	lsls r1, 28
	lsrs r1, 24
	str r1, [sp]
	str r7, [sp, 0x4]
	movs r1, 0
	str r1, [sp, 0x8]
	movs r1, 0x1
	movs r3, 0
	bl PrintTextOnWindow
	ldrh r0, [r6, 0x22]
	lsls r0, 24
	lsrs r0, 24
	bl PutWindowTilemap
	ldrh r0, [r6, 0x22]
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x3
	bl CopyWindowToVram
_0813AE90:
	add sp, 0x18
	pop {r3,r4}
	mov r8, r3
	mov r9, r4
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813ADD4

	thumb_func_start sub_813AEB4
sub_813AEB4: @ 813AEB4
	push {r4,lr}
	movs r1, 0
	ldr r0, =gSpecialVar_0x8005
	strh r1, [r0]
	ldr r0, =0x0000400e
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	ldr r0, =0x0000400d
	bl VarGet
	lsls r0, 16
	lsrs r1, r0, 16
	cmp r4, 0
	beq _0813AF18
	movs r2, 0
	lsls r1, 1
	ldr r3, =gUnknown_0861500C
	ldr r0, =gUnknown_085B320C
	adds r0, r1, r0
	ldrh r1, [r0]
_0813AEE2:
	lsls r0, r2, 1
	adds r0, r3
	ldrh r0, [r0]
	cmp r0, r1
	beq _0813AF0C
	adds r0, r2, 0x1
	lsls r0, 24
	lsrs r2, r0, 24
	cmp r2, 0x1D
	bls _0813AEE2
	b _0813AF38
	.pool
_0813AF0C:
	ldr r0, =gSpecialVar_0x8005
	strh r2, [r0]
	b _0813AF38
	.pool
_0813AF18:
	movs r2, 0
	lsls r1, 1
	ldr r3, =gUnknown_0861500C
	ldr r0, =gUnknown_085B31F8
	adds r0, r1, r0
	ldrh r1, [r0]
_0813AF24:
	lsls r0, r2, 1
	adds r0, r3
	ldrh r0, [r0]
	cmp r0, r1
	beq _0813AF0C
	adds r0, r2, 0x1
	lsls r0, 24
	lsrs r2, r0, 24
	cmp r2, 0x1D
	bls _0813AF24
_0813AF38:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813AEB4

	thumb_func_start sub_813AF48
sub_813AF48: @ 813AF48
	push {r4,r5,lr}
	ldr r0, =sub_813A600
	bl FindTaskIdByFunc
	lsls r0, 24
	lsrs r5, r0, 24
	cmp r5, 0xFF
	beq _0813AFB6
	lsls r4, r5, 2
	adds r4, r5
	lsls r4, 3
	ldr r0, =gTasks
	adds r4, r0
	ldrh r0, [r4, 0x24]
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0
	movs r2, 0
	bl sub_81AE6C8
	ldr r0, =gUnknown_0203AB64
	ldr r0, [r0]
	bl Free
	ldrh r0, [r4, 0x22]
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x1
	bl sub_8198070
	ldrh r0, [r4, 0x22]
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0
	bl FillWindowPixelBuffer
	ldrh r0, [r4, 0x22]
	lsls r0, 24
	lsrs r0, 24
	bl ClearWindowTilemap
	ldrh r0, [r4, 0x22]
	lsls r0, 24
	lsrs r0, 24
	movs r1, 0x2
	bl CopyWindowToVram
	ldrh r0, [r4, 0x22]
	lsls r0, 24
	lsrs r0, 24
	bl RemoveWindow
	adds r0, r5, 0
	bl DestroyTask
_0813AFB6:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813AF48

	thumb_func_start sub_813AFC8
sub_813AFC8: @ 813AFC8
	push {lr}
	ldr r0, =task_deoxys_sound
	movs r1, 0x8
	bl CreateTask
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813AFC8

	thumb_func_start task_deoxys_sound
task_deoxys_sound: @ 813AFDC
	push {r4-r7,lr}
	mov r7, r8
	push {r7}
	lsls r0, 24
	lsrs r7, r0, 24
	ldr r0, =0x000008d4
	bl FlagGet
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0813B004
	ldr r1, =gScriptResult
	movs r0, 0x3
	b _0813B06A
	.pool
_0813B004:
	ldr r0, =0x00004035
	mov r8, r0
	bl VarGet
	lsls r0, 16
	lsrs r5, r0, 16
	ldr r4, =0x00004034
	adds r0, r4, 0
	bl VarGet
	lsls r0, 16
	lsrs r6, r0, 16
	adds r0, r4, 0
	movs r1, 0
	bl VarSet
	cmp r5, 0
	beq _0813B05C
	ldr r0, =gUnknown_085B33F6
	subs r1, r5, 0x1
	adds r1, r0
	ldrb r0, [r1]
	cmp r0, r6
	bcs _0813B05C
	movs r0, 0
	bl sub_813B0B4
	mov r0, r8
	movs r1, 0
	bl VarSet
	ldr r1, =gScriptResult
	movs r0, 0
	strh r0, [r1]
	b _0813B070
	.pool
_0813B05C:
	cmp r5, 0xA
	bne _0813B080
	ldr r0, =0x000008d4
	bl FlagSet
	ldr r1, =gScriptResult
	movs r0, 0x2
_0813B06A:
	strh r0, [r1]
	bl EnableBothScriptContexts
_0813B070:
	adds r0, r7, 0
	bl DestroyTask
	b _0813B0A2
	.pool
_0813B080:
	adds r0, r5, 0x1
	lsls r0, 16
	lsrs r5, r0, 16
	lsls r0, r5, 24
	lsrs r0, 24
	bl sub_813B0B4
	ldr r0, =0x00004035
	adds r1, r5, 0
	bl VarSet
	ldr r1, =gScriptResult
	movs r0, 0x1
	strh r0, [r1]
	adds r0, r7, 0
	bl DestroyTask
_0813B0A2:
	pop {r3}
	mov r8, r3
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end task_deoxys_sound

	thumb_func_start sub_813B0B4
sub_813B0B4: @ 813B0B4
	push {r4,r5,lr}
	sub sp, 0x4
	lsls r0, 24
	lsrs r4, r0, 24
	lsls r0, r4, 5
	ldr r1, =gUnknown_085B3280
	adds r0, r1
	movs r1, 0xD0
	lsls r1, 1
	movs r2, 0x8
	bl LoadPalette
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldrb r1, [r0, 0x5]
	ldrb r2, [r0, 0x4]
	movs r0, 0x1
	mov r3, sp
	bl TryGetFieldObjectIdByLocalIdAndMap
	cmp r4, 0
	bne _0813B0F0
	movs r0, 0xC4
	bl PlaySE
	b _0813B0F8
	.pool
_0813B0F0:
	movs r0, 0x82
	lsls r0, 1
	bl PlaySE
_0813B0F8:
	ldr r0, =sub_813B160
	movs r1, 0x8
	bl CreateTask
	ldr r3, =gFieldEffectArguments
	movs r0, 0x1
	str r0, [r3]
	movs r0, 0x3A
	str r0, [r3, 0x4]
	movs r0, 0x1A
	str r0, [r3, 0x8]
	ldr r0, =gUnknown_085B33E0
	lsls r2, r4, 1
	adds r1, r2, r0
	ldrb r1, [r1]
	str r1, [r3, 0xC]
	adds r0, 0x1
	adds r0, r2, r0
	ldrb r0, [r0]
	str r0, [r3, 0x10]
	adds r5, r2, 0
	cmp r4, 0
	bne _0813B138
	movs r0, 0x3C
	b _0813B13A
	.pool
_0813B138:
	movs r0, 0x5
_0813B13A:
	str r0, [r3, 0x14]
	movs r0, 0x42
	bl FieldEffectStart
	ldr r0, =gUnknown_085B33E0
	adds r1, r5, r0
	ldrb r1, [r1]
	adds r0, 0x1
	adds r0, r5, r0
	ldrb r2, [r0]
	movs r0, 0x1
	bl Overworld_SetMapObjTemplateCoords
	add sp, 0x4
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813B0B4

	thumb_func_start sub_813B160
sub_813B160: @ 813B160
	push {r4,lr}
	lsls r0, 24
	lsrs r4, r0, 24
	movs r0, 0x42
	bl FieldEffectActiveListContains
	lsls r0, 24
	cmp r0, 0
	bne _0813B17C
	bl EnableBothScriptContexts
	adds r0, r4, 0
	bl DestroyTask
_0813B17C:
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end sub_813B160

	thumb_func_start increment_var_x4026_on_birth_island_modulo_100
increment_var_x4026_on_birth_island_modulo_100: @ 813B184
	push {r4,lr}
	ldr r4, =0x00004034
	adds r0, r4, 0
	bl VarGet
	lsls r0, 16
	lsrs r2, r0, 16
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldrh r1, [r0, 0x4]
	ldr r0, =0x00003a1a
	cmp r1, r0
	bne _0813B1C8
	adds r0, r2, 0x1
	lsls r0, 16
	lsrs r2, r0, 16
	cmp r2, 0x63
	bls _0813B1C0
	adds r0, r4, 0
	movs r1, 0
	bl VarSet
	b _0813B1C8
	.pool
_0813B1C0:
	adds r0, r4, 0
	adds r1, r2, 0
	bl VarSet
_0813B1C8:
	pop {r4}
	pop {r0}
	bx r0
	thumb_func_end increment_var_x4026_on_birth_island_modulo_100

	thumb_func_start sub_813B1D0
sub_813B1D0: @ 813B1D0
	push {lr}
	ldr r0, =0x00004035
	bl VarGet
	lsls r0, 24
	lsrs r0, 19
	ldr r1, =gUnknown_085B3280
	adds r0, r1
	movs r1, 0xD0
	lsls r1, 1
	movs r2, 0x8
	bl LoadPalette
	movs r0, 0x80
	lsls r0, 19
	movs r1, 0x10
	movs r2, 0
	bl BlendPalettes
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813B1D0

	thumb_func_start set_unknown_box_id
@ void set_unknown_box_id(char id)
set_unknown_box_id: @ 813B204
	ldr r1, =gUnknown_0203AB6F
	strb r0, [r1]
	bx lr
	.pool
	thumb_func_end set_unknown_box_id

	thumb_func_start get_unknown_box_id
get_unknown_box_id: @ 813B210
	ldr r0, =gUnknown_0203AB6F
	ldrb r0, [r0]
	bx lr
	.pool
	thumb_func_end get_unknown_box_id

	thumb_func_start sub_813B21C
sub_813B21C: @ 813B21C
	push {r4,r5,lr}
	ldr r5, =0x000008d7
	adds r0, r5, 0
	bl FlagGet
	lsls r0, 24
	cmp r0, 0
	bne _0813B258
	bl StorageGetCurrentBox
	adds r4, r0, 0
	lsls r4, 24
	lsrs r4, 24
	ldr r0, =0x00004036
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	cmp r4, r0
	beq _0813B258
	adds r0, r5, 0
	bl FlagSet
	movs r0, 0x1
	b _0813B25A
	.pool
_0813B258:
	movs r0, 0
_0813B25A:
	pop {r4,r5}
	pop {r1}
	bx r1
	thumb_func_end sub_813B21C

	thumb_func_start sub_813B260
sub_813B260: @ 813B260
	push {r4-r7,lr}
	ldr r0, =0x00004036
	bl VarGet
	lsls r0, 24
	lsrs r0, 24
	bl set_unknown_box_id
	bl StorageGetCurrentBox
	lsls r0, 24
	lsrs r4, r0, 24
_0813B278:
	movs r5, 0
	lsls r6, r4, 24
	lsls r7, r4, 16
_0813B27E:
	lsls r1, r5, 24
	lsrs r1, 24
	lsrs r0, r6, 24
	bl GetBoxedMonPtr
	movs r1, 0xB
	movs r2, 0
	bl GetBoxMonData
	cmp r0, 0
	bne _0813B2C0
	bl get_unknown_box_id
	lsls r0, 16
	lsrs r0, 16
	cmp r0, r4
	beq _0813B2A6
	ldr r0, =0x000008d7
	bl FlagClear
_0813B2A6:
	ldr r0, =0x00004036
	lsrs r1, r7, 16
	bl VarSet
	bl sub_813B21C
	lsls r0, 24
	lsrs r0, 24
	b _0813B2DC
	.pool
_0813B2C0:
	adds r5, 0x1
	cmp r5, 0x1D
	ble _0813B27E
	adds r4, 0x1
	cmp r4, 0xE
	bne _0813B2CE
	movs r4, 0
_0813B2CE:
	bl StorageGetCurrentBox
	lsls r0, 24
	lsrs r0, 24
	cmp r4, r0
	bne _0813B278
	movs r0, 0
_0813B2DC:
	pop {r4-r7}
	pop {r1}
	bx r1
	thumb_func_end sub_813B260

	thumb_func_start sub_813B2E4
sub_813B2E4: @ 813B2E4
	push {r4,lr}
	bl Random
	lsls r0, 16
	lsrs r4, r0, 16
	ldr r0, =0x00004038
	movs r1, 0
	bl VarSet
	movs r0, 0xDF
	lsls r0, 1
	bl FlagGet
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _0813B340
	ldr r0, =0x000001bf
	bl FlagGet
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0813B330
	ldr r0, =0x00004037
	movs r1, 0x7
	ands r4, r1
	adds r1, r4, 0
	adds r1, 0x9
	bl VarSet
	b _0813B36A
	.pool
_0813B330:
	movs r0, 0x1
	ands r4, r0
	cmp r4, 0
	bne _0813B354
	bl Random
	lsls r0, 16
	lsrs r4, r0, 16
_0813B340:
	ldr r0, =0x00004037
	movs r1, 0x7
	ands r4, r1
	adds r1, r4, 0x1
	bl VarSet
	b _0813B36A
	.pool
_0813B354:
	bl Random
	lsls r0, 16
	lsrs r4, r0, 16
	ldr r0, =0x00004037
	movs r1, 0x7
	ands r4, r1
	adds r1, r4, 0
	adds r1, 0x9
	bl VarSet
_0813B36A:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813B2E4

	thumb_func_start sub_813B374
sub_813B374: @ 813B374
	push {r4,lr}
	ldr r0, =0x00004037
	bl VarGet
	adds r4, r0, 0
	lsls r4, 16
	lsrs r4, 16
	ldr r0, =gStringVar1
	ldr r2, =gUnknown_085B3400
	subs r1, r4, 0x1
	adds r1, r2
	ldrb r1, [r1]
	movs r2, 0
	bl GetMapName
	cmp r4, 0x8
	bls _0813B3A8
	movs r0, 0x1
	b _0813B3AA
	.pool
_0813B3A8:
	movs r0, 0
_0813B3AA:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_813B374

	thumb_func_start sub_813B3B0
sub_813B3B0: @ 813B3B0
	push {r4-r6,lr}
	ldr r5, =0x00004038
	adds r0, r5, 0
	bl VarGet
	lsls r0, 16
	lsrs r4, r0, 16
	ldr r0, =0x00004037
	bl VarGet
	lsls r0, 16
	lsrs r6, r0, 16
	cmp r6, 0
	beq _0813B47C
	adds r0, r4, 0x1
	lsls r0, 16
	lsrs r4, r0, 16
	ldr r0, =0x000003e7
	cmp r4, r0
	bls _0813B474
	adds r0, r5, 0
	movs r1, 0
	bl VarSet
	ldr r0, =gSaveBlock1Ptr
	ldr r1, [r0]
	movs r0, 0x4
	ldrsb r0, [r1, r0]
	cmp r0, 0x18
	bne _0813B414
	movs r0, 0x5
	ldrsb r0, [r1, r0]
	cmp r0, 0x69
	bgt _0813B414
	cmp r0, 0x65
	blt _0813B414
	ldr r0, =0x00004039
	movs r1, 0x1
	b _0813B478
	.pool
_0813B414:
	ldr r0, =gSaveBlock1Ptr
	ldr r2, [r0]
	movs r1, 0x4
	ldrsb r1, [r2, r1]
	adds r3, r0, 0
	cmp r1, 0
	bne _0813B444
	movs r0, 0x5
	ldrsb r0, [r2, r0]
	cmp r0, 0x34
	beq _0813B436
	cmp r0, 0x34
	blt _0813B444
	cmp r0, 0x38
	bgt _0813B444
	cmp r0, 0x36
	blt _0813B444
_0813B436:
	ldr r0, =0x00004039
	movs r1, 0x1
	b _0813B478
	.pool
_0813B444:
	ldr r3, [r3]
	movs r2, 0x5
	ldrsb r2, [r3, r2]
	ldr r1, =gUnknown_085B3410
	subs r0, r6, 0x1
	adds r0, r1
	ldrb r0, [r0]
	cmp r2, r0
	bne _0813B468
	movs r0, 0x4
	ldrsb r0, [r3, r0]
	cmp r0, 0
	bne _0813B468
	movs r0, 0x1
	b _0813B47E
	.pool
_0813B468:
	ldr r0, =0x00004037
	movs r1, 0
	b _0813B478
	.pool
_0813B474:
	adds r0, r5, 0
	adds r1, r4, 0
_0813B478:
	bl VarSet
_0813B47C:
	movs r0, 0
_0813B47E:
	pop {r4-r6}
	pop {r1}
	bx r1
	thumb_func_end sub_813B3B0

	thumb_func_start sub_813B484
sub_813B484: @ 813B484
	push {lr}
	movs r0, 0x2
	bl sub_80AB104
	pop {r0}
	bx r0
	thumb_func_end sub_813B484

	thumb_func_start sub_813B490
sub_813B490: @ 813B490
	push {r4-r7,lr}
	movs r3, 0
	ldr r0, =gSaveBlock1Ptr
	ldr r4, [r0]
	movs r6, 0x4
	ldrsb r6, [r4, r6]
	ldr r5, =gUnknown_085B3420
	adds r0, r5, 0x2
	mov r12, r0
	adds r7, r5, 0x1
_0813B4A4:
	lsls r0, r3, 1
	adds r2, r0, r3
	adds r0, r2, r5
	ldrb r0, [r0]
	cmp r6, r0
	bne _0813B4CC
	movs r1, 0x5
	ldrsb r1, [r4, r1]
	adds r0, r2, r7
	ldrb r0, [r0]
	cmp r1, r0
	bne _0813B4CC
	mov r1, r12
	adds r0, r2, r1
	ldrb r0, [r0]
	b _0813B4D8
	.pool
_0813B4CC:
	adds r0, r3, 0x1
	lsls r0, 24
	lsrs r3, r0, 24
	cmp r3, 0xB
	bls _0813B4A4
	movs r0, 0x1
_0813B4D8:
	pop {r4-r7}
	pop {r1}
	bx r1
	thumb_func_end sub_813B490

	thumb_func_start sub_813B4E0
sub_813B4E0: @ 813B4E0
	push {lr}
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	bl sub_81D15CC
	cmp r0, 0
	blt _0813B50C
	movs r1, 0xAE
	lsls r1, 1
	adds r0, r1
	lsls r0, 16
	lsrs r0, 16
	bl FlagGet
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0813B50C
	movs r0, 0x1
	b _0813B50E
	.pool
_0813B50C:
	movs r0, 0
_0813B50E:
	pop {r1}
	bx r1
	thumb_func_end sub_813B4E0

	thumb_func_start sub_813B514
sub_813B514: @ 813B514
	push {lr}
	ldr r0, =0x0000403f
	bl VarGet
	lsls r0, 16
	cmp r0, 0
	beq _0813B52C
	movs r0, 0x1
	b _0813B52E
	.pool
_0813B52C:
	movs r0, 0
_0813B52E:
	pop {r1}
	bx r1
	thumb_func_end sub_813B514

	thumb_func_start sub_813B534
sub_813B534: @ 813B534
	push {lr}
	ldr r2, =gUnknown_0203AB70
	ldr r1, =gBattleTypeFlags
	ldr r0, [r1]
	str r0, [r2]
	movs r0, 0
	str r0, [r1]
	ldr r0, =gReceivedRemoteLinkPlayers
	ldrb r0, [r0]
	cmp r0, 0
	bne _0813B552
	ldr r0, =sub_80B3AF8
	movs r1, 0x5
	bl CreateTask
_0813B552:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813B534

	thumb_func_start sub_813B568
sub_813B568: @ 813B568
	push {lr}
	ldr r0, =sub_813B57C
	movs r1, 0x5
	bl CreateTask
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813B568

	thumb_func_start sub_813B57C
sub_813B57C: @ 813B57C
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r4, r0, 24
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	movs r1, 0x8
	ldrsh r0, [r0, r1]
	cmp r0, 0x9
	bls _0813B596
	b _0813B7C6
_0813B596:
	lsls r0, 2
	ldr r1, =_0813B5A8
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_0813B5A8:
	.4byte _0813B5D0
	.4byte _0813B5E4
	.4byte _0813B614
	.4byte _0813B6B4
	.4byte _0813B6E4
	.4byte _0813B728
	.4byte _0813B764
	.4byte _0813B772
	.4byte _0813B784
	.4byte _0813B7A8
_0813B5D0:
	ldr r0, =sub_80B3AF8
	bl FuncIsActiveTask
	lsls r0, 24
	cmp r0, 0
	beq _0813B5DE
	b _0813B7C6
_0813B5DE:
	b _0813B790
	.pool
_0813B5E4:
	bl sub_800A520
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _0813B5F2
	b _0813B7C6
_0813B5F2:
	bl GetMultiplayerId
	lsls r0, 24
	cmp r0, 0
	bne _0813B5FE
	b _0813B790
_0813B5FE:
	bl bitmask_all_link_players_but_self
	lsls r0, 24
	lsrs r0, 24
	ldr r1, =gSpecialVar_0x8004
	movs r2, 0x2
	bl SendBlock
	b _0813B708
	.pool
_0813B614:
	bl GetBlockReceivedStatus
	movs r1, 0x2
	ands r1, r0
	cmp r1, 0
	bne _0813B622
	b _0813B7C6
_0813B622:
	bl GetMultiplayerId
	lsls r0, 24
	cmp r0, 0
	beq _0813B62E
	b _0813B790
_0813B62E:
	ldr r5, =gSpecialVar_0x8005
	ldr r0, =gBlockRecvBuffer
	movs r1, 0x80
	lsls r1, 1
	adds r0, r1
	ldrh r0, [r0]
	strh r0, [r5]
	movs r0, 0x1
	bl ResetBlockReceivedFlag
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	cmp r0, 0x1
	bne _0813B668
	ldrh r1, [r5]
	cmp r1, 0x1
	bne _0813B668
	ldr r0, =gScriptResult
	strh r1, [r0]
	b _0813B790
	.pool
_0813B668:
	ldr r0, =gSpecialVar_0x8004
	ldrh r1, [r0]
	adds r2, r0, 0
	cmp r1, 0
	bne _0813B68C
	ldr r0, =gSpecialVar_0x8005
	ldrh r0, [r0]
	cmp r0, 0x1
	bne _0813B68C
	ldr r1, =gScriptResult
	movs r0, 0x2
	b _0813B6AC
	.pool
_0813B68C:
	ldrh r0, [r2]
	cmp r0, 0x1
	bne _0813B6A8
	ldr r0, =gSpecialVar_0x8005
	ldrh r0, [r0]
	cmp r0, 0
	bne _0813B6A8
	ldr r1, =gScriptResult
	movs r0, 0x3
	b _0813B6AC
	.pool
_0813B6A8:
	ldr r1, =gScriptResult
	movs r0, 0
_0813B6AC:
	strh r0, [r1]
	b _0813B790
	.pool
_0813B6B4:
	bl sub_800A520
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	beq _0813B6C2
	b _0813B7C6
_0813B6C2:
	bl GetMultiplayerId
	lsls r0, 24
	cmp r0, 0
	bne _0813B790
	bl bitmask_all_link_players_but_self
	lsls r0, 24
	lsrs r0, 24
	ldr r1, =gScriptResult
	movs r2, 0x2
	bl SendBlock
	b _0813B708
	.pool
_0813B6E4:
	bl GetBlockReceivedStatus
	movs r1, 0x1
	ands r1, r0
	cmp r1, 0
	beq _0813B7C6
	bl GetMultiplayerId
	lsls r0, 24
	cmp r0, 0
	beq _0813B790
	ldr r1, =gScriptResult
	ldr r0, =gBlockRecvBuffer
	ldrh r0, [r0]
	strh r0, [r1]
	movs r0, 0
	bl ResetBlockReceivedFlag
_0813B708:
	ldr r1, =gTasks
	lsls r0, r4, 2
	adds r0, r4
	lsls r0, 3
	adds r0, r1
	ldrh r1, [r0, 0x8]
	adds r1, 0x1
	strh r1, [r0, 0x8]
	b _0813B7C6
	.pool
_0813B728:
	bl GetMultiplayerId
	lsls r0, 24
	cmp r0, 0
	bne _0813B74C
	ldr r0, =gScriptResult
	ldrh r0, [r0]
	cmp r0, 0x2
	bne _0813B790
	ldr r0, =gUnknown_0824979B
	bl ShowFieldAutoScrollMessage
	b _0813B790
	.pool
_0813B74C:
	ldr r0, =gScriptResult
	ldrh r0, [r0]
	cmp r0, 0x3
	bne _0813B790
	ldr r0, =gUnknown_0824979B
	bl ShowFieldAutoScrollMessage
	b _0813B790
	.pool
_0813B764:
	movs r0, 0
	bl IsTextPrinterActive
	lsls r0, 16
	cmp r0, 0
	bne _0813B7C6
	b _0813B790
_0813B772:
	bl sub_800A520
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0813B7C6
	bl sub_800ADF8
	b _0813B790
_0813B784:
	bl sub_800A520
	lsls r0, 24
	lsrs r0, 24
	cmp r0, 0x1
	bne _0813B7C6
_0813B790:
	ldr r0, =gTasks
	lsls r1, r4, 2
	adds r1, r4
	lsls r1, 3
	adds r1, r0
	ldrh r0, [r1, 0x8]
	adds r0, 0x1
	strh r0, [r1, 0x8]
	b _0813B7C6
	.pool
_0813B7A8:
	ldr r0, =gLinkVSyncDisabled
	ldrb r0, [r0]
	cmp r0, 0
	bne _0813B7B4
	bl sub_800AC34
_0813B7B4:
	ldr r0, =gBattleTypeFlags
	ldr r1, =gUnknown_0203AB70
	ldr r1, [r1]
	str r1, [r0]
	bl EnableBothScriptContexts
	adds r0, r4, 0
	bl DestroyTask
_0813B7C6:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813B57C

	thumb_func_start sub_813B7D8
sub_813B7D8: @ 813B7D8
	push {lr}
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	cmp r0, 0
	bne _0813B7F8
	ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music
	movs r0, 0
	movs r1, 0x1
	bl sub_81D6720
	b _0813B802
	.pool
_0813B7F8:
	ldr r2, =c2_exit_to_overworld_1_continue_scripts_restart_music
	movs r0, 0x1
	movs r1, 0
	bl sub_81D6720
_0813B802:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813B7D8

	thumb_func_start sub_813B80C
sub_813B80C: @ 813B80C
	push {lr}
	ldr r0, =sub_813B824
	movs r1, 0x8
	bl CreateTask
	movs r0, 0x9D
	bl PlaySE
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813B80C

	thumb_func_start sub_813B824
sub_813B824: @ 813B824
	push {r4,r5,lr}
	lsls r0, 24
	lsrs r0, 24
	adds r5, r0, 0
	lsls r0, r5, 2
	adds r0, r5
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r4, r0, r1
	ldrh r0, [r4, 0x2]
	adds r0, 0x1
	strh r0, [r4, 0x2]
	movs r0, 0x2
	ldrsh r1, [r4, r0]
	ldr r0, =gSpecialVar_0x8005
	ldrh r0, [r0]
	cmp r1, r0
	bne _0813B858
	ldrh r0, [r4]
	adds r0, 0x1
	strh r0, [r4]
	movs r0, 0
	strh r0, [r4, 0x2]
	movs r0, 0x9D
	bl PlaySE
_0813B858:
	movs r0, 0
	ldrsh r1, [r4, r0]
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	subs r0, 0x1
	cmp r1, r0
	bne _0813B86C
	adds r0, r5, 0
	bl DestroyTask
_0813B86C:
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813B824

	thumb_func_start sub_813B880
sub_813B880: @ 813B880
	push {lr}
	ldr r0, =_fwalk
	movs r1, 0x8
	bl CreateTask
	lsls r0, 24
	lsrs r0, 24
	ldr r2, =gTasks
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 3
	adds r1, r2
	movs r2, 0
	movs r0, 0x4
	strh r0, [r1, 0x8]
	strh r0, [r1, 0xA]
	strh r0, [r1, 0xC]
	strh r2, [r1, 0xE]
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813B880

	thumb_func_start _fwalk
_fwalk: @ 813B8B0
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	lsls r0, 24
	lsrs r0, 24
	mov r9, r0
	lsls r0, 2
	add r0, r9
	lsls r0, 3
	ldr r1, =gTasks + 0x8
	adds r5, r0, r1
	movs r0, 0x6
	ldrsh r1, [r5, r0]
	lsls r1, 1
	adds r1, r5
	ldrh r0, [r1]
	subs r0, 0x1
	strh r0, [r1]
	movs r1, 0x6
	ldrsh r0, [r5, r1]
	lsls r0, 1
	adds r0, r5
	movs r2, 0
	ldrsh r0, [r0, r2]
	cmp r0, 0
	bne _0813B94E
	movs r6, 0
_0813B8EA:
	movs r4, 0
	lsls r3, r6, 3
	mov r10, r3
	adds r7, r6, 0x1
	mov r8, r7
_0813B8F4:
	ldr r0, =gSaveBlock1Ptr
	ldr r1, [r0]
	movs r2, 0
	ldrsh r0, [r1, r2]
	adds r0, r4
	adds r0, 0x6
	movs r3, 0x2
	ldrsh r1, [r1, r3]
	adds r1, r6
	adds r1, 0x4
	ldr r7, =0x00000201
	adds r2, r4, r7
	add r2, r10
	movs r7, 0x6
	ldrsh r3, [r5, r7]
	lsls r3, 5
	adds r2, r3
	lsls r2, 16
	lsrs r2, 16
	bl MapGridSetMetatileIdAt
	adds r0, r4, 0x1
	lsls r0, 24
	lsrs r4, r0, 24
	cmp r4, 0x2
	bls _0813B8F4
	mov r1, r8
	lsls r0, r1, 24
	lsrs r6, r0, 24
	cmp r6, 0x3
	bls _0813B8EA
	bl DrawWholeMapView
	ldrh r0, [r5, 0x6]
	adds r0, 0x1
	strh r0, [r5, 0x6]
	lsls r0, 16
	asrs r0, 16
	cmp r0, 0x3
	bne _0813B94E
	mov r0, r9
	bl DestroyTask
	bl EnableBothScriptContexts
_0813B94E:
	pop {r3-r5}
	mov r8, r3
	mov r9, r4
	mov r10, r5
	pop {r4-r7}
	pop {r0}
	bx r0
	.pool
	thumb_func_end _fwalk

	thumb_func_start sub_813B968
sub_813B968: @ 813B968
	push {r4,r5,lr}
	ldr r5, =gScriptResult
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	movs r1, 0x7
	bl __udivsi3
	strh r0, [r5]
	ldrh r4, [r5]
	adds r0, r4, 0
	movs r1, 0x14
	bl __udivsi3
	lsls r0, 16
	lsrs r0, 16
	lsls r1, r0, 2
	adds r1, r0
	lsls r1, 2
	subs r4, r1
	strh r4, [r5]
	pop {r4,r5}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813B968

	thumb_func_start sub_813B9A0
sub_813B9A0: @ 813B9A0
	push {lr}
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldrh r1, [r0, 0x1C]
	movs r0, 0xB0
	lsls r0, 4
	cmp r1, r0
	bne _0813B9B6
	movs r0, 0x3
	bl Overworld_SetHealLocationWarp
_0813B9B6:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813B9A0

	thumb_func_start sub_813B9C0
sub_813B9C0: @ 813B9C0
	push {r4,lr}
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	movs r1, 0x4
	ldrsb r1, [r0, r1]
	lsls r1, 8
	ldrb r0, [r0, 0x5]
	lsls r0, 24
	asrs r0, 24
	adds r0, r1
	lsls r0, 16
	lsrs r3, r0, 16
	ldr r2, =gUnknown_085B3444
	ldrh r0, [r2]
	ldr r1, =0x0000ffff
	cmp r0, r1
	beq _0813BA06
	adds r4, r1, 0
	adds r1, r2, 0
_0813B9E6:
	ldrh r0, [r2]
	cmp r0, r3
	bne _0813B9FC
	movs r0, 0x1
	b _0813BA08
	.pool
_0813B9FC:
	adds r1, 0x2
	adds r2, 0x2
	ldrh r0, [r1]
	cmp r0, r4
	bne _0813B9E6
_0813BA06:
	movs r0, 0
_0813BA08:
	pop {r4}
	pop {r1}
	bx r1
	thumb_func_end sub_813B9C0

	thumb_func_start ResetFanClub
ResetFanClub: @ 813BA10
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r2, =0x0000141e
	adds r1, r0, r2
	movs r2, 0
	strh r2, [r1]
	movs r1, 0xA1
	lsls r1, 5
	adds r0, r1
	strh r2, [r0]
	bx lr
	.pool
	thumb_func_end ResetFanClub

	thumb_func_start sub_813BA30
sub_813BA30: @ 813BA30
	push {lr}
	bl sub_813BF44
	lsls r0, 24
	cmp r0, 0
	beq _0813BA52
	bl sub_813BCE8
	ldr r0, =gSaveBlock1Ptr
	ldr r1, [r0]
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldrh r0, [r0, 0xE]
	movs r2, 0xA1
	lsls r2, 5
	adds r1, r2
	strh r0, [r1]
_0813BA52:
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813BA30

	thumb_func_start sub_813BA60
sub_813BA60: @ 813BA60
	push {r4,lr}
	ldr r4, =gSaveBlock1Ptr
	ldr r0, [r4]
	ldr r1, =0x0000141e
	adds r0, r1
	ldrh r0, [r0]
	lsrs r0, 7
	movs r1, 0x1
	ands r0, r1
	cmp r0, 0
	bne _0813BAB6
	bl sub_813BF60
	bl sub_813BD84
	ldr r1, [r4]
	ldr r0, =gSaveBlock2Ptr
	ldr r0, [r0]
	ldrh r0, [r0, 0xE]
	movs r2, 0xA1
	lsls r2, 5
	adds r1, r2
	strh r0, [r1]
	ldr r0, =0x00000315
	bl FlagClear
	ldr r0, =0x00000316
	bl FlagClear
	ldr r0, =0x00000317
	bl FlagClear
	movs r0, 0xC6
	lsls r0, 2
	bl FlagClear
	ldr r0, =0x000002da
	bl FlagClear
	ldr r0, =0x00004095
	movs r1, 0x1
	bl VarSet
_0813BAB6:
	pop {r4}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813BA60

	thumb_func_start sub_813BADC
sub_813BADC: @ 813BADC
	push {r4-r6,lr}
	lsls r0, 24
	lsrs r6, r0, 24
	ldr r0, =0x00004095
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	cmp r0, 0x2
	bne _0813BB58
	ldr r4, =gSaveBlock1Ptr
	ldr r0, [r4]
	ldr r5, =0x0000141e
	adds r3, r0, r5
	ldrh r2, [r3]
	movs r1, 0x7F
	ands r1, r2
	ldr r0, =gUnknown_085B3470
	adds r0, r6, r0
	ldrb r0, [r0]
	adds r1, r0
	cmp r1, 0x13
	ble _0813BB54
	bl sub_813BCA8
	lsls r0, 16
	lsrs r0, 16
	cmp r0, 0x2
	bhi _0813BB3C
	bl sub_813BB74
	ldr r0, [r4]
	adds r0, r5
	ldrh r2, [r0]
	ldr r1, =0x0000ff80
	ands r1, r2
	strh r1, [r0]
	b _0813BB58
	.pool
_0813BB3C:
	ldr r2, [r4]
	adds r2, r5
	ldrh r1, [r2]
	ldr r0, =0x0000ff80
	ands r0, r1
	movs r1, 0x14
	orrs r0, r1
	strh r0, [r2]
	b _0813BB58
	.pool
_0813BB54:
	adds r0, r2, r0
	strh r0, [r3]
_0813BB58:
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r1, =0x0000141e
	adds r0, r1
	ldrb r1, [r0]
	movs r0, 0x7F
	ands r0, r1
	pop {r4-r6}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_813BADC

	thumb_func_start sub_813BB74
sub_813BB74: @ 813BB74
	push {r4-r7,lr}
	sub sp, 0x8
	movs r3, 0
	movs r5, 0
	ldr r7, =gSaveBlock1Ptr
	ldr r2, =0x0000141e
	movs r6, 0x1
_0813BB82:
	ldr r0, [r7]
	adds r0, r2
	ldrh r1, [r0]
	ldr r0, =gUnknown_085B3474
	adds r0, r5, r0
	ldrb r4, [r0]
	asrs r1, r4
	ands r1, r6
	cmp r1, 0
	bne _0813BBC8
	adds r3, r5, 0
	str r2, [sp]
	str r3, [sp, 0x4]
	bl Random
	adds r1, r6, 0
	ands r1, r0
	ldr r2, [sp]
	ldr r3, [sp, 0x4]
	cmp r1, 0
	beq _0813BBC8
	ldr r0, [r7]
	adds r0, r2
	adds r1, r6, 0
	lsls r1, r4
	ldrh r2, [r0]
	orrs r1, r2
	strh r1, [r0]
	b _0813BBEA
	.pool
_0813BBC8:
	adds r0, r5, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
	cmp r5, 0x7
	bls _0813BB82
	ldr r0, =gSaveBlock1Ptr
	ldr r2, [r0]
	ldr r0, =0x0000141e
	adds r2, r0
	ldr r1, =gUnknown_085B3474
	adds r1, r3, r1
	movs r0, 0x1
	ldrb r1, [r1]
	lsls r0, r1
	ldrh r1, [r2]
	orrs r0, r1
	strh r0, [r2]
_0813BBEA:
	adds r0, r3, 0
	add sp, 0x8
	pop {r4-r7}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_813BB74

	thumb_func_start sub_813BC00
sub_813BC00: @ 813BC00
	push {r4-r7,lr}
	mov r7, r10
	mov r6, r9
	mov r5, r8
	push {r5-r7}
	movs r0, 0
	mov r10, r0
	bl sub_813BCA8
	lsls r0, 16
	lsrs r0, 16
	cmp r0, 0x1
	bne _0813BC2E
	movs r0, 0
	b _0813BC8E
_0813BC1E:
	mov r1, r8
	ldr r0, [r1]
	add r0, r9
	lsls r4, r6
	ldrh r1, [r0]
	eors r4, r1
	strh r4, [r0]
	b _0813BC8C
_0813BC2E:
	movs r5, 0
	ldr r2, =gSaveBlock1Ptr
	mov r8, r2
	ldr r0, =0x0000141e
	mov r9, r0
	movs r4, 0x1
_0813BC3A:
	mov r1, r8
	ldr r0, [r1]
	add r0, r9
	ldrh r1, [r0]
	ldr r7, =gUnknown_085B347C
	adds r0, r5, r7
	ldrb r6, [r0]
	asrs r1, r6
	ands r1, r4
	cmp r1, 0
	beq _0813BC5E
	mov r10, r5
	bl Random
	adds r1, r4, 0
	ands r1, r0
	cmp r1, 0
	bne _0813BC1E
_0813BC5E:
	adds r0, r5, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
	cmp r5, 0x7
	bls _0813BC3A
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r2, =0x0000141e
	adds r4, r0, r2
	ldrh r1, [r4]
	mov r2, r10
	adds r0, r2, r7
	ldrb r2, [r0]
	adds r0, r1, 0
	asrs r0, r2
	movs r3, 0x1
	ands r0, r3
	cmp r0, 0
	beq _0813BC8C
	adds r0, r3, 0
	lsls r0, r2
	eors r1, r0
	strh r1, [r4]
_0813BC8C:
	mov r0, r10
_0813BC8E:
	pop {r3-r5}
	mov r8, r3
	mov r9, r4
	mov r10, r5
	pop {r4-r7}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_813BC00

	thumb_func_start sub_813BCA8
sub_813BCA8: @ 813BCA8
	push {r4,r5,lr}
	movs r3, 0
	movs r2, 0
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r1, =0x0000141e
	adds r0, r1
	ldrh r4, [r0]
	movs r5, 0x1
_0813BCBA:
	adds r1, r2, 0
	adds r1, 0x8
	adds r0, r4, 0
	asrs r0, r1
	ands r0, r5
	cmp r0, 0
	beq _0813BCCE
	adds r0, r3, 0x1
	lsls r0, 24
	lsrs r3, r0, 24
_0813BCCE:
	adds r0, r2, 0x1
	lsls r0, 24
	lsrs r2, r0, 24
	cmp r2, 0x7
	bls _0813BCBA
	adds r0, r3, 0
	pop {r4,r5}
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_813BCA8

	thumb_func_start sub_813BCE8
sub_813BCE8: @ 813BCE8
	push {r4-r6,lr}
	movs r5, 0
	ldr r2, =gSaveBlock2Ptr
	ldr r0, [r2]
	ldrh r1, [r0, 0xE]
	ldr r0, =0x000003e6
	cmp r1, r0
	bhi _0813BD58
	adds r6, r2, 0
	b _0813BD32
	.pool
_0813BD04:
	ldr r0, [r6]
	ldrh r1, [r0, 0xE]
	ldr r4, =gSaveBlock1Ptr
	ldr r0, [r4]
	movs r2, 0xA1
	lsls r2, 5
	adds r0, r2
	ldrh r0, [r0]
	subs r1, r0
	cmp r1, 0xB
	ble _0813BD58
	bl sub_813BC00
	ldr r0, [r4]
	movs r1, 0xA1
	lsls r1, 5
	adds r0, r1
	ldrh r1, [r0]
	adds r1, 0xC
	strh r1, [r0]
	adds r0, r5, 0x1
	lsls r0, 24
	lsrs r5, r0, 24
_0813BD32:
	bl sub_813BCA8
	lsls r0, 16
	lsrs r0, 16
	cmp r0, 0x4
	bhi _0813BD54
	ldr r0, =gSaveBlock1Ptr
	ldr r1, [r0]
	ldr r0, [r6]
	ldrh r0, [r0, 0xE]
	movs r2, 0xA1
	lsls r2, 5
	adds r1, r2
	strh r0, [r1]
	b _0813BD58
	.pool
_0813BD54:
	cmp r5, 0x8
	bne _0813BD04
_0813BD58:
	pop {r4-r6}
	pop {r0}
	bx r0
	thumb_func_end sub_813BCE8

	thumb_func_start sub_813BD60
sub_813BD60: @ 813BD60
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r1, =0x0000141e
	adds r0, r1
	ldrh r0, [r0]
	ldr r1, =gSpecialVar_0x8004
	ldrh r1, [r1]
	asrs r0, r1
	movs r1, 0x1
	ands r0, r1
	bx lr
	.pool
	thumb_func_end sub_813BD60

	thumb_func_start sub_813BD84
sub_813BD84: @ 813BD84
	ldr r0, =gSaveBlock1Ptr
	ldr r2, [r0]
	ldr r0, =0x0000141e
	adds r2, r0
	ldrh r1, [r2]
	movs r3, 0x80
	lsls r3, 6
	adds r0, r3, 0
	orrs r0, r1
	movs r3, 0x80
	lsls r3, 1
	adds r1, r3, 0
	orrs r0, r1
	movs r3, 0x80
	lsls r3, 3
	adds r1, r3, 0
	orrs r0, r1
	strh r0, [r2]
	bx lr
	.pool
	thumb_func_end sub_813BD84

	thumb_func_start sub_813BDB4
sub_813BDB4: @ 813BDB4
	push {lr}
	movs r3, 0
	movs r2, 0
	ldr r0, =gSpecialVar_0x8004
	ldrh r0, [r0]
	subs r0, 0x8
	cmp r0, 0x7
	bhi _0813BE14
	lsls r0, 2
	ldr r1, =_0813BDD8
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_0813BDD8:
	.4byte _0813BE14
	.4byte _0813BE14
	.4byte _0813BDF8
	.4byte _0813BDFE
	.4byte _0813BE04
	.4byte _0813BE0A
	.4byte _0813BE10
	.4byte _0813BE14
_0813BDF8:
	movs r3, 0
	movs r2, 0x3
	b _0813BE14
_0813BDFE:
	movs r3, 0
	movs r2, 0x1
	b _0813BE14
_0813BE04:
	movs r3, 0x1
	movs r2, 0
	b _0813BE14
_0813BE0A:
	movs r3, 0
	movs r2, 0x4
	b _0813BE14
_0813BE10:
	movs r3, 0x1
	movs r2, 0x5
_0813BE14:
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r1, =0x00003150
	adds r0, r1
	adds r1, r3, 0
	bl sub_813BE30
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813BDB4

	thumb_func_start sub_813BE30
sub_813BE30: @ 813BE30
	push {r4-r6,lr}
	adds r6, r0, 0
	lsls r1, 24
	lsrs r5, r1, 24
	lsls r2, 24
	lsrs r2, 24
	lsls r0, r5, 4
	adds r1, r6, r0
	ldrb r0, [r1]
	cmp r0, 0xFF
	bne _0813BEE8
	cmp r2, 0x5
	bhi _0813BED4
	lsls r0, r2, 2
	ldr r1, =_0813BE58
	adds r0, r1
	ldr r0, [r0]
	mov pc, r0
	.pool
	.align 2, 0
_0813BE58:
	.4byte _0813BED4
	.4byte _0813BE70
	.4byte _0813BE84
	.4byte _0813BE98
	.4byte _0813BEAC
	.4byte _0813BEC0
_0813BE70:
	ldr r0, =gStringVar1
	ldr r1, =gText_Steven
	bl StringCopy
	b _0813BF04
	.pool
_0813BE84:
	ldr r0, =gStringVar1
	ldr r1, =gText_Brawly
	bl StringCopy
	b _0813BF04
	.pool
_0813BE98:
	ldr r0, =gStringVar1
	ldr r1, =gText_Winona
	bl StringCopy
	b _0813BF04
	.pool
_0813BEAC:
	ldr r0, =gStringVar1
	ldr r1, =gText_Phoebe
	bl StringCopy
	b _0813BF04
	.pool
_0813BEC0:
	ldr r0, =gStringVar1
	ldr r1, =gText_Glacia
	bl StringCopy
	b _0813BF04
	.pool
_0813BED4:
	ldr r0, =gStringVar1
	ldr r1, =gText_Wallace
	bl StringCopy
	b _0813BF04
	.pool
_0813BEE8:
	ldr r4, =gStringVar1
	adds r0, r4, 0
	movs r2, 0x7
	bl StringCopyN
	movs r0, 0xFF
	strb r0, [r4, 0x7]
	adds r0, r6, 0
	adds r0, 0x50
	adds r0, r5
	ldrb r1, [r0]
	adds r0, r4, 0
	bl ConvertInternationalString
_0813BF04:
	pop {r4-r6}
	pop {r0}
	bx r0
	.pool
	thumb_func_end sub_813BE30

	thumb_func_start sub_813BF10
sub_813BF10: @ 813BF10
	push {lr}
	ldr r0, =0x00004095
	bl VarGet
	lsls r0, 16
	lsrs r0, 16
	cmp r0, 0x2
	bne _0813BF40
	bl sub_813BA30
	ldr r0, =gBattleOutcome
	ldrb r0, [r0]
	cmp r0, 0x1
	bne _0813BF3C
	bl sub_813BB74
	b _0813BF40
	.pool
_0813BF3C:
	bl sub_813BC00
_0813BF40:
	pop {r0}
	bx r0
	thumb_func_end sub_813BF10

	thumb_func_start sub_813BF44
sub_813BF44: @ 813BF44
	ldr r0, =gSaveBlock1Ptr
	ldr r0, [r0]
	ldr r1, =0x0000141e
	adds r0, r1
	ldrh r0, [r0]
	lsrs r0, 7
	movs r1, 0x1
	ands r0, r1
	bx lr
	.pool
	thumb_func_end sub_813BF44

	thumb_func_start sub_813BF60
sub_813BF60: @ 813BF60
	ldr r0, =gSaveBlock1Ptr
	ldr r1, [r0]
	ldr r0, =0x0000141e
	adds r1, r0
	ldrh r2, [r1]
	movs r0, 0x80
	orrs r0, r2
	strh r0, [r1]
	bx lr
	.pool
	thumb_func_end sub_813BF60

	thumb_func_start sub_813BF7C
sub_813BF7C: @ 813BF7C
	push {lr}
	ldr r0, =gSpecialVar_0x8004
	ldrb r0, [r0]
	bl sub_813BADC
	lsls r0, 24
	lsrs r0, 24
	pop {r1}
	bx r1
	.pool
	thumb_func_end sub_813BF7C

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